1s 8 नियमित कार्य। अनुसूचित और पृष्ठभूमि कार्य (निर्माण, कॉन्फ़िगरेशन, लॉन्च)

कार्य तंत्र

कार्य तंत्र को किसी भी एप्लिकेशन या कार्यक्षमता को शेड्यूल या एसिंक्रोनस रूप से निष्पादित करने के लिए डिज़ाइन किया गया है।

कार्य तंत्र निम्नलिखित कार्य करता है:

  • सिस्टम कॉन्फ़िगरेशन के स्तर पर नियमित प्रक्रियाओं को निर्धारित करने की क्षमता;
  • अनुसूची के अनुसार निर्दिष्ट कार्यों का निष्पादन;
  • किसी दी गई प्रक्रिया या फ़ंक्शन के लिए कॉल का निष्पादन अतुल्यकालिक है, अर्थात। इसके पूरा होने की प्रतीक्षा किए बिना;
  • किसी विशिष्ट कार्य की प्रगति को ट्रैक करना और उसकी पूर्णता की स्थिति प्राप्त करना (इसके निष्पादन की सफलता या विफलता को दर्शाने वाला मान);
  • वर्तमान कार्यों की सूची प्राप्त करना;
  • एक या अधिक कार्यों के पूरा होने की प्रतीक्षा करने की क्षमता;
  • नौकरी प्रबंधन (रद्द करने की संभावना, निष्पादन को रोकना आदि)।

जॉब इंजन में निम्नलिखित घटक होते हैं:

  • अनुसूचित कार्यों का मेटाडेटा;
  • अनुसूचित कार्य;
  • पृष्ठभूमि की नौकरियां;
  • कार्य अनुसूचक।

बैकग्राउंड जॉब्स - एप्लिकेशन कार्यों को अतुल्यकालिक रूप से करने के लिए डिज़ाइन किया गया। पृष्ठभूमि की नौकरियां अंतर्निहित भाषा का उपयोग करके कार्यान्वित की जाती हैं।

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

एक शेड्यूल्ड जॉब में एक शेड्यूल होता है जो निर्धारित करता है कि किस समय शेड्यूल्ड जॉब से जुड़ी विधि को निष्पादित किया जाना चाहिए। शेड्यूल, एक नियम के रूप में, इन्फोबेस में सेट किया गया है, लेकिन इसे कॉन्फ़िगरेशन चरण में भी सेट किया जा सकता है (उदाहरण के लिए, पूर्वनिर्धारित शेड्यूल किए गए कार्यों के लिए)।

कार्य अनुसूचक का उपयोग निर्धारित कार्यों के निष्पादन को निर्धारित करने के लिए किया जाता है। प्रत्येक निर्धारित कार्य के लिए, अनुसूचक समय-समय पर जाँचता है कि क्या वर्तमान दिनांक और समय निर्धारित कार्य के समय से मेल खाता है। यदि यह मेल खाता है, तो शेड्यूलर उस कार्य को चलाने के लिए शेड्यूल करता है। ऐसा करने के लिए, इस निर्धारित कार्य के अनुसार, अनुसूचक एक पृष्ठभूमि कार्य बनाता है जो वास्तविक प्रसंस्करण करता है।

पृष्ठभूमि नौकरियां

बैकग्राउंड जॉब जटिल गणना करने के लिए उपयोगी होते हैं, जब गणना का परिणाम लंबे समय के बाद प्राप्त किया जा सकता है। जॉब इंजन के पास एसिंक्रोनस रूप से ऐसी गणना करने का साधन है।

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

बैकग्राउंड जॉब में एक कुंजी - कोई भी एप्लिकेशन वैल्यू हो सकती है। कुंजी पृष्ठभूमि नौकरियों के लॉन्च पर प्रतिबंध का परिचय देती है - एक विशिष्ट कुंजी मान और पृष्ठभूमि नौकरी विधि के एक निर्दिष्ट नाम के साथ समय की प्रति यूनिट केवल एक पृष्ठभूमि नौकरी निष्पादित की जा सकती है (विधि नाम में मॉड्यूल नाम और नाम शामिल है) प्रक्रिया या कार्य)। कुंजी आपको पृष्ठभूमि नौकरियों को समूहित करने की अनुमति देती है जिनमें एक निश्चित अनुप्रयोग विशेषता के अनुसार समान विधियां होती हैं ताकि एक समूह के भीतर एक से अधिक पृष्ठभूमि कार्य निष्पादित न हों।

बैकग्राउंड जॉब किसी भी कनेक्शन से प्रोग्रामेटिक रूप से बनाए और प्रबंधित किए जाते हैं। किसी भी उपयोगकर्ता को बैकग्राउंड जॉब बनाने की अनुमति है। वहीं, इसे बनाने वाले यूजर की ओर से इसे एक्जीक्यूट किया जाता है। व्यवस्थापकीय अधिकारों वाले उपयोगकर्ता, या इन पृष्ठभूमि कार्यों को बनाने वाले उपयोगकर्ता को किसी भी कनेक्शन से कार्यों को प्राप्त करने की अनुमति है, साथ ही उनके पूरा होने की प्रतीक्षा करने की अनुमति है।

बैकग्राउंड जॉब विशुद्ध रूप से एक सेशन ऑब्जेक्ट है, लेकिन यह किसी भी यूजर सेशन से संबंधित नहीं है। प्रत्येक कार्य के लिए, एक विशेष सिस्टम सत्र बनाया जाता है, जो कॉल करने वाले उपयोगकर्ता की ओर से चलता है। बैकग्राउंड जॉब में लगातार स्थिति नहीं होती है।

एक बैकग्राउंड जॉब अन्य बैकग्राउंड जॉब्स को जन्म दे सकता है। क्लाइंट-सर्वर संस्करण में, यह आपको क्लस्टर कार्य प्रक्रियाओं में जटिल गणनाओं को समानांतर करने की अनुमति देता है, जो समग्र रूप से गणना प्रक्रिया को काफी तेज कर सकता है। कई बाल पृष्ठभूमि की नौकरियों को पैदा करके समानांतरीकरण को लागू किया जाता है, उनमें से प्रत्येक को मुख्य पृष्ठभूमि की नौकरी में पूरा करने की प्रतीक्षा की जाती है।

