【问题标题】:Laravel schedule not respecting timeLaravel时间表不尊重时间
【发布时间】:2022-10-30 07:54:02
【问题描述】:

我正在使用 Laravel 9,我正在尝试在我的日程安排中设置几个任务。 其中一个应该每分钟调用一次,另一个每 5 分钟调用一次。

    protected function schedule(Schedule $schedule)
    {
       $schedule->call(/* send myself a mail */)->everyMinute();
       $schedule->call(/* send myself a mail */)->everyFiveMinutes();
    }

在我的主机上,我有一个每分钟调用一次的 cron 任务:

/opt/alt/php81/usr/bin/php ~/my-path/artisan schedule:run

但是每分钟我都会收到来自我的everyMinute() 任务的邮件,以及来自我的everyFiveMinutes() 任务的邮件。

我尝试使用 jobcommand 而不是 call 但它不会改变任何东西,与 ->cron('* * * * *') 而不是 ->everyMinute() 相同

【问题讨论】:

  • 您是在本地运行还是远程运行?
  • 我在远程做
  • 你试过laravel给出的命令吗? * * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1
  • 这是我以前使用的,但它不起作用,也从不调用我的日程安排
  • 你的机器上安装了 cron 吗?

标签: laravel cron scheduler laravel-scheduler


【解决方案1】:

我有同样的问题。

我发现当我使用这样的时间表时:

$schedule->call( MyController::MyFunction() )->everyFiveMinutes();

它每分钟运行一次,而不是每 5 分钟运行一次。

如果我这样运行,每个都按预期工作:

$schedule->call(function () {MyController::MyFunction();})->everyFiveMinutes();

【讨论】:

    猜你喜欢
    • 2011-09-08
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 2021-04-12
    • 2013-05-20
    • 2017-12-11
    • 2015-03-02
    • 1970-01-01
    相关资源
    最近更新 更多