我正在尝试将Laravel 5.7队列设置为实际上在同一时间运行。异步。我通过Google / Stack Overflow得到了很多答案,但是他们都只是说“将驱动程序设置为数据库”。那不行我们已经设置了数据库驱动程序,并且有一个作为守护程序运行的工作程序。只是一个工人。
随着人们使用该应用程序,它可能需要使用第三方API处理一些数据,这可能会花费一些时间,而这是在处理其他人正在做需要其他工作的其他事情时。现在,这都是顺序发生的。作业A必须在作业B运行之前完成。
我希望作业A和作业B完全同时运行。或者,即使作业A已经在运行,我也希望作业B开始/结束。
laravel如何支持这一点?我是否需要创建许多工作人员,并使每个类别的工作在不同的工作人员下进行?
nohup php artisan queue:work --daemon >/dev/null 2>&1 &
谢谢
答案 0 :(得分:0)
看看队列文档的Supervisor Configuration。
在此示例中,
numprocs
指令将指示Supervisor运行8个queue:work
进程并监视所有进程,并在失败时自动重新启动它们。
如果您没有运行超级用户,则可以自己生成更多php artisan queue:work
进程,但是超级用户会为您监视这些东西。