Sunucu Yönetiminde Laravel Supervisor
Laravel projelerinde uygulama performansını optimize etmek ve süreçleri otomatikleştirmek için kullanılan araçlardan biri de Laravel Supervisor'dır. Bu araç, PHP tabanlı uygulamaların arka planda çalışan zamanlanmış görevlerini ve sürekli çalışan işlemlerini yönetmekte büyük kolaylık sağlar. Laravel'in kendi içinde scheduler ve queue sistemi olsa da, Supervisor bu görevlerin istikrarlı ve güvenli bir şekilde yürütülmesini garanti eder.
Supervisor, Linux tabanlı sistemlerde process kontrolü sağlar. Bu sayede, belirlediğiniz komutların veya betiklerin sürekli çalışmasını sağlayabilir, herhangi bir nedenle kapanırlarsa otomatik yeniden başlatılmalarını sağlayabilirsiniz. Laravel projelerinde özellikle queue worker'ların sürekli çalışması gerekir; aksi halde kuyruktaki işler birikip uygulamanın yavaşlamasına neden olabilir. Supervisor, bu worker'ların sürekli aktif kalmasını ve belirli koşullarda otomatik yeniden başlatılmasını sağlar.
Kurulum aşamasında, öncelikle Supervisor paketini yüklemeniz gerekir. Örneğin, Ubuntu sistemlerde şu komutla yükleme yapabilirsiniz:
1apt-get install supervisor
Daha sonra, Laravel queue worker'larınız için konfigürasyon dosyası oluşturmalısınız. Bu dosyada, worker'ın çalıştırılacağı komut, log dosyaları ve yeniden başlatma koşulları belirlenir. Örnek bir yapı şu şekildedir:
12345678910[program:laravel-queue]
process_name=%(program_name)s_%(process_num)02d
command=php /path/to/laravel/artisan queue:work --sleep=3 --tries=3
autostart=true
autorestart=true
user=youruser
numprocs=3
redirect_stderr=true
stdout_logfile=/path/to/laravel/storage/logs/queue.log
stopwaitsecs=3600
Burada,
numprocs ile aynı anda kaç worker çalıştırılacağı belirlenir.
autorestart ile worker'lar herhangi bir nedenle durursa otomatik yeniden başlatma sağlanır. Log dosyaları ise süreç takibi ve hata ayıklama açısından kritiktir.
Supervisor yapılandırma dosyasını oluşturduktan sonra, servisi yeniden yükleyip etkinleştirmeniz gerekir:
123supervisorctl reread
supervisorctl update
supervisorctl start laravel-queue:*
Bu adımlar ile Laravel queue worker’larınız, sistem yeniden başlatıldığında bile otomatik olarak devreye girer ve sürekli çalışır hale gelir. Bu sayede uygulamanızın arka plan işlemleri sorunsuz ve stabil bir şekilde yürütülür.
Sunucu yönetiminde Supervisor kullanımı, yüksek erişilebilirlik ve işlem sürekliliği açısından kritik bir rol oynar. Bu sistemlerin doğru yapılandırılması, uygulama performansını doğrudan etkiler ve hataları minimize eder. Bu konuda deneyimli ekipler, Supervisor konfigürasyonlarını düzenli olarak gözden geçirmeli ve sistem güncellemeleriyle uyumlu hale getirmelidir.