1c მართული აპლიკაციის დავალების კონსოლი. რუტინული და ფონური ამოცანები (შექმნა, კონფიგურაცია, გაშვება). რუტინული დავალების შექმნა

დოკუმენტების მართვისა და ბუღალტრული აღრიცხვის ზოგიერთი დავალება შეიძლება პერიოდულად შესრულდეს. მაგალითად, მეოცეზე. ან ყოველდღიურად.

როგორც წესი, კომპანია ცდილობს შექმნას წესები ასეთი დავალებების შესასრულებლად - ვინ, როდის და როგორ უნდა შეასრულოს დავალება, ვინ უნდა აკონტროლოს იგი.

ასეთ ამოცანებს უწოდებენ რეგულირებულს, ანუ შესრულებულია რეგლამენტის შესაბამისად.

IT-ში მონიტორინგი ხშირად რეგულირდება.

ეს კარგად იცის სისტემის ადმინისტრატორმა - არსებობს სპეციალური პროგრამები, რომელიც პერიოდულად ამოწმებს სერვერების და ქსელური ინფრასტრუქტურის მუშაობას და აცნობებს SMS ან ელექტრონული ფოსტითადმინისტრატორი.

მსგავსი რამ არსებობს ვებმასტერებისთვის - რათა შეამოწმონ საიტის ხელმისაწვდომობა დღის განმავლობაში.

1C-ში, მონიტორინგის დავალებები და ნებისმიერი სხვა პერიოდული დავალება, რომელიც ავტომატურად უნდა შესრულდეს გრაფიკის მიხედვით, შესრულებულია 1C Scheduled Tasks მექანიზმის გამოყენებით.

მოდით ვისაუბროთ მათზე დღეს.

დაგეგმილი ამოცანები 1C

დაგეგმილი ამოცანები 1C არის ის, რაც საშუალებას გაძლევთ შეასრულოთ ისინი ისე, როგორც აკეთებენ, მაგრამ გრაფიკით.

თავად 1C რუტინული დავალება კონფიგურატორში არის პარამეტრების მითითების და გრაფიკის დაყენების საშუალება. სხვათა შორის, განრიგი შეიძლება შეიცვალოს დინამიურად მოგვიანებით 1C Enterprise რეჟიმში.

ფონური სამუშაოები შეიძლება შეიქმნას პროგრამის ტექსტიდან 1C ენაზე თვითნებურად გარეშე მარეგულირებელი ამოცანა 1C - სერვერზე პარალელური გამოთვლებისთვის.

რუტინული 1C ამოცანების შესრულება შეიძლება დროებით გამორთოთ - in.

1C რუტინული დავალების დამატება

რუტინული 1C ამოცანები განლაგებულია კონფიგურაციაში General/Routine 1C ამოცანების ფილიალში. მოდით დავამატოთ ახალი 1C მარეგულირებელი ამოცანა და მივუთითოთ მისი სახელი.

1C რუტინული ამოცანის თვისებაში მითითებულია მეთოდის სახელი, ისევე როგორც. ფუნქცია განთავსდება საერთო მოდულში სერვერის ჩამრთველით მონიშნული თვისებებით, ანუ მოდული უნდა დაემატოს წინასწარ.

1C დაგეგმილი დავალების თვისება - Task name - განსაზღვრავს სახელს, რომლის მიხედვითაც ამოცანა გამოჩნდება ამოცანების მართვის ინსტრუმენტებში.

1C რუტინული დავალების თვისება – Key – გაძლევთ საშუალებას დააჯგუფოთ რამდენიმე განსხვავებული 1C რუტინული დავალება. მხოლოდ ერთი სამუშაოს იგივე გასაღების მნიშვნელობის დაწყება შესაძლებელია ერთდროულად. თავად ღირებულება შეიძლება იყოს თვითნებური. კონტროლის დროს მხედველობაში არ მიიღება ცარიელი მნიშვნელობა (ანუ ითვლება ცარიელი).

1C რუტინული დავალების თვისება - წინასწარ განსაზღვრული - განსაზღვრავს, რომ როდესაც 1C Enterprise ამოქმედდება, ასეთი დავალება შეიქმნება ერთ ეგზემპლარად, კონფიგურატორში მითითებული გრაფიკით. წინასწარგანსაზღვრული ამოცანები პროგრამულად ჩნდება განრიგის დროს.

