Laravel - 从路由调用工匠队列命令 - 邮递员超时
Posted
技术标签:
【中文标题】Laravel - 从路由调用工匠队列命令 - 邮递员超时【英文标题】:Laravel - Call artisan queue command from routes - postman timeout 【发布时间】:2021-11-28 09:02:22 【问题描述】:在我的终端中运行php artisan queue:work --queue=high,default
效果很好。但是要通过 url 运行它,我在 routes\web.php
中给出了以下代码,并使用 url http://127.0.0.1:9000/command/queue/work
在本地服务器中访问,然后得到邮递员错误 maximum execution time of 60 seconds exceeded
。如何解决这个问题?
Route::prefix('command')->group (function ()
Route::get('/queue/work', function ()
Artisan::call('queue:work --queue=high,default');
);
);
但是,Artisan::call('queue:restart');
- 这个可行。
【问题讨论】:
【参考方案1】:这是对队列的巨大误解。运行队列有两个主要原因。
您可以异步执行代码,并且不依赖 HTTP 请求,例如。用户无需等待。 您的工作量很大,单个进程无法扩展,您需要更多功能。如果您必须通过 Web 服务器执行作业,您不会从队列中获得任何东西,而应该只将代码放在控制器中。
因此,如果您需要队列,则需要设置 supervisor 才能使其正常工作。否则就没有意义了。
【讨论】:
以上是关于Laravel - 从路由调用工匠队列命令 - 邮递员超时的主要内容,如果未能解决你的问题,请参考以下文章