2010-11-22 4 views
10

मेरे पास कुछ स्क्रिप्ट हैं जिन्हें मुझे चलाने की ज़रूरत है कि मैं अपने रेल ऐप से पूर्ण वातावरण तक पहुंचना चाहता हूं।रेल में, रेल स्तर को लोड करने वाली स्क्रिप्ट कैसे चलाती है?

मुझे पता है कि मैंने रेल 2.3 में पहले script/runner का उपयोग किया है।

लेकिन मैं यह भी 'delay_job' जो इस (2.3 कोड) की तरह रेल पर्यावरण लोड करता है का उपयोग किया है:

#!/usr/bin/env ruby 

require File.expand_path(File.join(File.dirname(__FILE__), '..', 'config', 'environment')) 
require 'delayed/command' 

स्क्रिप्ट मैं अब काम कर रहा हूँ एक संदेश कतार बंद डेटा खींचती है और उसके बाद मैं चाहता हूँ यह लॉगिंग डेटाबेस में उस डेटा को सम्मिलित करने के लिए सक्रिय रिकॉर्ड और मेरे मॉडल का उपयोग करने के लिए (जो कि डीबी के समान ही हो सकता है, जो कि शेष ऐप का उपयोग करता है या नहीं हो सकता है।

उत्तर

8

आपकी स्क्रिप्ट से, आपको फ़ाइल की आवश्यकता है config/environment.rb अपने आवेदन में। ध्यान दें कि यह वही है जो डीजे करता है। यह रेल 3 में भी सच है।

ध्यान दें कि यदि आप अपनी स्क्रिप्ट को रेक रेक में बदलते हैं (जिसे आप Rakefile में या *.rake फ़ाइल में lib/tasks में चिपका सकते हैं), तो आप बस अपना कार्य रेल-परिभाषित कार्य environment पर निर्भर कर सकते हैं।

task :mytask => :environment do 
    # custom stuff 
end 
+0

मैंने कई कस्टम रेक कार्यों के साथ-साथ 2.3 से कम लिखा है। मैं इस दृष्टिकोण को भी मानता था। धन्यवाद। –

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