Horizon 配置守护进程 Supervisor 中遇到的一些问题 (AWS\Sqs\SqsClient not found)

问题的起因是因为在已经配置好horizon后,因为没有进程守护,所以队列一直处于暂停状态
Horizon配置守护进程--Supervisor中遇到的一些问题(Aws\Sqs\SqsClient not found)

我在论坛及百度里搜了很多关于superviosr的文章,最终选择根据《Laravel中文文档》中的配置的laravel-worker.ini
Horizon配置守护进程--Supervisor中遇到的一些问题(Aws\Sqs\SqsClient not found)

我的配置如下:
Horizon配置守护进程--Supervisor中遇到的一些问题(Aws\Sqs\SqsClient not found)

执行到sudo supervisorctl start laravel-worker:*这段命令后报错了
Horizon配置守护进程--Supervisor中遇到的一些问题(Aws\Sqs\SqsClient not found)

于是尝试手动执行配置文件中的artisan命令,再次报错...
Horizon配置守护进程--Supervisor中遇到的一些问题(Aws\Sqs\SqsClient not found)

不死心,就追踪这个类,结果发现根本就没有这个类,后来以为是laravel5.5的问题,追踪到5.8依然找不到指定的类文件...
Horizon配置守护进程--Supervisor中遇到的一些问题(Aws\Sqs\SqsClient not found)

{tip} 后来索性把sqs去除执行了下发现可以正常使用了

Horizon配置守护进程--Supervisor中遇到的一些问题(Aws\Sqs\SqsClient not found)

最终改了配置文件(laravel-worker.ini)中的comannd命令(删除了sqs或换成redis)后执行以下三个命令

sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start laravel-worker:*

Horizon配置守护进程--Supervisor中遇到的一些问题(Aws\Sqs\SqsClient not found)

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 5

二楼正解👇

5年前 评论
宇宙最厉害

那你这里指定了sqs队列,可以尝试指定redis队列,再看看你的 .env 文件具体使用的队列是什么。

QUEUE_DRIVER=redis
php artisan queue:work redis 
5年前 评论
_mars (楼主) 5年前

supervisor里不是执行命令 php artisan horizon就行了么?

5年前 评论

@史沟飞 php artisan horizon这个命令没有tries选项,如果失败了会死循环的

file

5年前 评论
GeorgeKing 5年前

@_mars 有的,可以在 horizon配置文件配置的

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!