Search code examples
celerydjango-celerycelery-task

What's the difference between Celery GroupResult and ResultSet?


The docs only mention that GroupResult is "Like ResultSet, but with an associated id."

Specifically, when would it be suitable to use ResultSet instead of GroupResult if the only difference is GroupResult has an id?


Solution

  • You use ResultSet when you have multiple AsyncResult objects from different tasks that you want to deal with all at once. GroupResult on the other hand is what you use instead of AsyncResult when you executed the Group primitive and want to query what is happening with the tasks in the group. That is why it has an associated ID - because the Group will have a task-id associated to it.