【问题标题】:Laravel not executing scheduled commandLaravel 没有执行预定的命令
【发布时间】:2021-06-15 16:44:16
【问题描述】:

我正在使用 laravel 望远镜。我使用以下代码在 kernel.php 中安排 prune 命令(它有 48 小时,但我已经尝试过更少的时间):

$schedule->command('telescope:prune --hours=48')->daily();

我在本地环境中对其进行了测试,它正确地修剪了数据。但是一旦进入我的生产服务器,它似乎就不起作用了。

望远镜在那里运行并捕获数据。我以为这可能是望远镜命令问题,但我跑了

php artisan telescope:prune

它有效,它说“修剪了 25404 个条目”,我也在数据库中验证了这一点。此外,我的 cron 任务每分钟都在运行,并且我有一些这样的预定调用:

$schedule->call('*some irrelevant stuff*')->cron('0 */3 * * *');
$schedule->call('*some irrelevant stuff*')->dailyAt('00:00');

他们正在按预期工作。我还尝试在函数中手动调用调度程序:

Artisan::call('schedule:run');

调度调用有效,但“$schedule->command”无效。

所以,我猜问题是“$schedule->command”不工作。你有什么想法或建议来解决这个问题吗?

【问题讨论】:

    标签: laravel scheduled-tasks laravel-artisan


    【解决方案1】:

    您应该将 Laravel 任务计划程序设置为您的服务器 crontab 文件,添加以下条目:

    * * * * * php /path/to/artisan schedule:run 1>> /dev/null 2>&1
    

    【讨论】:

    • 你能具体说明星星代表什么吗?
    • 当然。星星代表应该执行命令的时间:* 分钟 (0 - 59) * 小时 (0 - 23) * 月份 (1 - 31) * 月份 (1 - 12) 或 1 月、2 月、3 月、4 月... * 星期几 (0 - 6)(星期日=0 或 7)或星期日、星期一、星期二、星期三、星期四、星期五、星期六。在这里您可以找到有关 cron 使用的完整指南:opensource.com/article/17/11/how-use-cron-linux
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-28
    • 1970-01-01
    • 1970-01-01
    • 2017-02-04
    • 2020-05-27
    • 2021-10-23
    相关资源
    最近更新 更多