为什么它不能每 5 分钟循环一次函数?(cronjob,任务调度拉拉维尔)



我正在尝试设置一个可以每五分钟运行一次的调度任务,但它只工作 1 次,在前五分钟之后,其他五分钟没有正确执行该功能。

/

/depresiasicounter.php

protected $signature = 'updates:depresiasicounter';
public function handle()
{
    $aktivatb = Aktivatb::where('id','1')->first();
        $aktivatb->nilai= $aktivatb->nilai-$aktivatb->depresiasi;
        $aktivatb->total_depresiasi = $aktivatb->total_depresiasi+$aktivatb->depresiasi;
    $aktivatb->save();
}

内核.php

protected $commands = [
        CommandsDepresiasiCounter::class,
    ];

protected function schedule(Schedule $schedule)
{
    $schedule->commands('updates:depresiasicounter')->everyFiveMinutes();
}

我希望它可以工作,直到 $aktivatb->nilai 的值为 0,但它只能工作 1 次

计划任务基本上是系统正在运行命令

php /project-path/artisan schedule:run

每隔给定的时间量。

Linux环境中,人们使用cron通过创建一个crontab来处理这个问题。

* * * * * php /project-path/artisan schedule:run

命令前面的那些星号表示命令。

Windows环境中,您可以参考以下答案。

或者,您可以设置虚拟机并在机器内运行 cron 作业。

您需要设置 cron,以便它可以每分钟运行一次 php artisan schedule:run 命令,因此您需要将以下 Cron 条目添加到您的服务器。

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

这个 Cron 将每分钟调用一次 Laravel 命令调度程序。然后,Laravel评估您的计划任务并运行到期的任务。

使用调度程序时,只需将以下 Cron 条目添加到服务器。

相关内容

  • 没有找到相关文章

最新更新