Maison > cadre php > Laravel > le corps du texte

Calendrier des tâches planifiées PHP Laravel [informations sèches]

藏色散人
Libérer: 2020-06-23 13:43:30
avant
5304 Les gens l'ont consulté

Ce qui suit est une introduction au calendrier des tâches planifiées PHP Laravel de la colonne du didacticiel Laravel. J'espère que cela sera utile aux amis dans le besoin !

Calendrier des tâches planifiées PHP Laravel [informations sèches]

Prémisse : La méthode décrite dans cet article consiste à utiliser la tâche planifiée crontab de Linux pour aider à implémenter la planification Laravel (la même chose est vraie pour Mac).

1. Ajoutez d'abord la tâche planifiée Crontab. Voici juste une brève introduction.

Utilisez la commande crontab -e pour ajouter le contenu suivant

* * * * * /usr/local/bin/php /usr/local/var/www/projectName/artisan schedule:run >> /dev/null 2>&1
Copier après la connexion

Comme indiqué :

Calendrier des tâches planifiées PHP Laravel [informations sèches]

La commande ci-dessus Crontab ajustez-le toutes les minutes avec la commande planning de Laravel, puis Laravel détermine la tâche d'exécution.

Remarque : Faites attention aux répertoires de php et artisan, dont php peut consulter le répertoire php

***** 你的命令

De plus, le 5* devant le La commande ci-dessus représente les minutes, l'heure, le jour, le mois et la semaine.

Minute : un entier compris entre 0 et 59, les valeurs par défaut * et */1 représentent 1 minute.

Heure : un entier de 0 à 23.

Jour : un nombre entier de 1 à 31.

Mois : un entier de 1 à 12.

Jour de la semaine : un nombre entier de 0 à 7, 0 et 7 représentent le dimanche.

crontab -l peut lister les tâches planifiées en cours.

2. Ajouter une tâche de planification Laravel.

1. Définissez votre tâche de planification dans la classe 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();
    }
}
Copier après la connexion

Ce qui précède donne deux exemples de méthodes d'implémentation. La première méthode consiste à utiliser des fermetures et la deuxième méthode consiste à utiliser des fermetures. utilisez les commandes Artisan pour l’implémenter.

Il existe de nombreuses heures de programmation :

->cron(‘* * * * *’); 在自定义Cron调度上运行任务
->everyMinute(); 每分钟运行一次任务
->everyFiveMinutes(); 每五分钟运行一次任务
->everyTenMinutes(); 每十分钟运行一次任务
->everyThirtyMinutes(); 每三十分钟运行一次任务
->hourly(); 每小时运行一次任务
->daily(); 每天凌晨零点运行任务
->dailyAt(‘13:00’); 每天13:00运行任务
->twiceDaily(1, 13); 每天1:00 & 13:00运行任务
->weekly(); 每周运行一次任务
->monthly(); 每月运行一次任务
Copier après la connexion

Il existe des méthodes supplémentaires, veuillez vous référer à : http://laravelacademy.org/post/235.html

Continuez avec la deuxième méthode :

3. Comment définir les commandes 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());
    }
}
Copier après la connexion

D'accord, vous pouvez maintenant exécuter des tâches planifiées, il y a une petite astuce. Si les tâches ci-dessus ne sont pas exécutées, vous pouvez utiliser la commande php artisan list pour imprimer des messages d'erreur.

Pour plus d'articles techniques liés à Laravel, veuillez visiter la colonne laravel !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:csdn.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal