1、容器安装redis
2、然后thinkphp 根目录 使用composer 开启thinkphp-queue 扩展
3、安装后在config 目录下会生成 queue配置文件
'default' => 'redis',
'connections' => [
// 数据库队列配置
'database' => [
'type' => 'database',
'queue' => 'default', // 默认队列名称
'table' => 'jobs', // 队列任务表名
'connection' => null, // 数据库连接名称,null 表示使用默认连接
],
// Redis 队列配置
'redis' => [
'type' => 'redis',
'queue' => 'default',
'host' => 'aaa',/容器名
'port' => 6666,
'password' => '123456',
'select' => 0,
'timeout' => 0,
'persistent' => false,
],
],
// 失败任务配置
'failed' => [
'type' => 'none', // 可选:database、none
'table' => 'failed_jobs', // 失败任务表名/前缀
],
4、数据库配置只保留一个
'params' => [
PDO::ATTR_STRINGIFY_FETCHES => false,
全部安装配置好之后,需要安装 Supervisor 工具
5、进入PHP容器
docker exec -it 1Panel-php8-111 sh
6、安装
apk update
apk add supervisor
7、
创建 Supervisor 配置目录与文件
Alpine 默认目录可能不存在,我们手动建:
mkdir -p /etc/supervisor/conf.d
8、查看主配置文件路径
容器中执行:
find /etc -name supervisord.conf
可能返回:
/etc/supervisord.conf
如果没有结果 → 我们手动创建 mkdir ...
9、创建(或修改) /etc/supervisord.conf
执行以下命令(整段复制执行即可 👇)
cat > /etc/supervisord.conf <<'EOF'
[unix_http_server]
file=/var/run/supervisor.sock ; socket 路径
[supervisord]
logfile=/var/log/supervisord.log
pidfile=/var/run/supervisord.pid
childlogdir=/var/log/
nodaemon=false
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[supervisorctl]
serverurl=unix:///var/run/supervisor.sock
; 👇 一定要包含这个 include 语句!
[include]
files = /etc/supervisor/conf.d/*.conf
EOF
10、项目 缓存目录要设置 777权限才行
11、再次启动 Supervisor
supervisord -c /etc/supervisord.conf
12、启动队列任务
supervisorctl start think_queue
13、查看状态
supervisorctl status
14、ok,可以执行队列
1134

被折叠的 条评论
为什么被折叠?