सफल या असफल बैकग्राउंड जॉब 24 घंटे के लिए स्टोर किए जाते हैं और फिर डिलीट कर दिए जाते हैं। यदि रनिंग बैकग्राउंड जॉब्स की संख्या 1000 से अधिक हो जाती है, तो सबसे पुराने बैकग्राउंड जॉब्स भी हटा दिए जाते हैं।

अनुसूचित कार्य

शेड्यूल किए गए कार्यों का उपयोग तब किया जाता है जब आपको शेड्यूल के अनुसार कुछ आवधिक या एक बार की कार्रवाई करने की आवश्यकता होती है।

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

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

टिप्पणी। फ़ाइल संस्करण में काम करते समय, कार्य अनुसूचक को प्रारंभ किए बिना अनुसूचित कार्यों को बनाना और संपादित करना संभव है।

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

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

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

शेड्यूल किया गया कार्य शेड्यूल यह निर्धारित करता है कि शेड्यूल किए गए कार्य को किस समय पर प्रारंभ किया जाना चाहिए। शेड्यूल आपको सेट करने की अनुमति देता है: कार्य की शुरुआत और समाप्ति की तिथि और समय, निष्पादन की अवधि, सप्ताह के दिन और महीने जिस पर निर्धारित कार्य किया जाना चाहिए, आदि (निर्मित का विवरण देखें) भाषा में)।

अनुसूचित कार्य अनुसूचियों के उदाहरण:

हर घंटे, सिर्फ एक दिन

पुन: प्रयास अवधि दिन = 0, पुन: प्रयास अवधि दिन = 3600

हर दिन दिन में एक बार

पुन: प्रयास अवधि दिन = 1, अवधि के दौरान पुन: प्रयास करें = 0

एक दिन, एक बार

पुन: प्रयास अवधि दिन = 0

हर दूसरे दिन दिन में एक बार

पुन: प्रयास अवधि दिन = 2

हर घंटे हर दिन 01.00 से 07.00 बजे तक

पुन: प्रयास अवधि दिन = 1

पुन: प्रयास अवधि दिन के दौरान = 3600

प्रारंभ समय = 01.00

समाप्ति समय = 07.00

प्रत्येक शनिवार और रविवार को 09.00 बजे

पुन: प्रयास अवधि दिन = 1

सप्ताह के दिन = 6, 7

प्रारंभ समय = 09.00

हर दिन एक हफ्ता, हफ्ता गुजर जाता है

पुन: प्रयास अवधि दिन = 1

अवधि सप्ताह = 2

01.00 बजे एक बार

प्रारंभ समय = 01.00

प्रत्येक माह के अंतिम दिन 9:00 बजे।

पुन: प्रयास अवधि दिन = 1

डेइनमंथ = -1

प्रारंभ समय = 09.00

हर महीने की पांचवीं रात 9:00 बजे

पुन: प्रयास अवधि दिन = 1

डेइनमंथ = 5

प्रारंभ समय = 09.00

हर महीने के दूसरे बुधवार को सुबह 9:00 बजे

पुन: प्रयास अवधि दिन = 1

महीने में सप्ताह का दिन = 2

सप्ताह के दिन = 3

प्रारंभ समय = 09.00

आप जांच सकते हैं कि किसी दिए गए दिनांक के लिए कोई कार्य निष्पादित किया जा रहा है (अनुसूचित कार्य अनुसूची ऑब्जेक्ट की आवश्यक निष्पादन विधि)। शेड्यूल किए गए कार्य हमेशा किसी विशिष्ट उपयोगकर्ता के नाम पर किए जाते हैं। यदि निर्धारित कार्य का उपयोगकर्ता निर्दिष्ट नहीं है, तो प्रशासनिक अधिकारों के साथ डिफ़ॉल्ट उपयोगकर्ता की ओर से निष्पादन होता है।

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

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

यह याद रखना जरूरी है अंत समयनिर्दिष्ट समय पर पृष्ठभूमि कार्य को आवश्यक रूप से समाप्त नहीं करेगा। कुछ कथन:

* एक बैकग्राउंड जॉब अपने ऑटो-कैंसलेशन को अनदेखा कर सकता है यदि यह लटका हुआ नहीं है लेकिन इस कारण से चलता रहता है कि सभी प्लेटफ़ॉर्म ऑपरेशन पूर्ववत नहीं किए जा सकते हैं। यदि लूपिंग 1C कोड चल रहा है, तो कार्य रद्द किया जा सकता है अन्यथा नहीं। यह सब इस बात पर निर्भर करता है कि काम क्या कर रहा है। * समाप्ति समय - वह सीमा जिसके भीतर कोई कार्य शुरू हो सकता है और समाप्त नहीं हो सकता? * जबरन काम पूरा करने से लेन-देन शुरू होने के समय में हुए बदलावों को वापस ले लिया जाता है?

फ़ाइल और क्लाइंट-सर्वर संस्करणों में पृष्ठभूमि कार्य करने की ख़ासियतें

फ़ाइल और क्लाइंट-सर्वर संस्करणों में पृष्ठभूमि की नौकरियों को निष्पादित करने के तंत्र अलग-अलग हैं।

  • फ़ाइल संस्करण में, आपको एक समर्पित क्लाइंट प्रक्रिया बनाने की आवश्यकता है जो पृष्ठभूमि कार्य करेगी। ऐसा करने के लिए, क्लाइंट प्रक्रिया में वैश्विक संदर्भ फ़ंक्शन ExecuteJobProcessing को समय-समय पर कॉल किया जाना चाहिए। प्रति इन्फोबेस केवल एक ग्राहक प्रक्रिया को पृष्ठभूमि नौकरियों को संसाधित करना चाहिए (और इसलिए इस फ़ंक्शन को कॉल करें)। यदि बैकग्राउंड जॉब को प्रोसेस करने के लिए कोई क्लाइंट प्रोसेस नहीं बनाया गया है, तो जॉब इंजन को प्रोग्रामेटिक रूप से एक्सेस करते समय, "जॉब मैनेजर सक्रिय नहीं है" त्रुटि उत्पन्न होगी। क्लाइंट प्रक्रिया का उपयोग करने की अनुशंसा नहीं की जाती है जो अन्य कार्यों के लिए पृष्ठभूमि नौकरियों को संसाधित करती है।

