thinkphp queue
- env文件配置,会一次加载到内存里,如果做了变更,消息队列需要重启
- 需要配合使用python supervisor来避免进程挂掉
- 消息有两种,一种是延迟消息、一种是即时消息,根据自己的业务判断处理,如果消费消息里面出现了第三方接口,需要做超时处理,不然会卡主整个队列。
- 消息成功或者失败,最好根据自己的业务情况,做异常捕获,如果出现异常,写入到后台待处理的表里面,进行人工介入处理。
- 日志文件会出现大量写入,需要重新调整日志文件,在配置文件,config/queue.php ,写入,重新调整日志配置
use think\facade\Log;
Log::init([
'single' => 'queue',
'file_size' => 1024 * 1024 * 10,
'level' => ['error'],
]);
安装supervisor
安装:
yum install epel-release
yum install -y supervisor
服务管理:
systemctl start supervisord 启动
systemctl status supervisord 状态查看
systemctl restart supervisord 重启
开启启动:
systemctl enable supervisord
systemctl is-enabled supervisord
命令:
supervisorctl update
supervisorctl reload