Планирани и фонови задачи (създаване, конфигуриране, стартиране). Планирани и фонови задачи (създаване, конфигуриране, стартиране) Конзола за планирани задачи 1s 8.3

Когато работите в 1C, има много рутинни операции, които трябва да бъдат стартирани или формирани по график чрез извършване на едно или друго действие, например: публикуване на документи или изтегляне на данни в 1C от сайт.

Наскоро публикувах статия: време е да автоматизирам това:

Планирани и фонови задачи

Механизмът за работа е проектиран да изпълнява всяко приложение или функционалност по график или асинхронно.

Механизмът за работа изпълнява следните задачи:

  • Възможност за определяне на рутинни процедури на етап конфигуриране на системата;
  • Изпълнение на определени действия по график;
  • Изпълнението на извикване на дадена процедура или функция е асинхронно, т.е. без да чака завършването му;
  • Проследяване на напредъка на конкретна работа и получаване на нейния статус на завършеност (стойност, показваща успеха или неуспеха на нейното изпълнение);
  • Получаване на списък с текущи задачи;
  • Възможност за изчакване на изпълнението на една или повече задачи;
  • Управление на работата (възможност за анулиране, блокиране на изпълнението и др.).

Работният механизъм се състои от следните компоненти:

  • Метаданни на планирани задачи;
  • Планирани задачи;
  • Фонови работни места;
  • Планировчик на задачи.

Фонови задачи & са предназначени да изпълняват задачи на приложения асинхронно. Фоновите задачи се изпълняват с помощта на вградения език.

Планирани задачи и са предназначени за изпълнение на планирани задачи. Планираните задачи се съхраняват в информационната база и се създават въз основа на метаданните, дефинирани в конфигурацията. Метаданните за планирано задание съдържат информация като име, метод, използване и т.н.

Планираната задача има график, който определя кога трябва да се изпълни методът, свързан с планираната задача. Графикът, като правило, се задава в информационната база, но може да бъде зададен и на етапа на конфигурация (например за предварително дефинирани планирани задачи).

Планировчикът на задачи се използва за планиране на изпълнението на планирани задачи. За всяко планирано задание планировчикът периодично проверява дали текущата дата и час съответстват на графика на планираното задание. Ако съвпада, планировчикът планира тази задача да се изпълни. За да направи това, според тази планирана задача, планировчикът създава фонова задача, която изпълнява действителната обработка.

С описанието мисля, че това е достатъчно - нека да продължим към изпълнението:

Създаване на планирана работа

Име на метода– път до процедурата, която ще се изпълни във фоновата задача по зададения график. Процедурата трябва да е в споделен модул. Препоръчително е да не използвате типични общи модули, а да създадете свои собствени. Не забравяйте, че фоновите задачи се изпълняват на сървъра!

Използване- знак за използване на планирана задача.

предварително определени– показва дали планираната задача е предварително зададена.

Ако искате планираната задача да работи веднага след поставянето й в базата данни, посочете знака предварително определени. В противен случай ще трябва да използвате обработката на „Job Console“ или да извикате заданието за програмно изпълнение.

Брой повторни опити при срив на задание– колко пъти е било рестартирано фоновото задание, ако е било изпълнено с грешка.

Интервал за повторен опит за прекратяване на задание– колко често ще се рестартира фоновата задача, ако е била изпълнена с грешка.

Настройка на графика

Графикизпълнение на задачата:

Всеки час, само един денRetry PeriodDays = 0, Retry PeriodDuringDay = 3600
Всеки ден по веднъж на денRetry PeriodDays = 1, Retry PeriodDuringDay = 0
Един ден, един пътДни на период за повторен опит = 0
През ден веднъж на денДни на период за повторен опит = 2
На всеки час от 01.00 до 07.00 всеки денRetryPeriodDays = 1RepeatPeriodDay = 3600StartTime = 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 чПовторете PeriodDays = 1DayWeekInMonth = 2DaysWeek = 3

Начален час = 09.00ч

Особености при изпълнение на фонови задачи във файлови и клиент-сървърни версии

Механизмите за изпълнение на фонови задачи във файловата и клиент-сървърната версия са различни.

