laravel

Tutoriel sur le planificateur Laravel

Tutoriel sur le planificateur Laravel
Certaines tâches doivent être effectuées régulièrement dans n'importe quelle application, et il serait plus efficace si les tâches pouvaient être effectuées automatiquement. Le framework Laravel facilite ces types de tâches en utilisant Laravel Scheduler. L'envoi d'e-mails en masse liés à l'offre, l'optimisation des données, la génération de rapports, la sauvegarde de l'application et la suppression des utilisateurs inactifs sont quelques exemples courants de tâches répétitives pouvant être effectuées avec le Laravel Scheduler. Laravel peut exécuter périodiquement des tâches spécifiques en utilisant un gestionnaire de tâches intégré nommé Maïs travail. Le fichier de configuration nommé Maïs est utilisé par Maïs pour gérer les tâches de planification. Ce tutoriel vous montre comment gérer des tâches répétitives en créant Maïs tâches et exécution de la planification des tâches.

Conditions préalables

Avant de commencer ce didacticiel, commencez par effectuer les tâches suivantes :

  1. Créer un nouveau projet Laravel
  2. Configurer la connexion à la base de données
  3. Exécutez la commande migrate créer une table utilisateur
  4. Configurez la configuration pour l'envoi d'e-mails (SMTP est utilisé ici pour l'envoi d'e-mails.)

Implémenter l'authentification par défaut

Tout d'abord, implémentez le système d'authentification utilisateur par défaut de Laravel pour terminer la tâche de planification illustrée dans ce didacticiel. Exécutez les commandes suivantes à partir du terminal pour implémenter l'authentification Laravel par défaut à l'aide de Vue.

$ compositeur nécessite laravel/ui
$ php artisan ui vue -auth

Exécutez la commande suivante pour compiler le nouvel échafaudage afin d'obtenir le contenu mis à jour.

$ npm installer && npm exécuter dev

Exécutez la commande suivante pour effacer le cache de la route.

$ php artisan route:clear

Exécutez la commande suivante pour démarrer le serveur de développement Laravel et vérifiez si le système d'authentification utilisateur par défaut fonctionne.

$ php service artisanal

Ouvrez n'importe quel navigateur et exécutez l'URL suivante dans le navigateur. Si la connexion et S'inscrire lien apparaît et fonctionne correctement, alors la mise en œuvre de l'authentification par défaut s'est terminée correctement.

http://localhost:8000

Créer une classe pouvant être envoyée et une commande Artisan

De nombreux nouveaux utilisateurs créeront des comptes quotidiennement et effectueront de nombreuses tâches liées aux utilisateurs enregistrés lorsque le projet sera en ligne. Parfois, l'application a besoin de savoir combien d'utilisateurs ont créé des comptes chaque jour. Si cette information est requise régulièrement, il est préférable d'exécuter une requête particulière après un intervalle régulier. Une commande Laravel est utilisée ici pour obtenir les informations des utilisateurs actuellement enregistrés et une classe mailable est utilisée pour envoyer ces informations par e-mail à l'administrateur ou à une personne spécifiée.

Exécutez la commande suivante pour créer la classe mailable pour l'envoi de l'e-mail. Il va créer un fichier nommé Envoyer la liste des utilisateurs.php dans l'emplacement application/courrier.

$ php artisan make:mail SendUsersList

Ouvrez le fichier et modifiez le contenu, comme dans le code suivant.

espace de noms App\Mail ;
utilisez Illuminate\Bus\Queueable ;
utilisez Illuminate\Contracts\Queue\ShouldQueue ;
utilisez Illuminate\Mail\Mailable ;
utilisez Illuminate\Queue\SerializesModels ;
la classe SendUsersList étend Mailable

utiliser Queueable, SerializesModels;
/* Déclarer une variable tableau */
public $userList= array();
/**
* Créer une nouvelle instance de message.
*
* @retour nul
*/
fonction publique __construct($userList)

/* Initialise la variable tableau par la variable passée par le
création d'objet de la classe. */
$this->userList = $userList;

/**
* Construire le message.
*
* @return $this
*/
fonction publique build()

/* Affiche le fichier de vue avec les valeurs de la variable tableau */
return $this->view('registeredList')->with('userList',$this->userList);

Exécutez la commande suivante pour créer la commande Laravel personnalisée nommée Enregistrer la liste des utilisateurs, qui exécutera la requête pour obtenir la liste des informations des utilisateurs enregistrés chaque jour. La commande créera un fichier nommé Enregistrer la liste des utilisateurs.php dans l'emplacement application/commandes.

$ php artisan make:command RegisterUsersList --command=registered:users

Ouvrez le fichier et modifiez le contenu avec le code suivant pour envoyer la liste des utilisateurs actuellement enregistrés du système actuel à une adresse e-mail particulière.

