如果低优先级作业需要很长时间才能完成,那么工匠队列中的低优先级作业会停止执行高优先级的数据吗?

时间:2018-11-05 16:51:04

标签: laravel artisan

我正在用pm2运行工匠队列工作者,并且正在考虑运行两名工匠工作者,一个可以处理高优先级队列,另一个可以处理低优先级,长工作。

问题在于pm2不允许将相同的脚本作为单独的实例运行。

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

1 个答案:

答案 0 :(得分:1)

来自Laravel文档:

  

背景任务

     

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

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

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

相关问题