laravel

Vodič za Laravel Scheduler

Vodič za Laravel Scheduler
Neke je zadatke potrebno redovito izvoditi u bilo kojoj aplikaciji, a bilo bi učinkovitije kada bi se zadaci mogli obavljati automatski. Okvir Laravel olakšava ove vrste zadataka pomoću Laravel Schedulera. Slanje skupnih e-adresa vezanih uz ponude, optimizacija podataka, generiranje izvješća, čuvanje sigurnosne kopije aplikacija i uklanjanje neaktivnih korisnika neki su od uobičajenih primjera ponavljajućih zadataka koji se mogu izvesti s Laravel Schedulerom. Laravel može povremeno izvršavati određene zadatke pomoću ugrađenog upravitelja zadataka pod nazivom Kukuruz posao. Datoteka s konfiguracijom nazvana Korntab koristi se Kukuruz za upravljanje zadacima raspoređivanja. Ovaj vam vodič pokazuje kako upravljati ponavljajućim zadacima stvaranjem Kukuruz poslova i izvršavanja rasporeda zadataka.

Preduvjeti

Prije početka ovog vodiča prvo izvršite sljedeće zadatke:

  1. Stvorite novi Laravel projekt
  2. Postavite vezu s bazom podataka
  3. Pokrenite naredbu migracija izradite korisničku tablicu
  4. Postavite konfiguraciju za slanje e-pošte (SMTP se ovdje koristi za slanje e-pošte.)

Provedite zadanu provjeru autentičnosti

Prvo implementirajte zadani sustav provjere autentičnosti korisnika Laravel da biste dovršili zadatak raspoređivanja prikazan u ovom vodiču. Izvršite sljedeće naredbe s terminala da biste implementirali zadanu autentifikaciju Laravel pomoću Vue.

$ composer zahtijeva laravel / ui
$ php obrtnik ui vue -auth

Pokrenite sljedeću naredbu za sastavljanje svježe skele da biste dobili ažurirani sadržaj.

$ npm instalacija && npm pokreni razv

Izvedite sljedeću naredbu da biste očistili predmemoriju rute.

$ php obrtnička ruta: čista

Pokrenite sljedeću naredbu za pokretanje razvojnog poslužitelja Laravel i provjerite radi li zadani sustav provjere autentičnosti korisnika.

$ php obrtničko posluživanje

Otvorite bilo koji preglednik i pokrenite sljedeći URL u pregledniku. Ako je prijaviti se i Registar Pojavljuje se i radi ispravno, tada je implementacija zadane provjere autentičnosti dovršena pravilno.

http: // localhost: 8000

Stvorite raspoloživu klasu i naredbu zanatlija

Mnogi će novi korisnici svakodnevno stvarati račune i izvršavat će mnoge zadatke povezane s registriranim korisnicima kad je projekt na mreži. Ponekad aplikacija mora znati koliko je korisnika stvorilo račune svaki dan. Ako su ove informacije potrebne redovito, onda je bolje izvršiti određeni upit nakon redovitog intervala. Naredba Laravel ovdje se koristi za dobivanje podataka trenutno registriranih korisnika, a dostupna klasa koristi se za slanje tih podataka e-poštom administratoru ili određenoj osobi.

Pokrenite sljedeću naredbu za stvaranje dostupne klase za slanje e-pošte. Stvorit će datoteku s imenom SendUsersList.php na mjestu aplikacija / pošta.

$ php artisan make: mail SendUsersList

Otvorite datoteku i izmijenite sadržaj, kao u sljedećem kodu.

prostor imena App \ Mail;
koristite Illuminate \ Bus \ Queueable;
koristite Illuminate \ Contracts \ Queue \ ShouldQueue;
koristite Illuminate \ Mail \ Mavable;
koristite Illuminate \ Queue \ SerializesModels;
klasa SendUsersList proširuje se na dostupno

koristiti Queueable, SerializesModels;
/ * Deklarirajte varijablu polja * /
javni $ userList = array ();
/ **
* Stvorite novu instancu poruke.
*
* @povratak prazan
* /
javna funkcija __construct ($ userList)

/ * Inicijalizirajte varijablu niza varijablom koju je proslijedio
stvaranje predmeta klase. * /
$ this-> userList = $ userList;

/ **
* Izgradite poruku.
*
* @vrati $ ovo
* /
build javne funkcije ()

/ * Dijagram prikaza datoteke s vrijednostima varijable polja * /
vrati $ this-> view ('registeredList') -> with ('userList', $ this-> userList);

Pokrenite sljedeću naredbu za stvaranje prilagođene Laravel naredbe s imenom RegisterUsersList, koja će izvršiti upit za dobivanje popisa podataka o registriranim korisnicima svakog dana. Naredba će stvoriti datoteku s imenom RegisterUsersList.php na mjestu aplikacija / naredbe.

$ php artisan make: naredba RegisterUsersList --command = registrirani: korisnici

Otvorite datoteku i izmijenite sadržaj sljedećim kodom da biste poslali popis trenutno registriranih korisnika trenutnog sustava na određenu e-adresu.

