laravel 定時任務(wù)

創(chuàng)建任務(wù)命令

 php artisan make:command TestCommand 

任務(wù)類

<?php

namespace App\Console\Commands;


use Illuminate\Console\Command;
use Illuminate\Support\Facades\Log;

class TestCommand extends Command
{
    /**
     * 命令名稱(會在Kernel.php文件中調(diào)用)
     * The name and signature of the console command.
     *
     * @var string
     */
    protected $signature = 'TestName';

    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = '任務(wù)描述';

    /**
     * Create a new command instance.
     *
     * @return void
     */
    public function __construct()
    {
        parent::__construct();
    }

    /**
     * Execute the console command.
     *
     * @return mixed
     */
    public function handle()
    {
        Log::info("實現(xiàn)任務(wù)邏輯");
       
    }
}

調(diào)用任務(wù)

<?php

namespace App\Console;


use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;

class Kernel extends ConsoleKernel
{
    /**
     * The Artisan commands provided by your application.
     *
     * @var array
     */
    protected $commands = [
        \App\Console\Commands\TestCommand::class
    ];

    /**
     * Define the application's command schedule.
     *
     * @param  \Illuminate\Console\Scheduling\Schedule  $schedule
     * @return void
     */
    protected function schedule(Schedule $schedule)
    {
        // 每天8點執(zhí)行一次
        $schedule->command('TestName')->cron('0 8 * * *');
    }

    /**
     * Register the Closure based commands for the application.
     *
     * @return void
     */
    protected function commands()
    {
        require base_path('routes/console.php');
    }
}

時間計劃

->cron('* * * * *');    在自定義Cron調(diào)度上運行任務(wù)
->everyMinute();    每分鐘運行一次任務(wù)
->everyFiveMinutes();   每五分鐘運行一次任務(wù)
->everyTenMinutes();    每十分鐘運行一次任務(wù)
->everyThirtyMinutes(); 每三十分鐘運行一次任務(wù)
->hourly(); 每小時運行一次任務(wù)
->daily();  每天凌晨零點運行任務(wù)
->dailyAt('13:00'); 每天13:00運行任務(wù)
->twiceDaily(1, 13);    每天1:00 & 13:00運行任務(wù)
->weekly(); 每周運行一次任務(wù)
->monthly();    每月運行一次任務(wù)
->monthlyOn(4, '15:00');    每月4號15:00運行一次任務(wù)
->quarterly();  每個季度運行一次
->yearly(); 每年運行一次
->timezone('America/New_York'); 設(shè)置時區(qū)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容