2012-01-09 21 views
9

मेरे पास एक डैंगो ऐप हैरोकू में तैनात है, एक कार्यकर्ता प्रक्रिया चलने वाली सेलरी (+ निगरानी के लिए सेलरीकैम) के साथ। मैं ब्रोकर के रूप में RedisToGo के रेडिस डेटाबेस का उपयोग कर रहा हूं। मैंने देखा कि रेडिस स्मृति से बाहर चल रहा है।सेलेरी और रेडिस मेमोरी से बाहर चलते रहें

  1. "_kombu.binding.celeryd.pidbox"
  2. "celeryev.643a99be:

    web: python app/manage.py run_gunicorn -b "0.0.0.0:$PORT" -w 3 
    worker: python lipo/manage.py celerycam & python app/manage.py celeryd -E -B --loglevel=INFO 
    

    यहाँ KEYS '*' के उत्पादन में है:

    यह वही मेरी procfile लगता है कि है -74e8-44e1-8c67-fdd9891a5326 "

  3. " celeryev.f7a1d511-448b-42ad-9e51-52baee60e977 "
  4. " _kombu.binding.celeryev "
  5. "celeryev.d4bd2c8d-57ea-4058-8597-e48f874698ca"
  6. `_kombu.binding.celery"

celeryev.643a99be-74e8-44e1-8c67-fdd9891a5326 इन संदेशों से भर रही है:

{"sw_sys": "Linux", "clock": 1, "timestamp": 1325914922.206671, "hostname": "064d9ffe-94a3-4a4e-b0c2-be9a85880c74", "type": "worker-online", "sw_ident": "celeryd", "sw_ver": "2.4.5"} 

किसी भी विचार समय-समय पर इन संदेशों को शुद्ध करने के लिए मैं क्या कर सकता हूं?

उत्तर

1

क्या यह एक समाधान है?

  1. _kombu.bindings.celeryev सेट के अलावा उदा। celeryev.i-am-जिंदा। टीटीएल सेट के साथ कुंजी (उदा। 30sec);
  2. सेलेरीव प्रक्रिया स्वयं को बाइंडिंग में जोड़ती है और समय-समय पर (जैसे प्रत्येक 5 सेकेंड) celeryev.i-am-live अद्यतन करती है। टीटीएल को रीसेट करने के लिए कुंजी;
  3. ईवेंट कार्यकर्ता प्रक्रिया भेजने से पहले न केवल _kombu.bindings.celeryev पर smembers बल्कि व्यक्तिगत celeryev.i-am-live पर smembers। चाबियाँ भी अच्छी तरह से और यदि कुंजी नहीं मिली है (समाप्त हो चुकी है) तो यह _kombu.bindings.celeryev (और शायद डेल celeryev। या समाप्त celeryev से हटा दिया जाता है। आदेश निष्पादित कर रहे हैं)।

हम केवल कुंजी कमांड का उपयोग नहीं कर सकते क्योंकि यह ओ (एन) है जहां एन डीबी में चाबियों की कुल संख्या है। हालांकि टीटीएल रेडिस < 2.1 पर मुश्किल हो सकता है।

सेलेरीव की अवधि समाप्त हो गई। डेल celeryev के बजाय। अस्थायी ऑफ़लाइन सेलेरीव उपभोक्ता को पुनर्जीवित करने की अनुमति देने के लिए उपयोग किया जा सकता है, लेकिन मुझे नहीं पता कि यह इसके लायक है या नहीं।

author

+0

लिंक, नीचे है आप लिंक क्यों पोस्ट न करें, आप समाधान पोस्ट thats। –