Basit soru. Kayıt işleminin kaydedilmesinden sonra post processing yapmak istediğim bir ActiveRecord modelim var. Yani modelde, bir işi Resque kuyruğuma yapıştıran bir queue_for_processing yöntemim var. Kaydım başarıyla sürdürüldükten sonra bu yürütmeyi yapmak için modelimde aşağıdakileri yazdım:Raylar: After_create durduruyorken istisna kaydet
after_create :queue_for_processing
Oldukça basit. Herşeyin beklendiği gibi çalıştığını düşünmüştüm. Dün gece redis sunucum düştü ve işler ters gitti. Beklentilerim, kaydın hala saklanacağıydı ve işi daha sonra elle işleyebilirim. Ancak, queue_for_processing yöntemi bir istisna (beklenen davranış) atar ve kaydetmeyi kaydetmeyi durdurur.
After_create'in nasıl çalıştığını yanlış anladım mı? Yoksa benim anlayışım doğru ve korkak bir şey mi oluyor?
Teşekkürler.
Harika, hızlı yanıt için teşekkürler. Bu da yardımcı oldu: http://rails-bestpractices.com/posts/695-use-after_commit –
Ayrıca, after_commit'e katıldığınız için teşekkürler. Rails3'te tanıtıldığını görüyorum, ama notu kaçırmış olmalıyım. Yeni şeyler öğrenmeyi seviyorum :-) –
Harika bir açıklama! Dürüstlük için +1. –