1. 程式人生 > >laravel中的定時任務

laravel中的定時任務

首先不可避免要是用linux定時任務

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

然後就在laravel中進行操作

檔案路徑app/Console/Kernel.php

<?php

namespace App\Console;

use DB;
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
class Kernel extends ConsoleKernel{ /** * 應用提供的Artisan命令 * * @var array */ protected $commands = [ // ]; /** * 定義應用的命令排程 * * @param \Illuminate\Console\Scheduling\Schedule $schedule * @return void * @translator laravelacademy.org */
protected function schedule(Schedule $schedule) { $schedule->call(function () { DB::table('recent_users')->delete(); })->daily(); } }

下面幾種常見的排程方式

$schedule->call(function () {
    // 每週星期一13:00執行一次...
})->weekly()->mondays()->at('13:00');

// 工作日的上午8點到下午5點每小時執行...
$schedule->command('foo') ->weekdays() ->hourly() ->timezone('America/Chicago') ->between('8:00', '17:00');