espace de noms App\Console\Commands ;
utilisez Illuminate\Console\Command ;
/* Importer les packages nécessaires */
utiliser la messagerie ;
utilisez App\Mail\SendUsersList ;
utiliser la base de données ;
utiliser Carbone\Carbone ;
utilisez App\Console\Commands\DateTime ;
la classe RegisterUsersList étend la commande

/**
* Le nom et la signature de la commande console.
*
* @var chaîne
*/
/* Ajouter une valeur de signature */
protected $signature = 'registered:users';
/**
* La description de la commande de la console.
*
* @var chaîne
*/
protected $description = 'Liste des utilisateurs enregistrés';
/**
* Créer une nouvelle instance de commande.
*
* @retour nul
*/
fonction publique __construct()

parent::__construct();

/**
* Exécuter la commande console.
*
* @return int
*/
poignée de fonction publique()

/* Lire la date système actuelle */
$aujourd'hui =Carbon::now()->toDateString();
/* Obtenir la liste des informations des utilisateurs qui sont enregistrés
dans la date système actuelle */
$current_registered_users =
DB::table('users')->whereDate('created_at', $today)->get()->toArray();
/* Crée l'objet de la classe mailable avec la variable tableau
qui contient la liste des utilisateurs actuellement enregistrés */
$email = new SendUsersList($current_registered_users);
/* Envoyer un e-mail en utilisant la classe Mail */
Mail::to('receiver email address')->send($email);

Configurer la planification pour exécuter la commande

Ouvrez le Noyau.php fichier de l'emplacement application/console et modifiez le contenu avec le code suivant. Vous pouvez définir différents types d'options de fréquence de programmation. Vous pouvez obtenir la liste à partir de ce lien. Ici, l'horaire horaire est utilisé.

espace de noms App\Console ;
utilisez Illuminate\Console\Scheduling\Schedule ;
utilisez Illuminate\Foundation\Console\Kernel comme ConsoleKernel ;
la classe Kernel étend ConsoleKernel

/**
* Les commandes Artisan fournies par votre application.
*
* @var tableau
*/
/* Initialise la variable $commandes */
commandes $ protégées = [
'App\Console\Commandes\RegisterUsersList',
] ;
/**
* Définir le planning de commandes de l'application.
*
* @param \Illuminate\Console\Scheduling\Schedule $schedule
* @retour nul
*/
calendrier de fonction protégé (Schedule $schedule)

/* Définir l'horaire horaire */
$schedule->command('registered:users')->hourly();

/**
* Enregistrez les commandes pour l'application.
*
* @retour nul
*/
commandes de fonction protégées()

$this->load(__DIR__.'/Commandes');
require base_path('routes/console.php');

Créer une vue

Créer le liste enregistrée.lame.php voir le fichier avec le code suivant.


@if (count($userList) > 0)

La liste des utilisateurs enregistrés aujourd'hui est donnée ci-dessous :


@foreach($userList en tant que $user)
$utilisateur->nom

@endforeach
@autre
Aucun utilisateur n'est encore enregistré aujourd'hui.
@fin si

Exécutez la commande :

Exécutez les commandes suivantes pour vider le cache.

$ php artisan cache:effacer
$ php artisan config:cache

Exécutez la commande artisanale suivante à partir du terminal pour exécuter la commande personnalisée précédemment créée et vérifier la sortie.

$ php artisan enregistré:utilisateurs

Vérifiez l'adresse e-mail du destinataire pour connaître le résultat. La sortie suivante apparaîtra si aucun utilisateur n'est créé.

Créez un nouveau compte utilisateur et vérifiez à nouveau l'e-mail.

Conclusion

Le Laravel Scheduler facilite l'exécution des tâches répétitives pour l'application. Après avoir lu ce didacticiel, les lecteurs devraient maintenant avoir une compréhension claire des concepts de création de commandes personnalisées et de mise en œuvre de tâches automatisées à l'aide de Laravel Scheduler.

Comment installer League Of Legends sur Ubuntu 14.04
Si vous êtes fan de League of Legends, alors c'est l'occasion pour vous de tester League of Legends. Notez que LOL est pris en charge sur PlayOnLinux ...
Installez le dernier jeu de stratégie OpenRA sur Ubuntu Linux
OpenRA est un moteur de jeu de stratégie en temps réel libre/gratuit qui recrée les premiers jeux Westwood comme le classique Command & Conquer: Red A...
Installez le dernier émulateur Dolphin pour Gamecube et Wii sur Linux
L'émulateur Dolphin vous permet de jouer aux jeux Gamecube et Wii de votre choix sur des ordinateurs personnels Linux (PC). Étant un émulateur de jeu...