2008-09-23 11 views
14

मुझे पता है कि कई प्लगइन हैं जो असीमित प्रक्रिया करते हैं। कौन सा सबसे अच्छा है और क्यों?रेल अनुप्रयोग में एसिंक्रोनस नौकरियों को चलाने का सबसे अच्छा तरीका क्या है?

लोगों मैं के बारे में पता कर रहे हैं:

+0

Resque: नीचे

लेख मदद मिल सकती है आप आरंभ करने के! –

उत्तर

8

स्टार्लिंग और वर्कलिंग बहुत दिलचस्प लगती है (screencast देखें) यदि आपके पास ऐसी कई प्रक्रियाएं हो सकती हैं, और आप उन्हें कतारबद्ध करना चाहते हैं।

आपको previous screencast से भी रुचि हो सकती है जो पृष्ठभूमि प्रक्रिया के लिए रेक का उपयोग करती है, और भविष्य में एक जो शायद एक ही प्रश्न के दूसरे समाधान के बारे में होगा।

+0

यह वही है जो मैंने बैकग्राउडआरबीबी से विशेष रूप से स्क्रीनकास्ट के साथ बहुत आसान है। – Otto

3

BackgrounDRb - पेशेवरों: पूर्ण, विशेष रुप से संदेश, विपक्ष: पिरोया (! EEK - रेल सुरक्षित थ्रेड नहीं है), जटिल

Daemon Generator - पेशेवर: सरल, नौकरी चलाता है और यह करता है !, विपक्ष: उस फैंसी मैसेजिंग सामान में से कोई भी नहीं।

7

क्या कुछ 'सर्वश्रेष्ठ' समाधान वास्तव में इस बात पर निर्भर करता है कि आप किस समस्या को हल करने की कोशिश कर रहे हैं। कुछ मामलों में सबसे अच्छा समाधान सबसे हल्का समाधान होगा, अन्य हेवीवेट में।

BackgroundRb शायद सबसे पूर्ण रूप से प्रदर्शित रेल पृष्ठभूमि पृष्ठभूमि जॉब प्रोसेसर है, लेकिन यह भी सबसे जटिल है इसलिए इसके साथ पकड़ने के लिए और अधिक निवेश की आवश्यकता होगी। BackgroundRb शायद सरल से जटिल तक, अधिकांश उपयोग मामलों को संभाल सकता है।

मैं आरा टी हॉवर्ड की Background Job (बीजे) के बारे में बहुत अच्छी बातें जो, उद्धृत करने के लिए README है एक मस्तिष्क मृत सरल शून्य व्यवस्थापक पृष्ठभूमि प्राथमिकता रेल के लिए कतार में सुना है। यह एक बहुत हल्का समाधान है और परिणामस्वरूप अधिकांश परिदृश्यों के लिए पृष्ठभूमिआरबी के लिए बेहतर हो सकता है।

यदि आप चाहते हैं कि ऑफ़लाइन बैच-शैली प्रसंस्करण के लिए समाधान है तो script/runner जो सभी रेल ऐप्स के साथ आता है, पर्याप्त से अधिक होगा।

आगे पढ़ने के लिए आप Rails Wiki से HowToRunBackgroundJobsInRails पर देखना चाहेंगे।

1

हम क्रॉन का उपयोग करते हैं। स्थापित करने में आसान, बनाए रखने में आसान, और यह हमेशा काम करता है।

पृष्ठभूमिआरबी आपके दिमाग को खाएगा।

3

स्टार्लिंग + वर्कलिंग प्लगइन मृत सरल है। इसके अलावा, यह Memcached का उपयोग करता है जो सरल, परीक्षण और स्केलेबल है।

0

बैकग्राउडआरबी थ्रेड नहीं किया गया है, इसकी पूरी प्रक्रिया आधारित है। इसमें केवल थ्रेड पूल की सुविधा है जो उपयोगकर्ता उपयोग कर सकते हैं, यदि वह एक साथ आईओ बाध्य कार्यों को संभालना चाहता है।

1.1 रिलीज़ करने का प्रयास करें और मुझे (मेरे ब्लॉग पर) या मेलिंग सूची पर किसी भी मुद्दे के बारे में जानें।

9

मैं सूची में डीजे (विलंबित नौकरी) जोड़ देंगे - http://blog.leetsoft.com/2008/2/17/delayed-job-dj

GitHub लोग हाल ही में यह एक बहुत अच्छा समीक्षा दी: http://github.com/blog/197-the-new-queue

+0

मैं डीजे का उपयोग करता हूं और यह एक आकर्षण की तरह काम करता है! – huug

4

Resque आप भी कर सकते हैं।

पृष्ठभूमि नौकरियां बनाने, उन नौकरियों को एकाधिक कतारों पर रखने और बाद में उन्हें संसाधित करने के लिए यह एक बहुत अच्छा टूल है।

गिथूब के लोगों ने इसका निर्माण और उपयोग किया है। बचाव के लिए

http://rubylearning.com/blog/2010/11/08/do-you-know-resque/

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

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