क्लाइंट प्रोसेस प्रोसेसिंग बैकग्राउंड जॉब शुरू होने के बाद, अन्य क्लाइंट प्रोसेस बैकग्राउंड जॉब मैकेनिज्म को प्रोग्रामेटिक रूप से एक्सेस कर सकते हैं, यानी। पृष्ठभूमि कार्य चला और प्रबंधित कर सकते हैं।

क्लाइंट-सर्वर संस्करण में, कार्य अनुसूचक का उपयोग पृष्ठभूमि कार्यों को निष्पादित करने के लिए किया जाता है, जो भौतिक रूप से क्लस्टर प्रबंधक में स्थित होता है। सभी कतारबद्ध पृष्ठभूमि नौकरियों के लिए अनुसूचक कम से कम भरी हुई कार्यकर्ता प्रक्रिया प्राप्त करता है और इसका उपयोग संबंधित पृष्ठभूमि कार्य को चलाने के लिए करता है। कार्यकर्ता प्रक्रिया कार्य को निष्पादित करती है और निष्पादन परिणामों के अनुसूचक को सूचित करती है।

क्लाइंट-सर्वर संस्करण में, निर्धारित कार्यों के निष्पादन को रोकना संभव है। निम्नलिखित मामलों में अनुसूचित कार्यों के निष्पादन को रोकना होता है:

  • सूचना आधार पर निर्धारित कार्यों का एक स्पष्ट अवरोध स्थापित किया गया है। ताला क्लस्टर कंसोल के माध्यम से सेट किया जा सकता है;
  • इन्फोबेस पर एक कनेक्शन ब्लॉक सेट किया गया है। ताला क्लस्टर कंसोल के माध्यम से सेट किया जा सकता है;
  • SetExclusiveMode() पद्धति को अंतर्निहित भाषा से True पैरामीटर के साथ कॉल किया गया था;
  • कुछ अन्य मामलों में (उदाहरण के लिए, डेटाबेस कॉन्फ़िगरेशन को अपडेट करते समय)।

शेड्यूल्ड जॉब मेटाडेटा बनाना

इससे पहले कि आप प्रोग्रामेटिक रूप से इन्फोबेस में एक निर्धारित कार्य बनाएं, आपको इसके लिए एक मेटाडेटा ऑब्जेक्ट बनाना होगा।

शेड्यूल्ड जॉब्स ब्रांच के लिए सामान्य ब्रांच में कॉन्फ़िगरेशन ट्री में शेड्यूल्ड जॉब मेटाडेटा ऑब्जेक्ट बनाने के लिए ऐड कमांड को निष्पादित करें और प्रॉपर्टीज पैलेट में शेड्यूल्ड जॉब के निम्नलिखित गुणों को भरें:

विधि का नाम - निर्धारित कार्य पद्धति का नाम निर्दिष्ट करें।

कुंजी - एक मनमाना स्ट्रिंग मान निर्दिष्ट करें जिसका उपयोग निर्धारित कार्य की कुंजी के रूप में किया जाएगा।

अनुसूची - निर्धारित कार्य के कार्यक्रम को निर्दिष्ट करता है। शेड्यूल जनरेट करने के लिए, "ओपन" लिंक पर क्लिक करें और खुलने वाले शेड्यूल फॉर्म में आवश्यक मान सेट करें।

सामान्य टैब कार्य की प्रारंभ और समाप्ति तिथि और दोहराना मोड निर्दिष्ट करता है।

"दैनिक" टैब कार्य के लिए दैनिक कार्यक्रम निर्दिष्ट करता है।

शेड्यूल निर्दिष्ट करें:

  • कार्य का प्रारंभ समय और समाप्ति समय;
  • कार्य का अंत समय, जिसके बाद इसे जबरदस्ती पूरा किया जाएगा;
  • कार्य दोहराने की अवधि;
  • दोहराव के बीच ठहराव की अवधि;
  • निष्पादन अवधि।

शर्तों के मनमाने संयोजन की अनुमति है।

कार्य का साप्ताहिक कार्यक्रम साप्ताहिक टैब पर निर्दिष्ट किया गया है।

सप्ताह के उन दिनों के लिए चेकबॉक्स चुनें जिन पर कार्य चलेगा। यदि आप कार्य को दोहराना चाहते हैं, तो सप्ताहों में पुनर्प्रयास अंतराल निर्दिष्ट करें। उदाहरण के लिए, कार्य 2 सप्ताह में चलता है, दोहराव मान 2 है।

टैब "मासिक" पर कार्य का मासिक शेड्यूल इंगित किया गया है।

जिन महीनों में कार्य चलेगा, उनके लिए चेकबॉक्स चुनें। यदि आवश्यक हो, तो आप महीने/सप्ताह या अंत की शुरुआत से निष्पादन का एक विशिष्ट दिन (महीना या सप्ताह) निर्दिष्ट कर सकते हैं।

प्रयोग - यदि सेट किया गया है, तो कार्य शेड्यूल के अनुसार निष्पादित किया जाएगा।

पूर्वनिर्धारित - यदि सेट किया गया है, तो कार्य एक पूर्वनिर्धारित कार्य है।

दुर्घटना पर पुनर्प्रयास गिनती - दुर्घटना पर पुनर्प्रयास की संख्या निर्दिष्ट करता है।

दुर्घटना पर अंतराल का पुन: प्रयास करें - दुर्घटना पर पुनर्प्रयास अंतराल निर्दिष्ट करता है। उदाहरण

बैकग्राउंड जॉब बनाना "फुल-टेक्स्ट सर्च इंडेक्स को अपडेट करना":

बैकग्राउंडजॉब्स.रन ("अपडेटिंगफुलटेक्स्टसर्चइंडेक्स");

एक निर्धारित कार्य बनाना "अनुक्रमों को पुनर्स्थापित करना":

अनुसूची = नई अनुसूची विनियमन कार्य; अनुसूची। दोहराने की अवधि = 1; अनुसूची। दोहराएँ अवधि के दौरान दिन = 0;

कार्य = अनुसूचित कार्य। अनुसूचित कार्य बनाएं ("पुनर्स्थापना क्रम"); टास्क.शेड्यूल = शेड्यूल; कार्य। लिखें ();

