如果低优先级作业需要很长时间才能完成,手工队列中的低优先级作业会阻止执行高优先级tas吗



我正在用pm2运行手工队列工作者,并考虑运行两个手工工作者,一个可以处理高优先级队列,另一个处理低优先级、长时间的作业。

问题是pm2不允许将同一个脚本作为单独的实例运行。

我知道我可以在这里设置优先级--queue=live-high,live-low,default,但我的问题是,如果低优先级作业需要5分钟才能完成,我需要能够在的同时处理高优先级作业

来自Laravel文档:

后台任务

默认情况下,将同时执行多个计划的命令按顺序。如果您有长时间运行的命令,这可能会导致随后的命令比预期的要晚得多。如果你愿意喜欢在后台运行命令,这样它们就可以全部运行同时,您可以使用runInBackground方法:

$schedule->command('analytics:report')
->daily()
->runInBackground();

https://laravel.com/docs/5.7/scheduling#background-任务

最新更新