{"id":24047,"date":"2021-05-11T17:00:00","date_gmt":"2021-05-11T14:00:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=24047"},"modified":"2021-10-18T02:19:31","modified_gmt":"2021-10-17T23:19:31","slug":"utiliser-cron-schedule-dans-laravel-pour-automatiser-les-taches","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/fr\/utiliser-cron-schedule-dans-laravel-pour-automatiser-les-taches\/","title":{"rendered":"Utiliser Cron Schedule dans Laravel pour automatiser les t\u00e2ches"},"content":{"rendered":"<p>Cron job est utile pour automatiser notre t\u00e2che \u00e0 l&rsquo;heure sp\u00e9cifi\u00e9e \u00e0 intervalles r\u00e9guliers. Laravel est livr\u00e9 avec une fonctionnalit\u00e9 de planification des t\u00e2ches qui rend la planification cron tr\u00e8s facile. Auparavant, nous devions ajouter une entr\u00e9e distincte pour chaque t\u00e2che cron. Dans le Laravel, nous avons juste besoin d&rsquo;ajouter une commande et il ex\u00e9cute automatiquement toutes nos t\u00e2ches cron. Il n&rsquo;est pas n\u00e9cessaire d&rsquo;ajouter une entr\u00e9e distincte pour chaque t\u00e2che. Dans cet article, nous \u00e9tudions l&rsquo;utilisation du calendrier cron dans Laravel qui nous aide \u00e0 automatiser nos t\u00e2ches.<\/p>\n<h3>Pourquoi devons-nous ex\u00e9cuter Cron\u00a0?<\/h3>\n<p>Nous pouvons citer plusieurs exemples o\u00f9 nous devons ex\u00e9cuter un cron. Vous exploitez peut-\u00eatre une boutique en ligne et vous souhaitez envoyer des offres promotionnelles \u00e0 vos utilisateurs. Ou vous avez un site Web d&rsquo;adh\u00e9sion et vous devez envoyer l&rsquo;e-mail de rappel aux utilisateurs concernant leur p\u00e9riode de renouvellement d&rsquo;abonnement. Ce sont les deux exemples o\u00f9 nous pouvons utiliser le cron. Ce que nous faisons, c&rsquo;est \u00e9crire un programme qui peut effectuer cette t\u00e2che et d\u00e9finir un cron pour cela. Votre serveur recherchera l&rsquo;heure sp\u00e9cifi\u00e9e pour cron et lorsque cette heure arrivera, il ex\u00e9cutera automatiquement le programme. Nous n&rsquo;avons pas besoin de regarder l&rsquo;horloge et d&rsquo;ex\u00e9cuter le programme manuellement.<\/p>\n<p>Ce processus nous facilite la vie. Nous pouvons nous concentrer sur nos autres choses importantes et investir du temps dans une chose sage.<\/p>\n<h3>Horaire de Cron \u00e0 Laravel<\/h3>\n<p>Pour notre article, prenons un exemple concret. Disons que nous avons un tas d&rsquo;utilisateurs dans notre base de donn\u00e9es Laravel. Chaque minuit, nous devons envoyer un e-mail \u00e0 tous les utilisateurs d\u00e9crivant notre nouvelle offre promotionnelle. Ce faisant, nos utilisateurs sont inform\u00e9s des nouvelles offres et vos ventes peuvent attirer plus d&rsquo;attention.<\/p>\n<p>Nous supposons que vous avez stock\u00e9 toutes les informations de votre utilisateur dans le tableau \u00ab\u00a0utilisateurs\u00a0\u00bb. Nous obtiendrons les e-mails des utilisateurs de cette table et leur enverrons un e-mail. Bien s\u00fbr, nous devons \u00e9crire un code d&rsquo;une mani\u00e8re qui devrait s&rsquo;ex\u00e9cuter tous les minuit.<\/p>\n<p>Ouvrez le <code>app\/Console\/Kernel.php<\/code>fichier dans votre \u00e9diteur et ajoutez le mod\u00e8le utilisateur et la fa\u00e7ade Mail au fichier.<\/p>\n<pre><code>&lt;?php\n\u00a0\nnamespace AppConsole;\n\u00a0\nuse IlluminateConsoleSchedulingSchedule;\nuse IlluminateFoundationConsoleKernel as ConsoleKernel;\nuse AppUser; \/\/ User model\nuse Mail; \/\/ Mail Facade\n\u00a0\nclass Kernel extends ConsoleKernel\n{\n\u00a0\u00a0\u00a0\u00a0....<\/code><\/pre>\n<p><code>Kernal<\/code>class a une m\u00e9thode <code>schedule<\/code>o\u00f9 nous devons \u00e9crire un ou plusieurs horaires. Comme nous devons envoyer un e-mail \u00e0 nos utilisateurs, nous \u00e9crivons le code comme suit.<\/p>\n<pre><code>&lt;?php\n\u00a0\nnamespace AppConsole;\n\u00a0\nuse IlluminateConsoleSchedulingSchedule;\nuse IlluminateFoundationConsoleKernel as ConsoleKernel;\nuse AppUser;\nuse Mail;\n\u00a0\nclass Kernel extends ConsoleKernel\n{\n\u00a0\u00a0\u00a0\u00a0....\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\/**\n\u00a0\u00a0\u00a0\u00a0\u00a0* Define the application's command schedule.\n\u00a0\u00a0\u00a0\u00a0\u00a0*\n\u00a0\u00a0\u00a0\u00a0\u00a0* @param\u00a0 IlluminateConsoleSchedulingSchedule\u00a0 $schedule\n\u00a0\u00a0\u00a0\u00a0\u00a0* @return void\n\u00a0\u00a0\u00a0\u00a0\u00a0*\/\n\u00a0\u00a0\u00a0\u00a0protected function schedule(Schedule $schedule)\n\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$schedule-&gt;call(function() {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$arr_users = User::all();\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if(count($arr_users) &gt; 0) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0foreach ($arr_users as $user) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$name = $user-&gt;name;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$email = $user-&gt;email;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$data = array(\"name\" =&gt; $name, \"body\" =&gt; \"This is our new promotional offer\");\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Mail::send('emails.mail', $data, function($message) use ($name, $email) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$message-&gt;to($email, $name)\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;subject('New Offer Launched');\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$message-&gt;from('admin@artisansweb.net', 'Artisans Web');\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0});\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0})-&gt;daily();\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ tou can add more schedules here\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0....<\/code><\/pre>\n<p>Dans le code ci-dessus, nous prenons les utilisateurs de la base de donn\u00e9es et leur envoyons un e-mail en utilisant la m\u00e9thode send de la fa\u00e7ade Mail. Ici, nous devons cr\u00e9er un <code>mail.blade.php<\/code>fichier sous le <code>resources\/views\/emails<\/code>r\u00e9pertoire.<\/p>\n<p><strong>mail.lame.php<\/strong><\/p>\n<pre><code>Hi &lt;strong&gt;{{ $name }}&lt;\/strong&gt;,\n\u00a0\n&lt;p&gt;{{ $body }}&lt;\/p&gt;<\/code><\/pre>\n<p>Comme notre t\u00e2che est d&rsquo;envoyer un e-mail \u00e0 minuit, nous avons utilis\u00e9 la <code>daily()<\/code>m\u00e9thode. Laravel propose diff\u00e9rentes options de fr\u00e9quence de planification que vous obtiendrez sur la page de <a href=\"https:\/\/laravel.com\/docs\/5.7\/scheduling#schedule-frequency-options\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">documentation<\/a>.<\/p>\n<h3>Ajouter une entr\u00e9e Cron \u00e0 votre serveur<\/h3>\n<p>Enfin, pour d\u00e9finir cette t\u00e2che cron sur un serveur, vous devez ajouter l&rsquo;entr\u00e9e cron ci-dessous \u00e0 votre serveur.<\/p>\n<pre><code>* * * * * cd \/path-to-your-project &amp;&amp; php artisan schedule:run &gt;&gt; \/dev\/null 2&gt;&amp;1<\/code><\/pre>\n<p>Assurez-vous d&rsquo;avoir correctement d\u00e9fini le chemin de votre projet. Ce Cron appellera le planificateur de commandes Laravel toutes les minutes. Il ex\u00e9cute automatiquement la commande schedule:run et \u00e9value vos t\u00e2ches planifi\u00e9es et ex\u00e9cute les t\u00e2ches dues.<\/p>\n<p>Nous esp\u00e9rons que vous avez appris \u00e0 utiliser le calendrier cron dans Laravel et \u00e0 automatiser vos t\u00e2ches. Nous aimerions entendre vos pens\u00e9es dans la section des commentaires ci-dessous.<\/p>\n<h4>Articles Li\u00e9s<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/fr\/envoi-d-e-mails-via-le-serveur-smtp-de-gmail-dans-laravel\/\" title=\"Envoi d&#039;e-mails via le serveur SMTP de Gmail dans Laravel\">Envoi d&rsquo;e-mails via le serveur SMTP de Gmail dans Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fr\/comment-utiliser-les-evenements-et-les-ecouteurs-laravel-dans-votre-application\/\" title=\"Comment utiliser les \u00e9v\u00e9nements et les \u00e9couteurs Laravel dans votre application\">Comment utiliser les \u00e9v\u00e9nements et les \u00e9couteurs Laravel dans votre application<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fr\/comment-utiliser-laravel-passport-pour-l-authentification-api-rest\/\" title=\"Comment utiliser Laravel Passport pour l&#039;authentification API REST\">Comment utiliser Laravel Passport pour l&rsquo;authentification API REST<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Source d&rsquo;enregistrement:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dans cet article, nous \u00e9tudions l&rsquo;utilisation de cron scedule dans Laravel pour automatiser vos t\u00e2ches. Les t\u00e2ches cron sont utiles pour automatiser le processus, ce qui nous permet d&rsquo;\u00e9conomiser beaucoup de<\/p>\n","protected":false},"author":1,"featured_media":22224,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[497],"tags":[844],"class_list":["post-24047","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel2-4","tag-affiai-fr"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts\/24047","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/comments?post=24047"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts\/24047\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/media\/22224"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/media?parent=24047"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/categories?post=24047"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/tags?post=24047"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}