rdev'i kullanma

Süreçler ve zamanlanmış görevler

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