【问题标题】:Laravel cronjob schedule command not firing on productionLaravel cronjob schedule 命令未在生产中触发
【发布时间】:2019-07-21 16:43:04
【问题描述】:

我在 kernel.php 上有 7 个不同的调度命令,其中一个在运行调度时没有触发。

kernel.php
....
$schedule->command('my:command')->hourlyAt(15); // this wont run
...

在命令行上手动运行php artisan my:command 工作正常。

此外,在我们的开发服务器上运行调度程序时,所有命令都可以正常工作。问题仅在生产服务器上。

日志文件没有错误。

有什么想法可能是错的吗?

我正在使用 Laravel 5.6


更新: 问题是 laravel forge 调度程序上的工匠路径错误

【问题讨论】:

  • 你在服务器上添加了 crontab 吗?您是否检查了执行的命令是否正确,路径是否正确?
  • 问题是 laravel forge 调度器上的工匠路径错误
  • 非常好!这总是很棘手,总是值得仔细检查手动执行命令,甚至更好地使用绝对路径

标签: php laravel cron laravel-5.6


【解决方案1】:

您是否根据项目文件夹路径添加了以下 cron 条目?

* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1

请使用以下命令检查

crontab -l

如果不是?

通过

打开 crontab
crontab -e

在文件末尾添加 * * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1 条目

保存文件并运行以下命令

sudo service cron restart

再次检查 crontab -l

此命令将返回已设置的 cronjob

希望对你有帮助:)

【讨论】:

    猜你喜欢
    • 2016-05-14
    • 2022-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多