IN ტიპიური კონფიგურაციებიმაგალითად, საბუღალტრო გამოცემა 2.0, ისეთი 1C რუტინული ამოცანები, როგორიცაა კონფიგურაციის განახლება და ჯამების ხელახალი გამოთვლა, წინასწარ არის განსაზღვრული, მაგრამ როგორიცაა მონაცემთა გაცვლა ან გადადებული მოძრაობა არ არის წინასწარ განსაზღვრული.

გამოყენება – რთავს დავალებას (ანუ ის შესრულდება მხოლოდ იმ შემთხვევაში, თუ მონიშნულია გამოყენების ველი).

ხელახლა სცადეთ არანორმალური შეწყვეტა - როგორც თქვენ ალბათ მიხვდებით, ნიშნავს ამოცანის გადატვირთვას, თუ ის ვერ შესრულდა წარმატებით პირველად - შეგიძლიათ მიუთითოთ რამდენჯერ უნდა გადატვირთოთ და რამდენ ხანს არანორმალური შეწყვეტის შემდეგ.

1C რუტინული დავალების მართვა და მონიტორინგი

რუტინული 1C ამოცანების სამართავად, არსებობს სპეციალური სტანდარტული დამუშავების სამუშაო კონსოლი. ის ასევე შეიძლება მოიძებნოს.

ეს დამუშავება ეკუთვნის ეგრეთ წოდებულ უნივერსალურ გარე სტანდარტს 1C დამუშავებას, რომელიც ხშირად არ შედის კონფიგურაციაში, მაგრამ ნაწილდება ცალკე, მაგალითად, ITS დისკებზე.

სამუშაო კონსოლის დამუშავების გამოყენებით შეგიძლიათ:

  • ჩართეთ/გამორთეთ რუტინული 1C დავალების შესრულება
  • დაგეგმილი 1C დავალების განრიგის მინიჭება/შეცვლა (და სხვა პარამეტრები)
  • მიუთითეთ 1C მომხმარებელი, რომლის სახელით შესრულდება რუტინული 1C დავალება
  • ნახეთ, რა დავალებები შესრულდა როდის და რა შედეგით, შეცდომები 1C ამოცანების შესრულებისას
  • შეასრულეთ დავალება.

მონაცემთა ბაზების ასლები და 1C რუტინული ამოცანები

თუ იყენებთ სერვერს 1C, მაშინ ხდება შემდეგი სიტუაცია:

  • საკუთარი მიზნებისთვის (მაგალითად, პროგრამირებისთვის) მზადდება სამუშაო მონაცემთა ბაზის ასლი
  • ბაზის ასლში მუშაობა, ტესტირება და ა.შ
  • თქვენ დაგავიწყდათ გამორთოთ რუტინული 1C ამოცანები ასეთ სატესტო მონაცემთა ბაზაში.

მიუხედავად იმისა, რომ 1C რუტინული ამოცანები ასრულებენ დავალებებს, რომლებიც დაკავშირებულია მხოლოდ მათ საინფორმაციო ბაზასთან, მაშინ მასში არაფერია.

თუმცა, 1C რუტინულ დავალებებს ხშირად შეუძლია შეინახოს ნებისმიერი ფაილი, მონაცემები სხვა მონაცემთა ბაზაში, განახორციელოს გაცვლა და გაგზავნოს ელ.წერილი.

ამ შემთხვევაში, შეგიძლიათ მიიღოთ საინტერესო ნაზავი სამუშაო მონაცემთა ბაზაში 1C დავალებების შესრულების შედეგსა და ასლებს შორის.

რუტინული 1C ამოცანები სამუშაო მონაცემთა ბაზის ასლებისთვის უნდა იყოს გამორთული.

1C მარეგულირებელი ამოცანების შესრულება და შეუსრულებლობა

რუტინული 1C ამოცანების შექმნისას უნდა გახსოვდეთ:

  • დავალებებს თავად ასრულებენ - მათ მონიტორინგი სჭირდებათ
  • დავალებები შესრულებულია მოდულში სერვერზე
  • დავალებები შესრულებულია Windows-ის სხვა მომხმარებლის ქვეშ, განსხვავებული უფლებებით.