जॉब कंसोल

आईटीएस के साथ प्रसंस्करण, अनुसूचित कार्यों का प्रबंधन करता है:

निर्धारित कार्यों के साथ काम करें

नौकरी की वस्तुएं

कार्य वस्तुओं को संदर्भित नहीं किया जाता है, लेकिन डेटाबेस में कुछ विशेष भंडारण में संग्रहीत किया जाता है।

यदि मेटाडेटा में "पूर्वनिर्धारित" ध्वज सक्षम है, तो ऐसी वस्तु स्वचालित रूप से बनाई जाती है जब 1C: एंटरप्राइज शुरू होता है और हमेशा एक उदाहरण में मौजूद होता है। ऐसी वस्तु को मिटाया नहीं जा सकता।

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

कार्यों की सूची प्राप्त करना

कार्यों की सूची विधि द्वारा प्राप्त की जा सकती है GetRegularAssignmentsवैश्विक नौकरी प्रबंधक नियत कार्य

अनुसूचित नौकरी प्रबंधक

GetScheduled Jobs (GetScheduled Jobs)

वाक्य - विन्यास:

नियमित कार्य प्राप्त करें(<Отбор>)

विकल्प:

<Отбор>(वैकल्पिक)

प्रकार: संरचना। संरचना जो चयन को परिभाषित करती है। संरचना मान हो सकते हैं: अद्वितीय पहचानकर्ता, कुंजी, मेटाडेटा, पूर्वनिर्धारित, उपयोग, नाम। यदि चयन सेट नहीं है, तो सभी निर्धारित कार्य प्राप्त होते हैं।

यदि आप मेटाडेटा द्वारा फ़िल्टर कर रहे हैं, तो आप शेड्यूल किए गए कार्य मेटाडेटा ऑब्जेक्ट या उसके नाम को मेटाडेटा मान के रूप में निर्दिष्ट कर सकते हैं।

प्रतिलाभ की मात्रा:

टाइप करें: ऐरे।

विवरण:

निर्दिष्ट चयन के लिए निर्धारित कार्यों की एक सरणी प्राप्त करता है। निर्धारित कार्यों को प्राप्त करना केवल प्रशासक के लिए ही संभव है।

उपलब्धता:

अनुसूचित = अनुसूचित कार्य। अनुसूचित कार्य प्राप्त करें (चयन);

अनुसूचित लूप से प्रत्येक अनुसूचित के लिए NewLine = ScheduledTasksList.Add (); न्यूस्ट्रिंग.मेटाडाटा = शेड्यूल्ड.मेटाडाटा.व्यू (); NewLine.Name = अनुसूचित.नाम; NewString.Key = शेड्यूल्ड.की; न्यूस्ट्रिंग.शेड्यूल = शेड्यूल्ड.शेड्यूल; NewString.User = नियमित। उपयोगकर्ता नाम; न्यूस्ट्रिंग। पूर्वनिर्धारित = अनुसूचित। पूर्वनिर्धारित; NewString.Usage = Regulatory.Usage; NewString.Identifier = Scheduled.UniqueIdentifier;

लास्ट टास्क = शेड्यूल्ड। लास्ट टास्क; यदि लास्टक्वेस्ट<>अपरिभाषित तो NewString.Running = LastTask.Start; NewString.Status = LastJob.Status; अगर अंत; एंडसाइकल;

निर्माण

अनुसूचित कार्य प्रबंधक की CreateRegularTask विधि द्वारा बनाया गया:

शेड्यूल्ड जॉब = शेड्यूल्ड जॉब्स। क्रिएट शेड्यूल्ड जॉब (मेटाडेटा चॉइस);

अनुसूचित कार्य। नाम = नाम; शेड्यूल्ड टास्क। की = की; अनुसूचित कार्य। उपयोग = उपयोग; शेड्यूल्ड टास्क.यूजरनाम = यूजर्स चॉइस; शेड्यूल्ड टास्क। क्रैश होने पर दोहराव की संख्या = क्रैश होने पर रिट्रीट की संख्या; ScheduledTask.RetryIntervalOnAccident = RetryIntervalOnAccident; शेड्यूल्ड टास्क। शेड्यूल = शेड्यूल; अनुसूचित कार्य। लिखें ();

टास्कऑब्जेक्ट = शेड्यूल्ड टास्क। शेड्यूल्ड टास्क बनाएं ("एक्सक्यूटएक्सचेंज");

टास्कऑब्जेक्ट.नाम = नाम; JobObject.Use = सच;

जॉब ऑब्जेक्ट में एक "पैरामीटर" फ़ील्ड होता है जिसमें विधि पैरामीटर सेट होते हैं:

अनुसूचित नौकरी

विकल्प(पैरामीटर्स)

उपयोग:

पढ़ने और लिखने।

विवरण:

टाइप करें: ऐरे। अनुसूचित कार्य मापदंडों की एक सरणी। मापदंडों की संख्या और संरचना निर्धारित कार्य पद्धति के मापदंडों के अनुरूप होनी चाहिए।

उपलब्धता:

सर्वर, मोटा क्लाइंट, बाहरी कनेक्शन।

टिप्पणी:

पढ़ने और लिखने की क्षमता केवल व्यवस्थापक के लिए उपलब्ध है।

निष्कासन

जॉब ऑब्जेक्ट के डिलीट () विधि द्वारा हटाया गया:

अनुसूचित कार्य। हटाएं ();

जॉब ऑब्जेक्ट प्राप्त करना

  • GetRegularTasks विधि के माध्यम से सूची:

अनुसूचित = अनुसूचित कार्य। अनुसूचित कार्य प्राप्त करें (चयन);

  • कार्य प्रबंधक की FindByUniqueID पद्धति के माध्यम से:

कार्य = अनुसूचित कार्य। अनन्य पहचानकर्ता (यूआईडी) द्वारा खोजें;

दस्तावेज़ प्रबंधन और लेखांकन में कुछ कार्यों को समय-समय पर करने की आवश्यकता हो सकती है। उदाहरण के लिए, बीसवीं संख्या पर। या रोज।

आमतौर पर, कंपनी ऐसे कार्यों के कार्यान्वयन के बारे में नियम बनाने की कोशिश करती है - किसे, कब और कैसे कार्य करना चाहिए, किसे इसे नियंत्रित करना चाहिए।

