Bir uygulamanın bazı parçaları web isteklerinin dışında çalışır: kuyruk işçileri, Horizon, Reverb websocket sunucusu, Laravel zamanlayıcısı. rdev bunları sunucuda sizin için çalıştırır, çalışır tutar ve panelde sunucu sayfanızda nasıl gittiklerini gösterir. Bunun için sunucuda rdev 0.2.0-beta.24 ya da sonrası gerekir.
Süreçler
Süreç, her zaman çalışıyor olması gereken bir komuttur; örneğin php artisan queue:work. rdev onu proje klasöründe başlatır, durursa yeniden başlatır ve birkaç kopya çalıştırabilir.
Panelde kenar çubuğundaki Sunucular'dan sunucuyu açın ve Süreçler kartında Süreç ekle'yi seçin. Bir tür seçin:
- Kuyruk işçisi:
php artisan queue:work --tries=3; - Horizon:
php artisan horizon(satırın menüsü Horizon panelini açar); - Reverb:
php artisan reverb:start; - Özel: herhangi bir dilde herhangi bir komut.
Sonra projeyi ve kaç kopya çalışacağını seçin. Tablo her süreci ve bütün kopyalarının çalışıp çalışmadığını gösterir. Bir satırdaki ⋯ menüsü süreci başlatır, durdurur ya da yeniden başlatır, komutunu ya da kopya sayısını değiştirmek için Ayarlar'ı açar ya da süreci kaldırır. Durdurduğunuz bir süreç siz yeniden başlatana kadar durur.
Sunucuda:
| Komut | Ne yapar |
|---|---|
rdev process add shop queue --command "php artisan queue:work" --count 2 |
İki kopyalı bir süreç ekler |
rdev process list |
Süreçleri ve kaç kopyanın çalıştığını listeler |
rdev process stop shop queue / start / restart |
Bütün kopyaları durdurur, başlatır ya da yeniden başlatır |
rdev process edit shop queue --count 4 |
Komutu ya da kopya sayısını değiştirir |
rdev process logs shop queue |
Her kopyanın çıktısının son satırlarını gösterir |
rdev process remove shop queue |
Durdurur ve kaldırır |
Yeni kodu yayınladıktan sonra kuyruk işçilerini ve Horizon'u yeniden başlatın ki yeni kodu yüklesinler: rdev process restart shop queue.
Zamanlanmış görevler
Zamanlanmış görev, cron gibi bir komutu belirli zamanlarda çalıştırır. Saatler sunucunun saatiyle UTC'dir. Aynı görevin önceki çalışması sürerken yenisi başlamaz.
Zamanlanmış görevler kartında Zamanlanmış görev ekle'yi seçin. Laravel zamanlayıcısı her dakika php artisan schedule:run ekler; bir Laravel uygulamasının ihtiyacı budur, zamanlamanın kendisi kodunuzda kalır. Özel herhangi bir komut ve zamanlama alır.
Bir zamanlamanın beş alanı vardır: dakika, saat, ayın günü, ay ve haftanın günü. Örneğin:
| Zamanlama | Çalışır |
|---|---|
* * * * * |
Her dakika |
*/15 * * * * |
15 dakikada bir |
0 3 * * * |
Her gün 03:00 UTC |
30 8 * * 1-5 |
Hafta içi her gün 08:30 UTC |
@hourly, @daily, @weekly |
Her saatin, günün ya da haftanın başında |
Tablo her görevin en son ne zaman çalıştığını, başarılı olup olmadığını, ne kadar sürdüğünü ve bir sonraki çalışmasını gösterir. Çıktısını görmek için sonuca tıklayın. Anahtar bir görevi kaldırmadan kapatır; kapalı görev yalnızca Şimdi çalıştır'ı seçtiğinizde çalışır.
Sunucuda:
| Komut | Ne yapar |
|---|---|
rdev cron add shop scheduler --schedule "* * * * *" --command "php artisan schedule:run" |
Laravel zamanlayıcısını ekler |
rdev cron list |
Görevleri listeler |
rdev cron run shop scheduler |
Şimdi çalıştırır |
rdev cron disable shop scheduler / enable |
Kapatır ya da açar |
rdev cron logs shop scheduler |
Son çalışmanın çıktısını gösterir |
rdev cron remove shop scheduler |
Kaldırır |