2011-08-05 25 views
7

में कार्यकर्ता पूल में धागे को जोड़ें/हटाएं, मैं एक कार्य के भीतर से मौजूदा मल्टीप्रोसेसिंग पूल में अधिक थ्रेड (और धागे को हटाएं) कैसे जोड़ूं (यानी सेलरीड CELERYD_CONCURRENCY = 10 के साथ चलाया गया था लेकिन मैं इसे बदलना चाहता हूं ऑन-द-फ्लाई से CELERYD_CONCURRENCY = 15)?गतिशील रूप से सेलेरी

celery.concurrency.processes.TaskPool.Pool.grow नामक एक फ़ंक्शन है लेकिन मुझे नहीं पता कि इसे किसी चल रहे कार्य से कैसे कॉल किया जाए या यह करने के लिए यह सही कार्य है या नहीं।

उत्तर

1

स्रोत पढ़ें:

https://github.com/ask/celery/blob/master/celery/concurrency/processes/__init__.py

दोनों grow() और shrink() है, हालांकि बाद एक बालक गड़बड़ लगती है।

यदि आपके पास केवल एक पूल है, तो इसे वैश्विक रखने के लिए आपको कहीं भी पूल का संदर्भ रखना होगा।

चेतावनी पोस्टर: यदि बहु वास्तव में अधिक अलग-अलग प्रक्रियाओं चल मतलब है, आप पहले से ही एक बच्चे की प्रक्रिया में हो सकता है जब आप हटना या बड़े होते हैं, और स्पष्ट रूप से है कि काम नहीं करेगा करने के लिए प्रयास करें।

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