პირველ რიგში, თქვენ უნდა შეამოწმოთ, რომ დავალება შესრულებულია და შეიძლება შესრულდეს, როგორც რუტინული 1C დავალება.

მეორეც, სერვერის მოდული ნიშნავს, რომ ბევრი რამ, რაც ხელმისაწვდომია კლიენტზე, მიუწვდომელია. მაგალითად, ზოგჯერ, ყველა დოკუმენტი არ შეიძლება განთავსდეს მხოლოდ სერვერზე, რადგან მათი ალგორითმი შეიძლება ითვალისწინებდეს, რომ განთავსება ხდება ხელით მომხმარებლის მიერ და შეიძლება გამოყენებულ იქნას არა სერვერის ფუნქციები, მაგალითად.
გაფრთხილება ("გამარჯობა!")

მესამე, თუ დავალება ეხება რაღაცას 1C მონაცემთა ბაზის მიღმა, მაშინ მნიშვნელოვანი ხდება Windows-ის მომხმარებლის უფლებები, რომლის მიხედვითაც შესრულებულია დავალება.

მესამე პუნქტი განსაკუთრებით მნიშვნელოვანია განვითარებისას. თუ მოდული ვერ შესრულდება სერვერზე, დავალება საერთოდ არ შესრულდება. შესამოწმებლად, თქვენ უნდა შეასრულოთ დავალება ერთხელ მაინც და ნახოთ შედეგი „დავალება დასრულდა“ სამუშაო კონსოლის დამუშავებაში.

ალბათ, არც ერთ სერიოზულ კონფიგურაციას 1C 8.3 ან 8.2 არ შეუძლია რუტინული და ფონური ამოცანების გამოყენების გარეშე. ისინი ძალიან მოსახერხებელია, რადგან ისინი შესრულდება მკაფიოდ განსაზღვრული გრაფიკის მიხედვით მომხმარებლის ან პროგრამისტის ჩარევის გარეშე.

მაგალითად, თქვენ უნდა გაცვალოთ მონაცემები სხვა პროგრამით დღეში ერთხელ. რუტინული და ფონური ამოცანების გამოყენებით, 1C შეძლებს ამ მოქმედებების დამოუკიდებლად შესრულებას, მაგალითად, არასამუშაო საათები. ეს მეთოდი არანაირად არ იმოქმედებს მომხმარებლის გამოცდილებაზე და დაზოგავს დროს.

პირველ რიგში, მოდით გავარკვიოთ, რას გულისხმობენ ისინი და რა განსხვავებაა მათ შორის:

  • დაგეგმილი დავალებასაშუალებას გაძლევთ დაიწყოთ ნებისმიერი კონკრეტული მოქმედება წინასწარ კონფიგურირებული გრაფიკის მიხედვით.
  • ფონური სამუშაოარის ობიექტი, რომელიც შეიცავს განსახორციელებელ მოქმედებებს.

დავუშვათ, რომ ჩვენი კომპანია ყიდის რაღაცას და აქვს საკუთარი ვებ-გვერდი, რომელზეც ფასებია განთავსებული. ჩვენ გვინდა ატვირთოთ ისინი დღეში ერთხელ, რათა შევინარჩუნოთ შესაბამისობა.

გახსენით კონფიგურაცია და დაამატეთ დაგეგმილი დავალება.

თვისებების დაყენება

მოდით შევხედოთ ყველაზე მნიშვნელოვან პარამეტრებს, რომლებიც უნდა შეივსოს მის თვისებებში.

  • სფეროში" მეთოდის სახელი» ირჩევს კონკრეტული ზოგადი მოდულის პროცედურას, რომელიც უშუალოდ შესრულდება. მასში მითითებული იქნება ფასების ატვირთვის ყველა ნაბიჯი ჩვენს ვებსაიტზე. გთხოვთ გაითვალისწინოთ, რომ შესრულება განხორციელდება სერვერზე. ეს ლოგიკურია, რადგან რუტინული ოპერაციები ხორციელდება მომხმარებლის მონაწილეობის გარეშე.
  • დაგეგმილი დავალება შეიძლება გამორთოთ ან ჩართოთ საჭიროებისამებრ. არ არის საჭირო ყოველ ჯერზე მისი განრიგის რედაქტირება. ამისათვის, თვისებების პალიტრაში დააყენეთ ან გაასუფთავეთ დროშა " გამოყენება».
  • კიდევ ერთი მნიშვნელოვანი რამ არის იმის დადგენა, იქნება თუ არა ეს რუტინული ამოცანა წინასწარ განსაზღვრული, თუ არა. წინასწარ განსაზღვრული დაგეგმილი ამოცანები ავტომატურად იხსნება. თუ ეს ფუნქცია არ არის დაინსტალირებული, მაშინ მოგიწევთ მათი გაშვება პროგრამულად, ან გამოიყენოთ "Task Console" დამუშავება ITS-ით.
  • ასევე შეგიძლიათ მიუთითოთ გამეორებების რაოდენობა და მათ შორის ინტერვალიარანორმალური შეწყვეტის შემთხვევაში. არანორმალური შეწყვეტა ეხება იმ სიტუაციებს, როდესაც სამუშაო არ დასრულებულა შეცდომის გამო.

