2010-05-11 6 views
8

मैं एक ऐप्लिकेशन है जो एक डाटाबेस, प्रक्रिया डेटा से कुछ जानकारी में पढ़ा है, परिवर्तन वापस डाटाबेस को लिखेंगे, और फिर कुछ उपयोगकर्ताओं या समूहों को इन परिवर्तनों के साथ एक ईमेल भेजने के बनानी होगी। मैं इसे सी # में लिखूंगा, और यह प्रक्रिया सप्ताह में एक बार एक विशेष समय पर चलनी चाहिए। यह एक विंडोज 2008 सर्वर पर चल रहा होगा।निर्धारित कार्य या खिड़कियों सेवा

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

हाल ही में, हालांकि, मैंने देखा है ब्लॉग पोस्ट और इस तरह है कि एक सांत्वना आवेदन लिख और फिर इसे निष्पादित करने के लिए एक निर्धारित कार्य का उपयोग करें।

मैं यह बहुत ही इस मुद्दे से बात कर कई पदों पढ़ा है, लेकिन एक निश्चित जवाब के बारे में जो प्रक्रिया बेहतर है नहीं देखा है।

आप में से कोई भी क्या सोचता है?

किसी भी विचार के लिए धन्यवाद।

उत्तर

14

यदि यह प्रति सप्ताह एक आवेदन है, तो शेष सप्ताह के लिए पृष्ठभूमि में इसे चलाने के लिए संसाधनों को बर्बाद क्यों करें।

एक कंसोल एप्लिकेशन अधिक उपयुक्त लगता है।

अंगूठे का सामान्य नियम जो मैं उपयोग करता हूं वह इन पंक्तियों के साथ कुछ है। सबसे पहले मैं कुछ सवाल पूछता हूं।

  1. निष्पादन # 1
  2. में परिवर्तन की
  3. आवृत्ति ट्रिगर तंत्र
मूल रूप से यहां से

की आवृत्ति यदि निष्पादन की आवृत्ति दैनिक या कम बार मैं लगभग हमेशा एक ओर झुक जाएगा निर्धारित कार्य। फिर परिवर्तनों के लिए आवृत्ति को देखते हुए, यदि शेड्यूल में बदलावों की उच्च मांग है, तो मैं शेड्यूल परिवर्तनों के लिए कोडिंग परिवर्तनों की अनुमति देने के लिए अनुसूचित कार्यों की ओर झुकने की भी कोशिश करूंगा। आखिरकार यदि समय के अलावा किसी ट्रिगर का कोई विचार होता है, तो मैं एक एप्लिकेशन के "भविष्य के सबूत" की मदद के लिए विंडोज सेवाओं की तरफ झुकता हूं। उदाहरण के लिए कहें कि प्रत्येक बार जब उपयोगकर्ता एक्स फ़ोल्डर में फ़ाइल छोड़ देता है तो आवश्यकता को चलाने के लिए परिवर्तन होता है।

+0

मैं सर्वर संसाधनों का उपयोग करने के बारे में सहमत हूं। मुझे लगता है कि यह वह दिशा है जिसे मैं जाऊंगा। धन्यवाद – czuroski

3

यदि आपके पास केवल एक ही एप्लिकेशन है और आपको सप्ताह में एक बार चलाने की आवश्यकता है तो शेड्यूलर अच्छा होगा क्योंकि सिस्टम पर अलग-अलग सेवा और प्रक्रिया चलने की आवश्यकता नहीं है जो ज्यादातर समय निष्क्रिय हो जाएगी।

6

बुनियादी नियम मैं पालन है: अगर आप लगातार चल रहा हो क्योंकि ब्याज की घटनाओं को किसी भी समय हो सकता है की जरूरत है, (यूनिक्स में या डेमॉन) एक सेवा का उपयोग करें।

तुम सिर्फ समय-समय पर, कुछ करना एक निर्धारित कार्य (या cron) उपयोग करना चाहते हैं। एक निर्धारित कार्य के लिए जाने -

पक्की दलील यहाँ वाक्यांश "must be run once a week at a particular time" है।

+0

यही मैंने सोचा था। जैसा कि मैं पदों के माध्यम से पढ़ रहा था, मुझे यह महसूस करने की भावना थी। मुझे इसे एक मौका और देना होगा। धन्यवाद – czuroski