हमारे पास सीआरयूडी संचालन करने के लिए काफी सरल Django- आधारित वेबसाइट है। मैं स्थानीय स्तर पर परीक्षण और विकास कर रहा हूं और फिर परीक्षण किए जाने के बाद लाइव सर्वर पर रिलीज और डेटाबेस स्कीमा परिवर्तनों की जांच कर रहा हूं। कुछ प्रकार के परिवर्तनों को जारी करते समय हमने हाल ही में एक समस्या में भाग लिया है। कल्पना कीजिए कि घटनाओं के निम्न क्रम:लाइव वेबसाइट को सुरक्षित रूप से अपडेट करने के लिए
- उपयोगकर्ता एक वेब प्रपत्र
- साइट के लिए इस प्रपत्र
- उपयोगकर्ता प्रपत्र वे
- सर्वर पर काम कर रहा है प्रस्तुत पर नए क्षेत्र की आवश्यकता के लिए अद्यतन किया जाता है खोलता है एक त्रुटि देता है क्योंकि यह चरण 2
में जोड़े गए नए फ़ील्ड को प्राप्त करने की उम्मीद है, अन्य साइटें इस तरह की समस्याओं को कैसे संभालती हैं? मेरे विचार:
- अपडेट किए जाने पर साइट ऑफ़लाइन लें। यह वास्तव में समस्या को हल नहीं करता है, क्योंकि उपयोगकर्ता को सबमिट करने से पहले एक अनंत समय के लिए एक वेब फॉर्म खोल सकता है, लेकिन कुछ निश्चित समय के बाद यह संभव नहीं होगा कि कोई भी फॉर्म सबमिट कर रहा हो।
- बहुत कम यातायात के समय स्वचालित अपडेट करें। फिर यह वास्तव में समस्या का समाधान नहीं करता है, लेकिन हमारी साइट लोकप्रिय नहीं है और अगर हमने 3: 00 ए पर अपडेट किया है तो मुझे संदेह है कि कई उपयोगकर्ता होंगे। इस तकनीक के साथ एक चिंता स्वचालित अपडेट है जो असफल हो जाता है।
- संस्करण संस्करण बनाते हैं ताकि सर्वर पहचान सके कि एक पुराना फॉर्म सबमिट किया जा रहा है और अधिक उपयोगकर्ता अनुकूल प्रतिक्रिया प्रदान करता है। क्या स्वचालित उपकरण हैं जो इससे मदद कर सकते हैं?
विचार?
समस्या है - उपयोगकर्ता अपग्रेड के दौरान फॉर्म सबमिट करता है - आपके हाथों को घुमाने के लिए पर्याप्त आम है? या यह एक काल्पनिक "किसी दिन हो सकता है" समस्या है? –
@ एसएलओटी, अगर हम कोने के मामलों के बारे में चिंता नहीं करते हैं तो हम अच्छे प्रोग्रामर नहीं होंगे। –
मुझे लगता है कि असली सवाल यह है कि "लाइव वेबसाइट को अपग्रेड करने का एक अच्छा तरीका क्या है?" – winsmith