芹菜将把任务发给闲置的工人。
我的任务将每5秒运行一次,我希望此任务仅发送给一个指定的工作人员。
其他任务可以分享左边的工人
芹菜可以做到吗?
我想知道这个参数是什么:CELERY_TASK_RESULT_EXPIRES
这是否意味着该任务不会被发送到队列中的工作人员?
或者如果运行时间太长,它会停止吗?
答案 0 :(得分:7)
当然,你可以。最佳方式,使用不同的队列分离芹菜工人。您只需要确保您需要的任务进入单独的队列,并且您的工作人员正在侦听特定队列。 长篇故事:http://docs.celeryproject.org/en/latest/userguide/routing.html
答案 1 :(得分:-1)
回答你的第二个问题CELERY_TASK_RESULT_EXPIRES
是持续任务结果的时间(以秒为单位)。因此,在任务结束后,其结果将保存到结果后端。结果将保留该参数指定的时间量。当任务结果可能被不同的调用者访问时使用。
这可能与您的问题无关。至于第一个解决方案,如前所述,您必须使用多个队列。但请注意,您无法将任务分配给特定的工作进程,只能分配给特定的工作人员,然后将其分配给特定的工作进程。