Acest pachet va permite sa va urmariti joburile laravel! Utilizand acest pachet, puteti persista cu usurinta iesirea si starea oricarei lucrari din aplicatia dvs.

  • 1. Instalare
  • 2. Utilizare
    • 2.1 Urmarirea lucrarilor
    • 2.2 Urmarirea lanturilor de locuri de munca
    • 2.3 Extinderea modelului TrackedJob
  • 3. Teste
  • 4. Contributie
  • 5. Jurnal de modificari
  • 6. Credite
  • 7. Licenta

Pentru a instala acest pachet, utilizati compozitor:

compozitorul necesita mateusjunges / laravel-trackable-jobs

Puteti publica fisierul de configurare cu aceasta comanda:

php artisan vendor: publish –tag = trackable-jobs-config

Rulati php artisan migrate pentru a migra tabelul necesar acestui pachet si acum sunteti bine sa mergeti!

Urmarirea locurilor de munca

Pentru a incepe urmarirea locurilor de munca, trebuie doar sa utilizati caracteristica Junges \ TrackableJobs \ Traits \ Trackable in lucrarea pe care doriti sa o urmariti. De exemplu, sa presupunem ca doriti sa urmariti starea ProcessPodcastJob, trebuie doar sa adaugati caracteristica de urmarire in jobul dvs.:

