2012-08-23 10 views
8

मैं शेड्यूल बनाने में सक्षम होना चाहता हूं जिसे एक निश्चित तिथि के आधार पर निष्पादित किया जा सकता है, प्रतिदिन एक विशेष दिन पर दोहराया जाता है, साल के किसी विशेष महीने पर दोहराया जाता है, दोहराया जाता है हर साल एक विशेष तारीख, और दिन के एक विशेष समय पर दोहराया।शेड्यूलिंग कार्यों के लिए डेटाबेस तालिका डिज़ाइन

कृपया इस समस्या के लिए डेटाबेस टेबल बनाने के बारे में कैसे जाना है?

# संपादित करें 1

मूल रूप से, मैं एक आवेदन है कि उपयोगकर्ताओं को पहले से कॉन्फ़िगर बधाई विभिन्न पूर्व कॉन्फ़िगर समय पर भेजे जाने के लिए शेड्यूल करने के लिए अनुमति देता है लिख रहा हूँ। मुझे पता है कि मुझे एक टेबल की आवश्यकता है जो शेड्यूल के बारे में जानकारी संग्रहीत करे (उदा। क्रिसमस, मार्केटिंग वन, ... | और जब शेड्यूल चलाना चाहिए)। फिर एक और टेबल रिकॉर्ड करने के लिए कि कौन सा शेड्यूल चलाया गया है, यह किस ग्रीटिंग को भेजा गया है, किसके लिए और कौन सा ईमेल; मूल रूप से एक लेनदेन तालिका।

मेरी समस्या अनुसूची तालिका को डिज़ाइन कर रही है क्योंकि, मैं हर महीने किसी विशेष दिन, हर महीने के किसी विशेष दिन, किसी विशेष दिन, किसी विशेष दिन, किसी विशेष दिन, अनुसूची) पर शेड्यूल चलाने की अनुमति देना चाहता हूं , और हर साल एक विशेष दिन/माह (उदा। 25/12) पर।

मैं शेड्यूल के लिए टेबल का एक सेट कैसे बना सकता हूं जो इन इनपुटों को लचीला तरीके से ख्याल रखेगा?

+1

आप एक में निर्मित अनुसूचक का उपयोग नहीं कर सकते हैं? अधिकांश आरडीबीएमएस में ये हैं और आपको तब पहिया का फिर से आविष्कार नहीं करना पड़ेगा। – Ben

+0

डेटाबेस में "निष्पादन" का भी प्रतिनिधित्व किया जाना चाहिए (और कैसे?) या बस शेड्यूलिंग? –

+0

@ ब्रैंको डिमिट्रीजेविक हां इसे चाहिए। – Tebo

उत्तर

6

यह तालिका संरचना है जिसके साथ मैं आया हूं;

Schedule 
- ScheduleName 
- ScheduleTypeId (Daily, Weekly, Monthly, Yearly, Specific) 
- StartDate 
- IntervalInDays 
- Frequency 
- FrequencyCounter 

ScheduleDaily 
- ScheduleDailyId 
- ScheduleId 
- TimeOfDay 
- StartDate 
- EndDate 

ScheduleMonthly 
- ScheduleMonthlyId 
- ScheduleId 
- DayOfMonth 
- StartDate 
- EndDate 

ScheduleSpecific 
- ScheduleSpecificId 
- ScheduleId 
- SpecificDate 
- StartDate 

... 

ScheduleJob 
- ScheduleJobId 
- ScheduleId 
- ScheduleTypeId 
- RunDate 
- ScheduleStatusId 
1

चूंकि आप शेड्यूल के बारे में बात कर रहे हैं, मुझे लगता है कि आप प्रबंधन और नौकरियों के निष्पादन के लिए बैच आवेदन बनाना चाहते हैं।

आप एक संदर्भ कार्यान्वयन के लिए spring batch meta data design देख सकते हैं। हालांकि, सटीक डिजाइन आपकी आवश्यकता पर निर्भर करेगा। यह सिर्फ एक सूचक है।

+0

धन्यवाद। लेकिन यह काफी सामान्य है। मुझे कुछ डिज़ाइन चाहिए जो शेड्यूल के लिए विभिन्न अवधि (निश्चित तिथि, महीने का आवर्ती दिन, सप्ताह का आवर्ती दिन ...) का प्रतिनिधित्व करता है। अंततः एक निर्दिष्ट तारीख में अनुवाद किया जाएगा। – Tebo

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