सरल प्रश्न सहेजने के बाद अपवाद में अपवाद। मेरे पास एक ActiveRecord मॉडल है जिसे मैं रिकॉर्ड सहेजने के बाद पोस्ट प्रोसेसिंग करना चाहता हूं। तो मॉडल में मेरे पास एक queue_for_processing विधि है जो मेरे Resque queue पर नौकरी चिपक जाती है। मेरे रिकॉर्ड को सफलतापूर्वक जारी रखने के बाद इसे निष्पादित करने के लिए मैंने अपने मॉडल में निम्नलिखित लिखा है:रेल:
after_create :queue_for_processing
बहुत आसान। मैंने सोचा था कि सब कुछ उम्मीद के अनुसार काम कर रहा था कि पिछली रात मेरा रेडिस सर्वर नीचे चला गया और चीजें बहुत खराब हो गईं। मेरी उम्मीद थी कि रिकॉर्ड अभी भी बचाया जाएगा और मैं बाद में नौकरी को संसाधित कर सकता हूं। लेकिन queue_for_processing विधि अपवाद (अपेक्षित व्यवहार) फेंक रही है और रिकॉर्ड को सहेजने से रोक रही है।
क्या मैं गलत समझता हूं कि बाद में काम कैसे करता है? या मेरी समझ सही है और कुछ मज़ाकिया हो रहा है?
धन्यवाद।
बहुत बढ़िया, त्वरित प्रतिक्रिया के लिए धन्यवाद। यह भी सहायक था: http://rails-bestpractices.com/posts/695-use-after_commit –
इसके अलावा, मुझे बाद में आने के लिए धन्यवाद। मुझे लगता है कि इसे रेल 3 में पेश किया गया था, लेकिन मुझे ज्ञापन याद करना होगा। मुझे नई चीजें सीखना पसंद है :-) –
ग्रेट स्पष्टीकरण! संक्षेप के लिए +1। –