मैं जेनकिंस में नौकरी कैसे निर्धारित करूं?


284

मैंने जेनकिंस में एक नई नौकरी जोड़ी, जिसे मैं समय-समय पर शेड्यूल करना चाहता हूं।

से कॉन्फ़िगर काम , मैं "बिल्ड समय समय पर" चेकबॉक्स जाँच कर रहा हूँ और में अनुसूची पाठ क्षेत्र अभिव्यक्ति कहा:

१५ १३ * * *

लेकिन यह निर्धारित समय पर नहीं चलती है।

क्या नौकरी शेड्यूल करना सही प्रक्रिया है?

यहां छवि विवरण दर्ज करें

नौकरी सुबह 4:20 बजे चलनी चाहिए, लेकिन यह नहीं चल रही है।


यह चलता है या यह नहीं चलता है? अगर मैं सही ढंग से याद करूँ तो आपका क्रोन "हर दिन 13:15" कहता है। और हां: मैं इसे समय-समय पर बिल्ड शेड्यूल करने का सही तरीका मानता हूं।
फेल्डर

1
शायद इससे आपको मदद मिलेगी: en.wikipedia.org/wiki/Cron#CRON_expression - मैं देख रहा हूं कि सेड्रिक पहले ही इसे लिंक कर चुका है ... हो सकता है कि आप हमें यह बताएं, कि निर्धारित अवधि क्या है?
फेल्डर

1
संदर्भ के लिए, RHS पर नीले प्रश्न चिह्न से संभावित मानों की एक अच्छी व्याख्या का पता चलता है
devstopfix

यहाँ एक अच्छा वेबपेज है autogenerate -> crontab-generator.org
Carrasco

जवाबों:


506

निर्धारित अवधि निर्धारित करके 15 13 * * *आप जेनकिन्स को हर साल के हर महीने के हर दिन के 13 वें घंटे के 15 वें मिनट पर हर दिन का शेड्यूल बनाने के लिए कहें।

जेनकिंस ने एक क्रोन अभिव्यक्ति का उपयोग किया , और विभिन्न क्षेत्र हैं:

  1. एक मिनट में मिनट (0-59)
  2. एक घंटे में घंटे (0-23)
  3. एक महीने में दिन (1-31)
  4. महीने में एक महीना (1-12)
  5. सप्ताह का दिन (4-7) जहां 0 और 7 रविवार हैं

यदि आप हर 5 मिनट में अपने निर्माण का समय निर्धारित करना चाहते हैं, तो यह काम करेगा: */5 * * * *

यदि आप हर दिन 8h00 पर अपने निर्माण का समय निर्धारित करना चाहते हैं, तो यह काम करेगा: 0 8 * * *

पिछले कुछ संस्करणों (2014) के लिए, जेनकिंस का एक नया पैरामीटर है, H( जेनकिंस कोड प्रलेखन से निकालें ):

सिस्टम पर लोड का उत्पादन करने के लिए समय-समय पर निर्धारित कार्यों की अनुमति देने के लिए, Hजहां भी संभव हो , प्रतीक ("हैश") का उपयोग किया जाना चाहिए।

उदाहरण के लिए, 0 0 * * *एक दर्जन दैनिक नौकरियों के लिए उपयोग करने से आधी रात को एक बड़ा स्पाइक होगा। इसके विपरीत, उपयोग H H * * *करना अभी भी दिन में एक बार प्रत्येक नौकरी को निष्पादित करेगा, लेकिन सभी एक ही समय में सीमित संसाधनों का उपयोग करके बेहतर नहीं होगा।

यह भी ध्यान दें:

Hप्रतीक श्रेणी पर एक यादृच्छिक मूल्य के रूप में के बारे में सोचा जा सकता है, लेकिन यह वास्तव में, नौकरी के नाम, नहीं एक यादृच्छिक समारोह के हैश है ताकि मूल्य किसी भी परियोजना के लिए स्थिर बनी हुई है।

'H' का उपयोग करने का अधिक उदाहरण


5
तो हर 6hrs के बाद समय-समय पर निर्माण कैसे करें। करता है * */6 * * *काम करेंगे?
.т।