prostor imena App \ Console \ Commands;
upotrijebite Illuminate \ Console \ Command;
/ * Uvezite potrebne pakete * /
koristiti Mail;
koristite App \ Mail \ SendUsersList;
koristiti DB;
koristiti Carbon \ Carbon;
koristite App \ Console \ Commands \ DateTime;
klasa RegisterUsersList proširuje naredbu

/ **
* Ime i potpis naredbe konzole.
*
* @var niz
* /
/ * Dodaj vrijednost potpisa * /
zaštićen $ potpis = 'registrirani: korisnici';
/ **
* Opis naredbe konzole.
*
* @var niz
* /
protected $ description = 'Popis registriranih korisnika';
/ **
* Stvorite novu instancu naredbe.
*
* @povratak prazan
* /
javna funkcija __construct ()

nadređeni :: __ konstrukcija ();

/ **
* Izvršite naredbu konzole.
*
* @povrat int
* /
ručica javne funkcije ()

/ * Pročitajte trenutni datum sustava * /
$ danas = Carbon :: now () -> toDateString ();
/ * Dohvatite popis podataka o korisnicima koji su registrirani
u trenutnom datumu sustava * /
$ current_registered_users =
DB :: table ('korisnici') -> whereDate ('created_at', $ danas) -> get () -> toArray ();
/ * Stvorite objekt raspoložive klase s varijablom niza
koja sadrži trenutno registrirani popis korisnika * /
$ email = novi SendUsersList ($ current_registered_users);
/ * Pošaljite e-poštu pomoću klase Mail * /
Mail :: na ('adresa e-pošte primatelja') -> pošalji ($ email);

Postavite raspored za izvršavanje naredbe

Otvori Zrno.php datoteka s mjesta aplikacija / konzola i izmijenite sadržaj sljedećim kodom. Možete postaviti različite vrste opcija frekvencije rasporeda. Popis možete dobiti na ovoj poveznici. Ovdje se koristi satni raspored.

prostor imena App \ Console;
koristite Illuminate \ Console \ Scheduling \ Schedule;
koristite Illuminate \ Foundation \ Console \ Kernel kao ConsoleKernel;
klasa Kernel proširuje ConsoleKernel

/ **
* Naredbe Artisan koje pruža vaša aplikacija.
*
* @var niz
* /
/ * Incijalizirajte varijablu $ naredbe * /
zaštićene $ naredbe = [
'App \ Console \ Commands \ RegisterUsersList',
];
/ **
* Definirajte raspored naredbi aplikacije.
*
* @param \ Illuminate \ Console \ Scheduling \ Schedule $ schedule
* @povratak prazan
* /
zaštićeni raspored funkcija (raspored $ raspored)

/ * Podesite raspored po satima * /
$ raspored-> naredba ('registrirani: korisnici') -> satno ();

/ **
* Registrirajte naredbe za aplikaciju.
*
* @povratak prazan
* /
naredbe zaštićene funkcije ()

$ this-> load (__ DIR__.'/ Naredbe');
zahtijevaju base_path ('rute / konzola.php ');

Stvori pogled

Stvorite registriranaPopis.oštrica.php pogledajte datoteku sa sljedećim kodom.


@if (count ($ userList)> 0)

Popis danas registriranih korisnika dat je u nastavku:


@foreach ($ userList kao $ user)
$ $ user-> name

@endforeach
@drugo
Danas još nije registriran nijedan korisnik.
@završi ako

Pokrenite naredbu:

Izvedite sljedeće naredbe za brisanje predmemorije.

$ php zanatska predmemorija: obriši
$ php artisan config: predmemorija

Izvršite sljedeću zanatsku naredbu s terminala da biste izvršili prethodno stvorenu prilagođenu naredbu i provjerili izlaz.

Registrirani $ php artisan: korisnici

Provjerite e-adresu primatelja da biste saznali izlaz. Sljedeći će se izlaz pojaviti ako se ne stvori korisnik.

Izradite novi korisnički račun i ponovno provjerite e-poštu.

Zaključak

Planer Laravel olakšava izvođenje ponavljajućih zadataka za aplikaciju. Nakon čitanja ovog vodiča, čitatelji bi sada trebali jasno razumjeti koncepte stvaranja prilagođenih naredbi i implementacije automatiziranih zadataka pomoću Laravel Schedulera.

Kako prikazati brojač FPS-a u Linux igrama
Linux gaming dobio je velik poticaj kada je Valve najavio Linux podršku za Steam klijent i njihove igre 2012. godine. Od tada su mnoge AAA i indie igr...
Kako preuzeti i igrati Sid Meier's Civilization VI na Linuxu
Uvod u igru Civilization 6 moderan je pogled na klasični koncept predstavljen u seriji igara Age of Empires. Ideja je bila prilično jednostavna; započ...
Kako instalirati i igrati Doom na Linuxu
Uvod u Doom Serija Doom nastala je 90-ih nakon izlaska originalnog Dooma. To je bio trenutni hit i od tog vremena nadalje igraća serija dobila je broj...