>  기사  >  백엔드 개발  >  PHP의 Laravel 예약 작업 일정 분석

PHP의 Laravel 예약 작업 일정 분석

不言
不言원래의
2018-07-14 16:48:372735검색

이 글은 주로 PHP의 Laravel 예약 작업 일정에 대한 분석을 소개합니다. 이제 특정 참조 값을 가지고 있습니다. 필요한 친구들이 참고할 수 있습니다.

전제: 이 글은 다음과 같습니다. 이 방법은 Linux의 crontab 예약 작업을 사용하여 Laravel 예약 구현을 지원하는 것입니다(Mac에서도 마찬가지입니다).
1. 먼저 Crontab 예약 작업을 추가합니다. 간략한 소개는 다음과 같습니다.
다음 내용을 추가하려면 crontab -e 명령을 사용하세요

* * * * * /usr/local/bin/php /usr/local/var/www/projectName/artisan schedule:run >> /dev/null 2>&1

위 명령 Crontab은 Laravel의 Schedule 명령을 1분마다 조정한 후 Laravel이 작업을 판단하고 실행합니다.
참고: php 및 artisan 디렉토리에 주의하세요. 어떤 php가 php 디렉토리를 볼 수 있는지
***** 你的命令
또한, 위 명령 앞의 5 *는 분을 나타냅니다. 각각 시간, 일, 월입니다.
Minute: 0~59의 정수, 기본값 * 및 */1은 1분을 나타냅니다.
Hour: 0부터 23까지의 정수.
Day: 1부터 31까지의 정수입니다.
월: 1에서 12 사이의 정수입니다.
요일: 0에서 7까지의 정수, 0과 7은 모두 일요일을 나타냅니다.
crontab -l 현재 예약된 작업을 나열할 수 있습니다.

2. Laravel 예약 작업을 추가합니다.
1. AppConsoleKernel 클래스에서 스케줄링 작업을 정의하세요.

<?php

namespace App\Console;

use Illuminate\Console\Scheduling\Schedule;
use Laravel\Lumen\Console\Kernel as ConsoleKernel;
use Log;class Kernel extends ConsoleKernel
{    /**
     * The Artisan commands provided by your application.
     * 定义Artisan命令
     * @var array
     */    protected $commands = [
                \App\Console\Commands\test::class,

    ];    /**
     * Define the application&#39;s command schedule.
     * 定义调度任务
     * @param  \Illuminate\Console\Scheduling\Schedule  $schedule
     * @return void
     */    protected function schedule(Schedule $schedule)
    {        //方法一://            $schedule->call(function () {//                Log::info(&#39;任务调度&#39;);//            })->everyMinute();        //方法二:
        $schedule->command(&#39;test&#39;)->everyMinute();
    }
}

위에 두 가지 구현 방법이 나와 있습니다. 방법 1은 클로저를 사용하는 것이고, 방법 2는 Artisan 명령을 사용하는 것입니다.
예약 시간은 다양합니다.
->cron('* * * * *') 사용자 정의 Cron 일정에 따라 작업 실행
->everyMinute(); 매분
->everyFiveMinutes(); 5분마다 작업 실행
->everyTenMinutes(); 10분마다 작업 실행
->everyThirtyMinutes(); 30분마다 작업
->hourly(); 매시간 작업 실행
->daily(); 매일 자정에 작업 실행
->dailyAt('13: 00'); 매일 13:00에 작업 실행
->twiceDaily(1, 13); 매일 1:00 및 13:00에 작업 실행
->weekly() ; 일주일에 한 번 작업 실행
->monthly(); 한 달에 한 번 작업 실행
추가 방법이 있으므로 http://laravelacademy.org/post/235.html을 참조하세요.

#🎜🎜 # 방법 2의 작업을 계속합니다:

3. Artisan 명령을 정의하는 방법:

<?php namespace App\Console\Commands;

use Illuminate\Console\Command;
use Log;class test extends Command {    /**
     * The console command name.
     *
     * @var string
     */    protected $name = &#39;test:putcache&#39;;    /**
     * The console command description.
     *
     * @var string
     */    protected $description = &#39;test controller&#39;;    /**
     * Execute the console command.
     *
     * @return mixed
     */
    public function handle()
    {            //这里做任务的具体处理,可以用模型
            Log::info(&#39;任务调度&#39;.time());
    }

}

좋아요, 위의 작업을 실행하면 됩니다. 위 작업이 실행되지 않으면 php artisan list 명령을 사용하여 일부 오류 메시지를 인쇄할 수 있습니다.

위 내용은 모든 사람의 학습에 도움이 되기를 바랍니다. . 더 많은 관련 내용을 보려면 PHP 중국어 웹사이트를 주목하세요!

관련 권장 사항:

Laravel 데이터베이스 테스트를 수행하는 또 다른 방법(SQLite)
#🎜 🎜## 🎜🎜#Laravel 개발 환경 배포 홈스테드 설치 및 구성 프로세스(Windows 시스템)

위 내용은 PHP의 Laravel 예약 작업 일정 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.