title: Asynchronous task queue or not?
body: <p>I'm looking at using celery to execute some tasks for my website asynchronously (yes I'm super new to this idea and will probably say some stupid things in this question, sorry in advance). I'm wondering: what criteria do people use to determine whether or not a particular task should be executed asynchronously with a task queue like celery vs using an http request or an ajax request? After reading a few blogs etc. people have been suggesting using task queues for:</p>
  
  <ul>
  <li>Tasks that the user doesn't need immediately</li>
  <li>Tasks that are periodic</li>
  <li>Preventing tons of database requests (or other expensive tasks) from being executed all at once</li>
  <li>Aggregating tasks</li>
  </ul>
  
  <p>So I guess my question is: what types of tasks should I not use a task queue for? If a task is not holding up any other part of a request (not keeping a user waiting) and isn't periodic is there a situation where it would still make sense to use a task queue? Does it make sense to aggregate database modifications? and if so, how exactly does that save resources? Thanks for the help!</p>