【问题标题】:Php-worker keeps growing in memory when running supervisor queue's运行主管队列时,Php-worker 在内存中不断增长
【发布时间】:2019-12-14 22:00:33
【问题描述】:

当运行主管队列时,php-worker 容器的内存不断增加。 (如 docker stats 所示)

作业完成后,此数字不会下降。 当队列继续处理作业一段时间后,内存达到 100% 并崩溃。

[program:updater]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/laravel/artisan queue:work --daemon --sleep=3 --tries=3 --timeout=1800 --queue=updater
autostart=true
autorestart=unexpected
numprocs=20
user=laradock
stdout_logfile=/var/www/laravel/storage/logs/updater.log

在作业后清除内存有什么我遗漏的吗?

编辑 1: 日志:

[2019-08-07 16:26:36][4320] Processed:  App\Jobs\UpdateClient
[2019-08-07 16:26:36][4385] Processing:
App\Listeners\Statuses\NewClientCreatedStatuses
[2019-08-07 16:26:36][4385] Processed:  App\Listeners\Statuses\NewClientCreatedStatuses
[2019-08-07 16:26:36][4386] Processing: App\Jobs\UpdateClient
[2019-08-07 16:26:37][4281] Processed:  App\Jobs\UpdateClient
[2019-08-07 16:26:38][4314] Processed:  App\Jobs\UpdateClient
[2019-08-07 16:26:38][4388] Processing: App\Listeners\Statuses\NewClientCreatedStatuses
[2019-08-07 16:26:38][4388] Processed:  App\Listeners\Statuses\NewClientCreatedStatuses
[2019-08-07 16:26:38][4389] Processing: App\Jobs\UpdateClient
[2019-08-07 16:26:40][4391] Processing: App\Listeners\Statuses\NewClientCreatedStatuses
[2019-08-07 16:26:40][4391] Processed:  App\Listeners\Statuses\NewClientCreatedStatuses
[2019-08-07 16:26:41][4368] Processed:  App\Jobs\UpdateClient
[2019-08-07 16:26:41][4392] Processing: App\Jobs\UpdateClient
[2019-08-07 16:26:45][4371] Processed:  App\Jobs\UpdateClient
[2019-08-07 16:26:45][4394] Processing: App\Listeners\Statuses\NewClientCreatedStatuses
[2019-08-07 16:26:45][4394] Processed:  App\Listeners\Statuses\NewClientCreatedStatuses
[2019-08-07 16:26:45][4395] Processing: App\Jobs\UpdateClient

【问题讨论】:

  • 您的日志文件是否包含您可以发布的任何错误?
  • @mdexp 不,不幸的是它只是显示正在正常处理的作业

标签: php laravel supervisord beanstalkd laradock


【解决方案1】:

我认为--daemon 标志是您的问题的原因。这将使进程在后台运行。我的猜测是主管无法再终止该进程,从而导致越来越多的进程正在运行。 default laravel configuration 也不使用此标志。

【讨论】:

  • 谢谢,在检查文档后,在 laravel 5.0 之后没有关于 --daemon 的内容。所以我认为这可以解决问题
猜你喜欢
  • 2018-09-17
  • 2014-02-09
  • 2013-10-20
  • 2016-02-24
  • 1970-01-01
  • 2022-12-07
  • 2023-03-09
  • 1970-01-01
  • 2013-01-09
相关资源
最近更新 更多