laravel

Laravel Scheduler bemutató

Laravel Scheduler bemutató
Bizonyos feladatokat rendszeresen kell végrehajtani minden alkalmazásban, és hatékonyabb lenne, ha a feladatokat automatikusan elvégezhetnék. A Laravel keretrendszer megkönnyíti az ilyen típusú feladatokat a Laravel Scheduler használatával. Ajánlatokkal kapcsolatos tömeges e-mailek küldése, adatok optimalizálása, jelentések készítése, az alkalmazás biztonsági mentésének megőrzése és az inaktív felhasználók eltávolítása néhány gyakori példa a Laravel Schedulerrel elvégezhető ismétlődő feladatokra. A Laravel bizonyos feladatokat rendszeresen végrehajthat egy beépített feladatkezelő használatával Kukorica munka. A konfigurációs fájl neve Corntab által használt Kukorica az ütemezési feladatok kezelésére. Ez az oktatóanyag bemutatja, hogyan lehet az ismétlődő feladatokat létrehozással kezelni Kukorica munkák és a feladatütemezés végrehajtása.

Előfeltételek

Az oktatóanyag megkezdése előtt hajtsa végre a következő feladatokat:

  1. Hozzon létre egy új Laravel-projektet
  2. Állítsa be az adatbázis-kapcsolatot
  3. Futtassa a migrate parancsot, hozzon létre egy felhasználói táblát
  4. Állítsa be az e-mail küldés konfigurációját (itt SMTP-t használ az e-mailek küldéséhez.)

Végezze el az alapértelmezett hitelesítést

Először hajtsa végre a Laravel alapértelmezett felhasználói hitelesítési rendszerét az ebben az oktatóanyagban bemutatott ütemezési feladat elvégzéséhez. Futtassa a következő parancsokat a terminálról az alapértelmezett Laravel hitelesítés megvalósításához a Vue használatával.

$ zeneszerző igényel laravel / ui
$ php kézműves ui vue -auth

Futtassa a következő parancsot a friss állványok fordításához a frissített tartalom megszerzéséhez.

$ npm install && npm run dev

Futtassa a következő parancsot az útvonal gyorsítótárának törléséhez.

$ php kézműves útvonal: tiszta

Futtassa a következő parancsot a Laravel fejlesztőkiszolgáló elindításához, és ellenőrizze, hogy az alapértelmezett felhasználói hitelesítési rendszer működik-e.

$ php kézműves szolgál

Nyisson meg bármelyik böngészőt, és futtassa a következő URL-t a böngészőben. Ha a Belépés és Regisztráció link megjelenik és megfelelően működik, akkor az alapértelmezett hitelesítés megvalósítása megfelelően befejeződött.

http: // localhost: 8000

Hozzon létre egy postázható osztályt és kézműves parancsot

Sok új felhasználó naponta hoz létre fiókot, és számos feladatot hajt végre a regisztrált felhasználókkal kapcsolatban, amikor a projekt online. Néha az alkalmazásnak tudnia kell, hogy hány felhasználó hozott létre fiókot naponta. Ha ezekre az információkra rendszeresen szükség van, akkor jobb, ha egy adott lekérdezést rendszeres időközönként hajtunk végre. Itt egy Laravel parancsot használnak az aktuálisan regisztrált felhasználók információinak megszerzéséhez, és egy postázható osztályt használ az információk e-mailben történő elküldéséhez az adminisztrátornak vagy egy meghatározott személynek.

Futtassa a következő parancsot az e-mail küldéséhez szükséges levelezõ osztály létrehozásához. Létrehoz egy nevű fájlt SendUsersList.php a helyszínen app / Mail.

$ php kézműves gyártmány: mail SendUsersList

Nyissa meg a fájlt, és módosítsa a tartalmat, a következő kód szerint.

névtér App \ Mail;
használja az Illuminate \ Bus \ Queueable;
használja az Illuminate \ Contracts \ Queue \ ShouldQueue parancsot;
használja az Illuminate \ Mail \ Mailable;
használja az Illuminate \ Queue \ SerializesModels alkalmazást;
A SendUsersList osztály kiterjeszti a Mailable-t

használja a Queueable, SerializesModels alkalmazást;
Tömbváltozó deklarálása * /
public $ userList = tömb ();
/ **
* Hozzon létre egy új üzenetpéldányt.
*
* @return érvénytelen
* /
nyilvános funkció __construct ($ userList)

/ * Inicializálja a tömb változót a
osztály objektum létrehozása. * /
$ this-> userList = $ userList;

/ **
* Készítsd el az üzenetet.
*
* @return $ ezt
* /
nyilvános funkció kiépítése ()

/ * Diavetítse a nézetfájlt a tömb változó értékeivel * /
return $ this-> view ('registerList') -> with ('userList', $ this-> userList);

Futtassa a következő parancsot az egyedi Laravel nevű parancs létrehozásához RegisterUsersList, amely végrehajtja a lekérdezést, hogy minden nap megkapja a regisztrált felhasználói információk listáját. A parancs létrehoz egy nevű fájlt RegisterUsersList.php a helyszínen alkalmazás / parancsok.

$ php kézműves make: parancs RegisterUsersList --command = regisztrált: felhasználók

Nyissa meg a fájlt, és módosítsa a tartalmat az alábbi kóddal, hogy az aktuális rendszer jelenleg regisztrált felhasználói listáját egy adott e-mail címre küldje el.

