Position actuelle: Accueil> Derniers articles> Guide de configuration et de développement du service YII2 CRON: Implémentez facilement la gestion des tâches de synchronisation

Guide de configuration et de développement du service YII2 CRON: Implémentez facilement la gestion des tâches de synchronisation

gitbox 2025-06-13

Qu'est-ce que le service cron

Le service Cron est un outil pour effectuer des tâches régulièrement. Il permet aux programmes d'exécuter automatiquement certaines tâches en fonction des périodes spécifiées. Dans YII2, nous pouvons implémenter les fonctions du service CRON en installant le package d'extension YII2Tech / Cron. Ce package d'extension permet l'exécution des tâches CRON planifiées via l'application de console de Yii2 et peut produire des informations d'exécution en temps réel, ce qui permet aux développeurs de surveiller plus facilement l'état de la tâche.

Comment installer le package d'extension yii2tech / cron

Tout d'abord, nous devons utiliser Composer pour installer le package d'extension YII2Tech / Cron:

 composer require yii2tech/cron

Une fois l'installation terminée, vous devrez configurer l'application de console pour activer le package d'extension. Voici les étapes de configuration:

Étape 1: Créez l'application de la console YII2

Accédez au répertoire Root du projet et créez une application de console en utilisant la commande suivante:

 php yii2-app console

Cela génère une application de console dans le projet appelé Console pour effectuer des tâches cron.

Étape 2: Configurer le package d'extension Yii2tech / Cron

Dans le fichier de configuration de l'application Console, nous ajoutons simplement ce qui suit dans le fichier `console / config / main.php`:

 return [
    //...
    'controllerMap' => [
        //...
        'cron' => \yii2tech\crontab\CronController::class,
    ],
    'components' => [
        'crontab' => [
            'class' => \yii2tech\crontab\CronTab::class,
            'crontabFile' => '@app/config/crontab',
        ],
    ],
];

Dans ce code, nous activons le CronController fourni par le package d'extension YII2Tech / Cron en configurant l'élément `CRON» dans le `ControLerMap`. Dans le même temps, nous avons également configuré un composant nommé «Crontab», qui spécifie l'emplacement du fichier de planification de tâches CRON.

Comment rédiger un service cron

Après avoir terminé l'installation et la configuration du package d'extension, nous pouvons commencer à écrire la tâche cron. Les étapes spécifiques sont les suivantes:

Étape 1: Définissez les tâches cron

La définition d'une tâche Cron dans YII2 est simple, créez simplement une classe de tâches héritée à partir de la classe `yii2tech \ crontab \ cronjob`. Par exemple:

 class ClearLogs extends yii2tech\crontab\CronJob
{
    public function getSchedule()
    {
        return '0 * * * *';  // Le temps horaire0Exécution de minutes
    }

    public function run()
    {
        Yii::info('CronLa tâche est en cours d'exécution');
        $logPath = 'logs/*.log';
        array_map('unlink', glob($logPath));  // Supprimer tout.logdocument
    }
}

Le code ci-dessus définit une tâche cron appelée «Clearlogs», qui s'exécutera à la 0e minute de l'heure et supprimera tous les fichiers «.log» sous le dossier de journal pour aider à libérer l'espace disque.

Étape 2: Ajoutez des tâches cron au service cron

Une fois la tâche écrite, nous devons configurer la tâche au service CRON. Les étapes sont les suivantes:

SUBSPEPE 1: Écrivez le fichier de configuration cron

Créez un fichier nommé `Crontab` dans le répertoire` Console / Config` et ajoutez des tâches cron et des informations de planification. Comme indiqué ci-dessous:

 # crontab Format:
# * * * * * Commande
# Comment utiliser:
# {schedule} {command}
# Nettoyer les journaux toutes les heures
0 * * * * php {yii} clear-logs
# tous les jours3:00Cache effacer
0 3 * * * php {yii} cache/flush-all

Dans ce fichier, nous configurons l'heure du calendrier pour la tâche «Clearlogs» et une autre tâche (comme la compensation du cache).

Substenp 2: Exécutez le service cron

Après avoir terminé la configuration, nous pouvons démarrer le service CRON et commencer à exécuter les tâches de synchronisation. Sur la ligne de commande, accédez au répertoire racine du projet et exécutez la commande suivante:

 php yii cron

À ce stade, la tâche CRON sera exécutée comme prévu en arrière-plan, et vous pouvez afficher le journal d'exécution dans la console.

Résumer

Le service Cron est un outil très pratique qui aide les développeurs à automatiser les tâches et à gagner du temps et des efforts. Dans le cadre YII2, nous pouvons facilement implémenter le service CRON via le package d'extension `yii2tech / cron` et effectuer régulièrement diverses tâches avec une configuration simple. Cette approche peut vous aider à améliorer l'efficacité du développement et à réduire les opérations répétitives. J'espère que cet article vous aide!