განრიგის დადგენა

საბოლოო ნაბიჯი არის განრიგის დაყენება საიტზე ჩვენი ატვირთვისთვის, თვისებების პალიტრაში შესაბამისი ჰიპერბმულის გამოყენებით.

ტიპიური გრაფიკის პარამეტრს ნახავთ 1C 8.3-ში. აქ არაფერია რთული. ამ მაგალითში, ჩვენ დავაყენეთ ჩვენი ფასების ატვირთვის დაწყება საიტზე ყოველდღე დილის ხუთიდან შვიდამდე. იმ შემთხვევაში, თუ დაგეგმილ დავალებას 7:00 საათამდე დრო არ ექნება, ის მეორე დღესვე დასრულდება.

დაგეგმილი ამოცანების დაბლოკვა

გაუშვით სტანდარტული პროგრამა „1C Enterprise Servers-ის ადმინისტრირება“ და გახსენით ინფო ბაზის თვისებები, სადაც შექმენით რუტინული დავალება (1C-ის კლიენტ-სერვერის ვერსიებისთვის).

ფანჯარაში, რომელიც იხსნება (თქვენი შესვლისა და პაროლის შეყვანის შემდეგ ინფორმაციის უსაფრთხოებაზე წვდომისთვის), შეამოწმეთ, რომ არ არის არჩეული ჩამრთველი „რუტინული ამოცანების დაბლოკვა“. თუ შეხვდებით სიტუაციას, როდესაც დავალება არ მუშაობს, ჯერ შეამოწმეთ ეს პარამეტრი.

ანალოგიურად, შეგიძლიათ მთლიანად გამორთოთ რუტინული დავალებები 1C 8.3-ში. კონკრეტული ფონური სამუშაოების გამოსართავად, შეგიძლიათ გამოიყენოთ უახლეს გამოშვებებში ჩაშენებული „ფონური სამუშაო კონსოლი“ დამუშავება.

ფონური და დაგეგმილი ამოცანები ფაილის რეჟიმში

ამ რეჟიმში, ამ ამოცანების დაყენება და გაშვება გაცილებით რთულია ორგანიზება. ყველაზე ხშირად იქმნება დამატებითი ანგარიში, რომლის სესია ყოველთვის ღია იქნება.

დაგეგმილი ამოცანების გააქტიურება ში ამ შემთხვევაშიშესრულებულია "RunTaskProcessing()" მეთოდის გამოყენებისას.

თქვენ ასევე შეგიძლიათ გამოიყენოთ შემდეგი კონსტრუქცია:

როგორც პროცედურის სახელი, თქვენ უნდა მიუთითოთ კლიენტის პროცედურის სახელი, რომელიც შესრულდება. ინტერვალი გვიჩვენებს, რამდენი წამის შემდეგ მოხდება შესრულება. პარამეტრი "ერთჯერადი" არ არის საჭირო. ეს ასახავს, ​​ეს პროცედურა ჩატარდება ერთხელ თუ რამდენჯერმე.

შეცდომების თვალყურის დევნება ფონურ სამუშაოებში

ნახეთ ფონური ამოცანების პროგრესი, ასევე ხელმისაწვდომობა შესაძლო შეცდომებიშეგიძლიათ იხილოთ ჟურნალის წიგნში. ფილტრში დააყენეთ არჩევანი აპლიკაციაზე „ფონური სამუშაო“ და, საჭიროების შემთხვევაში, აირჩიეთ ინტერესის მნიშვნელობა, მაგალითად, მხოლოდ „შეცდომები“.

