अद्यतन: इस मुद्दे के लिए एक पैच हो गया है: https://github.com/collectiveidea/delayed_job/commit/023444424166ba2ce011bfe2d47954e79edf6798NoMethodError
अद्यतन 2: किसी को भी Heroku पर इस मामले की छानबीन विशेष रूप से चल रहा है के लिए, मैं 0.8 रेक में डाउनग्रेड करना पाया है। 7 और विलंबित जॉब संस्करण 2.1.4 कामों का उपयोग करते हुए, देरी हुई जॉब v3 नहीं है (हालांकि पैच के साथ यह स्थानीय पर काम करता है)। यह बांस-एमआर-1.9.2 स्टैक पर है।
मैं स्थानीय रूप से रेल 3.1.0 ऐप पर देरी_job को लागू करने की कोशिश कर रहा हूं। मैं प्रवास भाग गया और स्थापित मणि फ़ाइलें:
gem 'delayed_job'
gem 'delayed_job_active_record'
collectiveidea GitHub (https://github.com/collectiveidea/delayed_job) पर दस्तावेज़ीकरण का अनुसरण। मैं अपने नियंत्रक से देरी कॉल कर रहा हूँ इस प्रकार है:
EventMailer.delay.event_message_email(current_user, @event_message)
इस कार्य का कारण बनता है काम तालिका में जोड़ा जा करने के लिए लेकिन जब मैं रेक नौकरियों चलाएँ:
Class#event_message_email failed with NoMethodError: undefined method `event_message_email' for Class:Class - 6 failed attempts
: यह निम्न त्रुटि लॉग काम
मैंने SO पर अन्य देरी_job NoMethod त्रुटि प्रश्नों को देखा है लेकिन कोई भी इस विशिष्ट त्रुटि को संबोधित नहीं करता है या इसका समाधान प्रदान नहीं करता है। कलेक्टिवइडा पेज का उल्लेख है कि डिलीवरी विधि कॉल के बिना यह प्रारूप एक हैक है कि रेल 3 मेलर्स कैसे सेटअप किए जाते हैं, इसलिए मुझे आश्चर्य है कि शायद यह दस्तावेज कुछ पुराना हो सकता है, और यदि मेलर विधियों को कॉल करने का कोई नया तरीका है?
अपडेट: बिना विलंब के मेलर विधि को कॉल करना ठीक काम करता है, और मैं इसे डिफ़ॉल्ट रेल सर्वर पर चला रहा हूं, इसलिए सामूहिक पक्ष में उल्लिखित थिन के साथ समस्या लागू नहीं होती है। धन्यवाद
पिछली बार जब आपने अपनी 'रेक नौकरियां: कार्य' कार्य को पुनरारंभ किया था? प्रत्येक कोड परिवर्तन के बाद इसे पुनरारंभ करने की आवश्यकता है। – iwasrobbed
क्या EventMailer.event_message_email (current_user, @event_message) .delay.deliver काम करता है? – Unixmonkey
@iWasRobbed: हाँ, मैंने कोशिश की है कि – tks