2011-11-05 10 views
5

मैं देरी_बॉज का उपयोग कर रहा हूं और मैं रेक नौकरियों का उपयोग करके नौकरियां चलाने में सक्षम हूं: काम लेकिन डिमनीकृत संस्करण का उपयोग करके, यह कुछ भी नहीं करता है हालांकि मैं इसे प्रक्रिया सूची में देखता हूं।क्या Delayed_job डिमन विकास में नहीं चलता है?

मैं उपयोग कर रहा हूँ:

  • रेल (3.0.9)
  • delayed_job (2.1.4)
  • डेमॉन (1.0.10)

मैं चल रहा हूँ delayed_job का उपयोग कर:

unix>RAILS_ENV=development script/delayed_job start 
+0

'RAILS_ENV = विकास स्क्रिप्ट/delayed_job status' का परिणाम क्या है:

फिर आप rake jobs::workoff चलाने के लिए और कुछ है कि इस तरह दिखता है प्राप्त करने में सक्षम होना चाहिए? – Ernest

+0

क्या आपने इसे डिमन्स मणि के बिना चलाने की कोशिश की? – Ernest

+0

Gemfile.lock राज्यों डेमन्स एक आवश्यक निर्भरता है लेकिन मैं स्पष्ट उपयोग को हटा दूंगा और कोशिश करूँगा। कारण मैंने ऐसा किया था कि डेमोनिज़ को एक विशेष संस्करण (डेमन्स के लिए 1.0.10 का उपयोग करके चारों ओर घूमने वाले स्टैक ओवरव्लो सुझावों का उपयोग करने के लिए प्रयास किया गया था) क्योंकि मेरे पास सिस्टम पर 1.1.4 दाम थे। – Aditya

उत्तर

3

आपके प्रश्न का उत्तर देने के लिए हमें और आवश्यकता हो सकती है गठन।

नौकरियां डेटाबेस में जोड़े गए हैं? क्या नौकरियों में कोई गलती है?

RAILS_ENV=development script/delayed_job status का नतीजा क्या है जैसा मैंने पहले ही उल्लेख किया है?

दूसरा, क्या आप विकी पेज की सबसे आम समस्याओं से गुजर चुके थे?

https://github.com/collectiveidea/delayed_job/wiki/Common-problems

+0

नौकरियों को डेटाबेस में जोड़ा जाता है। उन्हें डेमॉन द्वारा संसाधित नहीं किया जाता है लेकिन रेक नौकरियों द्वारा संसाधित किया जाता है: काम। मैं देरी वाले जॉब स्टेटस संदेश पर जांच करूंगा लेकिन मुझे लगता है कि यह चल रहा है (जब मैं दो बार शुरू करता हूं, तो यह कहता है कि एक प्रक्रिया पहले से चल रही है) + delayed_job.log में पिड रूबी देरी_job प्रक्रिया के पिड से मेल खाता है। – Aditya

+0

स्थिति रिटर्न 'देरी_बॉज: चल रहा है [पिड 1473] ' – Aditya

3

यह एक कस्टम काम वर्ग फ़ाइल लोड करने के लिए एक समस्या हो सकती है। इसका परीक्षण करने के लिए, इसे आजमाएं:

  • रेल कंसोल rails console --sandbox दर्ज करें।
  • सुनिश्चित करें कि आपके पास job = Delayed::Job.first तालिका में कोई नौकरी है।
  • YAML.load(job.handler) आज़माएं। अगर आपको ऐसा कोई त्रुटि मिलती है जो इस तरह दिखती है: ArgumentError: undefined class/module MyCustomClass, शायद यह आपकी कस्टम नौकरी
  • लोड करने में समस्या है, फिर भी रेल कंसोल में, require 'My_Custom_Class चलाएं। फिर YAML.load(job.handler) आदेश फिर से चलाएं। यदि यह उचित वस्तु देता है तो यह निश्चित रूप से एक वर्ग लोडिंग समस्या है।

समस्या फ़ाइल config/initializers/custom.rb बनाने और इसे require 'My_Custom_Class' डाल में ठीक करने के लिए।

[Worker(host:my.host pid:5085)] Starting job worker 
[Worker(host:my.host pid:5085)] MyCustomJob completed after 0.0774 
[Worker(host:my.host pid:5085)] 1 jobs processed at 9.1935 j/s, 0 failed ... 
[Worker(host:my.host pid:5085)] No more jobs available. Exiting 
संबंधित मुद्दे