Във файлов форматтрябва да създадете специален клиентски процес, който ще изпълнява фонови задачи. За да направите това, функцията за глобален контекст ExecuteJobProcessing трябва да се извиква периодично в клиентския процес. Само един клиентски процес на информационна база трябва да обработва фонови задачи (и следователно да извиква тази функция). Ако не е създаден клиентски процес за обработка на фонови задания, тогава при програмен достъп до машината за задания ще се генерира грешката „Мениджърът на задания не е активен“. Не се препоръчва използването на клиентския процес, който обработва фонови задания за други функции.

След като клиентският процес, обработващ фонови задания, е стартиран, други клиентски процеси могат програмно да имат достъп до механизма за фонови задания, т.е. може да изпълнява и управлява фонови задания.

Във версия клиент-сървърЗа изпълнение на фонови задания се използва планировчикът на задачи, който физически се намира в мениджъра на клъстера. Планировчикът за всички поставени на опашка фонови задания получава най-малко натоварения работен процес и го използва за изпълнение на съответното фоново задание. Работният процес изпълнява заданието и уведомява планировчика за резултатите от изпълнението.

Във версията клиент-сървър е възможно да се блокира изпълнението на планирани задачи. Блокирането на изпълнението на планирани задачи възниква в следните случаи:

  • В информационната база е зададено изрично блокиране на планирани задачи. Заключването може да се настрои чрез клъстерната конзола;
  • В информационната база е зададен блок за връзка. Заключването може да се настрои чрез клъстерната конзола;
  • Методът SetExclusiveMode() беше извикан от вградения език с параметъра True;
  • В някои други случаи (например при актуализиране на конфигурацията на базата данни).

Обработка на стартиране и преглед на планирани задачиможете да изтеглите тук.

Вероятно нито една сериозна конфигурация на 1C 8.3 или 8.2 не може да мине без използването на планирани и фонови задачи. Те са много удобни, тъй като ще се изпълняват по ясно определен график без намеса на потребител и програмист.

Например, трябва да обменяте данни с друга програма веднъж на ден. Използвайки рутинни и фонови задачи, 1C ще може да изпълнява тези действия независимо, например в неработно време. Този метод няма да повлияе по никакъв начин на работата на потребителите и ще спести време.

Първо, нека разберем какво означават и как се различават:

  • Планирана задачави позволява да изпълнявате всякакви конкретни действия според предварително конфигуриран график.
  • Фонова работае обект, който съдържа действията, които трябва да бъдат извършени.

Да предположим, че нашата компания продава нещо и има собствен уебсайт с цени. Веднъж на ден искаме да ги разтоварим, за да поддържаме уместност.

Отворете конфигурацията и добавете планирана задача.

Задаване на свойства

Помислете за най-важните параметри, които трябва да бъдат попълнени в неговите свойства.

  • В полето " Име на метода» се избира процедурата на някакъв конкретен общ модул, който ще се изпълнява директно. Той ще посочи всички действия за качване на цени на нашия уебсайт. Имайте предвид, че изпълнението ще се извърши на сървъра. Това е логично, тъй като рутинните операции се извършват без намеса на потребителя.
  • Планираната задача може да бъде деактивирана или активирана според нуждите. Няма нужда да променяте графика му всеки път. За да направите това, в палитрата със свойства поставете или премахнете отметката от " Използване».
  • Друга важна настройка е дали тази планирана задача ще бъде предварително определени, или не. Предварително зададените планирани задачи се изпълняват автоматично. Ако този флаг не е зададен, тогава ще трябва да ги стартирате програмно или да използвате обработката на "Job Console" с ITS.
  • Можете също да посочите броя на повторенията и интервала между тяхпри катастрофа. Ненормалното завършване се отнася до онези ситуации, когато задачите не са завършени поради грешка.

Настройка на графика

Последната стъпка е да настроите график за нашето качване на сайта, като използвате подходящата хипервръзка в палитрата със свойства.

Ще видите типична настройка на графика в 1C 8.3. Тук няма нищо сложно. Като част от този примернастроихме стартирането на нашето качване на цени на сайта всеки ден от пет до седем сутринта. В случай, че планираната задача няма време да се изработи преди 7:00, тя ще бъде изпълнена на следващия ден.

Блокиране на планирани задачи

Стартирайте стандартната помощна програма за администриране на 1C Enterprise Server и отворете свойствата на информационната база, където сте създали планираната задача (за версиите на 1C клиент-сървър).

