Maison  >  Article  >  cadre php  >  Planification de tâches planifiées ThinkPHP6 : exécution de tâches planifiées

Planification de tâches planifiées ThinkPHP6 : exécution de tâches planifiées

WBOY
WBOYoriginal
2023-08-12 15:28:434249parcourir

Planification de tâches planifiées ThinkPHP6 : exécution de tâches planifiées

Planification des tâches planifiées ThinkPHP6 : exécution de tâches planifiées

1. Introduction
Dans le processus de développement d'applications Web, nous rencontrons souvent des situations où certaines tâches répétitives doivent être exécutées régulièrement. ThinkPHP6 fournit une puissante fonction de planification de tâches planifiées, qui peut facilement répondre aux besoins des tâches planifiées. Cet article explique comment utiliser la planification de tâches planifiées dans ThinkPHP6 et fournit quelques exemples de code pour vous aider à comprendre.

2. Configurer les tâches planifiées

  1. Créer des fichiers de tâches planifiées
    Créez un répertoire de commandes dans le répertoire app du projet et créez un répertoire Cron dans ce répertoire. Créez un nouveau fichier Test.php dans le répertoire Cron. Ce fichier servira de fichier de tâches planifiées.
  2. Écrire le code de tâche planifiée
    Ce qui suit est un exemple simple de code de tâche planifiée :
namespace appcommandCron;

use thinkconsoleCommand;
use thinkconsoleInput;
use thinkconsoleOutput;

class Test extends Command
{
    protected function configure()
    {
        $this->setName('cron:test')->setDescription('This is a test command.');
    }

    protected function execute(Input $input, Output $output)
    {
        // 这里是定时任务要执行的代码
        $output->writeln('This is a test command.');
    }
}

Dans le code ci-dessus, nous avons créé une classe Test qui hérite de la classe Command et remplace les méthodes de configuration et d'exécution. Dans la méthode configure, nous donnons à cette commande un nom cron:test et une description "Ceci est une commande de test". Dans la méthode d'exécution, le code à exécuter par la tâche planifiée est écrit ici, un message est simplement imprimé.

  1. Enregistrez la commande de tâche planifiée
    Créez un nouveau fichier Cron.php dans le répertoire console du projet et enregistrez notre commande de tâche planifiée dans le fichier. Le code est le suivant :
namespace appconsole;

use thinkconsoleCommand;
use thinkconsoleInput;
use thinkconsoleOutput;
use thinkconsoleSchedule;

class Cron extends Command
{
    protected function configure()
    {
        $this->setName('cron')->setDescription('Task schedule for ThinkPHP6.');
    }

    protected function execute(Input $input, Output $output)
    {
        $schedule = new Schedule();

        // 这里添加定时任务
        $schedule->command('cron:test')->everyMinute();

        $schedule->run();
    }
}

Dans le code ci-dessus, nous avons créé une classe Cron qui hérite de la classe Command et remplacé les méthodes de configuration et d'exécution. Dans la méthode de configuration, nous spécifions un nom cron et une description « Planification des tâches pour ThinkPHP6 » pour cette commande. Dans la méthode d'exécution, nous créons une instance Schedule et ajoutons une tâche planifiée à l'aide de sa méthode de commande. Dans cet exemple, nous définissons la tâche planifiée pour qu'elle soit exécutée toutes les minutes.

3. Exécuter des tâches planifiées
Pour exécuter des tâches planifiées, nous pouvons exécuter la commande suivante sur la ligne de commande :

php think cron

Cette commande exécutera la planification des tâches que nous avons définie dans le fichier Cron.php.

4. Exemples de planification de tâches planifiées
Voici quelques exemples de planification de tâches planifiées :

  1. Exécuter la tâche toutes les minutes

    $schedule->command('cron:test')->everyMinute();
  2. Exécuter la tâche à 0 heures du matin tous les jours

    $schedule->command('cron:test')->daily();
  3. Exécuter la tâche à 0h du matin tous les dimanches Tâche

    $schedule->command('cron:test')->weekly()->sundays();
  4. Exécuter la tâche à 0h du matin le 1er de chaque mois

    $schedule->command('cron:test')->monthly();

L'exemple ci-dessus montre comment utiliser la fonction de planification de tâches planifiées de ThinkPHP6. En configurant le fichier de tâches planifiées et en enregistrant la commande de tâche planifiée, nous pouvons facilement réaliser la nécessité d'une exécution de tâche planifiée. J'espère que cet article pourra aider tout le monde. Pour des fonctions de planification de tâches de synchronisation plus détaillées, veuillez vous référer à la documentation officielle de ThinkPHP6.

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!

Déclaration:
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