ऐसे कार्यों को कहा जाता है - विनियमित, अर्थात नियमों के अनुसार किया जाता है।

आईटी में, निगरानी अक्सर नियमित होती है।

यह सिस्टम प्रशासक के लिए अच्छी तरह से जाना जाता है - ऐसे विशेष कार्यक्रम हैं जो समय-समय पर सर्वर और नेटवर्क इंफ्रास्ट्रक्चर के स्वास्थ्य की जांच करते हैं और व्यवस्थापक को एसएमएस या ईमेल रिपोर्ट करते हैं।

वेबमास्टर्स के लिए समान चीजें मौजूद हैं - दिन के दौरान साइट की उपलब्धता की जांच करने के लिए।

1C में, मॉनिटरिंग कार्य और किसी भी अन्य आवधिक कार्य जिन्हें शेड्यूल पर स्वचालित रूप से किया जाना चाहिए, 1C शेड्यूल्ड टास्क मैकेनिज्म का उपयोग करके किए जाते हैं।

आइए आज उनके बारे में बात करते हैं।

अनुसूचित कार्य 1 सी

अनुसूचित कार्य 1C वह है जो आपको वैसे ही करने की अनुमति देता है जैसा वह करता है, लेकिन समय पर।

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

सर्वर पर समानांतर कंप्यूटिंग के लिए पृष्ठभूमि कार्यों को 1C भाषा में प्रोग्राम टेक्स्ट से मनमाने ढंग से 1C शेड्यूल किए गए कार्य के बिना बनाया जा सकता है।

नियमित कार्यों का निष्पादन 1 सी अस्थायी रूप से अक्षम किया जा सकता है - में।

एक निर्धारित कार्य 1C जोड़ना

शेड्यूल किए गए कार्य 1C सामान्य / शेड्यूल किए गए कार्य 1C शाखा में कॉन्फ़िगरेशन में हैं। आइए एक नया निर्धारित कार्य 1C जोड़ें, उसका नाम निर्दिष्ट करें।

निर्धारित कार्य 1 सी की संपत्ति में, विधि का नाम, साथ ही साथ इंगित किया गया है। फ़ंक्शन गुणों में चेक किए गए सर्वर चेकबॉक्स के साथ एक सामान्य मॉड्यूल में स्थित होगा, यानी मॉड्यूल को पहले से जोड़ा जाना चाहिए।

निर्धारित कार्य 1C - कार्य का नाम - की संपत्ति उस नाम को निर्धारित करती है जिसके तहत कार्य प्रबंधन उपकरण में दिखाई देगा।

निर्धारित कार्य 1C - कुंजी - की संपत्ति आपको कई अलग-अलग निर्धारित कार्यों 1C को समूहित करने की अनुमति देती है। एक ही समय में समान कुंजी मान वाला केवल एक कार्य चलाया जा सकता है। मूल्य मनमाना हो सकता है। नियंत्रण के दौरान एक खाली मान को ध्यान में नहीं रखा जाता है (अर्थात, इसे भरा हुआ नहीं माना जाता है)।

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

विशिष्ट विन्यास में, उदाहरण के लिए, लेखांकन 2.0, ऐसे नियमित 1C कार्य जैसे विन्यास अद्यतन और कुल की पुनर्गणना पूर्वनिर्धारित हैं, और जैसे डेटा विनिमय या आस्थगित संचलन पूर्वनिर्धारित नहीं हैं।

उपयोग - कार्य शामिल है (अर्थात, इसे केवल तभी निष्पादित किया जाएगा जब उपयोग चेकबॉक्स चेक किया गया हो)।

क्रैश रिट्रीट - जैसा कि आप आसानी से अनुमान लगा सकते हैं, इसका मतलब है कि नौकरी को फिर से शुरू करना अगर यह पहली बार सफलतापूर्वक पूरा नहीं हो सका - यह संकेत दिया जाता है कि क्रैश के बाद कितनी बार और कितनी बार पुनरारंभ करना है।

1C अनुसूचित कार्य प्रबंधन और निगरानी

अनुसूचित कार्य 1C का प्रबंधन करने के लिए, टास्क कंसोल का एक विशेष विशिष्ट प्रसंस्करण होता है। पर भी पाया जा सकता है।

यह प्रसंस्करण तथाकथित सार्वभौमिक बाहरी विशिष्ट 1C प्रसंस्करण को संदर्भित करता है, जिसे अक्सर कॉन्फ़िगरेशन में शामिल नहीं किया जाता है, लेकिन अलग से वितरित किया जाता है, उदाहरण के लिए, ITS डिस्क पर।

जॉब कंसोल प्रोसेसिंग के साथ, आप यह कर सकते हैं:

  • निर्धारित कार्य 1C के निष्पादन को सक्षम / अक्षम करें
  • निर्धारित कार्य 1C (और अन्य पैरामीटर) के शेड्यूल को असाइन / बदलें
  • 1C उपयोगकर्ता निर्दिष्ट करें जिसकी ओर से निर्धारित कार्य 1C किया जाएगा
  • देखें - कौन से कार्य कब और किस परिणाम के साथ पूरे हुए, 1C कार्यों को पूरा करने में त्रुटियाँ
  • एक काम को करना।

डेटाबेस और नियमित कार्य 1C की प्रतियां

यदि सर्वर 1C का उपयोग किया जाता है, तो निम्न स्थिति होती है:

  • अपने स्वयं के प्रयोजनों के लिए (उदाहरण के लिए, प्रोग्रामिंग के लिए), कार्यशील डेटाबेस की एक प्रति बनाई जाती है
  • डेटाबेस की एक प्रति में, यह काम किया जा रहा है, परीक्षण किया जा रहा है, और इसी तरह।
  • ऐसे टेस्ट बेस में नियमित 1C कार्यों को बंद करना भूल जाता है।

जबकि रूटीन 1C टास्क सिर्फ अपने infobase से जुड़े काम करते हैं तो इसमें कुछ भी नहीं है.

हालाँकि, अक्सर 1C नियमित कार्य किसी भी फ़ाइल डेटा को अन्य डेटाबेस में सहेज सकते हैं, विनिमय कर सकते हैं, ईमेल भेज सकते हैं।