В прозореца, който се отваря (след въвеждане на потребителско име и парола за достъп до IB), проверете дали флагът на елемента „Блокирането на планирани задачи е активирано“ не е зададен. Ако срещнете ситуация, в която задачата не работи, първо проверете тази настройка.

По същия начин можете напълно да деактивирате планираните задачи в 1C 8.3. За да деактивирате определени фонови задачи, можете да използвате обработката на „Конзолата за фонови задачи“, вградена в последните версии.

Фонови и планирани задания във файлов режим

В този режим настройката и изпълнението на тези задачи е много по-трудно за организиране. Най-често допълнителен Сметка, чиято сесия винаги ще бъде отворена.

Активиране на планирани задачи в този случайсе извършва чрез метода "PerformJobProcessing()".

Можете също да използвате следната конструкция:

Името на процедурата трябва да бъде името на процедурата на клиента, която ще бъде изпълнена. Интервалът показва колко секунди ще отнеме изпълнението. Параметърът "Веднъж" не е задължителен. Отразява дали тази процедураведнъж или няколко пъти.

Проследяване на грешки във фонови задачи

Можете да видите напредъка на фоновите задания, както и наличието на възможни грешки в регистъра за регистрация. Във филтъра задайте селекцията на приложението „Фонова задача“ и, ако е необходимо, изберете важността на интереса, например само „Грешки“.

Дневникът ще покаже всички записи, които отговарят на вашия избор, с коментар, който можете да използвате, за да разберете причината за грешката.

Някои задачи в управлението на документи и счетоводството може да се наложи да се изпълняват периодично. Например на двадесетите числа. Или ежедневно.

Обикновено компанията се опитва да създаде правила за изпълнението на такива задачи – кой, кога и как трябва да изпълнява задачата, кой да я контролира.

Такива задачи се наричат ​​- регулирани, т.е. изпълнявани съгласно разпоредбите.

В ИТ мониторингът често е рутинен.

Това е добре известно на системния администратор - има специални програми, които периодично проверяват изправността на сървърите и мрежовата инфраструктура и докладват SMS или имейл на администратора.

Подобни неща съществуват и за уеб администраторите - да проверяват наличността на сайта през деня.

В 1C задачите за наблюдение и всички други периодични задачи, които трябва да се изпълняват автоматично по график, се изпълняват с помощта на механизма за планирани задачи на 1C.

Нека поговорим за тях днес.

Планирани задачи 1C

Планирани задачи 1C е тази, която ви позволява да изпълнявате, както го прави, но по график.

Самата рутинна задача на 1C в конфигуратора е начин за задаване на настройки и задаване на график. Между другото, графикът може да се променя динамично по-късно в режим 1C Enterprise.

Фоновите задачи могат да бъдат създадени от текста на програмата на езика 1C произволно без планирана задача 1C - за паралелни изчисления на сървъра.

Изпълнението на рутинни задачи 1C може да бъде временно деактивирано - в.

Добавяне на планирана задача 1C

Планираните задачи 1C са в конфигурацията в клона Общи / Планирани задачи 1C. Нека добавим нова планирана задача 1C, посочете нейното име.

В свойството на планираната задача 1C е посочено името на метода, както и в. Функцията ще бъде разположена в общ модул с отметка в квадратчето Сървър в свойствата, т.е. модулът трябва да бъде добавен предварително.

Свойството на планираната задача 1C - Име на задача - определя името, под което задачата ще се появи в инструментите за управление на задачи.

Свойството на планираната задача 1C - Ключ - ви позволява да групирате няколко различни планирани задачи 1C. Само една задача със същата стойност на ключ може да се изпълнява едновременно. Самата стойност може да бъде произволна. Празна стойност не се взема предвид по време на контрола (т.е. счита се за непопълнена).

Свойството на планираната задача 1C - Предефинирана - определя, че при стартиране на 1C Enterprise ще бъде създадена такава задача и в едно копие с графика, посочен в конфигуратора. Непредефинираните задачи се появяват програмно, когато пристигне графикът.

В типични конфигурации, например Счетоводство 2.0, такива рутинни 1C задачи като Актуализация на конфигурацията и Преизчисляване на суми са предварително дефинирани, а като Обмен на данни или Отложени движения не са предварително дефинирани.

