Základní příkazy Laravel Artisan pro lepší nasazení

Úvod Nasazení aplikace Laravel zahrnuje několik kroků, které zajistí její optimální fungování v produkčním prostředí. Nástroj Artisan pro příkazový řádek Laravel nabízí výkonné př...

Světlý režim slouží jen pro ukázku funkcionality. Proto používejte tmavou verzi webu.

28. 01. 2025

Základní příkazy Laravel Artisan pro lepší nasazení

Úvod

Nasazení aplikace Laravel zahrnuje několik kroků, které zajistí její optimální fungování v produkčním prostředí. Nástroj Artisan pro příkazový řádek Laravel nabízí výkonné příkazy, které tento proces zjednodušují. V tomto příspěvku na blogu prozkoumáme pět základních příkazů Artisan, které by měly být součástí každého pracovního postupu nasazení: optimize:clear, optimize, queue:restart, schedule:interrupta schedule:clear-cache.

1. Vymazání souborů v mezipaměti: php artisan optimize:clear

Na stránkách optimize:clear Příkaz je nezbytný pro odstranění všech dat z mezipaměti aplikace, včetně konfiguračních souborů, tras, zkompilovaných pohledů a dalších. Vymazání těchto souborů z mezipaměti během nasazení zajistí, že se vaše aplikace nebude spoléhat na zastaralá nebo neplatná data.

php artisan optimize:clear

Tento příkaz zajistí, že aplikace bude mít čistý štít, a sníží tak riziko chyb způsobených zastaralými nebo nesprávnými soubory mezipaměti.

2. Optimalizace aplikace: php artisan optimize

Na stránkách optimize slouží ke zlepšení výkonu aplikace pomocí ukládání důležitých souborů, jako jsou konfigurace, trasy a události, do mezipaměti. Tím se snižuje režie běhu a aplikace je v produkčním provozu rychlejší.

php artisan optimize

Spuštěním tohoto příkazu během nasazení zajistíte, že aplikace tyto soubory načte efektivně, čímž se minimalizuje doba spouštění a zlepší celkový výkon.

3. Restartování úloh ve frontě: php artisan queue:restart

Na stránkách queue:restart zajistí, aby pracovníci fronty aplikace po nasazení znovu načetli nejnovější verzi kódové základny. To je důležité zejména v případě, že jste provedli změny v kódu, který zpracovává úlohy.

php artisan queue:restart

Po spuštění tento příkaz elegantně zastaví všechny běžící pracovníky fronty a automaticky je restartuje. Důležité je, že se tak stane bez ztráty úloh, které jsou právě ve frontě.

4. Přerušení naplánovaných úloh: php artisan schedule:interrupt

Na stránkách schedule:interrupt slouží k bezpečnému přerušení dlouho běžících nebo probíhajících naplánovaných úloh iniciovaných plánovačem Laravel. To je užitečné zejména při nasazení, aby se zabránilo konfliktům nebo překrývání úloh.

php artisan schedule:interrupt

Spuštěním tohoto příkazu zajistíte, že všechny probíhající úlohy budou plynule zastaveny, což umožní pokračovat v procesu nasazení bez rizika rušení nebo duplikace úloh.

5. Vymazání mezipaměti naplánovaných úloh: php artisan schedule:clear-cache

Plánovač úloh v systému Laravel používá mutexy (zámky se vzájemným vyloučením), aby zabránil překrývání úloh, když se úlohy withoutOverlapping je použita metoda. Tyto mutexy zajišťují, že se úloha nespustí, pokud je předchozí instance úlohy stále spuštěna. Někdy však mohou tyto mutexy neočekávaně přetrvávat, což může blokovat spuštění úloh, i když by měly.

Na stránkách schedule:clear-cache příkaz tyto mutexy vymaže, čímž zajistí, že úlohy již nebudou blokovány neaktuálními zámky.

php artisan schedule:clear-cache

Tento příkaz je užitečný zejména během nasazení, kdy resetuje všechny přetrvávající mutexy, a umožňuje tak naplánovaným úlohám běžet podle očekávání bez zbytečných přerušení nebo konfliktů.

Závěr

Začlenění těchto pěti příkazů Artisan do pracovního postupu nasazení zajistí, že vaše aplikace Laravel bude ve výrobě fungovat hladce a efektivně. Zde je stručný přehled jejich účelů:

  1. optimize:clear: Odstraní všechny soubory z mezipaměti, čímž zabrání spoléhání se na zastaralá nebo neplatná data.
  2. optimize: Ukládá do mezipaměti konfiguraci, trasy a události pro zvýšení výkonu.
  3. queue:restart: Gracefully restarts queue workers to ensure they use the latest code.
  4. schedule:interrupt: Bezpečně zastaví probíhající naplánované úlohy, aby se zabránilo překrývání během nasazení.
  5. schedule:clear-cache: Vymaže zastaralé mutexy, aby se zajistil běh naplánovaných úloh bez zbytečného blokování.

Zařazením těchto příkazů do procesu nasazení můžete zvýšit spolehlivost, výkon a uživatelský komfort aplikace.

Původní článek publikoval Nabil Hassen.

Mohlo by vám pomoct

