Php 如何在LARAVEL中同时启动多个队列以实现多线程?
我想使用多线程同时从服务器获取数据 多线程背后的原因是为了避免服务器及其资源上的负载Php 如何在LARAVEL中同时启动多个队列以实现多线程?,php,laravel,multithreading,multiprocessing,lumen,Php,Laravel,Multithreading,Multiprocessing,Lumen,我想使用多线程同时从服务器获取数据 多线程背后的原因是为了避免服务器及其资源上的负载 因此,我发现了laravel队列,由于我是laravel的新手,我对它不太了解,但在研发之后,我做了这项工作并开发了一个任务,可以一个接一个地调度队列,但我希望队列将同时启动您可以安装并使用Supervisor,然后,您可以通过numprocs=8属性将其配置为运行例如8个队列进程 以下是有关安装和配置Supervisor的Laravel文档: 您还可以对队列进行分类,并将作业分派到特定队列(),然后使用Sup
因此,我发现了laravel队列,由于我是laravel的新手,我对它不太了解,但在研发之后,我做了这项工作并开发了一个任务,可以一个接一个地调度队列,但我希望队列将同时启动您可以安装并使用Supervisor,然后,您可以通过
numprocs=8
属性将其配置为运行例如8个队列进程
以下是有关安装和配置Supervisor的Laravel文档:
您还可以对队列进行分类,并将作业分派到特定队列(),然后使用Supervisor为每个队列提供配置文件
队列:工作
进程失败,将自动重新启动该进程。到
在Ubuntu上安装Supervisor,您可以使用以下命令:
/etc/supervisor/conf.d
目录。在此目录中,您可以
创建任意数量的配置文件,指导主管如何
您的流程应该受到监控。例如,让我们创建一个
laravel worker.conf
启动并监视队列的文件:work
过程:
在本例中,numprocs
指令将指示主管自动运行8queue:work
进程并监视所有进程
如果它们失败,请重新启动它们。您应该更改队列:工作sqs
命令
指令的一部分,用于反映所需队列
连接
您可以安装并使用Supervisor,然后通过
numprocs=8
属性对其进行配置,以运行例如8个队列进程
以下是有关安装和配置Supervisor的Laravel文档:
您还可以对队列进行分类,并将作业分派到特定队列(),然后使用Supervisor为每个队列提供配置文件
队列:工作
进程失败,将自动重新启动该进程。到
在Ubuntu上安装Supervisor,您可以使用以下命令:
/etc/supervisor/conf.d
目录。在此目录中,您可以
创建任意数量的配置文件,指导主管如何
您的流程应该受到监控。例如,让我们创建一个
laravel worker.conf
启动并监视队列的文件:work
过程:
在本例中,numprocs
指令将指示主管自动运行8queue:work
进程并监视所有进程
如果它们失败,请重新启动它们。您应该更改队列:工作sqs
命令
指令的一部分,用于反映所需队列
连接
多线程不能避免服务器上的负载。如果将它分成多个队列,而不是1个队列,理论上会使用更多的资源,因为每个队列都有自己的资源,仅用于运行队列,更不用说队列处理的作业了。答案很可能在于您如何处理要放入队列的代码。但是这里没有足够的信息。多线程不能避免服务器上的负载。如果将它分成多个队列,而不是1个队列,理论上会使用更多的资源,因为每个队列都有自己的资源,仅用于运行队列,更不用说队列处理的作业了。答案很可能在于您如何处理要放入队列的代码。但是这里没有足够的信息。
sudo apt-get install supervisor
[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /home/forge/app.com/artisan queue:work sqs --sleep=3 --tries=3
autostart=true
autorestart=true
user=forge
numprocs=8
redirect_stderr=true
stdout_logfile=/home/forge/app.com/worker.log
stopwaitsecs=3600