我正在使用Amazon Beanstalk来托管我的Laravel应用程序。我创建了一个特殊配置,以便我的 queue:listen 会在部署时使用主管自动重新启动。
[unix_http_server]
file=/tmp/supervisor.sock
chmod=0777
[supervisord]
logfile=/var/app/support/logs/supervisord.log
logfile_maxbytes=25MB
logfile_backups=2
loglevel=warn
pidfile=/var/run/supervisord/supervisord.pid
nodaemon=false
nocleanup=true
user=webapp
[program:laravel_queue]
command=php artisan queue:listen --queue=email,activity,purging,misca --memory=256 --env=production
directory=/var/app/current
stdout_logfile=/var/app/support/logs/laravel-queue.log
logfile_maxbytes=25MB
logfile_backups=2
redirect_stderr=true
autostart=true
autorestart=true
startretries=86400
这很好用,我的问题是在一天之后,我的服务器内存总是达到95%!
我检查了内存并注意到一堆由队列启动的http进程:listen但由于某种原因从未被杀死(注意所有作业都成功,没有失败)。
webapp 22923 0.0 0.4 673948 19032 ? S 18:10 0:00 /usr/sbin/httpd -D FOREGROUND
webapp 22926 0.0 0.8 674588 35512 ? S 18:10 0:00 /usr/sbin/httpd -D FOREGROUND
webapp 22929 0.0 0.4 673948 19032 ? S 18:11 0:00 /usr/sbin/httpd -D FOREGROUND
webapp 22931 0.0 0.9 674932 37576 ? S 18:11 0:00 /usr/sbin/httpd -D FOREGROUND
webapp 22932 0.0 0.4 673948 19032 ? S 18:11 0:00 /usr/sbin/httpd -D FOREGROUND
webapp 22934 0.0 0.8 674600 35536 ? S 18:11 0:00 /usr/sbin/httpd -D FOREGROUND
webapp 22935 0.0 0.8 674588 35512 ? S 18:11 0:00 /usr/sbin/httpd -D FOREGROUND
为什么我假设这些http进程是队列:worker没有终止?
答案 0 :(得分:0)
虽然我遇到了同样的问题,但是对于你缺少的主管的程序配置有一个属性
尝试添加numprocs
,然后添加您想要运行的个别流程
Reference Laravel's Example Supervisor Config in the Documentation