1
@ buildт every: हाँ, यह हर 6 घंटे में बिल्ड लॉन्च करेगा
सेड्रिक जुलिएन

31
5 * / ५ * * * * के बजाय
Sp

1
यदि आप H की सीमा को सीमित करना चाहते हैं, तो आप 1 और 3 के बीच की संख्या चुनने के लिए उदाहरण के लिए H (1-3) का उपयोग कर सकते हैं। उदाहरण 1H और 3am के बीच एक बार चलने के लिए HH (1-3) * * * होगा
एंडीक्लाव

16
निराशा की बात यह है कि मेरे मस्तिष्क में कुछ ऐसा प्रतीत होता है, जो डॉक्स को वापस संदर्भित करने के लिए लगातार बिना इन अभिव्यक्तियों को समझ नहीं सकता है।
कौशल एम 2

34

जेनकिंस आपको कई बार लाइन ब्रेक द्वारा अलग किए जाने की सुविधा देता है।

यदि आपको रोजाना सुबह 7 बजे निर्माण करने की आवश्यकता है, तो हर रविवार को शाम 4 बजे तक, नीचे दिए गए काम अच्छे से होते हैं।

H 7 * * *

H 16 * * 0

1
एच (0-0) 6 * * 1 (सोमवार को 6 बजे ईटी के लिए चलने के लिए), एच (0-0) 16 * * 0 (रविवार को शाम 4 बजे)। सादा H 16 (1600 / 4pm पर नहीं चलेगा), आपको H (0-0) 16 का उपयोग करना होगा ....
AKS

2
H(0-0)आप के बजाय @ArunSangal बस का उपयोग 0कर के लाभ का उपयोग कर सकते हैं Hकि सभी नौकरियां एक ही समय में ठीक से चलने का प्रयास नहीं करेंगे, बल्कि "अगले उपलब्ध समय-स्लॉट" प्राप्त करने का प्रयास करेंगे
derHugo


26

प्रारूप इस प्रकार है:

MINUTE (0-59), HOUR (0-23), DAY (1-31), MONTH (1-12), WEAY OF WEEK (0-6)

अक्षर H, शब्द का प्रतिनिधित्व करते हुए हश शब्द किसी भी मान के बजाय डाला जा सकता है। यह आप के प्रोजेक्ट नाम के हैश कोड के आधार पर पैरामीटर की गणना करेगा।

ऐसा इसलिए है कि यदि आप एक ही समय में अपनी बिल्ड मशीन पर कई प्रोजेक्ट बना रहे हैं, तो प्रत्येक दिन आधी रात को कहते हैं, वे सभी एक ही समय में अपने बिल्ड निष्पादन को शुरू नहीं करते हैं। प्रत्येक प्रोजेक्ट अपने हैश कोड के आधार पर एक अलग मिनट में इसका निष्पादन शुरू करता है।

आप संख्याओं के बीच होने का मान भी निर्दिष्ट कर सकते हैं, अर्थात H (0,30) प्रोजेक्ट का हैश कोड लौटा देगा जहाँ संभव हैश 0-30 हो।

उदाहरण:

  1. दैनिक निर्माण सुबह 08:30, सोमवार - शुक्रवार: 30 08 * * 1-5 से शुरू करें

  2. सप्ताह में दो बार दैनिक निर्माण, दोपहर के भोजन के समय 12:00 और मध्यरात्रि 00:00, रविवार से गुरुवार: 00 0,12 * 5-16

  3. 4:00 अपराह्न - 4:59 अपराह्न या 16:00 -16: 59 के बीच दैनिक निर्माण शुरू करें जो कि प्रोजेक्ट हैश पर निर्भर करता है: H 16 * * 1-5

  4. आधी रात को निर्माण शुरू करें: @ रात या आधी रात को निर्माण शुरू करें, हर शनिवार: ५ ९ २३ * * ६

  5. हर महीने की पहली सुबह 2:00 बजे से 02:30 बजे तक: H (0,30) 02 01 * *


1
अच्छी व्याख्या।
विवेक

10

