2012-09-14 11 views
6

ऐप इंजन में पुश कतार आम तौर पर FIFO queue है, लेकिन जैसा कि लिंक किए गए दस्तावेज़ों से देखा गया है, जहां कतार में कार्यों का एक बड़ा बैकलॉग है, शेड्यूलर नए कार्यों को कतार के सिर पर कूदने के प्रयास में कूद सकता है विलंबता को कम करें।क्या जीएई में पुल क्यूई लगातार फीफो व्यवहार प्रदर्शित करता है?

यह कूद-आगे-द-कतार भारी लोड किए गए ऐप्स के लिए समझ में आता है, लेकिन इसका मतलब यह होगा कि फीफो व्यवहार को सुसंगत होने की गारंटी नहीं है।

अब प्रश्न है, खींचें कतारों के बारे में कैसे? उपर्युक्त व्यवहार पुश कतार में समझ में आता है, लेकिन पुल कतार में कम, इसलिए पुल कतार से कार्यों को पट्टे की ज़िम्मेदारी और श्रमिकों की संख्या को बढ़ाने की ज़िम्मेदारी ऐप में ही गिर गई। यदि पुल कतार में कूद-आगे-कतार व्यवहार मौजूद नहीं है, तो इसका मतलब यह होगा कि पुल कतार लगातार फीफो व्यवहार का प्रदर्शन कर रही है?

इसके अतिरिक्त, मुझे official pull queue docs में कार्यों के क्रम के बारे में कोई दस्तावेज़ नहीं दिख रहा है।

उत्तर

1

कोई भी पुल कतार में कोई ऑर्डरिंग गारंटी नहीं है।

जबकि आमतौर पर सबसे पुराने ईटीए वाले कार्यों को पहले पट्टे पर रखा जाएगा, यह मामला होने का आश्वासन नहीं दिया जाता है। आप आवेदन किसी भी क्रम में अपनी कतार से प्राप्त कार्यरत सौदा करने में सक्षम होना चाहिए।

+0

धन्यवाद। मैं समझता हूं कि कोई कठोर आश्वासन नहीं है, लेकिन यह कितना आम है कि सबसे पुराना ईटीए वाला कार्य पहले पट्टे पर लिया जाएगा? दूसरे शब्दों में, किसी भी अप्रत्याशित घटना को छोड़कर (जैसे नेटवर्क विलंबता में स्पाइक्स, उदाहरणों को क्रैश करना आदि), क्या पुल कतार के शेड्यूलर पर कोई विशेष नियम है जो कार्यों को फिर से व्यवस्थित कर सकता है? –

+0

मुझे यकीन नहीं है कि आप यहां क्या कर रहे हैं। कोई गारंटी आदेश नहीं है, आपको यह मानना ​​चाहिए कि कार्यों को किसी भी क्रम में पुनर्प्राप्त किया जाएगा। –

0

यह एक गैर-त्रिभुज मुद्दा है। Google इंजीनियरों को खुद से पूछने की ज़रूरत है कि अगर मैं पुल-कतारों के लिए एक गैर-लगातार गैर-फीफो शेड्यूलर ऑर्डर के रूप में कल्पना करता हूं तो इसका उपयोग करने का मामूली लाभ एक अनुमानित पुल-कतार प्रक्रिया से अधिक है।

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