2010-12-01 17 views
5

मैं रेक कार्य निष्पादित करते समय चलाने के लिए एक निश्चित प्रारंभकर्ता चाहता हूं, लेकिन रेल सर्वर चलाते समय नहीं।केवल रेक कार्यों के लिए प्रारंभिक चलाएं

रेक रेकोकेशन और सर्वर आमंत्रण को अलग करने का सबसे अच्छा तरीका क्या है?

उत्तर

6

रेक आपको अपने कार्यों के लिए निर्भरता निर्दिष्ट करने की अनुमति देता है। सबसे अच्छा अनुशंसित कार्रवाई आपके लिए अपने रेक में विशिष्ट रेक-विशिष्ट प्रारंभिकता डालने के लिए होगी जो बदले में "पर्यावरण" कार्य पर निर्भर करती है। उदाहरण के लिए:

namespace :myapp do 
    task :custom_environment => :environment do 
     # special initialization stuff here 
     # or call another initializer script 
    end 

    task :my_task => :custom_environment do 
     # perform actions that need custom setup 
    end 
end 

आप की तरह हम उचित रेल के लिए है प्रारंभकर्ता लिपियों के एक रेक-विशिष्ट निर्देशिका बनाना चाहते हैं, हम सिर्फ इतना है कि हमारे :custom_environment कार्य में लागू होगा।

task :custom_environment => :environment do 
    Dir.glob("config/rake-initializers/*.rb").each do |initializer| 
     require initializer 
    end 
end 

यह आपको नियमित प्रारंभिक से अलग रेक-विशिष्ट इंटियालाइज़र रखने की अनुमति देता है। आपको बस सेट अप करने के लिए :custom_environment पर निर्भर होना याद रखना होगा।

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