névtér App \ Console \ Parancsok;
használja az Illuminate \ Console \ Command parancsot;
/ * Importálja a szükséges csomagokat * /
használja a Mail-t;
használja az App \ Mail \ SendUsersList;
használja a DB-t;
használja Carbon \ Carbon;
használja az App \ Console \ Commands \ DateTime parancsot;
class RegisterUsersList kiterjeszti a Parancsot

/ **
* A konzolparancs neve és aláírása.
*
* @var karakterlánc
* /
/ * Aláírásérték hozzáadása * /
védett $ aláírás = 'regisztrált: felhasználók';
/ **
* A konzol parancs leírása.
*
* @var karakterlánc
* /
protected $ description = 'Regisztrált felhasználók listája';
/ **
* Hozzon létre egy új parancspéldányt.
*
* @return érvénytelen
* /
nyilvános funkció __construct ()

szülő :: __ konstrukció ();

/ **
* Hajtsa végre a konzol parancsot.
*
* @return int
* /
nyilvános funkció fogantyú ()

/ * Olvassa el az aktuális rendszer dátumát * /
$ today = Carbon :: now () -> toDateString ();
/ * Szerezd meg a regisztrált felhasználói információk listáját
az aktuális rendszer dátumában * /
$ current_registered_users =
DB :: table ('users') -> whereDate ('created_at', $ today) -> get () -> toArray ();
/ * Hozza létre a postázható osztály objektumát a tömb változóval
amely tartalmazza a jelenleg regisztrált felhasználók listáját * ​​/
$ email = new SendUsersList ($ current_registered_users);
/ * E-mail küldése a Mail osztály használatával * /
Mail :: to ('fogadó e-mail cím') -> send ($ email);

Állítsa be az ütemezést a parancs végrehajtásához

Nyissa meg a Kernel.php fájlt a helyről alkalmazás / konzol és módosítsa a tartalmat a következő kóddal. Különböző típusú ütemezési gyakorisági beállításokat állíthat be. A listát erről a linkről szerezheti be. Itt az óránkénti menetrendet alkalmazzák.

névtér App \ Console;
használja az Illuminate \ Console \ Scheduling \ Schedule parancsot;
használja az Illuminate \ Foundation \ Console \ Kernelt ConsoleKernel néven;
osztályú Kernel kiterjeszti a ConsoleKernelt

/ **
* Az alkalmazás által biztosított kézműves parancsok.
*
* @var tömb
* /
/ * Intializálja a $ commands változót * /
védett $ parancsok = [
'App \ Console \ Commands \ RegisterUsersList',
];
/ **
* Adja meg az alkalmazás parancsütemezését.
*
* @param \ Illuminate \ Console \ Scheduling \ Schedule $ ütemezés
* @return érvénytelen
* /
védett funkció ütemezés ($ ütemezés ütemezése)

/ * Óránkénti ütemezés beállítása * /
$ ütemezés-> parancs ('regisztrált: felhasználók') -> óránként ();

/ **
* Regisztrálja az alkalmazás parancsait.
*
* @return érvénytelen
* /
védett funkcióparancsok ()

$ this-> load (__ DIR__.'/ Parancsok');
igényel base_path ('útvonalak / konzol.php ');

Nézet létrehozása

Hozza létre a registerList.penge.php fájl megtekintése a következő kóddal.


@if (count ($ userList)> 0)

A ma regisztrált felhasználók listája az alábbiakban található:


@foreach ($ userList mint $ user)
$ felhasználó-> név

@endforeach
@más
Ma még nem regisztráltak felhasználókat.
@endif

Futtassa a parancsot:

Futtassa a következő parancsokat a gyorsítótár törléséhez.

$ php kézműves gyorsítótár: tiszta
$ php kézműves config: cache

Futtassa a következő kézműves parancsot a terminálról a korábban létrehozott egyedi parancs végrehajtásához és a kimenet ellenőrzéséhez.

$ php kézműves regisztrált: felhasználók

Ellenőrizze a vevő e-mail címét, hogy megtudja a kimenetet. A következő kimenet jelenik meg, ha nem jön létre felhasználó.

Hozzon létre egy új felhasználói fiókot, és ellenőrizze újra az e-mailt.

Következtetés

A Laravel Scheduler megkönnyíti az ismétlődő feladatok végrehajtását az alkalmazás számára. Az oktatóanyag elolvasása után az olvasóknak most már egyértelműen meg kell érteniük az egyéni parancsok létrehozásának és az automatizált feladatok végrehajtásának Laravel Scheduler használatával kapcsolatos fogalmait.

A legjobb játékkonzol emulátorok Linuxhoz
Ez a cikk felsorolja a Linux számára elérhető népszerű játékkonzol-emulációs szoftvereket. Az emuláció egy szoftver-kompatibilitási réteg, amely játék...
A legjobb Linux-disztribútorok játékhoz 2021-ben
A Linux operációs rendszer hosszú utat tett meg eredeti, egyszerű, szerver alapú kinézetétől. Ez az operációs rendszer rendkívül javult az elmúlt évek...
Hogyan lehet rögzíteni és streamelni a játékmenetét Linuxon
Korábban a játékokat csak hobbinak tekintették, de az idő múlásával a játékipar hatalmas növekedést ért el a technológia és a játékosok száma szempont...