2012-08-06 15 views
6

कभी कभी (हमेशा) मैंServiceStack.Redis: कनेक्ट करने में असमर्थ: खेल: 0

हो रही है "कनेक्ट करने में असमर्थ: खेल: 0"

त्रुटि जब ServiceStack का उपयोग कर Redis से मूल्य प्राप्त करने की कोशिश .Redis। क्या किसी को पता है कि इसका क्या अर्थ हो सकता है? मैं क्लाइंट प्राप्त करने के लिए PooledRedisClientManager का उपयोग कर रहा हूं।

उत्तर

8

मेरा मानना ​​है कि आप पूल के ConnectTimeout को बढ़ाकर इसे ठीक कर सकते हैं। मैंने इसे बहुत कम (10ms) सेट किया था, इसलिए जब पूल बनाया गया था, तो कुछ क्लाइंट उस छोटी अवधि में कनेक्ट करने में असमर्थ थे। अगर पूल इन ग्राहकों में से एक लौटाता है, तो यह इस त्रुटि को फेंक देगा ("0" पोर्ट इसलिए है क्योंकि यह कनेक्ट नहीं है - यह नहीं जानता कि यह किस पोर्ट से कनेक्ट नहीं है)। देरी के बाद, सभी ग्राहक कनेक्ट करने में सक्षम हैं।

मैंने अपने कनेक्ट टाइमआउट को 500ms तक बढ़ा दिया, और समस्या दूर हो गई - ग्राहक सभी कनेक्ट होते हैं, हालांकि उनमें से कुछ कुछ सौ मिलीसेकंड के लिए अवरुद्ध होते हैं। लेकिन यह एक त्रुटि से काफी बेहतर है।

+0

काम करने के लिए लगता है। मूल रूप से मैंने सोचा था कि कनेक्शन टाइमआउट सेकंड में था, इसलिए 10 को सेट करने में कोई आश्चर्य नहीं हुआ मेरी मदद नहीं कर रहा था :) – Klotin

-2

इसका मतलब यह हो सकता है कि पोर्ट नंबर या होस्ट पता गलत है।

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