1. Queue Çalıştırılmadığından Emin Olun
Laravel'de queue worker'ını başlatmak için şu komutu kullanabilirsiniz:
php artisan queue:workBu 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:
[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:
sudo supervisorctl rereadVe ardından başlatın:
sudo supervisorctl updateEğ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:
namespace 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
QUEUE_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
storage/logs/laravel.logBu 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.