2011-06-28 11 views
8

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

धन्यवाद!

उत्तर

4

नया आरईएसटी/जेएसओएन कार्य कतार API आपको ऐसा करने देगा।

http://code.google.com/appengine/docs/python/taskqueue/rest.html

इस कार्य के हजारों करने के लिए अच्छी तरह से बड़े पैमाने नहीं करता है ...

मैं पाइपलाइन एपीआई सुझाव पसंद करते हैं, हालांकि!

+0

क्या आप समझा सकते हैं कि नया कार्य कतार API इसे कैसे पूरा करता है? आप एक कार्य प्राप्त कर सकते हैं, लेकिन ऐसा लगता है कि किसी भी प्रकार की स्थिति या सफलता या विफलता का संकेत शामिल नहीं है। –

2

आप इसे पाइपलाइन एपीआई के साथ पूरा करने में सक्षम हो सकते हैं। आप सभी 6 कार्यों पर निर्भर करते हैं और इसे चीरते हैं।

http://code.google.com/p/appengine-pipeline/

गुड लक।

1

आप memcache का उपयोग कर सकते हैं। इस कार्य समूह के लिए विशिष्ट अद्वितीय कुंजी का उपयोग करें। जब आप अपने कार्यों को लात मारते हैं तो गिनती सेट करें, और प्रत्येक कार्य परमाणु रूप से इसे कम करें। जब मान 0 है, तो आपके कार्य पूर्ण हो जाते हैं। वह कार्य जो इस मान को 0 मानता है वह आपके कॉलबैक को कॉल कर सकता है।

+2

क्या संभावना है कि memcache दूर जा सकते हैं क्योंकि यह रहने की गारंटी नहीं है? एक डेटास्टोर में बस इसका समर्थन करना बचाने के दौरान दौड़ की स्थिति के कारण पर्याप्त नहीं है। इससे कोई कैसे निपटता है? –

+1

मुझे लगता है कि लेनदेन का उपयोग करके डेटा स्टोर में सहेजते समय आप दौड़ की स्थिति से निपट सकते हैं। –