Skip to content

Using Celery in a critical production environment #8669

Closed Answered by lfse-slafleur
lfse-slafleur asked this question in Q&A
Discussion options

You must be logged in to vote

Answered my own question!

You can use AsyncResult('<taskid>') but only when you use the database type backend. This is also stated here in the docs: https://docs.celeryq.dev/en/latest/userguide/tasks.html#rpc-result-backend-rabbitmq-qpid

The RPC result backend (rpc://) is special as it doesn’t actually store the states, but rather sends them as messages. This is an important difference as it means that a result can only be retrieved once, and only by the client that initiated the task. Two different processes can’t wait for the same result.

Replies: 1 comment

Comment options

You must be logged in to vote
0 replies
Answer selected by lfse-slafleur
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
1 participant