我在Laravel有一份申请。在它中,我使用Laradock来促进容器的创建。
使用的集装箱如下:
我在中设置了一些crons,它们在早期正确工作,但是,它们总是在第二天或第三天掉下来,而且我没有错误日志。
怎么继续?我有一种感觉,红色信息系统服务刚刚停止工作。我总是要重新启动php工人和laravel地平线,并在午夜手动运行crons。
可能会发生什么事?
-
我的horizon.conf (php工作人员):
[program:horizon]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/artisan horizon
autostart=true
autorestart=true
numprocs=5
redirect_stderr=truelaravel-scheduler.conf
[program:laravel-scheduler]
process_name=%(program_name)s_%(process_num)02d
command=/bin/sh -c "while [ true ]; do (php /var/www/artisan schedule:run --verbose --no-interaction &); sleep 60; done"
autostart=true
autorestart=true
numprocs=5
user=laradock
redirect_stderr=trueKernel.php
$schedule->command('cron:bonus_daily')->daily();
$schedule->command('cron:payout')->daily();
$schedule->command('cron:status')->everyFiveMinutes();
$schedule->command('cron:bonus_residual')->cron('0 0 */15 * *');发布于 2019-12-23 17:44:07
cron (Task Scheduling),laravel 建议只运行普通cron(从主管中删除laravel-scheduler.conf )并添加:
* * * * * cd /var/www/artisan && php artisan schedule:run >> /dev/null 2>&1运行:crontab -e (与-u {your_user}一起编辑特定用户的cron,通常是www-data),并添加上一行。
因为现在发生的事情是:supervisor启动scheduler,它会立即存在,并且主管将不再继续运行它,这是应用程序中断的地方,并且您不需要为Task Scheduling生成5个进程,cron Task Scheduling应该检查每分钟是否有任务(这是cron可以运行的最低任务)。
对于队列,是supervisor,在这里您可以生成更多的进程。
https://stackoverflow.com/questions/59458982
复制相似问题