Използване - включва задачата (т.е. ще бъде изпълнена само ако има отметка в квадратчето Използване).

Crash retry - както лесно можете да се досетите, означава рестартиране на заданието, ако не може да бъде завършено успешно от първия път - указва се колко пъти да се рестартира и след колко след срива.

1C управление и наблюдение на планирани задачи

За да управлявате планираните задачи 1C, има специална типична обработка на конзолата за задачи. Може да се намери и на.

Тази обработка се отнася до така наречената универсална външна типична 1C обработка, която често не е включена в конфигурацията, а се разпространява отделно, например на ITS дискове.

С Job Console Processing можете:

  • Активирайте / деактивирайте изпълнението на планираната задача 1C
  • Присвояване / промяна на графика на планираната задача 1C (и други параметри)
  • Посочете потребителя на 1C, от чието име ще бъде изпълнена планираната задача 1C
  • Преглед - кои задачи са изпълнени кога и с какъв резултат, грешки при изпълнение на 1C задачи
  • Изпълнение на задача.

Копия на бази данни и рутинни задачи 1C

Ако се използва сървър 1C, възниква следната ситуация:

  • За собствени цели (например за програмиране) се прави копие на работната база данни
  • В копие на базата данни се работи, тества се и т.н.
  • Забравено е да изключите рутинните 1C задачи в такава тестова база.

Докато рутинните задачи на 1C изпълняват задачи, свързани само с тяхната информационна база, тогава в това няма нищо.

Въпреки това, често рутинните задачи на 1C могат да записват всякакви файлове с данни в други бази данни, да обменят, да изпращат имейли.

В този случай може да се получи интересна смес между резултата от изпълнението на рутинни 1C задачи в работната база данни и копията.

Рутинните задачи на 1C за в копия на работната база трябва да бъдат деактивирани в.

Изпълнение и неизпълнение на рутинни задачи 1C

Когато създавате планирани задачи 1C, трябва да запомните:

  • Задачите се изпълняват сами - те трябва да бъдат наблюдавани
  • Задачите се изпълняват в модул на сървъра
  • Задачите се изпълняват под друг потребител на Windows, с различни права.

Първо, трябва да проверите дали задачата се изпълнява и може да бъде изпълнена като планирана задача 1C.

Второ, сървърният модул означава, че много неща, които са налични на клиента, не са налични. Например, понякога не всички документи могат да бъдат публикувани само на сървъра, тъй като техният алгоритъм може да предвижда, че публикуването се стартира ръчно от потребителя и могат да се използват несървърни функции, напр.
Предупреждение ("Здравей!")

Трето, ако задачата се занимава с нещо извън базата на 1C, тогава правата на потребителя на Windows, под който се изпълнява задачата, стават важни.

Третата точка е особено важна в развитието. Ако модулът не може да бъде изпълнен на сървъра, задачата по принцип няма да бъде изпълнена. За да проверите, трябва да стартирате задачата поне веднъж и да видите резултата „Задачата е завършена“ в обработката на конзолата за задачи.

Платформи: 1C:Enterprise 8.3, 1C:Enterprise 8.2, 1C:Enterprise 8.1
Конфигурации: Всички конфигурации

2012-11-13
53852

В работния процес има задачи, които изискват периодично изпълнение - например на двадесети или ежедневно. По правило в компаниите специално за това се създават определени правила, които посочват кога и как трябва да се изпълни необходимата задача и кой трябва да контролира процеса. Такива задачи се изпълняват съгласно разпоредбите и се наричат ​​регламентирани.

Доста често ИТ следва правилата за наблюдение. Този метод е добре познат на администраторите, тъй като за това има специални програми, използвани за периодична проверка на здравето на мрежовата инфраструктура и сървъри. Те уведомяват администратора за открити проблеми чрез SMS или имейл.

Подобна система е валидна за уеб администратори, като наличността на сайта се проверява в рамките на 24 часа. С помощта на механизма "Редовни задачи" в 1C се изпълняват задачи за наблюдение, както и периодични задачи, които са планирани в автоматичен режимв 1C. Нека разгледаме тази тема по-подробно.

Планирани задачи 1C

