{"id":27549,"date":"2021-05-11T17:00:00","date_gmt":"2021-05-11T14:00:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=27549"},"modified":"2021-10-17T17:15:02","modified_gmt":"2021-10-17T14:15:02","slug":"uso-de-cron-schedule-en-laravel-para-automatizar-tareas","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/es\/uso-de-cron-schedule-en-laravel-para-automatizar-tareas\/","title":{"rendered":"Uso de Cron Schedule en Laravel para automatizar tareas"},"content":{"rendered":"<p>Cron job es \u00fatil para automatizar nuestra tarea en el momento especificado en intervalos regulares. Laravel incluye una funci\u00f3n para la programaci\u00f3n de tareas que hace que la programaci\u00f3n cron sea muy f\u00e1cil. En el pasado, necesit\u00e1bamos agregar una entrada separada para cada trabajo cron. En Laravel, solo necesitamos agregar un comando y ejecuta todos nuestros trabajos cron autom\u00e1ticamente. No es necesario agregar una entrada separada para cada tarea. En este art\u00edculo, estudiamos el uso del programa cron en Laravel que nos ayuda a automatizar nuestras tareas.<\/p>\n<h3>\u00bfPor qu\u00e9 necesitamos ejecutar Cron?<\/h3>\n<p>Hay varios ejemplos que podemos mencionar en los que necesitamos ejecutar un cron. Es posible que tenga una tienda en l\u00ednea y desee enviar ofertas promocionales a sus usuarios. O tiene un sitio web de membres\u00eda y necesita enviar el correo electr\u00f3nico de recordatorio a los usuarios sobre su per\u00edodo de renovaci\u00f3n de suscripci\u00f3n. Estos son los dos ejemplos en los que podemos usar cron. Lo que hacemos es escribir un programa que pueda realizar esta tarea y configurar un cron para ello. Su servidor buscar\u00e1 la hora especificada para cron y cuando llegue esa hora, ejecutar\u00e1 autom\u00e1ticamente el programa. No necesitamos mirar el reloj y ejecutar el programa manualmente.<\/p>\n<p>Este proceso nos facilita la vida. Podemos concentrarnos en nuestras otras cosas importantes e invertir tiempo en algo sabio.<\/p>\n<h3>Cron Schedule en Laravel<\/h3>\n<p>Para nuestro art\u00edculo, tomemos un ejemplo del mundo real. Digamos que tenemos un mont\u00f3n de usuarios en nuestra base de datos de Laravel. Cada medianoche debemos enviar un correo electr\u00f3nico a todos los usuarios describiendo nuestra nueva oferta promocional. Al hacerlo, nuestros usuarios reciben notificaciones sobre nuevas ofertas y sus ventas pueden recibir m\u00e1s atenci\u00f3n.<\/p>\n<p>Suponemos que almacen\u00f3 toda la informaci\u00f3n de su usuario en la tabla &#8216;usuarios&#8217;. Recibiremos los correos electr\u00f3nicos de los usuarios de esta tabla y les enviaremos un correo electr\u00f3nico. Por supuesto, necesitamos escribir un c\u00f3digo de manera que deba ejecutarse cada medianoche.<\/p>\n<p>Abra el <code>app\/Console\/Kernel.php<\/code>archivo en su editor y agregue el modelo de usuario y la fachada de correo al archivo.<\/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>La clase tiene un m\u00e9todo <code>schedule<\/code>en el que tenemos que escribir uno o varios horarios. Como necesitamos enviar un correo electr\u00f3nico a nuestros usuarios, escribimos el c\u00f3digo de la siguiente manera.<\/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>En el c\u00f3digo anterior, tomamos a los usuarios de la base de datos y les enviamos un correo electr\u00f3nico utilizando el m\u00e9todo de env\u00edo de la fachada Mail. Aqu\u00ed necesitamos crear <code>mail.blade.php<\/code>archivos en el <code>resources\/views\/emails<\/code>directorio.<\/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>Como nuestra tarea es enviar un correo electr\u00f3nico a la medianoche, usamos el <code>daily()<\/code>m\u00e9todo. Laravel proporciona diferentes opciones de frecuencia de programaci\u00f3n que obtendr\u00eda en la p\u00e1gina de <a href=\"https:\/\/laravel.com\/docs\/5.7\/scheduling#schedule-frequency-options\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">documentaci\u00f3n<\/a>.<\/p>\n<h3>Agregue una entrada cron a su servidor<\/h3>\n<p>Finalmente, para configurar este trabajo cron en un servidor, debe agregar la siguiente entrada cron a su servidor.<\/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>Aseg\u00farese de haber establecido correctamente la ruta de su proyecto. Este Cron llamar\u00e1 al programador de comandos de Laravel cada minuto. Ejecuta autom\u00e1ticamente el programa: ejecutar el comando y evaluar sus tareas programadas y ejecuta las tareas que deben realizarse.<\/p>\n<p>Esperamos que haya aprendido a usar la programaci\u00f3n cron en Laravel y a automatizar sus tareas. Nos gustar\u00eda conocer su opini\u00f3n en la secci\u00f3n de comentarios a continuaci\u00f3n.<\/p>\n<h4>Art\u00edculos relacionados<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/envio-de-correo-electronico-a-traves-del-servidor-smtp-de-gmail-en-laravel\/\" title=\"Env\u00edo de correo electr\u00f3nico a trav\u00e9s del servidor SMTP de Gmail en Laravel\">Env\u00edo de correo electr\u00f3nico a trav\u00e9s del servidor SMTP de Gmail en Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/como-usar-eventos-y-oyentes-de-laravel-en-su-aplicacion\/\" title=\"C\u00f3mo usar eventos y oyentes de Laravel en su aplicaci\u00f3n\">C\u00f3mo usar eventos y oyentes de Laravel en su aplicaci\u00f3n<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/como-usar-laravel-passport-para-la-autenticacion-de-api-rest\/\" title=\"C\u00f3mo usar Laravel Passport para la autenticaci\u00f3n de API REST\">C\u00f3mo usar Laravel Passport para la autenticaci\u00f3n de API REST<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fuente de grabaci\u00f3n:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>En este art\u00edculo, estudiamos sobre el uso del programa cron en Laravel para automatizar sus tareas. Los trabajos cron son \u00fatiles para automatizar el proceso, lo que nos ahorra mucho<\/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":[495],"tags":[849],"class_list":["post-27549","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts\/27549","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/comments?post=27549"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts\/27549\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media\/22224"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media?parent=27549"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/categories?post=27549"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/tags?post=27549"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}