这是在我的Laravel 5.3开发环境中
我正在测试预定的电子邮件并运行:
php artisan schedule:run
这工作正常,正在按预期方式发送电子邮件。
但是我实际上希望在crontab文件中使用它:
* * * * * php /home/test/website/artisan schedule:run >> /dev/null 2>&1
由于我在crontab文件中添加了这一行,所以我收到了两封电子邮件。我删除了该行,所以现在只收到一封电子邮件。
但是现在我想撤消/撤消/停止/杀死php artisan schedule:run,以便我可以从crontab文件控制日程表。
我看到了这篇文章:Stop a Laravel scheduled command once stared?
但是当我收到消息时,对于我来说,可接受的答案(ps -fe | grep artisan并杀死PID)对我不起作用
kill: (PID) - No such process
每次我跑步
ps -fe | grep artisan
它似乎具有不同的PID-不确定我在这做错了什么。
我也停止了我的无聊的盒子,但这似乎没有任何作用。
任何建议都会很棒!
更新:以防万一,将来我碰巧遇到同样的问题,又在这个SO帖子上绊倒了-我无法解决此问题,并决定不再值得花更多的时间来解决它-现在就住。通过从crontab中删除该行,我现在只收到一封电子邮件,所以一切都很好。
答案 0 :(得分:2)
您是否在代码中尝试过此操作?没有Overlapping() 为了防止任何重叠。
$ schedule-> command('emails:send')-> withoutOverlapping()
答案 1 :(得分:1)
kill:(PID)-没有这样的过程
我也停止了我无业游民的盒子,但这似乎没有任何作用 效果。
您是否检查过主机?因为这似乎是您在主机内部而不是在无所事事的框中运行artisan和crontab两者或其中之一。
答案 2 :(得分:1)
您可以创建
之类的工匠命令然后将crontab更改为 * * * * * php / home / test / website / artisan custom_schedule:run >> / dev / null 2>&1