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?
Laravel queue job başarısız olunca transaction içindeki kayıt neden kayboluyor?
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.