इस मामले में, कार्यशील डेटाबेस और प्रतियों में नियमित 1C कार्यों को करने के परिणाम के बीच एक दिलचस्प मिश्रण हो सकता है।

कार्य आधार की प्रतियों में 1C नियमित कार्यों को अक्षम किया जाना चाहिए।

नियमित कार्यों की पूर्ति और गैर-पूर्ति 1C

निर्धारित कार्य 1C बनाते समय, आपको याद रखने की आवश्यकता है:

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

सबसे पहले, आपको यह जांचने की आवश्यकता है कि कार्य चल रहा है और एक निर्धारित 1C कार्य के रूप में किया जा सकता है।

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

तीसरा, यदि कार्य 1C आधार के बाहर किसी चीज़ से संबंधित है, तो Windows उपयोगकर्ता के अधिकार जिसके तहत कार्य किया जाता है, महत्वपूर्ण हो जाता है।

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

संभवतः, प्रत्येक 1C 8.3 प्रोग्रामर को जल्दी या बाद में एक समय पर कुछ कार्यों के निष्पादन को स्थापित करना पड़ा। नीचे मैं इन तंत्रों का विस्तृत विवरण दूंगा, मुझे उम्मीद है कि शुरुआती 1C प्रोग्रामर के लिए यह उपयोगी जानकारी होगी। यह बहुत सुविधाजनक है, क्योंकि इसमें मानवीय कार्यों की आवश्यकता नहीं होती है, निर्धारित कार्य एक बार कॉन्फ़िगर किया जाता है और आपके शेड्यूल के अनुसार काम करता है।

एक उदाहरण के साथ विस्तृत निर्देश नीचे पाए जा सकते हैं।

1C में अनुसूचित और पृष्ठभूमि कार्य क्या हैं

  • अनुसूचित कार्यएक विशेष 1C उद्यम 8.3 तंत्र है जिसे किसी दिए गए समय पर एक विशिष्ट क्रिया करने के लिए डिज़ाइन किया गया है।
  • पृष्ठभूमि का काम- एक निर्धारित कार्य द्वारा उत्पन्न वस्तुएँ जो उपयोगकर्ता या प्रोग्रामर 1C 8.2 की भागीदारी के बिना सीधे अंतर्निहित क्रिया करती हैं।

डीबीएमएस की कार्यक्षमता के लिए अनुसूचित और पृष्ठभूमि नौकरियों का तंत्र ऑपरेशन के क्लाइंट-सर्वर मोड (एसक्यूएल) में काम करता है। यदि आपके पास एक फ़ाइल डेटाबेस है, तो कार्य को भी कॉन्फ़िगर किया जा सकता है, लेकिन थोड़े अलग तरीके से।

ऑपरेशन 1 सी के क्लाइंट-सर्वर मोड में पृष्ठभूमि कार्यों की स्थापना

आरंभ करने के लिए, आइए एक नया मेटाडेटा ऑब्जेक्ट बनाएं - एक निर्धारित कार्य। मैं अपने कार्य का नाम "लोडिंग मुद्रा दरें" रखूंगा। इस कॉन्फ़िगरेशन ऑब्जेक्ट के गुण पैलेट पर विचार करें:

267 1C वीडियो पाठ निःशुल्क प्राप्त करें:

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

और सबसे दिलचस्प सेटिंग - अनुसूची:

यहां आप "विधि नाम" फ़ील्ड में निर्दिष्ट प्रक्रिया प्रारंभ करने के लिए अंतराल सेट कर सकते हैं। मुझे सेट अप करने दो

ध्यान!डीबीएमएस स्तर पर अनुसूचित और पृष्ठभूमि नौकरियों को अवरुद्ध करने को अक्षम करना न भूलें!

यह क्लाइंट-सर्वर संस्करण की प्रशासन उपयोगिता में या नया डेटाबेस बनाते समय किया जा सकता है:

ऑपरेशन 1C के फ़ाइल मोड में अनुसूचित कार्यों की स्थापना

फ़ाइल मोड में, ऐसे कार्यों को सेट करना कुछ अधिक कठिन होता है। ऐसे कार्य के लिए 1सी कार्यक्रम का एक अलग सत्र शुरू किया जाना चाहिए। अक्सर इसे "तकनीकी" उपयोगकर्ता की संस्था द्वारा हल किया जाता है, जिसका सत्र हमेशा चलता रहता है।

फ़ाइल मोड में, शेड्यूल किए गए कार्य का प्रारंभ तब होता है जब "ExecuteJobProcessing ()" विधि लॉन्च की जाती है।

किसी विशिष्ट उपयोगकर्ता के लिए, इस विधि को किसी अन्य विधि का उपयोग करके चलाने के लिए कॉन्फ़िगर करना संभव है -

कनेक्टवेटिंगहैंडलर( <ИмяПроцедуры>, <Интервал>, <Однократно>).

  • प्रक्रिया का नाम- प्रतीक्षा हैंडलर के रूप में जुड़ी प्रक्रिया का नाम। प्रबंधित अनुप्रयोग मॉड्यूल (नियमित अनुप्रयोग मॉड्यूल) या वैश्विक साझा मॉड्यूल के लिए निर्यात की गई प्रक्रिया का नाम। प्रक्रिया क्लाइंट पर स्थित होनी चाहिए.
  • मध्यान्तर- सेकंड में संचालन के निष्पादन के बीच की अवधि।
  • एक बार- कार्य को कैसे पूरा करें, एक बार या नहीं।

कनेक्टवेटिंगहैंडलर, 3600);

दो मिनट का वीडियो दिखा रहा है कि 1C कॉन्फिगरेटर में शेड्यूल किए गए कार्य को कैसे सेट अप करें:

रजिस्टरों की आवधिक सफाई (उदाहरण के लिए, एससीपी कॉन्फ़िगरेशन में "ऑब्जेक्ट संस्करण" सूचना रजिस्टर), एक समय पर गणना करना, एक निश्चित समय पर दस्तावेजों को पूरा करना - यह उन कार्यों की पूरी सूची नहीं है जिन्हें नियमित 1C कार्यों का उपयोग करके कार्यान्वित किया जा सकता है .

एक कार्य बनाएँ

