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 协议》,转载必须注明作者和本文链接
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 5

二楼正解👇

4年前 评论
宇宙最厉害

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

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

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

4年前 评论

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

file

4年前 评论
GeorgeKing 4年前

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

4年前 评论

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