ჟურნალი აჩვენებს ყველა ჩანაწერს, რომელიც შეესაბამება თქვენს არჩევანს, კომენტართან ერთად, რომელიც დაგეხმარებათ გაიგოთ შეცდომის მიზეზი.

ალბათ ყველა 1C 8.3 პროგრამისტს ადრე თუ გვიან მოუწია გარკვეული დავალებების შესრულება გრაფიკის მიხედვით. ქვემოთ მივცემ დეტალური აღწერაამ მექანიზმებიდან, იმედი მაქვს, ეს იქნება გამოსადეგი ინფორმაციადამწყები 1C პროგრამისტებისთვის. ეს ძალიან მოსახერხებელია, რადგან არ საჭიროებს ადამიანის მოქმედებას, რუტინული დავალება ერთხელ არის კონფიგურირებული და მუშაობს თქვენი გრაფიკის მიხედვით.

თქვენ ნახავთ დეტალურ ინსტრუქციებს ქვემოთ მოცემული მაგალითის გამოყენებით.

რა არის რუტინული და ფონური ამოცანები 1C-ში

  • დაგეგმილი დავალებებიარის სპეციალური 1C საწარმო 8.3 მექანიზმი, რომელიც შექმნილია კონკრეტული მოქმედების შესასრულებლად მოცემული გრაფიკის მიხედვით.
  • ფონური სამუშაო- რუტინული დავალების მიერ წარმოქმნილი ობიექტები, რომლებიც უშუალოდ ასრულებენ დანიშნულ მოქმედებას მომხმარებლის ან 1C 8.2 პროგრამისტის მონაწილეობის გარეშე.

დაგეგმილი და ფონური სამუშაოების მექანიზმი მუშაობს კლიენტ-სერვერის რეჟიმში (SQL), DBMS-ის ფუნქციონირების წყალობით. თუ თქვენ გაქვთ ფაილების მონაცემთა ბაზა, მაშინ დავალების კონფიგურაცია ასევე შესაძლებელია, მაგრამ ოდნავ განსხვავებული პრინციპის მიხედვით.

ფონური სამუშაოების დაყენება 1C კლიენტ-სერვერის რეჟიმში

პირველი, მოდით შევქმნათ ახალი მეტამონაცემების ობიექტი - რუტინული დავალება. ჩემს ამოცანას დავარქმევ "ვალუტის განაკვეთების ჩატვირთვა". მოდით შევხედოთ ამ კონფიგურაციის ობიექტის თვისებების პალიტრას:

მიიღეთ 267 ვიდეო გაკვეთილი 1C-ზე უფასოდ:

  • მეთოდის სახელი— გზა პროცედურისკენ, რომელიც შესრულდება ფონურ სამუშაოში მოცემული გრაფიკის მიხედვით. პროცედურა უნდა იყოს საერთო მოდულში. მიზანშეწონილია არ გამოიყენოთ სტანდარტული, არამედ შექმნათ საკუთარი. არ დაგავიწყდეთ, რომ ფონური სამუშაოები მუშაობს სერვერზე!
  • გამოყენება- რუტინული დავალების გამოყენების ნიშანი.
  • წინასწარ განსაზღვრული— მიუთითებს წინასწარ განსაზღვრული თუ არა რუტინული დავალება. თუ გსურთ, რომ რუტინულმა დავალებამ იმუშაოს მონაცემთა ბაზაში მოთავსებისთანავე, მიუთითეთ ეს დროშა. წინააღმდეგ შემთხვევაში, მოგიწევთ Job Console-ის დამუშავების გამოყენება ან სამუშაოს პროგრამულად გაშვება.
  • განმეორებითი ცდების რაოდენობა, როდესაც სამუშაო არანორმალურად წყდება— რამდენჯერ გადაიტვირთა ფონური სამუშაო, თუ შეცდომით შესრულდა.
  • ხელახლა სცადეთ ინტერვალი, როდესაც სამუშაო არანორმალურად წყდება— რამდენჯერ გადაიტვირთება ფონური სამუშაო, თუ ის დასრულებულია შეცდომით.

