|  | @@ -727,6 +727,30 @@ for other tasks <task-synchronous-subtasks>`)
 | 
											
												
													
														|  |  Important Notes
 |  |  Important Notes
 | 
											
												
													
														|  |  ~~~~~~~~~~~~~~~
 |  |  ~~~~~~~~~~~~~~~
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | 
 |  | +Tasks used within a chord must *not* ignore their results. In practice this
 | 
											
												
													
														|  | 
 |  | +means that you must enable a :const:`CELERY_RESULT_BACKEND` in order to use
 | 
											
												
													
														|  | 
 |  | +chords. Additionally, if :const:`CELERY_IGNORE_RESULT` is set to :const:`True`
 | 
											
												
													
														|  | 
 |  | +in your configuration, be sure that the individual tasks to be used within
 | 
											
												
													
														|  | 
 |  | +the chord are defined with :const:`ignore_result=False`. This applies to both
 | 
											
												
													
														|  | 
 |  | +Task subclasses and decorated tasks.
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +Example Task subclass:
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +.. code-block:: python
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    class MyTask(Task):
 | 
											
												
													
														|  | 
 |  | +        abstract = True
 | 
											
												
													
														|  | 
 |  | +        ignore_result = False
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +Example decorated task:
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +.. code-block:: python
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    @celery.task(ignore_result=False)
 | 
											
												
													
														|  | 
 |  | +    def another_task(project):
 | 
											
												
													
														|  | 
 |  | +        do_something()
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |  By default the synchronization step is implemented by having a recurring task
 |  |  By default the synchronization step is implemented by having a recurring task
 | 
											
												
													
														|  |  poll the completion of the taskset every second, calling the subtask when
 |  |  poll the completion of the taskset every second, calling the subtask when
 | 
											
												
													
														|  |  ready.
 |  |  ready.
 |