Merhabalar. Laravel 7 ve Horizon 4 kullanıyorum. İki supervisor ile çalışan bir yapılandırmam var. Ancak bazen supervisorlar tamamen duruyor ve yeniden başlamıyor. Sorunun neden kaynaklandığını tam olarak çözemedim. Yapılandırmalarla ilgili kısımları paylaşıyorum:
Supervisor Yapılandırması
'supervisor-1' => [
'connection' => 'redis',
'queue' => ['default'],
'balance' => 'auto',
'processes' => 7,
'tries' => 3,
],
'supervisor-2' => [
'connection' => 'redis',
'queue' => ['mail'],
'balance' => 'false',
'processes' => 1,
'tries' => 3,
],
supervisor-2'yi sırasıyla çalışması gereken e-posta işleri için kullanıyorum.
Supervisor Yürütme Komutu
command=php artisan horizon
autostart=true
autorestart=true
Queue Redis Yapılandırması
'redis' => [
'driver' => 'redis',
'queue' => 'default'
],
Supervisorların durma anlarında bazı job'ların timeout olması dışında herhangi bir hata kaydı göremiyorum. Bu job'larla ilgili fark ettiğim bir detay ise, job içinde ayarlanan tries değeri 1 iken horizon panelinde 2 defa denendiğini görüyorum. 2. denemelerin süresini(00.01s) dikkate aldığımda, deneme sayısının aşıldığı kontrol ediliyor olacak ki işlemin başında direkt sonlanmışlar. Yapılandırmayı çok basit tuttuğum için de ekstra sorunlar yaşıyor olabilirim. Daha önce benzer bir sorunla karşılaşmış olanlar veya çözüm önerisi olanlar varsa yanıtlarınızı beklemekteyim.