და ყველაზე საინტერესო პარამეტრია განრიგი:

აქ თქვენ აკონფიგურირებთ პროცედურის გაშვების ინტერვალს, რომელიც მითითებულია "მეთოდის სახელი" ველში. ვთქვათ, მე დავაკონფიგურირე

ყურადღება!არ დაგავიწყდეთ DBMS დონეზე რუტინული და ფონური სამუშაოების შესრულების დაბლოკვის გამორთვა!

ეს შეიძლება გაკეთდეს კლიენტ-სერვერის ვერსიის ადმინისტრაციულ პროგრამაში ან ახალი მონაცემთა ბაზის შექმნისას:

რუტინული ამოცანების დაყენება 1C ფაილის რეჟიმში

ფაილის რეჟიმში, ასეთი სამუშაოების დაყენება გარკვეულწილად უფრო რთულია. ასეთი ამოცანისთვის, 1C პროგრამის ცალკე სესია უნდა დაიწყოს. ეს ხშირად მოგვარებულია „ტექნიკური“ მომხმარებლის შექმნით, რომლის სესია ყოველთვის მუშაობს.

ფაილის რეჟიმში, რუტინული სამუშაოს ინიციალიზაცია ხდება "RunTaskProcessing()" მეთოდის გაშვებისას.

კონკრეტული მომხმარებლისთვის, შეგიძლიათ დააკონფიგურიროთ ეს მეთოდი სხვა მეთოდის გამოყენებით −

ConnectWaitHandler( <ИмяПроцедуры>, <Интервал>, <Однократно>).

  • პროცედურის სახელწოდება— პროცედურის სახელწოდება, რომელიც დაკავშირებულია ლოდინის დამმუშავებლის სახით. მართული აპლიკაციის მოდულის (ჩვეულებრივი აპლიკაციის მოდული) ან გლობალური გაზიარებული მოდულის ექსპორტირებული პროცედურის სახელი. პროცედურა უნდა განთავსდეს კლიენტზე.
  • ინტერვალი— პერიოდი ოპერაციების შესრულებას შორის წამებში.
  • Ერთხელ- როგორ დავასრულოთ დავალება ერთხელ თუ არა.

ConnectWaitHandler, 3600);

ორწუთიანი ვიდეო, რომელიც გვიჩვენებს, თუ როგორ უნდა დააყენოთ რუტინული დავალება 1C კონფიგურატორში:

1C-ში მუშაობისას არის მრავალი რუტინული ოპერაცია, რომელიც უნდა დაიწყოს ან ჩამოყალიბდეს გრაფიკის მიხედვით, რათა შესრულდეს ერთი ან სხვა მოქმედება, მაგალითად: დოკუმენტების განთავსება ან მონაცემების ჩატვირთვა 1C-ში ვებგვერდიდან.

მე ახლახან გამოვაქვეყნე სტატია: დროა ამის ავტომატიზაცია:

რუტინული და ფონური ამოცანები

სამუშაო ძრავა შექმნილია ნებისმიერი აპლიკაციის ან ფუნქციის შესასრულებლად გრაფიკით ან ასინქრონულად.

დავალების მექანიზმი წყვეტს შემდეგ ამოცანებს:

  • სისტემის კონფიგურაციის ეტაპზე მარეგულირებელი პროცედურების განსაზღვრის უნარი;
  • განსაზღვრული მოქმედებების შესრულება გრაფიკის მიხედვით;
  • მოცემულ პროცედურაზე დარეკვა ან ასინქრონულად ფუნქციონირება, ე.ი. მისი დასრულების მოლოდინის გარეშე;
  • კონკრეტული დავალების პროგრესის თვალყურის დევნება და მისი დასრულების სტატუსის მიღება (მნიშვნელობა, რომელიც მიუთითებს წარმატებული იყო თუ არა);
  • მიმდინარე ამოცანების სიის მიღება;
  • ერთი ან მეტი დავალების დასრულებამდე ლოდინის შესაძლებლობა;
  • სამუშაოს მართვა (გაუქმების შესაძლებლობა, შესრულების დაბლოკვა და ა.შ.).

სამუშაო მექანიზმი შედგება შემდეგი კომპონენტებისგან:

  • რუტინული ამოცანების მეტამონაცემები;
  • რეგულარული დავალებები;
  • ფონური სამუშაოები;
  • დავალების განრიგი.

