{"id":27653,"date":"2021-05-11T17:19:00","date_gmt":"2021-05-11T14:19:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=27653"},"modified":"2021-10-17T05:03:26","modified_gmt":"2021-10-17T02:03:26","slug":"anvanda-cron-schema-i-laravel-for-att-automatisera-uppgifter","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/sv\/anvanda-cron-schema-i-laravel-for-att-automatisera-uppgifter\/","title":{"rendered":"Anv\u00e4nda Cron Schema i Laravel f\u00f6r att automatisera uppgifter"},"content":{"rendered":"<p>Cron-jobb \u00e4r anv\u00e4ndbart f\u00f6r att automatisera v\u00e5r uppgift vid den angivna tiden med j\u00e4mna mellanrum. Laravel levereras med en funktion f\u00f6r uppgiftsplanering vilket g\u00f6r cron schema super enkelt. Tidigare m\u00e5ste vi l\u00e4gga till en separat post f\u00f6r varje cron-jobb. I Laravel beh\u00f6ver vi bara l\u00e4gga till ett kommando och det k\u00f6r alla v\u00e5ra cron-jobb automatiskt. Det finns inget behov av att l\u00e4gga till en separat post f\u00f6r varje uppgift. I den h\u00e4r artikeln studerar vi hur man anv\u00e4nder cron schema i Laravel som hj\u00e4lper oss att automatisera v\u00e5ra uppgifter.<\/p>\n<h3>Varf\u00f6r beh\u00f6ver vi k\u00f6ra kronan?<\/h3>\n<p>Det finns flera exempel vi kan n\u00e4mna d\u00e4r vi beh\u00f6ver k\u00f6ra en cron. Du kanske driver en webbutik och du vill skicka kampanjerbjudanden till dina anv\u00e4ndare. Eller s\u00e5 har du en medlemswebbplats och du m\u00e5ste skicka e-postmeddelandet till anv\u00e4ndarna om deras f\u00f6rnyelseprenumerationsperiod. Det h\u00e4r \u00e4r de tv\u00e5 exemplen d\u00e4r vi kan anv\u00e4nda Cron. Vad vi g\u00f6r \u00e4r att skriva ett program som kan utf\u00f6ra denna uppgift och st\u00e4lla in en cron f\u00f6r den. Servern kommer att leta efter den angivna tiden f\u00f6r cron och n\u00e4r den tiden tr\u00e4ffar k\u00f6r programmet automatiskt. Vi beh\u00f6ver inte titta p\u00e5 klockan och k\u00f6ra programmet manuellt.<\/p>\n<p>Denna process g\u00f6r v\u00e5rt liv enkelt. Vi kan fokusera p\u00e5 v\u00e5ra andra viktiga saker och investera tid i en klok sak.<\/p>\n<h3>Cron Schema i Laravel<\/h3>\n<p>F\u00f6r v\u00e5r artikel, l\u00e5t oss ta ett verkligt exempel. L\u00e5t oss s\u00e4ga att vi har en massa anv\u00e4ndare i v\u00e5r Laravel-databas. Varje midnatt m\u00e5ste vi skicka ett e-postmeddelande till alla anv\u00e4ndare som beskriver v\u00e5rt nya kampanjerbjudande. P\u00e5 s\u00e5 s\u00e4tt f\u00e5r v\u00e5ra anv\u00e4ndare meddelanden om nya erbjudanden och din f\u00f6rs\u00e4ljning kan f\u00e5 mer uppm\u00e4rksamhet.<\/p>\n<p>Vi antar att du har lagrat all din anv\u00e4ndares information i tabellen &#8217;anv\u00e4ndare&#8217;. Vi kommer att f\u00e5 anv\u00e4ndarens e-postmeddelanden fr\u00e5n den h\u00e4r tabellen och skicka dem ett e-postmeddelande. Naturligtvis m\u00e5ste vi skriva en kod p\u00e5 ett s\u00e4tt som ska k\u00f6ras varje midnatt.<\/p>\n<p>\u00d6ppna <code>app\/Console\/Kernel.php<\/code>filen i din redigerare och l\u00e4gg till anv\u00e4ndarmodellen och e-postfasaden i filen.<\/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>klass har en metod <code>schedule<\/code>d\u00e4r vi m\u00e5ste skriva en eller flera scheman. Eftersom vi beh\u00f6ver skicka ett e-postmeddelande till v\u00e5ra anv\u00e4ndare skriver vi koden enligt f\u00f6ljande.<\/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>I koden ovan tar vi anv\u00e4ndare fr\u00e5n databasen och skickar dem ett e-postmeddelande med hj\u00e4lp av s\u00e4ndningsmetoden f\u00f6r Mail-fasaden. H\u00e4r m\u00e5ste vi skapa <code>mail.blade.php<\/code>filer under <code>resources\/views\/emails<\/code>katalogen.<\/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>Eftersom v\u00e5r uppgift \u00e4r att skicka ett mejl vid midnatt anv\u00e4nde vi <code>daily()<\/code>metoden. Laravel erbjuder olika schemal\u00e4ggningsfrekvensalternativ som du skulle f\u00e5 p\u00e5 <a href=\"https:\/\/laravel.com\/docs\/5.7\/scheduling#schedule-frequency-options\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">dokumentationssidan<\/a>.<\/p>\n<h3>L\u00e4gg till Cron-post till din server<\/h3>\n<p>Slutligen, f\u00f6r att st\u00e4lla in detta cron-jobb p\u00e5 en server, b\u00f6r du l\u00e4gga till cron-posten nedan p\u00e5 din 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>Se till att du har st\u00e4llt in projektets v\u00e4g korrekt. Denna Cron kommer att ringa Laravel-kommandoschemal\u00e4ggaren varje minut. Det k\u00f6r automatiskt schema: k\u00f6r kommandot och utv\u00e4rdera dina schemalagda uppgifter och k\u00f6r de uppgifter som ska betalas.<\/p>\n<p>Vi hoppas att du kanske har l\u00e4rt dig att anv\u00e4nda cron schema i Laravel och automatisera dina uppgifter. Vi vill h\u00f6ra dina tankar i kommentarsektionen nedan.<\/p>\n<h4>relaterade artiklar<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/sv\/skicka-e-post-via-gmail-smtp-server-i-laravel\/\" title=\"Skicka e-post via Gmail SMTP-server i Laravel\">Skicka e-post via Gmail SMTP-server i Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/sv\/hur-du-anvander-laravel-evenemang-och-lyssnare-i-din-ansokan\/\" title=\"Hur du anv\u00e4nder Laravel-evenemang och lyssnare i din ans\u00f6kan\">Hur du anv\u00e4nder Laravel-evenemang och lyssnare i din ans\u00f6kan<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/sv\/hur-man-anvander-laravel-passport-for-rest-api-autentisering\/\" title=\"Hur man anv\u00e4nder Laravel Passport f\u00f6r REST API-autentisering\">Hur man anv\u00e4nder Laravel Passport f\u00f6r REST API-autentisering<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Inspelningsk\u00e4lla:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I den h\u00e4r artikeln studerar vi hur du anv\u00e4nder cron scedule i Laravel f\u00f6r att automatisera dina uppgifter. Cron-jobb \u00e4r anv\u00e4ndbara f\u00f6r att g\u00f6ra processen automatisk vilket sparar oss mycket<\/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":[503],"tags":[850],"class_list":["post-27653","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel2-10","tag-affiai-sv"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts\/27653","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/comments?post=27653"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts\/27653\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/media\/22224"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/media?parent=27653"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/categories?post=27653"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/tags?post=27653"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}