supervisor 开启多个进程,导致队列重复执行
我有个队列用来发送短信通知,之前我配置 supervistor 的时候只开启了一个进程,所以并没有发现问题。数据多了,我就想多开几个进程,可是当我多开几个进程的时候,一个队列就会重复执行,并且重复执行的次数就是设置的进程数量,比如我 numprocs=4,最后就会发送 4 条短信到同一个手机号上。我队列驱动是 database;
[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php 项目路径/artisan queue:work queue=sms --sleep=3 --tries=3
autostart=true
autorestart=true
user=forge
numprocs=4
redirect_stderr=true
stdout_logfile=/home/forge/app.com/worker.log
stopwaitsecs=3600
感谢各位的帮助,目前问题已解决。队列驱动换成了 redis。
推荐文章: