2011-02-05 15 views
5

Google अनुप्रयोग इंजन के रूप में अब तक कुछ बाद में किसी समय नौकरियों चल रहा है, Task Queues और Deferred jopsGoogle अनुप्रयोग इंजन - उपयोग टास्क कतार या स्थगित नौकरियां

वे सभी एक ही सुविधाओं का समर्थन के रूप में मैं बता सकता हूँ के लिए दो तरीकों (जैसे एक आस्थगित है नौकरी को किसी विशेष कार्य कतार पर रखा जा सकता है ताकि आप निष्पादन को थ्रॉटल कर सकें) - लेकिन स्थगित नौकरियां लागू करने और अधिक लचीला करने के लिए बहुत आसान लगती हैं।

कोई भी प्रत्येक विधि के प्रो के कॉन के बारे में जानता है? किसी भी परिस्थिति जहां आप स्थगित नौकरियों पर कार्य कतार का उपयोग करना चाहते हैं?

उत्तर

11

मुझे यकीन है कि अगर आप इसे देखा नहीं हूँ, लेकिन deferreds के लिए दस्तावेज़ अंत में इस खंड है:

आप सोच रहे हैं जब ext.deferred का उपयोग करने के लिए, और जब बनाया के साथ रहना -इन कार्य कतार एपीआई। यहां हमारे सुझाव दिए गए हैं।

  • आप केवल हल्के से कार्य कतार का उपयोग करें:

    आप आस्थगित पुस्तकालय का उपयोग करने के लिए कर सकते हैं।

  • आप न्यूनतम परिवर्तन के साथ कार्य पंक्ति पर चलाने के लिए मौजूदा कोड को दोबारा प्रतिक्रिया देना चाहते हैं।
  • आप स्कीमा माइग्रेशन जैसे रखरखाव कार्य को बंद कर रहे हैं।
  • आपके ऐप में कई अलग-अलग प्रकार के पृष्ठभूमि कार्य हैं, और प्रत्येक के लिए एक अलग हैंडलर लिखना बोझिल होगा।
  • आपके कार्य को जटिल तर्कों की आवश्यकता होती है जिन्हें आसानी से अचार के बिना क्रमबद्ध किया जाता है।
  • आप अन्य ऐप्स के लिए एक लाइब्रेरी लिख रहे हैं जिन्हें पृष्ठभूमि कार्य करने की आवश्यकता है।

    • आप कैसे कार्य पंक्तिबद्ध और क्रियान्वित कर रहे हैं पर पूरा नियंत्रण की जरूरत है:

    आप टास्क पंक्ति एपीआई का उपयोग करने अगर चाहते हो सकता है।

  • आपको बेहतर कतार प्रबंधन या स्थगित प्रदान की तुलना में निगरानी की आवश्यकता है।
  • आपके पास उच्च थ्रूपुट है, और ओवरहेड महत्वपूर्ण है।
  • आप बड़े abstractions बना रहे हैं और कार्यों पर प्रत्यक्ष नियंत्रण की जरूरत है।
  • आपको वेबकूक मॉडल को आरपीसी मॉडल से बेहतर पसंद है।

स्वाभाविक रूप से, आप कार्य कतार एपीआई और स्थगित लाइब्रेरी दोनों का उपयोग कर सकते हैं, यदि आपके ऐप में दोनों समूहों में फिट आवश्यकताएं हैं।

+1

दोह - मुझे यह कैसे याद आया! – Ryan

+1

स्थगित से मेटाडेटा * os.environ * का उपयोग करके एक्सेस किया जा सकता है; व्यवस्थापक कंसोल के साथ आप टास्क्यूयू या स्थगित द्वारा कतारबद्ध प्रत्येक कार्य की निगरानी कर सकते हैं। – systempuntoout

+0

@ सिस्टम सिस्टम: सुधार के लिए धन्यवाद! मैंने ज्यादातर टास्क कतार एपीआई का उपयोग किया है, और जब यह स्थगित हो गया था, तो प्रलेखन और मेरी आलसी स्मृति द्वारा जा रहा था। मैं गलत जानकारी के लिए अपना उत्तर और क्षमा चाहता हूं। – shang

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