हम निष्पादन योग्य मॉड्यूल के कोड का वर्णन करने का लक्ष्य नहीं रखते हैं, हम एक निर्धारित कार्य के संचालन और निर्माण के सामान्य सिद्धांतों को दिखाएंगे।

नियमन कार्य अपरिहार्य है:

  1. यदि शर्तों में से एक के रूप में निर्धारित कार्य में समय-समय पर एक निश्चित एल्गोरिथ्म को निष्पादित करने की आवश्यकता होती है;
  2. यदि कोड को ऑपरेटरों और डेटाबेस के उपयोगकर्ताओं के कार्यों की परवाह किए बिना निष्पादित किया जाना चाहिए;
  3. यदि निष्पादन योग्य प्रक्रिया का शुभारंभ बाहरी घटनाओं पर निर्भर नहीं करता है जो इन्फोबेस ऑब्जेक्ट्स के साथ होती हैं।

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

आइए इसके गुण विंडो (चित्र 2) पर करीब से नज़र डालें:
अंक 2

  1. नाम, पर्यायवाची और टिप्पणी - इन क्षेत्रों को भरने के नियम और सिद्धांत सभी विन्यास वस्तुओं के लिए समान हैं और उन्हें फिर से वर्णन करने की आवश्यकता नहीं है;
  2. विधि का नाम एक सामान्य मॉड्यूल की एक प्रक्रिया है जो आवश्यक एल्गोरिथ्म का यथासंभव सटीक वर्णन करता है (चयन बटन दबाने से उपलब्ध प्रक्रियाएँ खुल जाती हैं, जिसके प्रतिनिधित्व में सामान्य मॉड्यूल का नाम और विभिन्न कॉलम में प्रक्रिया का नाम शामिल होता है। टेबल);
  3. कुंजी - निर्धारित कार्य की इतनी विशिष्टता नहीं निर्धारित करती है, लेकिन कार्य के आधार पर शुरू की गई पृष्ठभूमि प्रक्रिया की विशिष्टता की लंबाई सीमा होती है;
  4. अनुसूची - हम अपने लेख के एक अलग पैराग्राफ को इस तत्व के विवरण के लिए समर्पित करेंगे;
  5. उपयोग - इस बॉक्स को चेक करने से कार्य की गतिविधि निर्धारित होती है, TRUE का अर्थ है कि कार्य शेड्यूल के अनुसार लॉन्च और निष्पादित किया जाएगा;
  6. पूर्वनिर्धारित - यदि तत्व में यह चेकबॉक्स है, तो इन कार्यों को हटाया नहीं जा सकता है, डेटाबेस में कॉन्फ़िगरेशन सहेजे जाने पर वे स्वचालित रूप से बनाए जाते हैं;
  7. दोहराव की संख्या - यदि निष्पादन के दौरान कोई अपवाद होता है, तो इसे पुनरारंभ किया जाएगा ताकि एक अंतहीन लूप न हो, कार्यक्रम पुनरारंभ की संख्या को सीमित करता है;
  8. पुन: प्रयास अंतराल - दुर्घटनाग्रस्त नौकरियों के पुनरारंभ के बीच सेकंड में समय।

आइए शेड्यूल पर करीब से नज़र डालें।

निर्धारित कार्य की अनुसूची

चित्र 3

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

सामान्य टैब:

  • कार्य की प्रारंभ तिथि;
  • प्रसंस्करण समाप्ति तिथि;
  • कार्य को दोहराने की आवृत्ति।

यदि इस टैब पर कोई दिनांक निर्दिष्ट नहीं है, तो कार्य के लिए कोई समय सीमा निर्धारित नहीं की जाएगी।

बुकमार्क "दैनिक" (चित्र 4)
चित्र 4

कार्य के प्रारंभ और समाप्ति समय और दिन के दौरान इसके लॉन्च की आवृत्ति के लिए इनपुट फ़ील्ड के अलावा, इसमें निष्पादन की आवृत्ति के विस्तृत विन्यास के लिए एक सारणीबद्ध खंड होता है।

"दैनिक" और "साप्ताहिक" टैब में संबंधित अवधियों के लिए जानकारी होती है।

कार्यप्रणाली की विशेषताएं

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

कार्य के फ़ाइल संस्करण के साथ स्थिति बहुत अधिक जटिल है। प्लेटफ़ॉर्म की एक निश्चित रिलीज़ से पहले, पृष्ठभूमि और अनुसूचित प्रक्रियाओं का निष्पादन केवल तभी किया जाता था जब ExecuteJobProcessing () विधि एक निश्चित उपयोगकर्ता के तहत सिस्टम स्टार्टअप पर सक्रिय होती थी। इस मामले में, एल्गोरिदम को समय-समय पर लॉन्च किया गया था, जब तक कि विधि शुरू करने वाला उपयोगकर्ता कार्यक्रम में था।

वर्तमान में, काम के फ़ाइल संस्करण में पृष्ठभूमि की नौकरियों का काम समान रूप से डेटाबेस में अधिकृत उपयोगकर्ताओं के बीच वितरित किया जाता है, यदि प्रोग्राम को अतिरिक्त पैरामीटर के साथ लॉन्च किया गया था, तो यह प्रक्रिया नियमित रखरखाव के लिए जिम्मेदार होगी।

आप डेटाबेस के साथ फ़ोल्डर में DoNotCopy.txt फ़ाइल को हटाकर या उसका नाम बदलकर फ़ाइल मोड में चल रहे डेटाबेस में पृष्ठभूमि और रखरखाव कार्य के निष्पादन को पूरी तरह से अक्षम कर सकते हैं। इस फ़ाइल की उपस्थिति प्लेटफ़ॉर्म को बताती है कि कार्य मूल में किया गया है, न कि डेटाबेस की प्रतिलिपि में।

इसके अलावा, मानक 1 सी डिलीवरी में, "विन्यासकर्ता" पर जाए बिना सीधे कार्यक्रम से निर्धारित कार्य का प्रबंधन करना संभव हो गया। "ZUP" कॉन्फ़िगरेशन संस्करण 3.1.3.223 में, आप मेनू व्यवस्थापन->रखरखाव->अनुसूचित संचालन->अनुसूचित और पृष्ठभूमि कार्य (चित्र 5) से नियंत्रण प्रपत्र खोल सकते हैं।
चित्र 5

