5

शुरू नहीं होती हैं मेरे पास कुछ हद तक कंसोल ऐप्स इंस्टॉल हैं जो टॉपशेल्फ़ के अंतर्गत चल रही सेवाओं के रूप में स्थापित हैं और यदि मैं मैन्युअल रूप से इंस्टॉल और चलाता हूं तो वे ठीक काम करते हैं। हालांकि स्टार्टअप प्रकार स्वचालित पर सेट होने के बावजूद कोई भी स्वचालित रूप से प्रारंभ नहीं होता है।स्वचालित सेवाएं

HostFactory.Run(x => 
{ 
    x.Service<MyApp>(s => 
    { 
     s.ConstructUsing(name => container.Resolve<MyApp>()); 
     s.WhenStarted(tc => tc.Start()); 
     s.WhenStopped(tc => 
     { 
      tc.Stop(); 
      container.Dispose(); 
     }); 
    }); 

    x.RunAsLocalSystem(); 
    x.StartAutomatically(); 
    x.EnableServiceRecovery(rc => rc.RestartService(5)); 
}); 

क्षुधा विन 2008 R2 के तहत चलाने के लिए और वे एक बैच फ़ाइल व्यवस्थापक के रूप में मार डाला का उपयोग कर स्थापित कर रहे हैं:

क्षुधा इस प्रकार कॉन्फ़िगर किया गया है। बैच फ़ाइल निम्नलिखित शामिल हैं:

app.exe install --sudo 
app.exe start 

बैच फ़ाइल अपेक्षित तरीके से चलना सेवाओं को क्रियान्वित करने के बाद। हालांकि अगर मैं रीबूट करता हूं तो वे रुक जाते हैं।

Event 7000: The service failed to start due to the following error: The service did not respond to the start or control request in a timely fashion.

Event 7009: A timeout was reached (30000 milliseconds) while waiting for the service to connect.

के बाद ही एक रिबूट एक ऊंचा कमांड प्रॉम्प्ट से app.exe start चलाने के लिए है अनुप्रयोग शुरू करने के लिए जिस तरह से:

ईवेंट लॉग प्रत्येक सेवा के लिए घटनाओं की एक ही जोड़ी देता है।

कोई विचार?

उत्तर

4

ठीक है मैंने इसे ठीक कर दिया है। सेवा स्टार्टअप प्रकार स्वचालित पर सेट किए गए थे लेकिन मैंने उन्हें स्वचालित (विलंबित) में बदल दिया है और अब स्टार्ट-अप पर ठीक से चल रहे हैं।

इसके अलावा मैं भविष्य में उपयोग के लिए बैच फ़ाइलों को स्थापित करने के लिए संशोधित किया है:

app.exe install --delayed --sudo 
app.exe start 

केवल एक अनुमान है, लेकिन शायद नेटवर्क सेवाओं जो उपलब्ध नहीं हो सकता पर निर्भर है।

+0

आपने मुझे सूचना के कचरे में खोदने के 100 साल बचाए हैं :) – alerya

2

सबसे संभावित उत्तर यह है कि मशीन पर अन्य सामान होने पर स्टार्ट अप के दौरान कंटेनर को बनाने और हल करने में बहुत लंबा समय लग रहा है। जब आप इसे मैन्युअल रूप से करते हैं, तो संसाधनों के लिए कुछ और नहीं है। & निर्माण के बाद तक आप अपने कंटेनर में किए गए कुछ कार्यों को रोक सकते हैं? आप अधिक समय का अनुरोध भी कर सकते हैं, लेकिन मुझे अपने सिर के ऊपर से उस एपीआई को याद नहीं है।

+0

अच्छा बिंदु, उच्च CPU लोड हो सकता है क्योंकि प्रत्येक ऐप अमेज़ॅन एसक्यूएस पर कुछ कतार प्रोसेसिंग करता है। स्टार्ट-अप पर सेवा कतार की जांच करती है, एस 3 से कुछ ऑब्जेक्ट्स डाउनलोड करती है, उन्हें संसाधित करती है, एस 3 पर वापस अपलोड करती है और एक नया कतार संदेश लिखती है। हालांकि हम केवल प्रति घंटे कुछ दर्जन संदेशों से निपट रहे हैं, वे CPU संसाधन पर बहुत हल्के हैं। लेकिन मशीन एक ईसी 2 माइक्रो इंस्टेंस है और संभवतः स्पाइक सभी 6 सेवाओं को असफल कर सकती है ... हालांकि मैं पूरी तरह से आश्वस्त नहीं हूं कि यह कारण है। मैं सभी को एक को अक्षम करने का प्रयास करूंगा और देख सकता हूं कि मैं इसे ऑटो-स्टार्ट करने के लिए प्राप्त कर सकता हूं या नहीं। –

+0

अभी भी कोई खुशी नहीं है। मैंने एक नया स्टॉक win2012 vm लिया और एक ही सेवा स्थापित की और इसके संचालन का परीक्षण किया। रीबूट के बाद यह बंद हो जाता है और इवेंट लॉग उपर्युक्त त्रुटि दिखाता है। अगर मैं तुरंत चलाने के लिए सेवा शुरू करता हूं। –

+0

यदि आप एक साधारण प्रजनन बना सकते हैं और इसे मेलिंग सूची (https://groups.google.com/forum/?fromgroups#!forum/topshelf-discuss) में ला सकते हैं तो शायद हम थोड़ा और मदद कर सकते हैं। लक्षण अभी भी एक ही समस्या का है, इसे शुरू करने के दौरान बहुत अधिक समय लग रहा है। तो जवाब किसी भी तरह से देरी है जो शुरू होने के दौरान बहुत अधिक समय ले रहा है लेकिन बाद में नहीं। – Travis

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