2013-01-31 18 views
30

मुझे delayed_job से कोई लॉग आउटपुट नहीं मिल रहा है, और मुझे यकीन नहीं है कि मेरी नौकरियां शुरू हो रही हैं।देरी_job में लॉग इन करना?

यहाँ मेरी Procfile है:

web:  bundle exec rails server 
worker: bundle exec rake jobs:work 
worker: bundle exec clockwork app/clock.rb 

और यहाँ काम है:

class ScanningJob 
    def perform 
    logger.info "logging from delayed_job" 
    end 

    def after(job) 
    Rails.logger.info "logging from after delayed_job" 
    end 
end 

मैं प्रणाली बाहर करने के लिए है कि घड़ी की कल आउटपुट देखते हैं, और मैं कार्यकर्ता निष्पादक शुरू कर देख सकते हैं, लेकिन मैं अपने लॉग देखें कभी नहीं बयान हिट मैंने puts की कोशिश की और साथ ही इसका कोई फायदा नहीं हुआ।

मेरे घड़ी फ़ाइल बहुत सरल है:

every(3.seconds, 'refreshlistings') { Delayed::Job.enqueue ScanningJob.new } 

मैं सिर्फ यह काम कर देखना चाहते हैं, और प्रवेश के अभाव का मतलब मैं नहीं कर सकता। यहाँ क्या चल रहा है?

+0

संभावित देरी [देरी \ _job लॉगिंग नहीं] [http://stackoverflow.com/questions/9507765/delayed-job-not-logging) – deefour

उत्तर

74

जब मुझे देरी नौकरियों से लॉग आउटपुट की आवश्यकता होती है, तो मुझे काफी मददगार होने के लिए this question मिला। के साथ इस लॉग में

Delayed::Worker.logger = Logger.new(File.join(Rails.root, 'log', 'dj.log')) 

फिर, अपने काम में, मैं उत्पादन:

Delayed::Worker.logger.debug("Log Entry") 

इस फ़ाइल log/dj.log में जो परिणाम के लिए लिखा जा रहा

config/initializers/delayed_job.rb में मैं पंक्ति जोड़ें। यह विकास, स्टेजिंग और उत्पादन वातावरण में काम करता है।

+12

चूंकि Rails.root पथ पथ है, कोई भी बस कर सकता है: 'देरी :: Worker.logger = Logger.new (Rails.root.join ('log', 'dj.log')) ' – Alex

+0

'विलंबित :: Worker.logger' पहले ही प्रारंभ हो चुका है – brauliobo

संबंधित मुद्दे