Laravel 如果低优先级作业需要很长时间才能完成,artisan队列中的低优先级作业是否会阻止高优先级TA的执行?

Laravel 如果低优先级作业需要很长时间才能完成,artisan队列中的低优先级作业是否会阻止高优先级TA的执行?,laravel,laravel-artisan,Laravel,Laravel Artisan,我正在用pm2运行artisan queue worker,并考虑运行两个artisan worker,一个可以处理高优先级队列,另一个可以处理低优先级、长作业 问题是pm2不允许将同一脚本作为单独的实例运行 我知道我可以在这里设置优先级--queue=live high,live low,默认值,但我的问题是,如果低优先级作业需要5分钟才能完成,我需要能够同时处理Laravel文档中的高优先级作业: 背景任务 默认情况下,将执行同时调度的多个命令 按顺序。如果您有长时间运行的命令,这可能会导致

我正在用pm2运行artisan queue worker,并考虑运行两个artisan worker,一个可以处理高优先级队列,另一个可以处理低优先级、长作业

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


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

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


这不是你想听的答案,所以我写它作为评论:不可能。@Namoshek还有其他解决方案吗?我可以简单地在pm2管理器之外运行artisan作为守护进程吗?不知道pm2是什么,但是如果您可以运行多个脚本,而不是两次相同的脚本,那么您可能希望将artisan命令包装在两个shell脚本中?
$schedule->command('analytics:report')
         ->daily()
         ->runInBackground();