首页 > 解决方案 > Laravel 中的 Cron 作业问题(任务计划)

问题描述

同样的问题安排cron作业,

我的内核.php

<?php

namespace App\Console;

use Illuminate\Console\Scheduling\Schedule;
use Log;

use Illuminate\Foundation\Console\Kernel as ConsoleKernel;

class Kernel extends ConsoleKernel
{

    protected $commands = [
      //  \App\Console\Commands\SecondTable::class,
    ];


    protected function schedule(Schedule $schedule)
    {
        // $schedule->command('inspire')
                  //->hourly();
        $schedule->call('App\Http\Controllers\Sale\SaleController@sync')->everyMinute();
    }

    protected function commands()
    {
        require base_path('routes/console.php');
    }
}

手动运行命令-> php artisan schedule:run 运行良好!

但是,cronjob 运行服务器无法正常工作,我的 cron 作业代码,

* * * * * php /laravel project folder/artisan schedule:run >> /dev/null 2>&1

不管用。

标签: laravelscheduled-tasks

解决方案


检查你的 cronjob 代码,它可能是这样的:

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

这意味着:每隔几秒(* * * * *),转到我的项目文件夹(cd path-to-your-project),然后执行命令(php artisan schedule:run)。

cronjob最后一部分的含义在这里解释一下:什么是/dev/null 2>&1?


推荐阅读