पैक्सडेमोनिका

पायथन के लिए कार्यकर्ता और अनुप्रयोग सर्वर
अब डाउनलोड करो

पैक्सडेमोनिका रैंकिंग और सारांश

विज्ञापन

  • Rating:
  • लाइसेंस:
  • MIT/X Consortium Lic...
  • प्रकाशक का नाम:
  • Jeffrey Jenkins
  • प्रकाशक वेब साइट:
  • http://qcircles.net

पैक्सडेमोनिका टैग


पैक्सडेमोनिका विवरण

पाइथन के लिए कार्यकर्ता और आवेदन सर्वर पैक्सडेमोनिका एक मॉड्यूल है जो एकीकृत लॉगिंग और निगरानी के साथ अनुप्रयोग चलाने के लिए एक मॉड्यूल है, एक बेहद सरल तैनाती और अपग्रेड प्रक्रिया, आरपीसी / रिमोट एसिंक्रोनस निष्पादन। यह रीडमे वर्तमान में लागू होने वाले दस्तावेज करने का प्रयास करेगा। मैं भविष्य की योजनाओं के बारे में ब्लॉग पोस्ट लिखूंगा और उचित वर्गों में उनसे लिंक करूँगा, इसलिए अभी यह क्या करने के बारे में कोई भ्रम नहीं है। प्रियेमेंस ने बाहरी आवश्यकताओं की संख्या को कम करने का प्रयास किया है। अभी तक आपको एक ही मशीन और पाइथन रेडिस लाइब्रेरी (https://github.com/andymccurdy/redis-py) पर चल रहे रेडिस सर्वर की आवश्यकता है । यह सर्वर, नियंत्रक प्रक्रिया, और पोर्ट 8000 पर एक यूआई शुरू करेगा। यूआई का वेब सर्वर वास्तव में एक पैक्सड एप्लिकेशन के आसपास एक पतली रैपर है जो आपको PAXD / Webuiapp / Webui.py में मिलेगा। सर्वर के पास नियंत्रक के लिए एक छद्म-ऐप भी है जो विभिन्न कमांड को संभालता है। प्रत्येक पैक्सड इंस्टेंस में एक अद्वितीय इंस्टेंस आईडी होनी चाहिए, हालांकि वर्तमान में रूट सर्वर में हार्ड-कोडेड मूल्य है। अद्वितीय आईडी केवल मायने रखती है जब एक ही कतार से पैक्सड पढ़ने के कई उदाहरण होते हैं। इसका उपयोग किसी एप्लिकेशन को लोड करते समय "असफल" कार्य सूची में "सक्रिय" कार्य सूची में स्थानांतरित करने के लिए किया जा रहा है (चूंकि एप्लिकेशन स्टार्टअप पर कोई सक्रिय कार्य नहीं हो सकता है, यह मानना ​​सुरक्षित है कि वर्तमान की आवृत्ति आईडी के साथ कोई भी कार्य सर्वर बंद होने पर सर्वर अपूर्ण थे) .Applicationsa Paxd एप्लिकेशन, अपने सबसे सरल, बस एक अजगर समारोह में है। हालांकि, एक आवेदन को थोड़ा और अधिक लोड करने के लिए आवश्यक है। एक एप्लिकेशन में इसे लोड करने के लिए आवश्यक कई महत्वपूर्ण विशेषताएं हैं: - पथ - यह उन प्रक्रियाओं में sys.path में जोड़ा जाता है जहां एप्लिकेशन चल रहा है- प्रविष्टि - यह DOT.DELIMIATED.NAME को कॉल किया जाना चाहिए। यह उम्मीद करता है कि यह सच हो गया है: entrepartition ('।') == (मॉड्यूल, '।', फ़ंक्शन) - कतार - (वैकल्पिक) यह वह जगह है जहां एप्लिकेशन को अपना डेटा प्राप्त होगा। यदि कोई कतार नहीं है, तो सभी प्रक्रियाएं लगातार अपने आदेश चलाएंगी। एप्लिकेशन ऑब्जेक्ट्स पर अन्य विशेषताएं हैं, लेकिन ये केवल वही हैं जिन्हें अभी सेट किया जा सकता है। जब एक एप्लिकेशन लोड किया जाता है तो एक यादृच्छिक आईडी इसे सौंपा जाता है। एक ही एप्लिकेशन के कई उदाहरण सर्वर पर उपलब्ध सर्वर पर उपलब्ध कर सकते हैं। सर्वर पर उपलब्ध कमांड हैं: - एक आवेदन लोड हो रहा है। /भार। स्क्रिप्ट / LOAD_TASK.PY.- एक एप्लिकेशन को रोकें। / रोकें? आईडी = app_id- एक आवेदन को अप्राप करें। / unpause? id = app_id- एक आवेदन निकालें। / निकालें? आईडी = app_idthe नीचे तीन कमांड वेब ui.rpc / asynchronous exactionin paxd / client.py में उपलब्ध हैं एक कार्य सजावट है जो एक फ़ंक्शन को "देरी" विशेषता जोड़ देगा। विशेषता एक फ़ंक्शन है जिसका उपयोग असीमित कमांड को चलाने के लिए (अजवाइन में) किया जा सकता है। यह सर्वर पर एक अचार संदेश भेजता है और एक वादा ऑब्जेक्ट देता है जिसका उपयोग वांछित होने पर परिणाम पुनर्प्राप्त करने के लिए किया जा सकता है। अनुरोधों को वास्तव में संसाधित करने के लिए, सजाए गए फ़ंक्शन के लिए एक एप्लिकेशन लोड किया जाना चाहिए (स्क्रिप्ट / load_task.py.web उठे वेब यूआई देखें, पोर्ट 8000 पर शुरू हुआ, चल रहे अनुप्रयोगों की एक सूची देता है और उन्हें रोका जाने की अनुमति देता है , onpaused, और हटा दिया गया। वेब यूआई को खुद को रोका या हटाया नहीं जा सकता है, क्योंकि यह सर्वर की निगरानी / नियंत्रण करने के लिए उपयोग किए जाने वाले एपीआई को अक्षम करेगा .सेगेस्टर अनुरोधों के लिए दो वर्ग हैं: एक के लिए एक और पायथन पिकलिंग के लिए एक एपीआई समान हैं। एक अनुरोध के लिए एक रेडिस कनेक्शन, कतार का नाम, और तर्क / केडब्ल्यूडी की आवश्यकता होती है जिसे लक्ष्य के साथ बुलाया जाना चाहिए। प्रत्येक अनुरोध में एक यूयूआईडी है जो रेडिस में कतार है जिसे प्रतिक्रिया (इन पर जाना चाहिए कतारों में केवल एक आइटम होगा)। जब एक संदेश भेज दिया जाता है तो इसे रेडिस में दिए गए कतार में जोड़ा जाता है। यदि एप्लिकेशन के पूल में एक नि: शुल्क प्रोसेसर है तो यह होगा: - कतार में एक आइटम को कतार में ले जाएं: लंबित - एक में लेनदेन, कतार से आइटम हटाएं: लंबित और इसे कतार में सेट करें: सक्रिय ई, एक रेडिस हैश, उदाहरण के मान के साथ - एक लेनदेन में आइटम - एक लेनदेन में, कतार से आइटम को हटाएं: सक्रिय और अनुरोध की प्रतिक्रिया कतार में प्रतिक्रिया लिखें। अनुरोध की प्रेषण विधि एक वादा देता है। यदि .get () को वादे पर बुलाया जाता है, तो यह या तो मूल्य वापस कर देगा या अपवाद बढ़ाएगा (यदि कोई त्रुटि थी)। आवश्यकताएं: पायथन


पैक्सडेमोनिका संबंधित सॉफ्टवेयर

marrow.templating

पायथन अनुप्रयोगों के लिए एक सामान्य टेम्पलेटिंग और सीरियलाइजेशन इंटरफ़ेस ...

139

डाउनलोड