Laravel 一个工人是否可以从事多个工作?

Laravel 一个工人是否可以从事多个工作?,laravel,queue,jobs,supervisord,Laravel,Queue,Jobs,Supervisord,我正在制作一个需要处理大量数据的系统。因此,我将30个任务分开,它们执行相同的功能,但数据不同。我想知道工人和工作进展如何。我使用的是larvel 6和supervisor。当我设置numprocs=1并检查作业表时,我看到30个作业中有9个作业尝试次数=1。如果是这样的话,我认为9个工作岗位是由1个工人完成的。当我设置numprocs=2时,我看到30个作业中有10个作业尝试次数=1。即使一个工人运行9个作业,如果我有2个工人,30个作业中有18个作业尝试次数=1,不是吗? 那么不是一个工人运

我正在制作一个需要处理大量数据的系统。因此,我将30个任务分开,它们执行相同的功能,但数据不同。我想知道工人和工作进展如何。我使用的是
larvel 6和supervisor
。当我设置
numprocs=1
并检查作业表时,我看到
30个作业中有9个作业尝试次数=1
。如果是这样的话,我认为9个工作岗位是由1个工人完成的。当我设置
numprocs=2
时,我看到30个作业中有10个作业尝试次数=1。即使一个工人运行9个作业,如果我有2个工人,30个作业中有18个作业尝试次数=1,不是吗?
那么不是一个工人运行一个作业吗?
这是我的主管

[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=/bin/php /var/www/test-dir/artisan queue:work --sleep=2 --timeout=3000 --daemon
autostart=true
autorestart=true
user=nginx
numprocs=2
redirect_stderr=true
stdout_logfile=/var/www/test-dir/worker.log
stopwaitsecs=3600

您可以对可能拥有的不同类型的作业使用不同的作业队列。请参阅如何做到这一点-Laravel文档关于队列

是有关配置管理器的文档
numprocs
选项只告诉服务器要运行多少队列工作程序。您可以尝试设置多个laravel workers,并将其与不同的队列相结合,但总而言之,我认为您无法做多少事情来加快速度。最后,laravel的队列工作者只是一个在您的系统上运行的进程。因此,如果它可以并行运行,它可以依赖于系统规范


一个队列将执行的作业数量不固定。队列将处理作业表中的所有内容。如果作业成功,它会将其从作业表中删除,如果不成功,它会将其移动到失败的作业。

您的答案似乎无法涵盖我的问题。我想知道的是,一个队列是否可以同时运行多个作业。但那是我的错。还有8名工作人员仍在我的服务器上运行,这就是我对此表示怀疑的原因。一个队列一个接一个地运行作业,从数据库或您设置的任何其他驱动程序中读取作业。这是我的错。8名老工人没有被杀害,他们仍在继续工作。这就是为什么我只有一个工人,却有9个工作在运行。