(django-)芹菜自己叉吗



芹菜会为每项任务自己叉吗?假设我有这样的东西:

obj = object()
@celery.task
def print_id():
   print id(obj)
#another server
print_id.delay()
print_id.delay()
print_id.delay()

当多次调用该任务(不重新启动芹菜)时,id是否始终相同?

这取决于情况。参见同意文件。

如果使用multiprocessing设置了至少两个工作者,则id不会保持不变。即使您使用一个节点,并在X任务执行后重新启动它(芹菜工作者中的一个选项),id也不会保持不变。

基本上,您不应该在代码中依赖它。通过Celery运行任务的目的就是分发任务。

我可以问一下为什么会有这样的问题吗?你有什么需要的用例吗?

相关内容

  • 没有找到相关文章

最新更新