每次在我的服务器上运行延迟作业时,我都可以在 postgreSQL 中看到一个新的空闲进程。运行select * from pg_stat_activity;
我可以看到:
DEALLOCATE pdo_stmt_00000018
我试图理解,htop
每次延迟的排队作业刚刚运行时,就会出现多行(以及 中的多一个进程)。
我的工作的最后一行是:
$this->log->info("Invitation {$this->invitation->uuid} sent");
我可以在我的日志中看到这一点,所以一切都很好,但是之后它并没有清理干净。每次使用“DEALLOCATE pdo_stmt_00000xxx”时,我都有一个空闲进程。
我能做些什么来避免这个问题?这是什么原因造成的?
这是我的主管配置:
[program:laravel-queue-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /path/to/my/site/artisan queue:work --queue=invitation,default --sleep=3 --tries=3
autostart=true
autorestart=true
user=www-data
numprocs=2
redirect_stderr=true
stdout_logfile=/path/to/my/logs/worker.log
旁注:空闲进程在我运行时消失php artisan queue:restart