ფონური სამუშაოები და შექმნილია აპლიკაციის ამოცანების ასინქრონულად შესასრულებლად. ფონის დავალებები ხორციელდება ჩაშენებული ენის გამოყენებით.

დაგეგმილი ამოცანები და შექმნილია აპლიკაციის ამოცანების განრიგში შესასრულებლად. რუტინული ამოცანები ინახება საინფორმაციო ბაზაში და იქმნება კონფიგურაციაში განსაზღვრული მეტამონაცემების საფუძველზე. მარეგულირებელი ამოცანის მეტამონაცემები შეიცავს ინფორმაციას, როგორიცაა სახელი, მეთოდი, გამოყენება და ა.შ.

რუტინულ დავალებას აქვს განრიგი, რომელიც განსაზღვრავს, რა დროს უნდა შესრულდეს რუტინულ ამოცანასთან დაკავშირებული მეთოდი. განრიგი, როგორც წესი, მითითებულია საინფორმაციო ბაზაში, მაგრამ ასევე შეიძლება დაზუსტდეს კონფიგურაციის ეტაპზე (მაგალითად, წინასწარ განსაზღვრული რუტინული ამოცანებისთვის).

დავალების გრაფიკი გამოიყენება რუტინული ამოცანების შესრულების დასაგეგმად. თითოეული დაგეგმილი ამოცანისთვის, დამგეგმავი პერიოდულად ამოწმებს თუ არა მიმდინარე თარიღიდა რუტინული დავალების განრიგის დრო. თუ ის ემთხვევა, განრიგი ანიჭებს ამ ამოცანას შესრულებას. ამისათვის, ამ დაგეგმილი ამოცანისთვის, დამგეგმავი ქმნის ფონის დავალებას, რომელიც ასრულებს რეალურ დამუშავებას.

ვფიქრობ, ეს საკმარისია აღწერილობით - მოდით გადავიდეთ განხორციელებაზე:

რუტინული დავალების შექმნა

მეთოდის სახელი– გზა პროცედურისკენ, რომელიც შესრულდება ფონურ სამუშაოში მოცემული გრაფიკის მიხედვით. პროცედურა უნდა იყოს საერთო მოდულში. რეკომენდებულია არა სტანდარტული საერთო მოდულების გამოყენება, არამედ საკუთარის შექმნა. არ დაგავიწყდეთ, რომ ფონური სამუშაოები მუშაობს სერვერზე!

გამოყენება- რუტინული დავალების გამოყენების ნიშანი.

წინასწარ განსაზღვრული– მიუთითებს წინასწარ განსაზღვრული თუ არა რუტინული დავალება.

თუ გსურთ, რომ რუტინულმა დავალებამ იმუშაოს მონაცემთა ბაზაში მოთავსებისთანავე, მიუთითეთ ატრიბუტი წინასწარ განსაზღვრული. წინააღმდეგ შემთხვევაში, თქვენ უნდა გამოიყენოთ „სამუშაო კონსოლის“ დამუშავება ან ამოცანის პროგრამულად გაშვება.

განმეორებითი ცდების რაოდენობა, როდესაც სამუშაო არანორმალურად წყდება– რამდენჯერ გადაიტვირთა ფონური სამუშაო, თუ ის შესრულდა შეცდომით.

ხელახლა სცადეთ ინტერვალი, როდესაც სამუშაო არანორმალურად წყდება– რამდენად ხშირად გადაიტვირთება ფონური სამუშაო, თუ ის დასრულებულია შეცდომით.

განრიგის დადგენა

განრიგიდავალების შესრულება:

ყოველ საათში, მხოლოდ ერთ დღესგამეორების დღეების პერიოდი = 0, განმეორებითი დღეების პერიოდი = 3600
ყოველ დღე დღეში ერთხელRepeatDays Period = 1, RepeatDays Period = 0
ერთ დღეს, ერთხელპერიოდის გამეორების დღეები = 0
ყოველ მეორე დღეს დღეში ერთხელგამეორების პერიოდი = 2
ყოველდღე 01:00 საათიდან 07:00 საათამდეPeriodRepeatDays = 1RepeatPeriodDuringDay = 3600StartTime = 01.00

