Maison > cadre php > Laravel > le corps du texte

Les tâches planifiées de Laravel doivent-elles utiliser cron ?

WBOY
Libérer: 2022-06-02 16:46:24
original
2096 Les gens l'ont consulté

Les tâches planifiées de Laravel doivent utiliser cron ; si vous souhaitez exécuter régulièrement toutes les tâches de Laravel dans Laravel, vous devez ajouter une entrée cron sur le serveur et ajouter le code "chemin du projet phppath/planification artisanale:exécuter..." le fichier racine .

Les tâches planifiées de Laravel doivent-elles utiliser cron ?

L'environnement d'exploitation de cet article : système linux7.3, Laravel version 5.4, ordinateur Dell G3.

Avez-vous besoin d'utiliser cron pour les tâches planifiées de Laravel ?

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.

Maintenant, nous avons le tableau de données suivant :

Les tâches planifiées de Laravel doivent-elles utiliser cron ?

Je veux que la valeur du champ cron dans la table cron augmente de 1 chaque minute, alors j'ai 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();
 }
Copier après la connexion

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

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

Entrez

crontab -e
Copier après la connexion

sur la ligne de commande et ajoutez le code suivant

* * * * * /usr/local/php/bin/php /data/wwwroot/test/artisan schedule:run 1>> /dev/null 2>&1
Copier après la connexion

Entrez

crontab -u root -l
Copier après la connexion
sur la ligne de commande

Les tâches planifiées de Laravel doivent-elles utiliser cron ?

Il n'est pas nécessaire de redémarrer le service cron, car le système lira les fichiers dans le /var /spool/cron toutes les minutes.

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

Vérifiez si la commande utilise un chemin absolu. Par exemple, utilisez /usr/local/php/. bin/php au lieu de php ici, utilisez /data /wwwroot/test/artisan au lieu de artisan.

Si le chemin absolu n'est toujours pas exécuté, saisissez directement /usr/local/php/bin/php /data/wwwroot/test/artisan planning:run 1>> /dev/null 2> , 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 qu'il s'agit d'un problème de variable d'environnement. Si vous ne savez pas où se trouve php, entrez quel php sur la ligne de commande, vous serez invité à indiquer où php est installé.

【Recommandation associée : tutoriel vidéo 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:php.cn
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