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