Comment implémenter des tâches planifiées à l'aide de Laravel

不言
Libérer: 2023-04-01 06:26:02
original
1530 Les gens l'ont consulté

Cet article présente principalement l'exemple de code pour implémenter les tâches planifiées dans Laravel. L'éditeur pense que c'est assez bon, je vais donc le partager avec vous maintenant et le donner comme référence. Suivons l'éditeur et jetons un coup d'œil

Introduction

Les tâches planifiées sont une exigence très courante dans le processus de développement back-end, apparaissant souvent dans les statistiques de données et les informations de spam Dans des scènes telles que le nettoyage. Laravel fournit un ensemble complet d'outils de tâches planifiées, de sorte que nous devons uniquement nous concentrer sur la réalisation de la logique, et il s'occupera du reste du travail de base.

Utilisation de base

Générer la commande

php artisan make:command AreYouOK
Copier après la connexion

5.2 et les versions précédentes, cette commande est `php artisan make:console xxx`

Modifier la commande

Modifier le fichier `app/Console/Commands/AreYouOK.php`, Modifiez les éléments suivants :

... ...
protected $signature = 'areyou:ok'; // 命令名称
protected $description = '雷军,科技圈最会唱歌的男人'; // 命令描述,没什么用

public function __construct()
{
  parent::__construct();
  // 初始化代码写到这里,也没什么用
}
public function handle()
{
  // 功能代码写到这里
}
Copier après la connexion

Commande d'enregistrement

Modifier le fichier `app/Console/Kernel.php` , enregistrez la classe nouvellement générée :

protected $commands = [
  \App\Console\Commands\AreYouOK::class,
];
Copier après la connexion

Écrivez la logique d'appel :

protected function schedule(Schedule $schedule)
{
  $schedule->command('areyou:ok')
       ->timezone('Asia/Shanghai')
       ->everyMinute();
}
Copier après la connexion

La logique ci-dessus est appelée une fois par minute. Laravel fournit des fonctions temporelles de différentes durées allant d'une minute à un an, qui peuvent être appelées directement.

Enregistrez ce projet Laravel dans le cron du système

Modifiez le fichier `/etc/crontab` et ajoutez le code suivant :

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

`/var/www/xxxlaravel` dans la ligne ci-dessus doit être remplacé par le chemin réel.

fire

Redémarrez cron pour activer cette fonction : `systemctl restart crond.service`, c'est fait !

Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !

Recommandations associées :

Analyse des opérations CURD et des opérations cohérentes dans la base de données du framework 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