2009-10-28 17 views
6

मैं वर्तमान में एक पायथन प्रोग्राम पर काम कर रहा हूं जो Win32service और win32serviceutil का उपयोग कर विंडोज सेवा के रूप में चलता है। सेवा py2exe का उपयोग करने के बाद और यहां तक ​​कि चलने के बाद भी चलती है, सबकुछ ठीक है (सेवा लक्ष्य फ़ोल्डर (ओं) पर निगरानी रखती है और स्वचालित रूप से निर्दिष्ट FTP स्थान पर एफ़टीपी की नव निर्मित फाइलें)। हालांकि, मैं स्थानीय और एफ़टीपी निर्देशिकाओं को निर्दिष्ट करने के लिए कुछ कमांड लाइन तर्क (स्थापित करने, हटाने, शुरू करने, रोकने, इत्यादि ...) जोड़ने के लिए चाहता हूं। http://www.py2exe.org/old/पायथन सेवा कस्टम कमांड तर्क

"वैकल्पिक रूप से, आप एक 'cmdline शैली' py2exe से जोड़कर देखते हैं, मान्य मान, 'py2exe' (डिफ़ॉल्ट) किया जा रहा है 'pywin32' या 'के साथ निर्दिष्ट कर सकते हैं: इस पर केवल प्रलेखन मैं क्या पाया है कस्टम '।' py2exe 'हमेशा py2exe द्वारा समर्थित पारंपरिक कमांड लाइन निर्दिष्ट करता है।' pywin32 'सटीक समान कमांड लाइन तर्कों का समर्थन करता है क्योंकि pywin32 समर्थन करता है (यानी, .py फ़ाइल से सेवा चलाते समय समर्थित वही तर्क।)' कस्टम 'का अर्थ है कि आपके मॉड्यूल से' हैंडल कमांडलाइन 'फ़ंक्शन प्रदान करने की उम्मीद है जो सभी कमांड लाइन हैंडलिंग के लिए ज़िम्मेदार है। "

किसी भी मदद की सही दिशा में ध्यान देने में सराहना की जाएगी। स्पष्टता के लिए किसी भी कोड की आवश्यकता होने पर कृपया मुझे बताएं।

धन्यवाद, ज़ैक

उत्तर

3

here कैसे एक कस्टम HandleCommandLine classmethod के साथ एक सेवा बनाने के लिए का एक अच्छा उदाहरण है - यह अग्निछाया का हिस्सा है लेकिन अग्निछाया पर कोई निर्भरता है, बल्कि यह एक उपयोगिता "सार आधार वर्ग" है कि आप अपने उप-वर्ग में केवल कुछ चीजें सेट करके कम से कम झगड़े के साथ जाकर सेवा प्राप्त कर सकते हैं। अपनी विशिष्ट ज़रूरतों के लिए, आप इसे कमांड लाइन हैंडलिंग प्राप्त करने के लिए कॉपी और संपादित करने के लिए टेम्पलेट के रूप में उपयोग कर सकते हैं!

+0

यह वही हो सकता है जो मुझे चाहिए, मैं इसे अपने कोड पर लागू करने के बाद वापस पोस्ट करूंगा। –

+0

यह एक दिलचस्प फिक्स था। असल में, अमूर्त बेस क्लास, बेसिकेंट सेवा, सेवा पैरामीटर को सामान्य के रूप में प्राप्त करती है (इंस्टॉल, हटाएं, अपडेट करें, आदि ...)। फिर, अतिरिक्त पैरामीटर के लिए कमांड लाइन पर एक नया प्रॉम्प्ट है जो रजिस्ट्री के माध्यम से संग्रहीत और पुनर्प्राप्त किया जाता है। –

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