Praktické věci kolem webu

Než se pustíte do webu, hodí se mít jasno v podkladech, WordPressu, cookies a měření.

Google reference

Co říkají klienti

Ukázky skutečných recenzí, které klienti zanechali na mém Google profilu.

Přejít na recenze
★ ★ ★ ★ ★

„Člověk, který své práci a rozumí a ví co dělá. Velmi rychlá komunikace a profesionální přístup. Doporučuji.“

Jaroslav Kupča
Google
★ ★ ★ ★ ★

„Skvělá spolupráce, při dalších projektech určitě nebudu shánět někoho jiného.“

Roman Koňařík
Google
★ ★ ★ ★ ★

„S panem Vančurou jsem spolupracovala na tvorbě mých webových stránek a jsem maximálně spokojená. Oceňuji profesionální přístup, rychlou komunikaci a schopnost přesně pochopit moje představy. Web je moderní, přehledný, funkční a skvěle vypadá i na mobilu. Celý proces proběhl hladce, s jasným vysvětlením jednotlivých kroků a výborným výsledkem. Určitě doporučuji každému, kdo hledá spolehlivý a kvalitní přístup.“

Barbora Zemánková
Google
★ ★ ★ ★ ★

„Spolupráce při tvorbě konfigurátoru proběhla naprosto bez problémů. Oceňuji profesionální přístup, rychlou komunikaci a schopnost pochopit specifický projekt od A do Z. Konfigurátor je přehledný, funkční a přesně odpovídá mým požadavkům. Rozhodně doporučuji.“

mareksevcik_FPV
Google
★ ★ ★ ★ ★

„Velmi dobrá a rychlá spolupráce. Doporučuji!“

Leoš Kaucký
Google
★ ★ ★ ★ ★

„Přesně takto si představujeme profesionální práci. Dekujeme“

STAVILLI
Google
★ ★ ★ ★ ★

„Ať už se jedná o optimalizaci webu, nebo tvorbu na míru oceňuji kromě profesionální práce a znalostí problematiky také férový přístup a komunikaci.“

Aleš Illický
Google
★ ★ ★ ★ ★

„Děkuji za profesionální spolupráci, vše dle domluvy, naprostá spokojenost a mohu jen vřele doporučit.... Při dalších projektech určitě opět využiji Vašich služeb“

Peter Spilak
Google
★ ★ ★ ★ ★

„Profesionalita a velká ochota, nemohu jinak než doporučit“

Magdalena Vašková
Google
★ ★ ★ ★ ★

„Skvělá zkušenost při tvorbě webu, profesionální přístup, rychlost, ochota pomoci“

Jana Kono
Google
★ ★ ★ ★ ★

„Rychlá spolupráce a komunikace – mohu jen doporučit.“

Gawix
Google
★ ★ ★ ★ ★

„Moc mi pomohl, když jsem potřebovala pomoc s webem. A bylo to gratis :)). Jsem mu neskonale vděčná.“

Radka Arbesová
Google
★ ★ ★ ★ ★

„Děkuji Jiřímu za rychlou a kvalitní spolupráci na tvorbě webu. Srozumitelná a ochotná komunikace mě vždycky potěší a přináší důvěru.“

Jiří Mařík
Google
★ ★ ★ ★ ★

„Jsem maximálně spokojená. Rychlost, ochota a cenově dostupné. Děkuji“

Veronika Černá
Google
★ ★ ★ ★ ★

„Naprostá spokojenost. Rychlá komunikace, skvělá cena a odborná pomoc. Moc děkuji :)“

Patricie Kučerová
Google
★ ★ ★ ★ ★

„Velká spokojenost, rychlost a p. Vančura moc dobře ví co dělá. :)“

Ondřej Daniško
Google
★ ★ ★ ★ ★

„dobrá práce, rychlá odezva“

Zuzana Jírová
Google
★ ★ ★ ★ ★

„S programátory mám zkušeností hodně, ale tady musím opravdu pochválit. Pro mě a mé přátele vytvořil skvělý nástroj na evidenci sbírek a opravdu se to povedlo. Bylo to hotové rychle, kvalitně a za skvělou cenu. Komunikace funguje velmi rychle, což je super a ne úplně standard. Díky za super práci, za mě 100% spokojenost!“

Zdeněk
Google
★ ★ ★ ★ ★

„Vše bylo rychlé a hlavně to funguje. Dobrá práce.“

Lukáš Bartášek
Google
★ ★ ★ ★ ★

„Normálně recenze nepíši, ale zde rád doporučím kvalitní práci. Jiří pro mě vytvořil web pro dětské tábory. Kvalitní práce, rychlá komunikace a vlastní nápady, které Jiří sám přidá, jsou na velice vysoké úrovni. Nemohu hodnotit jinak než 5/5.“

Tomáš Loněk
Google
★ ★ ★ ★ ★

„Pan Jiri nam delal jiz 3 webove stranky a vzdy velka spokojenost, je mega rychly a vse hned kladne vyridi, mohu pouze doporucit. Poradi si bez problemu i s rezervacnimi kalendaremi, udrzbou socialnich siti, atd.“

Barbara Mašková
Google