Maison >cadre php >Laravel >Explication détaillée de la façon d'utiliser la planification des tâches de Laravel (exécution planifiée des tâches)

Explication détaillée de la façon d'utiliser la planification des tâches de Laravel (exécution planifiée des tâches)

藏色散人
藏色散人avant
2021-01-05 16:43:222586parcourir

La colonne suivante du Tutoriel Laravel vous présentera la planification des tâches (exécution régulière de tâches) à l'aide de Laravel. J'espère qu'elle sera utile aux amis qui en ont besoin !

Explication détaillée de la façon d'utiliser la planification des tâches de Laravel (exécution planifiée des tâches)

Il existe une fonction très puissante dans Laravel. Il vous suffit d'ajouter une entrée cron sur le serveur pour exécuter régulièrement toutes les tâches de Laravel.

Nous avons maintenant le tableau de données suivant :

Je veux que la valeur du champ cron dans la table cron augmente de 1 chaque minute, puis je Vous avez besoin des étapes suivantes :

1. Écrivez le code Laravel dans AppConsoleKernel.php

protected function schedule(Schedule $schedule)
{    $schedule->call(function () {
                    DB::table('cron')->increment('cron');
                })->everyMinute();
 }

2. /var/spool/ Ajoutez du code au fichier cron/root

Remarque : Il est préférable d'utiliser l'éditeur vim pour modifier le fichier ici si vous l'utilisez. winscp pour modifier le fichier, il y aura un problème de non-exécution de la tâche.

Utilisation du lien du didacticiel vim : http://www.cnblogs.com/zzdylan/p/5941706.html

Entrez

crontab -e
Ajoutez le code suivant sur la ligne de commande

* * * * * /usr/local/php/bin/php /data/wwwroot/test/artisan schedule:run 1>> /dev/null 2>&1
Entrée

crontab -u root -l

Pas besoin de redémarrer le service cron car le système le lira toutes les minutes

/var/spool/ cron Fichiers dans le répertoire.

Si vous constatez qu'il ne peut toujours pas être exécuté selon la configuration suivante, vous pouvez utiliser les méthodes suivantes pour résoudre le problème :

Vérifiez si le la commande utilise un chemin absolu, comme ici

/usr/local/php/bin/php au lieu de php, utilisez /data/wwwroot/test/artisan au lieu de artisan .

Si le chemin absolu a été utilisé et qu'il ne s'exécute toujours pas, alors entrez directement

/usr/local/php/bin/php /data/wwwroot/test/artisan planning:run 1>> sur la ligne de commande ; /dev/null 2>&1 et voyez s'il est exécuté. S'il n'est pas exécuté, c'est un problème avec le code laravel. S'il est exécuté, cela signifie que c'est une variable d'environnement. problème. Vérifiez le chemin. Si vous ne savez pas où se trouve php, entrez quel php sur la ligne de commande et vous serez invité à indiquer où php est installé.

Pour plus de connaissances liées à la programmation, veuillez visiter :

Enseignement de la programmation ! !

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer
Article précédent:Laravel 8.17 est sorti !Article suivant:Laravel 8.17 est sorti !