1. Queue Çalıştırılmadığından Emin Olun
Laravel'de queue worker'ını başlatmak için şu komutu kullanabilirsiniz:
kopyalaphp artisan queue:work
Bu komut, Laravel'in tüm kuyruğa eklenen işleri işleme almasını sağlar. Eğer bu komutla çalışıyorsa, ancak işler hala işlenmiyorsa, diğer adımlara geçelim.
2. Supervisor Konfigürasyonunu Kontrol Edin
Supervisor kullanarak Laravel queue worker’ını başlatmak için, `/etc/supervisor/conf.d/` klasöründe bir konfigürasyon dosyası oluşturmanız gerekir. Aşağıda, Supervisor için örnek bir konfigürasyon dosyasını bulabilirsiniz:
kopyala[program:laravel-queue-worker] process_name=%(program_name)s command=php /path/to/your/project/artisan queue:work autostart=true autorestart=true user=your-user-name numprocs=1 redirect_stderr=true stdout_logfile=/path/to/your/project/storage/logs/queue-worker.log
Bu konfigürasyonu kaydettikten sonra, supervisor'ı yeniden yükleyin:
kopyalasudo supervisorctl reread
Ve ardından başlatın:
kopyalasudo supervisorctl update
Eğer supervisor aktif değilse, bu ayarlar Laravel'in queue worker'ını sürekli çalıştırmasını sağlayacaktır.
3. Kuyruğa Eklenen İşlerin Doğru Bir Şekilde Çalıştığını Kontrol Edin
Örnek bir job sınıfı şu şekilde olabilir:
kopyalanamespace App\Jobs; use App\Models\User; use Illuminate\Support\Facades\Mail; class SendWelcomeEmail extends Job { public function __construct(User $user) { $this->user = $user; } public function handle() { Mail::to($this->user->email)->send(new WelcomeEmail($this->user)); } }
Eğer bu job sınıfı hatalıysa, işler kuyruğa takılabilir. Herhangi bir hata almamak için job dosyanızdaki işlemlerinizi dikkatlice kontrol edin.
4. Kuyruğun Bağlantısını Kontrol Edin
kopyalaQUEUE_CONNECTION=database
Veritabanı bağlantısı veya Redis gibi başka bir bağlantı kullanıyorsanız, o bağlantı türüne göre de ayarları kontrol edin.
5. Hata Günlüklerini Kontrol Edin
kopyalastorage/logs/laravel.log
Bu günlükleri incelediğinizde, kuyruğun neden çalışmadığını daha net bir şekilde anlayabilirsiniz.
Sonuç
Umarım bu yazı size yardımcı olmuştur. Eğer sorun devam ediyorsa, Laravel’in dökümantasyonuna başvurabilir veya hata mesajlarını inceleyerek daha derinlemesine bir çözüm arayabilirsiniz.