2014-07-07 7 views
6

मुझे कुछ पृष्ठभूमि प्रसंस्करण को लागू करने की आवश्यकता है 1) ईमेल भेजें, 2) कुछ एपीआई कॉल करें। और, जो भी प्रणाली मैं उपयोग करता हूं, मैं भी कुछ प्रकार के क्रॉन शेड्यूलर (जब भी संभव हो) के साथ संयोजन करूँगा। मैं उत्सुक हूं, मुझे पता है कि वास्तव में शांत पृष्ठभूमि प्रसंस्करण रत्न (विलम्बित नौकरी, साइडकीक, रेस्क्यू) की एक सरणी है, लेकिन मैं यह भी समझता हूं कि आप प्रति रायन बेट के वीडियो प्रति रेक कार्य के साथ पृष्ठभूमि प्रसंस्करण कर सकते हैं: http://railscasts.com/episodes/127-rake-in-backgroundदेरी नौकरी, रेस्क्यू, या साइडकीक जैसे मणि का उपयोग करके पृष्ठभूमि बनाम दौड़ने के बीच क्या अंतर है?

पृष्ठभूमि प्रक्रिया के लिए एक मणि वीएस का एक रेक कार्य का उपयोग करने के समर्थक/विपक्ष क्या हैं? मेरे बाद के बारे में एक बात यह है कि हर बार जब एक रेक कार्य कहा जाता है, तो आपको एक नया वातावरण स्पिन करना पड़ता है, जो स्मृति पर बहुत महंगा है।

कृपया ध्यान दें, मुझे रत्नों की तुलना की आवश्यकता नहीं है। इस श्रृंखला ने यहां एक महान काम किया: http://www.sitepoint.com/series/comparing-ruby-background-processing-libraries/

उत्तर

3

समांतरता। आपके पास समानांतर में ईमेल भेजने वाले एन कर्मचारी हो सकते हैं। रेक के साथ आपके पास एक धागा है, कई ईमेल भेजने में कुछ समय लगेगा।

+0

हाँ अच्छी तरह से समय बहुत ही महत्वपूर्ण नहीं है क्योंकि यह पहले से ही असीमित है, और ईमानदारी से मेरे पास बहुत से ईमेल नहीं हैं। त्वरित विचार, एक नए पर्यावरण की कताई रैक दृष्टिकोण के साथ एक बड़ी समस्या नहीं है? – james

1

इसके अलावा एक और बड़ा अंतर जो मेरे लिए एक ब्रेक था, पृष्ठभूमि में रेक कार्य एक ही हेरोकू डिनो से चलाता है, लेकिन अन्य एड-ऑन के लिए आपको एक अलग कार्यकर्ता डिनो की आवश्यकता होती है।

संपादित करें, इस मामले में किसी को भी googling है, बस पता चला कि Sidekiq में आप एक ही कार्यकर्ता dyno उपयोग कर सकते हैं इस ट्यूटोरियल देखें: https://coderwall.com/p/fprnhg

0

एक और बड़ा अंतर उपकरण sidekiq की तरह एक मणि आप को संभालने के लिए देता है हो सकता है पृष्ठभूमि नौकरियां

उदाहरण के लिए, यदि आपको एक निर्धारित पृष्ठभूमि नौकरी को संसाधित करने की आवश्यकता है, तो कहें, प्रति दिन कई सीएसवी फाइलें पढ़ें, शायद आपको उस प्रसंस्करण के परिणाम को संभालने या कम से कम देखने की आवश्यकता है, मेट्रिक्स पढ़ें, विफलता के मामले में पुनः प्रयास करें , आदि मुझे लगता है कि आपको खुद को एक रेक कार्य के साथ लिखना होगा।

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

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