Laravel queue job başarısız olunca transaction içindeki kayıt neden kayboluyor?

mcozcan Konu Sahibi 12 saat önce 4 görüntülenme 1 yanıt Son yanıt: 12 saat önce
Yanıt Yaz
Başlık

Laravel 11 uygulamasında sipariş oluştururken DB::transaction içinde job dispatch ediyorum. Worker bazen job'ı kayıt commit edilmeden alıyor ve modeli bulamıyor. afterCommit kullanmak doğru çözüm mü; retry ve idempotency tarafını nasıl tasarlamalıyım?

#2

Bu durumda job dispatch işlemini commit sonrasına taşıyın. Laravel queue bağlantısında after_commit etkinleştirilebilir veya dispatch()->afterCommit() kullanılabilir. Job içinde modeli tekrar sorgulamak ve benzersiz iş anahtarıyla idempotent çalışmak da retry sırasında çift işlem riskini azaltır.

Tartışmaya Katılın & Fikrinizi Belirtin

Bu konuya yanıt yazmak, çözüm önermek veya sorularınızı iletmek için topluluğumuza katılın.

🍪
Çerez Kullanımı

Kodumun Hatası, web sitesinin çalışmasını sağlamak ve kullanıcı deneyimini geliştirmek için çerezler kullanabilir. Zorunlu olmayan çerezler için tercihlerinizi belirleyebilir, ayrıntılı bilgiye Çerez Politikamızdan ulaşabilirsiniz.