मुझे एक रेस्क्यू कार्यकर्ता के अंदर एक मॉड्यूल से कॉलिंग विधियों में समस्याएं आ रही हैं। नीचे दिए गए उदाहरण में, जब मैं कार्यकर्ता के अंदर say
विधि (जो टेस्टलिब मॉड्यूल में है) को कॉल करने का प्रयास करता हूं, तो मैं अपरिभाषित विधि त्रुटियों को प्राप्त करता रहता हूं। मैं इस मुद्दे को वर्णन करने के नंगे मूल बातें करने के लिए कोड को कम कर दिया है नीचे:बाहरी मॉड्यूल में रेल रेस्क अपरिभाषित विधि त्रुटि
नियंत्रक (/app/controllers/test_controller.rb)
class TestController < ApplicationController
def testque
Resque.enqueue(TestWorker, "HI")
end
end
लाइब्रेरी (/ lib/test_lib। rb)
module TestLib
def say(word)
puts word
end
end
कार्यकर्ता (/ कार्यकर्ताओं/test_worke r.rb)
require 'test_lib'
class TestWorker
include TestLib
@queue = :test_queue
def self.perform(word)
say(word) #returns: undefined method 'say' for TestWorker:Class
TestLib::say(word) #returns: undefined method 'say' for TestLib::Module
end
end
Rakefile (resque.rake)
require "resque/tasks"
task "resque:setup" => :environment
मैं resque निम्न आदेश का उपयोग कर चल रहा हूँ: rake environment resque:work QUEUE='*'
रत्न: रेल (3.0.4) रेडिस (2.2.2) रेडिस-नेमस्पेस (1.0.3) रेस्क्यू (1.1 9.0)
सर्वर: nginx/1.0.6
किसी के पास कोई विचार है कि वहां क्या हो रहा है?
* हेडलैप * मुझे लगता है कि मैं रेल में बहुत हाल ही में काम कर रहा हूं। वह चाल है। धन्यवाद! – internetoutfitters
+1 @tbuehlmann। –
यदि आप ऐसा करते हैं और यह अभी भी काम नहीं करता है, तो अपने सर्वर को पुनरारंभ करें – Kathan