2009-04-01 6 views
12

मुझे एक एप्लिकेशन (मेरी कंपनी के लिए आंतरिक) विरासत में मिला है जो इंटरनेट एक्सप्लोरर में चल रहे जावास्क्रिप्ट का उपयोग करता है जो अजाक्स को वेबलॉगिक सर्वर v10 में चल रहे स्ट्रैट्स-आधारित एप्लिकेशन को कॉल करता है।क्या HTTP 503 उठाता है और टाइमआउट कैसे बदला जाता है?

सिस्टम में कुछ सर्वर-साइड ऑपरेशंस 3 मिनट से अधिक समय ले रहे हैं। उपयोगकर्ताओं ने लगातार ध्यान दिया कि अजाक्स कॉल 3 मिनट के निशान पर 503 त्रुटि देता है। मेरे उपयोगकर्ता 3 मिनट से अधिक समय तक प्रतीक्षा कर सकते हैं, लेकिन 503 त्रुटियां उनके काम को बाधित करती हैं।

इस एप्लिकेशन को प्रदर्शन करने की आवश्यकता है, लेकिन 503 त्रुटि वापस आने से पहले कितना समय हो सकता है, इसे विस्तारित करने के लिए हमें अस्थायी कार्यवाही की आवश्यकता है।

वर्तमान सिद्धांत यह है कि आईई XMLHttpRequest ऑब्जेक्ट द्वारा 503 त्रुटि उठाई जा रही है। माना गया वेबलॉगिक विशेषज्ञों की एक टीम ने हमारे कोड और वेबलॉगिक लॉग पर डाला, और घोषणा की कि सर्वर की ओर से कोई टाइमआउट नहीं हुआ है। लेकिन मुझे संदेह है।

मेरा सवाल यह है कि सॉफ्टवेयर का कौन सा टुकड़ा 503 त्रुटि बढ़ाने के लिए ज़िम्मेदार है: ब्राउज़र, अजाक्स जावास्क्रिप्ट, या सर्वर? और क्या इस टाइमआउट अवधि को बदला जा सकता है?

+0

इस पुराने प्रश्न के बाद ... मेरे मामले में, यह खराब ट्यून किए गए सर्वर कोड के कारण प्रतिक्रिया देने में बहुत लंबा समय लगा। 30 सेकंड से कम (कम से कम) प्रतिक्रिया प्राप्त करने से यह लक्षण दूर हो गया है। अभी भी यह सुनिश्चित नहीं है कि कौन सा सॉफ़्टवेयर 503 और/या टाइमआउट को कैसे बदला जा रहा है, इसलिए मुझे लगता है कि मैं यह प्रश्न खुला छोड़ दूंगा। –

+0

इस प्रश्न पर शब्द सही था! एक महान सवाल के लिए बहुत बेकार धन्यवाद। ये ऐसे प्रश्न हैं जिनकी जरूरत है – thedouglenz

उत्तर

2

आपके वेब सर्वर के पास एक अनुरोध उत्तर टाइमआउट है जो लंबे समय से चलने वाले सेवा अनुरोधों से गुजर रहा है। यह वेबलॉगिक सर्वर या प्रॉक्सी हो सकता है। यह निश्चित रूप से ग्राहक नहीं है।

क्या आपने एक एसिंक्रोनस HTTP अनुरोध सबमिट करने पर विचार किया है जिसे तुरंत जवाब दिया जाएगा, और फिर अंतिम परिणामों के लिए एक और स्थान मतदान करेगा? तीन मिनट लगभग 170 सेकंड बहुत लंबा है।

4

एक 503 त्रुटि कई तरह की त्रुटियों के लिए कैच-सब है, आमतौर पर सर्वर की तरफ। आपके मामले में यह हो सकता है कि सर्वर किसी निश्चित टाइमआउट के बाद कनेक्शन को अस्वीकार कर रहा है, और 503 के साथ प्रतिक्रिया दे रहा है यह इंगित करने के लिए कि सर्वर अधिभारित है या आपके अनुरोध को संसाधित नहीं कर सकता है।

वेब सेवाओं के साथ कई बार, 503 वापस किया जाएगा जब सर्वर कोड अपवाद या त्रुटि फेंकता है। सर्वर कोड को ठीक से त्रुटि को संभाल नहीं करता है, यह सर्वर, जो सिर्फ एक सामान्य 503.

http://www.checkupdown.com/status/E503.html

Error code 5xx (alternate definition)

RFC 2616

3

503 के साथ वापस जवाब देंगे करने के लिए बुलबुला एक सर्वर त्रुटि है। XMLHttpRequest खुशी से 3 मिनट से अधिक समय तक प्रतीक्षा करेगा। सबसे पहले आपको जो करना चाहिए वह टेलनेट या नेटकैट या इसी तरह की समस्या यूआरएल पर जाकर और तस्वीर के बाहर जावास्क्रिप्ट के साथ 503 को देखकर स्वयं को संतुष्ट करता है।

फिर आप सर्वर की ओर टाइमआउट ढूंढने के लिए आगे बढ़ सकते हैं।

1

503 सर्वर पर टाइमआउट के कारण सबसे अधिक संभावना है। यदि आप अपने अपाचे सर्वर को ट्यून कर सकते हैं, तो टाइमआउट विशेषता के बारे में पढ़ें जिसे आप httpd.conf में सेट कर सकते हैं। यह देखने के लिए httpd/logs/error_log में देखें कि क्या समय समाप्ति हो रही है। इस उत्तर को भी देखें: Mod cluster proxy timeout in apache error logs

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