जेनकिंस में अनुसूची नौकरियों के लिए कदम:

  1. नौकरी की आवश्यकता के "कॉन्फ़िगर" पर क्लिक करें
  2. नीचे स्क्रॉल करें " बिल्ड ट्रिगर " - उपशीर्षक
  3. समय-समय पर बिल्ड के चेकबॉक्स पर क्लिक करें
  4. शेड्यूल फ़ील्ड में समय अनुसूची जोड़ें, उदाहरण के लिए, @midnight

यहां छवि विवरण दर्ज करें

नोट : शेड्यूल फ़ील्ड के तहत, अंतिम और अगली तिथि-समय रन देख सकते हैं।

जेनकिंस भी निर्माण करने के लिए पूर्वनिर्धारित उपनाम का समर्थन करता है:

@hourly, @daily, @weekly, @monthly,@midnight

@hourly -> घंटे की शुरुआत में हर घंटे का निर्माण -> 0 * * * *

@daily, @midnight -> हर दिन आधी रात को निर्माण -> 0 0 * * *

@weekly -> हर हफ्ते रविवार की सुबह आधी रात को बनाएँ -> 0 0 * * 0

@monthly -> महीने के पहले दिन की आधी रात को हर महीने का निर्माण -> 0 0 1 * *


आधी रात को बहुत अच्छा लगता है :) जेनकींस @daily सहित @ से शुरू होने वाले कुछ विशेष मूल्यों को पहचानता है। क्या आप निश्चित सूची का लिंक पोस्ट कर सकते हैं?
क्रिसिनटाउन

@chrisinmtown, पूर्वनिर्धारित उपनाम सूची में जोड़ा गया, उम्मीद है, यह आपके लिए उपयोगी है :)
गेवरियल कोहेन

7

हर 5 मिनट में क्रोन जॉब शेड्यूल करने के लिए, आपको क्रोन सेटिंग्स को इस तरह परिभाषित करना होगा:

*/5 * * * *

मैं ठीक से काम करना चाहता हूं @ 8:00 पूर्वाह्न ईएसटी इसलिए मैंने जो क्रोन एक्सप्रेशन बनाया है - 00 08 * * * वह ठीक है?
संग्राम आनंद

दुर्भाग्य से इसका काम नहीं कर रहा है, पोस्ट में इसके स्क्रीन शॉट को संलग्न किया है, वर्तमान वर्तमान समय के साथ इसका परीक्षण कर रहा हूँ, अर्थात्, 4:20 AM कुछ ..
संग्राम आनंद

ईएसटी समय बिल्ड सर्वर पर एक ही टाइमज़ोन है?
fduff

हाँ समय समान है, btw * / 5 * * * * (हर 5mts) अच्छी तरह से काम करता है।
संग्राम आनंद

ठीक 8 बजे ईएसटी पर नौकरी चलाने के लिए, आपको इस तरह से करना होगा: एच (0-0) 8 * * *
AKS

3

0 8 * * * का उपयोग करके देखें। यह काम करना चाहिए


2

जेनकिंस शेड्यूलिंग पर क्रोन प्रारूप का उपयोग करता है। आप इस लिंक को और अधिक विवरण के लिए देख सकते हैं: //en.wikipedia.org/wiki/Cron एक और बात, जेनकिंस हमें एक बहुत ही उपयोगी पूर्वावलोकन प्रदान करते हैं। कृपया स्क्रीनशॉट पर एक नज़र डालें। यहां छवि विवरण दर्ज करें

मुझे उम्मीद है कि यह मदद मिलेगी। धन्यवाद


इन परिवर्तनों को कैसे लागू करें?
बालाजी बोगाराम रामनारायण


-1

जो किसी विशेष बिल्ड ट्रिगर को देखने के लिए पूरे घंटे इंतजार नहीं करना चाहते हैं:

हैश पाने के लिए, आप यहां हैश डाउनलोड कर सकते हैं । पूर्ण प्रोजेक्ट नाम का उपयोग शाखा पृष्ठ पर लिखे टाइप के रूप में करें और इसे इस तरह प्रिंट करें:

System.out.println(Hash.from("sub/microservices/master"));
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.