Laravel 任务计划程序仅在执行命令时运行 "php artisan schedule:run"

Laravel task scheduler runs only when doing the command "php artisan schedule:run"

我正在尝试在我的本地主机上的 Laravel 5.8 中创建一个调度程序,但是当我使用以下命令时它只有 运行s。

php /opt/lampp/htdocs/my_project/artisan schedule:run >> /dev/null 2>&1

php artisan schedule:run

而不是我定义的每分钟 运行s

protected function schedule(Schedule $schedule)
{
    $schedule->call(function () {
        $good = new Grocery();
        $good->name = 'good';
        $good->type = 'type';
        $good->price = '222';
        $good->save();
    })->everyMinute();
}

数据存储在数据库中,但我每次都应该运行命令。 数据库中没有唯一的东西。

您的 schedule:run 需要添加到您的 cronjob。

这可以通过键入 crontab -e 来完成。完成后,您应该输入每分钟执行的命令:

* * * * * php /opt/lampp/htdocs/my_project/artisan schedule:run >> /dev/null 2>&1

这会将命令设置为每分钟 运行。然后您的应用程序负责查看您的计划命令是否应该 运行.