我对 celery 相当陌生,但我能够使用 celery 在另一个容器上实现分布式工作。 当尝试检查芹菜工作状态时,即使任务表明工作已完成,我也会完成。
这是 celery 的代码部分:https://github.com/Formartha/ai1899/blob/main/ai1899/tasks.py
如果有人可以在这里提供帮助并解释哪里做错了,我会非常高兴。
我认为你还应该提供 Celery,所以在你的服务器中,它应该更改为:
result = uc.AsyncResult(task_id)
到
from tasks import celery as celery_app
result = uc.AsyncResult(task_id, app=celery_app)
或者,您可以更通用,不指定特定任务(也用于其他任务的未来状态):
from tasks import celery as celery_app
result = celery_app.AsyncResult(task_id)