title: celery issuing tasks from subtasks
body: <p>My "big" task works in steps: it can either terminate or spawn more tasks. In my example, I count to 5.</p>
  
  <pre><code>from celery import Celery
  app = Celery('tasks', broker='redis://localhost:6379/0')
  from time import sleep
  
  @app.task
  def slow_add(x):
      """Slowly counts to 5"""
      sleep(1)
      print (x)
      if x == 5:
          return x
      else:
          return slow_add.s(x+1)()
  </code></pre>
  
  <p>When I schedule the task, I get only one invocation:</p>
  
  <pre><code>In [48]: asks.slow_add.run(1)
  1
  2
  3
  4
  5
  Out[48]: 5
  </code></pre>
  
  <ol>
  <li>How to call it asynchronously? I tried different variations of apply_async, delay, but no avail.</li>
  <li>I see no tasks in the celery monitor. Why?</li>
  <li>How can I get intermediate state (in this case, the number between 1 and 5) while the task is asynchronously executing?</li>
  </ol>