{"id":24148,"date":"2021-05-11T17:21:00","date_gmt":"2021-05-11T14:21:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=24148"},"modified":"2021-10-18T03:16:37","modified_gmt":"2021-10-18T00:16:37","slug":"utilizzo-di-cron-schedule-in-laravel-per-automatizzare-le-attivita","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/it\/utilizzo-di-cron-schedule-in-laravel-per-automatizzare-le-attivita\/","title":{"rendered":"Utilizzo di Cron Schedule in Laravel per automatizzare le attivit\u00e0"},"content":{"rendered":"<p>Cron job \u00e8 utile per automatizzare la nostra attivit\u00e0 all&#8217;ora specificata a intervalli regolari. Laravel viene fornito con una funzione per la pianificazione delle attivit\u00e0 che rende la pianificazione di cron estremamente semplice. In passato, dovevamo aggiungere una voce separata per ogni cron job. In Laravel, dobbiamo solo aggiungere un comando ed esegue automaticamente tutti i nostri lavori cron. Non \u00e8 necessario aggiungere una voce separata per ogni attivit\u00e0. In questo articolo, studiamo l&#8217;utilizzo della pianificazione cron in Laravel che ci aiuta ad automatizzare le nostre attivit\u00e0.<\/p>\n<h3>Perch\u00e9 abbiamo bisogno di eseguire Cron?<\/h3>\n<p>Ci sono diversi esempi che possiamo menzionare in cui \u00e8 necessario eseguire un cron. Potresti gestire un negozio online e desideri inviare offerte promozionali ai tuoi utenti. Oppure hai un sito Web di abbonamento e devi inviare l&#8217;e-mail di promemoria agli utenti sul periodo di rinnovo dell&#8217;abbonamento. Questi sono i due esempi in cui possiamo usare il cron. Quello che facciamo \u00e8 scrivere un programma in grado di svolgere questo compito e impostare un cron per esso. Il tuo server cercher\u00e0 l&#8217;ora specificata per cron e quando arriva quella volta, eseguir\u00e0 automaticamente il programma. Non abbiamo bisogno di guardare l&#8217;orologio ed eseguire il programma manualmente.<\/p>\n<p>Questo processo rende la nostra vita facile. Possiamo concentrarci sulle nostre altre cose importanti e investire tempo in una cosa saggia.<\/p>\n<h3>Programma Cron a Laravel<\/h3>\n<p>Per il nostro articolo, prendiamo un esempio del mondo reale. Diciamo che abbiamo un gruppo di utenti nel nostro database Laravel. Ogni mezzanotte dobbiamo inviare un&#8217;e-mail a tutti gli utenti descrivendo la nostra nuova offerta promozionale. In questo modo, i nostri utenti ricevono una notifica sulle nuove offerte e le tue vendite possono ricevere maggiore attenzione.<\/p>\n<p>Supponiamo che tu abbia memorizzato tutte le informazioni dei tuoi utenti nella tabella &quot;utenti&quot;. Otterremo le email degli utenti da questa tabella e invieremo loro un&#8217;email. Ovviamente, dobbiamo scrivere un codice in modo che venga eseguito ogni mezzanotte.<\/p>\n<p>Apri il <code>app\/Console\/Kernel.php<\/code>file nel tuo editor e aggiungi il modello utente e la facciata della posta al file.<\/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 ha un metodo in <code>schedule<\/code>cui dobbiamo scrivere una o pi\u00f9 pianificazioni. Poich\u00e9 dobbiamo inviare un&#8217;e-mail ai nostri utenti, scriviamo il codice come segue.<\/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>Nel codice sopra, prendiamo gli utenti dal database e inviamo loro un&#8217;e-mail utilizzando il metodo di invio della facciata della posta. Qui dobbiamo creare un <code>mail.blade.php<\/code>file nella <code>resources\/views\/emails<\/code>directory.<\/p>\n<p><strong>mail.blade.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>Poich\u00e9 il nostro compito \u00e8 inviare un&#8217;e-mail a mezzanotte, abbiamo utilizzato il <code>daily()<\/code>metodo. Laravel fornisce diverse opzioni di frequenza di pianificazione che otterresti nella pagina della <a href=\"https:\/\/laravel.com\/docs\/5.7\/scheduling#schedule-frequency-options\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">documentazione<\/a>.<\/p>\n<h3>Aggiungi la voce Cron al tuo server<\/h3>\n<p>Infine, per impostare questo cron job su un server dovresti aggiungere sotto la voce cron al tuo server.<\/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>Assicurati di aver impostato correttamente il percorso del tuo progetto. Questo Cron chiamer\u00e0 l&#8217;utilit\u00e0 di pianificazione dei comandi di Laravel ogni minuto. Esegue automaticamente il comando schedule:run e valuta le attivit\u00e0 pianificate ed esegue le attivit\u00e0 dovute.<\/p>\n<p>Ci auguriamo che tu possa aver imparato a utilizzare la pianificazione cron in Laravel e automatizzare le tue attivit\u00e0. Ci piacerebbe sentire i tuoi pensieri nella sezione commenti qui sotto.<\/p>\n<h4>articoli Correlati<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/invio-di-e-mail-tramite-il-server-smtp-di-gmail-in-laravel\/\" title=\"Invio di e-mail tramite il server SMTP di Gmail in Laravel\">Invio di e-mail tramite il server SMTP di Gmail in Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/come-utilizzare-gli-eventi-e-gli-ascoltatori-di-laravel-nella-tua-applicazione\/\" title=\"Come utilizzare gli eventi e gli ascoltatori di Laravel nella tua applicazione\">Come utilizzare gli eventi e gli ascoltatori di Laravel nella tua applicazione<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/come-utilizzare-laravel-passport-per-l-autenticazione-api-rest\/\" title=\"Come utilizzare Laravel Passport per l&#039;autenticazione API REST\">Come utilizzare Laravel Passport per l&#8217;autenticazione API REST<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte di registrazione:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In questo articolo, studiamo l&#8217;uso di cron schedule in Laravel per automatizzare le tue attivit\u00e0. I lavori Cron sono utili per rendere automatico il processo che ci fa risparmiare molto<\/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":[500],"tags":[846],"class_list":["post-24148","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/24148","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/comments?post=24148"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/24148\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media\/22224"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media?parent=24148"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/categories?post=24148"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/tags?post=24148"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}