<? php namespace App \ Jobs; utilizati Iluminare \ Autobuz \ Queueable; utilizati Iluminati \ Contracte \ Coada \ Ar trebui sa faceti coada; utilizati Illuminate \ Foundation \ Bus \ Dispatchable; utilizati Iluminare \ Coada \ InteractsWithQueue; utilizati Ilumineaza \ Coada \ SerializeazaModele; utilizati Junges \ TrackableJobs \ Traits \ Trackable; clasa ProcessPodcastJob implementeaza ShouldQueue {use Dispatchable, InteractsWithQueue, Queue, SerializesModels, Trackable; handle functie publica () {//}}

Aceasta trasatura ofera 3 metode pentru munca ta: __construct, failed si middleware. De asemenea, adauga un model de proprietate publica la clasa de locuri de munca. Daca doriti sa inlocuiti oricare dintre metode, trebuie sa copiati si sa lipiti (deoarece nu puteti utiliza parintele pentru trasaturi) continutul fiecaruia din clasa dvs., astfel incat acest pachet sa functioneze in continuare conform intentiei.

De exemplu: daca trebuie sa schimbati constructorul locului dvs. de munca, puteti utiliza Junges \ TrackableJobs \ Traits \ Trackable si aliasul __construct cu un alt nume, de exemplu:

<? php namespace App \ Jobs; utilizati Iluminare \ Autobuz \ Queueable; utilizati Iluminati \ Contracte \ Coada \ Ar trebui sa faceti coada; utilizati Illuminate \ Foundation \ Bus \ Dispatchable; utilizati Iluminare \ Coada \ InteractsWithQueue; utilizati Ilumineaza \ Coada \ SerializeazaModele; utilizati Junges \ TrackableJobs \ Traits \ Trackable; utilizati App \ Models \ Podcast; utilizati Junges \ TrackableJobs \ Models \ TrackedJob; clasa ProcessPodcastJob implementeaza ShouldQueue {use Dispatchable, InteractsWithQueue, Queue, SerializesModels, Trackable {__construct as __baseConstruct; } functie publica __construct (Podcast $ podcast) {$ this-> baseContruct ($ podcast); // Adaugati codul aici. } handle functie publica () {//}}

Se poate face cu orice metoda pe care doriti sa o modificati.

Acest pachet va stoca ultima stare a lucrarii dvs.

videos porno casero españa fiestas porno
peliculas eroticas alemanas porno tv
miakalifa porni
maturehd amas de casa follando
se corre en el coño de su hija pornox
me gusta follar española follando
video sexo porno fiestas
amas de casa infieles incesto x
maduras masturbandose largeporntube
incesto subtitulado español tias corriendose
abuelas tragando leche todoporno
comic maduras pilladas desnudas
videos porno corridas internas madresxxx
fiestas porno maduras folladoras
mature.com maduras en la playa
porno gratis viejas mujer masturbandose
vecina mirona masturbaciones
videos actrices españolas desnudas p0rno
pajas caseras michelle jenner desnuda
se folla a su cuñada maduras sex

, care poate fi pusa in coada, pornita, esuata sau terminata. De asemenea, stocheaza marcajele de timp started_at si finished_at pentru fiecare lucrare urmarita.

Pentru ao utiliza, trebuie doar sa transmiteti orice model constructorului dvs. de joburi:

expediere (nou ProcessPodcastJob ($ podcast));

Odata ce aceasta trasatura este adaugata la jobul dvs., progresul jobului dvs. va fi pastrat in baza de date. Puteti configura numele tabelului publicand acest fisier de configurare a pachetului:

php artisan vendor: publish –tag = trackable-jobs-config

Aceasta comanda va crea un nou fisier de configurare in config / trackable-jobs.php, cu acest continut:

<? php return [/ * | Tabelul in care vor fi stocate lucrarile urmarite. | In mod implicit, se numeste „tracked_jobs”. * / ‘tables’ => [‘tracked_jobs’ => ‘tracked_jobs’,],];

Urmarirea lanturilor de locuri de munca

Laravel accepta inlantuirea de locuri de munca:

Bus :: dispatchChain ([noul OptimizePodcast ($ podcast), noul CompressPodcast ($ podcast), noul ReleasePodcast ($ podcast)]) -> dispatch ();

Este un mod frumos si fluent de a spune „Rulati aceste joburi secvential, una dupa ce cea anterioara este completa”.

Daca aveti o sarcina care necesita parcurgerea catorva pasi, puteti urmari lantul de locuri de munca folosit pentru a face acest lucru si puteti cunoaste starea fiecarui loc de munca. De exemplu, daca lansati un podcast nou si acesta trebuie sa fie optimizat, comprimat si lansat, puteti urmari acesti pasi adaugand o relatie de pasi la modelul dvs. de Podcast:

pasi de functie publica () {return $ this-> morphMany (Junges \ TrackableJobs \ Models \ TrackedJob :: class, ‘trackable’); }

Acum, puteti avea starea fiecarei lucrari care ar trebui procesata pentru a lansa podcast-ul:

$ steps = Podcast :: find ($ id) -> steps () -> get ();

Persistati rezultatul unui job

Pentru a persista iesirea jobului dvs. in baza de date, trebuie doar sa returnati ceva din job. In mod implicit, daca lucrarea dvs. lanseaza o exceptie, iesirea stocata in baza de date va fi mesajul exceptiei date. Daca lucrarea dvs. se termina cu succes, nu trebuie sa returnati nimic, dar puteti stoca rezultatul doar returnand ceva dupa terminarea lucrarii. De exemplu:

handle functie publica () {// Faceti lucrurile dvs. aici returneaza „Lucrarea s-a incheiat cu succes”; }

Sirul Job finalizat cu succes va fi stocat ca rezultat al acestui job.

Extinderea modelului TrackedJob.

Daca, dintr-un anumit motiv, trebuie sa utilizati propriul model personalizat in tabelul TrackedJob, puteti crea doar un model nou si extinde clasa Junges \ TrackableJobs \ Models \ TrackedJob ::. Apoi, trebuie sa legati Junges \ TrackableJobs \ Contracts \ TrackableJobContract la noul model, in AppServiceProvider:

<? php namespace App \ Providers; utilizati App \ Models \ YourCustomModel; utilizati Illuminate \ Support \ ServiceProvider; utilizati Junges \ TrackableJobs \ Contracts \ TrackableJobContract; clasa AppServiceProvider extinde ServiceProvider {/ ** * Inregistrati toate serviciile aplicatiei. * * @return void * / public function register () {$ this-> app-> bind (TrackableJobContract :: class, YourCustomModel :: class); } / ** * Bootstrap orice servicii de aplicatii. * * @return void * / boot functie publica () {//}}

Rulati testul compozitorului pentru a testa acest pachet.

Va multumim ca va ganditi sa contribuiti la pachetul Laravel Trackable Jobs! Ghidul de contributie poate fi gasit aici.

Va rugam sa consultati jurnalul de schimbari pentru mai multe informatii despre modificarile din acest pachet.

  • Toti colaboratorii

Locurile de munca laravel trackable sunt programe open-source licentiate in conditiile licentei MIT. Va rugam sa consultati fisierul de licenta pentru mai multe informatii.