【发布时间】:2016-02-27 20:26:00
【问题描述】:
我使用 aritsan 命令(lavaral 5.1)处理后台工作,
我按照mamul在crontab中设置了* * * * * php /path/to/artisan schedule:run 1>> /dev/null 2>&1。
还有我的工作设置,比如
'$schedule->command('job')->cron('0 * * * *');'
在 Kernel.php 中
这个任务效果很好,但是几个小时后我检查我的服务器进程时,我发现 aritsan 生成了很多进程,
注意:在我的工作中,我在程序结束后用handle() 方法写exit()。
请帮我找出为什么工匠生成那些进程(不退出?),它占用了很多内存。
非常感谢!
~ ps -aux|grep artisan|grep -v grep|wc -l
24
root 15690 0.0 2.3 235588 11872 ? S Nov16 0:05 /usr/local/bin/php artisan job
root 16382 0.0 2.3 237748 11996 ? S Nov16 0:06 /usr/local/bin/php artisan job
root 17735 0.0 2.3 237748 12036 ? S Nov16 0:05 /usr/local/bin/php artisan job
root 17786 0.0 2.4 237748 12052 ? S Nov14 0:15 /usr/local/bin/php artisan job
root 20274 0.0 2.4 237748 12056 ? S Nov14 0:14 /usr/local/bin/php artisan job
root 23771 0.0 2.4 237748 12056 ? S Nov14 0:12 /usr/local/bin/php artisan job
root 24191 0.0 2.4 237748 12056 ? S Nov16 0:03 /usr/local/bin/php artisan job
root 26192 0.0 2.4 237748 12048 ? S Nov16 0:02 /usr/local/bin/php artisan job
root 26287 0.0 2.4 237748 12048 ? S Nov14 0:12 /usr/local/bin/php artisan job
....
【问题讨论】:
-
应该不需要在 Job 的
fire或handle方法中添加exit。如果删除它会发生什么? -
@Luceos 如果我没有在句柄方法中设置退出,可能会导致这个问题。
标签: php laravel command crontab laravel-artisan