2013-02-09 43 views
6

पर काम '' 'देता है, मैंने https://devcenter.heroku.com/articles/queuing-ruby-resque पर ट्यूटोरियल का पालन किया और रेलवे ऐप में पृष्ठभूमि नौकरियां चलाने के लिए ट्यूटोरियल का पालन किया। नौकरियों कतार के बाद, यह कंसोल में के बाद से नौकरियों में से किसी को चलाने के लिए मैं देख सकता हूँ कामरेस्क्यू के साथ जॉब्स "काम नहीं करना है" नौकरियां: हेरोोकू

>Resque.info 
=> {:pending=>1, :processed=>0, :queues=>1, :workers=>0, :working=>0, :failed=>0, :servers=>["redis://dory.redistogo.com:9826/0"], :environment=>"production"} 

संसाधित नहीं किया गया है, तो मुझे क्या करना (स्थानीय)

bundle exec rake jobs:work 
कोशिश प्रतीत नहीं होता

मैं Heroku पर

rake aborted! 
Don't know how to build task 'jobs:work' 

मिलता है, अगर मैं

कोशिश

मैं फिर से पाने के `कार्य का निर्माण करने के लिए कैसे '

मेरी Rakefile में पता नहीं है, मैं require 'resque/tasks' है और मेरे Procfile में मैं

resque: env TERM_CHILD=1 bundle exec rake jobs:work 
resque: env TERM_CHILD=1 bundle exec rake jobs:work 

मेरी Gemfile में मैं Resque और redis जवाहरात है है, लेकिन देरी नहीं_job।

अद्यतन: यहाँ मेरी Rakefile है:

#!/usr/bin/env rake 
require File.expand_path('../config/application', __FILE__) 
Guard::Application.load_tasks 

/lib/tasks खाली है। मेरे पास ऐप/श्रमिकों में एक कर्मचारी है जिसे मैं नियंत्रक में लगा रहा हूं।

उत्तर

6

यह हेरोोकू के साथ कुछ भी नहीं दिखता है, अगर यह स्थानीय रूप से काम नहीं करता है। लोगों की आपकी सहायता करने के लिए आपको अपने कुछ स्रोतों को प्रकट करना होगा। उदाहरण के लिए, आपका रेकफाइल कैसा दिखता है? कार्य के साथ उस लेख defines one with a Rake task में डेमो ऐप। क्या आपने अपना रेक कार्य परिभाषित किया है और उपयुक्त मणि संदर्भ जोड़े हैं?

QUEUE=file_serve rake environment resque:work 

कहाँ file_serve अपनी नौकरी का नाम है (कक्षा FileServeJob होगा):

+0

मुझे लगता है कि आप सही हैं, मुझे शायद कुछ याद आ रहा है। मैंने अपना रेकफाइल जोड़ा है। मैं रेज डॉक्स के लिए चारों ओर देखता हूँ। मुझे बताएं कि मैं कौन सी अन्य जानकारी प्रदान कर सकता हूं। – highBandWidth

+8

ओह, मुझे शायद 'आवश्यकता' resque/कार्यों " कार्य" resque: setup "=>: पर्यावरण' के साथ फ़ाइल lib/functions/resque.rake जोड़ने की आवश्यकता है। जब मैं अपने कंप्यूटर पर वापस आऊंगा तो मैं इसे आजमाउंगा। कार्य "resque: सेटअप" =>: – highBandWidth

+0

हाँ, मैं – highBandWidth

0

jobs:work के बजाय resque:work आज़माएं और देखें कि क्या वांछित परिणाम हैं।

+0

एक ही त्रुटि देता है: 'कार्य को कैसे बनाना है' पता नहीं है: कार्य ' – highBandWidth

0

आप बस अपनी Rakefile में require 'resque/tasks' जोड़ने के लिए है, तो कमांड लाइन पर की जरूरत है।

दस्तावेज़ here देखें - मैंने उन्हें सेटअप के बाद थोड़ा उलझन में पाया और नौकरी वर्ग निर्माण के बाद चलाने की जानकारी आती है।

+0

ध्यान दें कि आप सभी नौकरियों को चलाने के लिए नौकरी के नाम 'file_serve' के स्थान पर वाइल्डकार्ड '*' का उपयोग भी कर सकते हैं - किसी कारण से नाम का उपयोग करते समय मुझे परेशानी थी। – benjineer