我想知道resque-scheduler是否需要一个resque实例来运行特定队列中的作业,或者resque-scheduler必须使用resque:work
任务。
提前谢谢。
是的,你肯定需要一个 resque worker 运行来处理作业,使用如下命令:
QUEUE=* rake resque:work
Resque-scheduler 在需要执行作业时将作业放在队列中,但不执行它们本身。 这就是为什么你只运行一个 resque-scheduler 实例,以及你需要的尽可能多的 resque worker 来跟上作业。
Resque Scheduler基本上是一个调度程序。它一直在寻找调度时间,然后,当需要执行它们时,它会获取 resque scheduler.yml 中指定的参数,并将作业推送到 scheduler.yml 中指定的队列中。
现在由以下人员启动的重新任务:
QUEUE=* rake resque:work
从队列中选取作业并对其进行操作。
将 resque 调度程序视为一个cron job
,其唯一任务是在指定的队列中推送消息。现在由resque-workers开始处理它。