2010-06-03 16 views
13

मैंने हाल ही में इन्फोक, पर एरलांग के बारे में एक वीडियो देखा है उस वीडियो में रचनाकारों में से एक ने संदेश लूप के व्यवहार को प्रतिस्थापित करने के तरीके को प्रस्तुत किया।एरलांग में कोड हॉट स्वैपिंग

वह संदेश संदेश लूप कोड के नए संस्करण के लैम्ब्डा युक्त एक संदेश भेज रहा था, जिसे बाद में पुराने लूप को कॉल करने के बजाय बुलाया गया था।

क्या यह कोड एरलांग में गर्म स्वैपिंग है? या यह कुछ अन्य मूल विशेषता है?

उत्तर

17

हां, एरलांग सर्वर में गर्म स्वैपिंग आम तौर पर इस सुविधा को संदर्भित करता है। यह स्टैक ओवरफ्लो प्रश्न Achieving code swapping in Erlang’s gen_server में और इस साफ Erlang Generic Server tutorial या this little one में अच्छी तरह से समझाया गया है।

एरलांग/ओटीपी gen_server मॉड्यूल कॉलबैक मॉड्यूल में Module:code_change/3 फ़ंक्शन को लागू करके हॉट स्वैपिंग प्राप्त करने का एक सामान्य तरीका प्रदान करता है।

इस तरह, आप इसे बंद किए बिना सर्वर कोड को अपग्रेड कर सकते हैं, या अगर कुछ उम्मीद के अनुसार काम नहीं करता है तो पूर्व कार्यान्वयन पर वापस आ सकता है। सामान्य रूप से, जेनेरिक release handler का उपयोग करके हॉट स्वैप को रखा जाना चाहिए।

+1

@ bruce14 एक मृत लिंक को हटाने का एक बेहतर विकल्प एक (स्थायी रूप से) संग्रहीत संस्करण –

+0

अच्छी सोच खोजने की कोशिश कर रहा है। और अच्छी नौकरी! – user

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