2012-08-25 8 views
8

क्या माउंट करने योग्य इंजन मॉडल पर सीधे कार्य चलाने के लिए क्रॉन (जब भी मणि के माध्यम से) का उपयोग करना संभव है। मुझे लगता है कि क्रॉन मुख्य ऐप से शुरू नहीं कर पाएगा क्योंकि माउंटेबल इंजन अलग किए जाने चाहिए।क्रॉन के साथ माउंटेबल इंजन (जब भी मणि)

मैं सामान्य रेल ऐप के भीतर भी उपयोग करने में सक्षम हूं और यह बहुत अच्छा काम करता है लेकिन मुझे इंजन शैली के तरीके में कार्यों को चलाने की आवश्यकता है।

धन्यवाद

उत्तर

3

आप Rails Engine अपने आप पर नहीं ले सकते हैं और सीधे कार्य निष्पादित कर सकते हैं, जैसे कि रेक कार्य या मॉडल को कॉल करना। मिनी रेल ऐप के रूप में एक रेल इंजन के बारे में सोचें। यह बढ़ते पैरेंट ऐप को कार्यक्षमता और सुविधाएं प्रदान करता है। अपने आप पर, इंजन अपूर्ण है। इंजन को रेल ऐप पर घुड़सवार होने के साथ, इसमें सभी कॉन्फ़िगरेशन और प्रारंभिकरणों तक पहुंच है जो सही तरीके से शुरू करने और संचालित करने के लिए आवश्यक हैं।

घुड़सवार इंजन के लिए रेक कार्यों को मूल रेल ऐप में विरासत में मिलाया जाता है। अनुवर्ती निष्पादित, Rails runner से इंजन

rake -T 

से रैक कार्यों की सूची में शामिल करना चाहिए तुम भी आदि, घुड़सवार रेल इंजन के मॉडल पर अमल कर सकते हैं libs,। किसी इंजन की विशेषताओं तक पहुंचने पर, आपको इंजन के नामस्थान का उपयोग करना होगा।

Blorgh::Post.find(1) 
+0

मैं अभी भी अपेक्षाकृत रेल इंजन और mountable इंजन के लिए नया हूँ तो यह एक सीखने की अवस्था है: यहाँ एक इंजन से एक मॉडल तक पहुँचने के लिए Rails Guide से एक उदाहरण है। तो आप जो भी उल्लेख करते हैं, उससे मुझे यह दिखाने में थोड़ा सा साफ हो जाता है कि मैं सीधे इंजन मॉडल पर क्रॉन चला सकता हूं लेकिन निष्पादन को होस्ट एप्लिकेशन से शुरू करने की आवश्यकता होगी। अलग होने के कारण मैंने सोचा कि माउंटेबल इंजन बस इतना ही थे, ब्लैक बॉक्स, लेकिन आपने जो बताया उससे मैंने इसे एक कोशिश दी और यह मेरे लिए वास्तव में अच्छा काम करता है। मैं इस सवाल को सही तरीके से चिह्नित करूंगा क्योंकि उसने मेरे रेल इंजन की समस्या को हल किया है और मुझे इंजनों में थोड़ा और अंतर्दृष्टि दी है। – pieterk

0

रेल के डिजाइनर निश्चित रूप से इसे का इरादा नहीं था संभव हो सकता है। जब भी रेल की धावक स्क्रिप्ट पर निर्भर करता है, जो माउंटेबल प्लगइन्स के लिए समर्थित नहीं है (अच्छे कारण के लिए - धावक के साथ चलाने के लिए कोई एप्लिकेशन नहीं है)। हो सकता है कि जब भी एक अलग रूबी निष्पादक (रेल कंसोल, आईआरबी, इत्यादि) का उपयोग करने के लिए कॉन्फ़िगर करके कोड निष्पादित करने के लिए कुछ अन्य तरीका खोजना संभव हो, लेकिन शायद यह अनपेक्षित परिणाम होगा क्योंकि यह किसी एप्लिकेशन के संदर्भ में नहीं है, इसलिए आपके पास कोई विन्यास या पर्यावरण नहीं।

हालांकि, आप बताते हैं: The cron I think would not be able to start from the main app since mountable engines are supposed to be isolated, लेकिन मैंने इसका परीक्षण किया और ऐसा नहीं है। जब तक आप धावक कार्य को उचित रूप से नामित करते हैं, तब तक आपके एप्लिकेशन की कॉन्फ़िगरेशन फ़ाइल प्लगइन कोड में उपयुक्त कार्य का पता लगाएगी और इसे निष्पादित करने में सक्षम होगी। कृपया मुझे बताएं कि किसी कारण से आपकी विशेष जरूरतों के लिए काम नहीं करेगा।

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