今天更新我的宅基地后,我一直遇到管理员队列问题(使用Redis)。我面临的问题是我的队列在大约60秒后终止(有些交替)。
在更新到最新的宅基地版本之前没有出现此问题,我只是无法弄清楚为什么会发生这种情况,没有显示日志或错误,我的同事也遇到了同样的问题。
我的内存只使用~1000MB RAM,这是我允许的4GB限制,所以这不是问题。使用PHP运行脚本本身也是完美的,它只是提供问题的主管。
我试图更改为队列驱动程序的数据库变体,它会导致相同的情况发生(加上它比主管慢)。使用同步驱动程序确实让它保持活着,但它的速度要慢10倍,我希望Redis为我处理队列。
我的主管配置如下所示:
; supervisor config file
[unix_http_server]
file=/var/run/supervisor.sock ; (the path to the socket file)
chmod=0700 ; sockef file mode (default 0700)
[supervisord]
logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log)
pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
childlogdir=/var/log/supervisor ; ('AUTO' child log dir, default $TEMP)
; the below section must remain in the config file for RPC
; (supervisorctl/web interface) to work, additional interfaces may be
; added by defining them in separate rpcinterface: sections
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[supervisorctl]
serverurl=unix:///var/run/supervisor.sock ; use a unix:// URL for a unix socket
; The [include] section can just contain the "files" setting. This
; setting can list multiple files (separated by whitespace or
; newlines). It can also contain wildcards. The filenames are
; interpreted as relative to this file. Included files *cannot*
; include files themselves.
[include]
files = /etc/supervisor/conf.d/*.conf
我的项目特定配置如下所示:
[program:grotesmurf_laravel_queue]
process_name=%(program_name)s_%(process_num)02d
command=php /home/vagrant/Code/grotesmurf/artisan queue:work --sleep=3 --tries=3 --queue=grotesmurf --timeout=0
autostart=true
autorestart=true
user=vagrant
numprocs=3
redirect_stderr=true
stdout_logfile=/home/vagrant/Code/grotesmurf/storage/logs/queue/laravel_queue.out.log
stderr_logfile=/home/vagrant/Code/grotesmurf/storage/logs/queue/laravel_queue.err.log
我的php-fpm日志没有输出任何内容。
我的supervisord队列没有输出任何内容。
我的laravel.log没有输出任何内容。
我的主管版本: 3.3.1
我的php版本是: 7.1.3-3 + deb.sury.org~xenial + 1
我的laravel版本是: 5.4.16
如果需要更多信息,请告知我们。
有没有人对尝试的事情有任何建议?还有其他人遇到过这个问题吗?
提前致谢。