खुले हुए फॉर्म में एक सहज इंटरफ़ेस है और आपको इसकी अनुमति देता है:


आप सीधे फॉर्म से कार्य निष्पादन भी शुरू कर सकते हैं।

एक निर्धारित कार्य बनाएँ

आइए एक निर्धारित कार्य "प्रदर्शन प्रसंस्करण" बनाएं।

शेड्यूल किए गए कार्य के उपयोग को अक्षम करें ताकि कॉन्फ़िगरेशन अपडेट होने पर यह स्वचालित रूप से प्रारंभ न हो।

एक निर्धारित कार्य शुरू होने पर ट्रिगर होने वाली प्रक्रिया को असाइन करें:शेड्यूल्ड टास्क मॉड्यूल शेड्यूल्ड टास्कपरफॉर्मिंग प्रोसेसिंग.

प्रक्रिया ही दिखती है:

प्रक्रिया अनुसूचित कार्य प्रदर्शन प्रसंस्करण (कुंजी) निर्यात

अनुसूचित कार्यों के पैरामीटर। पैरामीटर्स (कुंजी) के साथ प्रसंस्करण करना;

अंतिम प्रक्रिया

हम नियमित कार्यों के लिए एक निर्देशिका बनाते हैं

हमारी निर्धारित नौकरी कई पृष्ठभूमि प्रक्रियाओं को जन्म दे सकती है - प्रत्येक प्रसंस्करण के लिए एक। 1C8 प्लेटफॉर्म में प्रत्येक कार्य की एक कुंजी है। लेकिन शेड्यूल्ड जॉब मेथड बैकग्राउंड जॉब की को नहीं जानता है, इसलिए आपको बैकग्राउंड जॉब पैरामीटर्स का उपयोग करने की आवश्यकता है। परिणामस्वरूप, हम टास्क कंसोल में बैकग्राउंड टास्क देख सकते हैं, लेकिन हम मैन्युअल रूप से इस कंसोल से बैकग्राउंड टास्क नहीं बना सकते, क्योंकि मैन्युअल पैरामीटर वाली नौकरियां नहीं बनाई जाती हैं।

निर्देशिका "अनुसूचित कार्यों के पैरामीटर" :

आवश्यक वस्तुएँ :

· कोड से पहले लॉन्च- असीमित स्ट्रिंग - 1C भाषा में कोड, जिसे शुरू करने से पहले निष्पादित किया जाना चाहिए।

· कॉन्फ़िगरेशन से प्रसंस्करण - स्ट्रिंग (100) - कॉन्फ़िगरेशन से प्रसंस्करण की आईडी

· निर्देशिका से प्रसंस्करण - लाइन (100) - कॉन्फ़िगरेशन में एक होने पर "बाहरी प्रसंस्करण" निर्देशिका तत्व से लिंक करें

· 1C एप्लिकेशन - बूलियन के माध्यम से चलाएँ - एक अलग 1C एप्लिकेशन बनाया जाएगा और इसमें एक निर्धारित कार्य लॉन्च किया जाएगा। 8.1 के लिए बनाया गया जहां सर्वर पर सभी एप्लिकेशन विधियां उपलब्ध नहीं हैं जहां निर्धारित कार्य चल रहा है।

· लॉन्च कोड- - असीमित स्ट्रिंग - 1C भाषा में कोड, जिसे निर्धारित कार्य शुरू होने पर निष्पादित किया जाएगा।

एक तत्व आकार बनाएँ :

"Reg बनाएँ" पर क्लिक करके। कार्य" प्रोग्रामेटिक रूप से एक कुंजी-कोड के साथ एक निर्धारित कार्य बनाता है:

प्रक्रिया MainActionsFormsCreateReglTask(बटन)

चर संदर्भ;

कुंजी = शॉर्टएलपी (कोड);

कार्य = अनुसूचित कार्य। अनुसूचित कार्य बनाएं ("प्रदर्शन प्रसंस्करण");

टास्क.नाम = कुंजी;

नौकरी। कुंजी = कुंजी;

पैरामीटर = नया ऐरे ();

विकल्प। जोड़ें (कुंजी);

टास्क। पैरामीटर्स = पैरामीटर्स;

कार्य। लिखें ();

अंतिम प्रक्रिया

एक अनुसूचित नौकरी शुरू करना

हमारे द्वारा बनाए गए प्रत्येक निर्धारित कार्य में एक कुंजी होती है:

यह कुंजी "अनुसूचित कार्यों के पैरामीटर" निर्देशिका के कोड से मेल खाती है, इसे कार्य शुरू करते समय खोजा जाता है। यदि शब्दकोश तत्व नहीं मिलता है, तो कार्य निष्पादित नहीं होता है।

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

विवरण के चयनित मूल्यों के आधार पर, या तो 1 सी भाषा में कोड शुरू हो जाएगा, या प्रसंस्करण कॉन्फ़िगरेशन से शुरू होगा, या प्रसंस्करण मानक संदर्भ पुस्तक "बाहरी प्रसंस्करण" से शुरू होगा।

1C81 के लिए, एक नए एप्लिकेशन में निष्पादन प्रदान किया गया है - ताकि आप बाहरी प्रसंस्करण के उपयोग सहित केवल क्लाइंट पर उपलब्ध कोड का उपयोग कर सकें। ऐसा करने के लिए, "एप्लिकेशन 1 सी के माध्यम से चलाएं" बॉक्स को चेक करें। अन्यथा, निर्धारित कार्य सर्वर पर निष्पादित किया जाएगा।

मैं उपयोगकर्ता को नए बनाए गए शेड्यूल किए गए कार्य के "उपयोगकर्ता" फ़ील्ड में सेट करने की अनुशंसा करता हूं ताकि कार्य को कुछ अधिकारों के तहत निष्पादित किया जा सके। मैं इस उपयोगकर्ता को पूर्ण अधिकार देने की अनुशंसा करता हूं। मेरे पास उपयोगकर्ता है"रोबोट».

शेड्यूल किए गए कार्य का शेड्यूल शेड्यूल किए गए कार्य के रूप से हाइपरलिंक "शेड्यूल" द्वारा बनाया गया है। आप प्रसंस्करण "अनुसूचित कार्यों के कंसोल" का उपयोग कर सकते हैं।