Обект 1C, който се нарича "Редовни задачи" - дава възможност да се обработва информация не след възникване на проблем, а по график. В конфигуратора планираното задание е начин за настройка на настройките и задаване на график. Освен това е възможно впоследствие да промените графика в режим 1C Enterprise.

Когато използвате файлова база данни, заданията не се изпълняват автоматично. За да стартирате процеса, трябва да стартирате 1C сесия в режим 1C Enterprise и да започнете изпълнението на планирана задача в него.

Всички типични конфигурации имат потребителска настройка, която ви позволява да изясните, че когато 1C работи, рутинните задачи ще се изпълняват автоматично.

Използването на версията клиент-сървър на 1C дава възможност за автоматично изпълнение на задачи на сървъра. В планираното време - стартира се фонова задача, която извършва необходимите действия. За паралелни изчисления на сървъра може да се създаде фонова задача от текста на програмата с помощта на езика 1C, без да се използва планирана задача 1C. Действието на планирана задача може да бъде временно деактивирано с помощта на конзолата за управление на 1C сървър за това.

Добавяне на планирана работа

Планираните задачи се намират в — Конфигуратор — Общи — Планирани задачи. Добавете нова „задача“ и дайте име. След това трябва да отидете на свойствата на „Задачи“. И изберете Име на метода. Тук трябва да посочите функцията за обработка, точно както се случва в абонамента за събитие. Тази функция ще се намира в общия модул и ще бъде отбелязана с "птица" Сървър в свойствата. Това означава, че необходимият модул трябва да бъде добавен предварително.

Името на задачата в свойствата на планираната задача ви позволява да определите нейното име, което по-късно ще се появи в инструментите за управление на задачи. Функцията за свойства на планирано задание е ключ, който ви позволява да групирате няколко различни планирани задания. В този случай само една задача със същата стойност на ключ може да бъде стартирана едновременно. Тук стойността може да е произволна, но е задължително да се попълни, тъй като празната стойност не се взема предвид от системата.

В изданието Accounting 2.0, което е типична конфигурация, планираните задачи като: „Преизчисляване на суми“ и „Актуализация на конфигурацията“ са предварително дефинирани, а като „Забавени движения“ и „Обмен на данни“ не са предварително дефинирани.

Повторен опит при срив - Рестартира работеща задача. Предвидено за изстрелване, което не е завършено успешно първия път. Тук е посочено колко пъти можете да рестартирате и колко време след срива.

Инструменти за наблюдение и управление на планираната задача 1C

Стандартната обработка "Job Console", която може да се намери на ITS дисковете, отговаря за управлението на планираната задача. Тази обработкае универсален външен стандарт за обработка 1C. По правило той не е включен в конфигурацията, а се закупува отделно.

С негова помощ можете да извършвате следните действия:

Включете и изключете планираната задача;

Задаване и промяна на графика;

Посочете името на потребителя, с който ще се изпълнява планираната задача;

Вижте изпълнени задачи (кога и с какъв резултат), както и грешки в задачите;

Планирани задачи и копия на бази данни

Когато използвате сървър 1C, може да възникне следният момент:

За програмиране трябва да направите копие на работещата база данни;

Необходимостта от работа в копия на базата данни (тестване);

По някаква причина планираната задача не е активирана в тестовата база данни.

Ако една от тези ситуации възникне по време на изпълнението на задачи от планирана задача, които са свързани само с нейната база данни, това не води до негативни последици. Но често планирана задача може да записва файлове или други данни, да изпраща имейли и да обменя. В този случай може да има объркване между резултатите от „работата“ и копията. За да предотвратите това да се случи, трябва да деактивирате „задачи“ в конзолата за управление на сървъра.

Изпълнени и неизпълнени рутинни задачи

Когато създавате планирани задачи, е важно да проверите дали задачата може да се изпълни като планирана задача. Важно е да знаете, че сървърният модул не предоставя много от нещата, които са възможни на клиента. След това задача, занимаваща се с нещо, което е извън основата − важна роляв същото време се играят правата на потребителя на Windows, под който се изпълнява задачата.

Последният фактор е особено важен, тъй като ако модулът не се изпълнява на сървъра, тогава задачата не може да бъде изпълнена по принцип. За да проверите, трябва да изпълните една задача и да оцените резултата.