დასრულების დრო = 07.00

ყოველ შაბათს და კვირას 09:00 საათზეგანმეორებითი დღეების პერიოდი = 1 კვირა დღეები = 6, 7 დაწყების დრო = 09.00
ყოველ დღე ერთი კვირის განმავლობაში, გამოტოვეთ კვირაპერიოდის გამეორების დღეები = 1 პერიოდი კვირა = 2
ერთხელ 01:00 საათზედაწყების დრო = 01.00
ყოველი თვის ბოლო დღე 9:00 საათზე.PeriodRepeatDays = 1DayInMonth = -1StartTime = 09.00
ყოველი თვის მეხუთე დღე 9:00 საათზეPeriodRepeatDays = 1DayInMonth = 5StartTime = 09.00
ყოველი თვის მეორე ოთხშაბათი 9:00 საათზეPeriodRepeatDays = 1DayWeekMonth = 2DaysWeek = 3

დაწყების დრო = 09.00

ფაილის და კლიენტ-სერვერის ვარიანტებში ფონური სამუშაოების შესრულების მახასიათებლები

ფაილის და კლიენტ-სერვერის ვერსიებში ფონური სამუშაოების შესრულების მექანიზმები განსხვავებულია.

ფაილის ვერსიაშითქვენ უნდა შექმნათ გამოყოფილი კლიენტის პროცესი, რომელიც შეასრულებს ფონურ სამუშაოებს. ამისათვის კლიენტის პროცესმა პერიოდულად უნდა გამოიძახოს გლობალური კონტექსტის ფუნქცია ExecuteJobProcessing. მხოლოდ ერთი კლიენტის პროცესი თითო საინფორმაციო ბაზაუნდა დაამუშაოს ფონური სამუშაოები (და, შესაბამისად, გამოიძახოს ეს ფუნქცია). თუ კლიენტის პროცესი არ არის შექმნილი ფონური სამუშაოების დასამუშავებლად, მაშინ სამუშაო ძრავზე პროგრამულად წვდომისას გამოჩნდება შეცდომა „სამუშაო მენეჯერი არ არის აქტიური“. არ არის რეკომენდებული კლიენტის პროცესის გამოყენება, რომელიც ამუშავებს ფონის სამუშაოებს სხვა ფუნქციებისთვის.

მას შემდეგ, რაც კლიენტის პროცესის დამუშავების ფონური სამუშაოები დაიწყება, კლიენტის სხვა პროცესებს შეუძლიათ პროგრამულად წვდომა ფონური სამუშაოების ძრავზე, ე.ი. შეუძლია ფონური სამუშაოების გაშვება და მართვა.

კლიენტ-სერვერის ვერსიაშიფონური სამუშაოების შესასრულებლად გამოიყენება დავალების განრიგი, რომელიც ფიზიკურად მდებარეობს კლასტერის მენეჯერში. ყველა რიგში მდგომი ფონური სამუშაოსთვის, განრიგი იღებს ყველაზე ნაკლებად დატვირთულ სამუშაო პროცესს და იყენებს მას შესაბამისი ფონური სამუშაოს გასაშვებად. სამუშაო პროცესი ასრულებს სამუშაოს და აცნობებს განრიგს შესრულების შედეგების შესახებ.

კლიენტ-სერვერის ვერსიაში შესაძლებელია რუტინული ამოცანების შესრულების დაბლოკვა. რუტინული დავალებების შესრულება დაბლოკილია შემდეგ შემთხვევებში:

  • საინფორმაციო ბაზაზე დაინსტალირებულია რუტინული ამოცანების აშკარა დაბლოკვა. საკეტის დაყენება შესაძლებელია კასეტური კონსოლის მეშვეობით;
  • ინფორმაციის ბაზაზე არის კავშირის ბლოკი. საკეტის დაყენება შესაძლებელია კასეტური კონსოლის მეშვეობით;
  • ჩაშენებული ენიდან გამოიძახეს SetExclusiveMode() მეთოდი True პარამეტრით;
  • ზოგიერთ სხვა შემთხვევაში (მაგალითად, მონაცემთა ბაზის კონფიგურაციის განახლებისას).

დაგეგმილი ამოცანების გაშვების დათვალიერების დამუშავებაშეგიძლიათ ჩამოტვირთოთ აქ.