title: Does a celery chain execute tasks in a specific order?
body: <p>I have a task <code>task_main</code> which calls other tasks. But I need them to execute in a specific order.</p>
  
  <p>Celery docs say <strong>not</strong> to call them one after another with <code>.delay()</code> and <code>get()</code>.</p>
  
  <p><a href="http://docs.celeryproject.org/en/latest/userguide/tasks.html#avoid-launching-synchronous-subtasks" rel="nofollow noreferrer">http://docs.celeryproject.org/en/latest/userguide/tasks.html#avoid-launching-synchronous-subtasks</a></p>
  
  <p>Will using chain run them in order? I cannot find this in the docs.</p>
  
  <pre><code>@shared_task
  def task_a():
      pass
  
  @shared_task
  def task_b():
      pass
  
  @shared_task
  def task_b():
      pass
  
  @shared_task
  def task_main():
      chain = task_a.s() | task_b.s() | task_c.s()
      chain()
  </code></pre>