Планировщик задач

Планировщик предназначен для выполнения определенных задач по расписанию или событию. Типовые задачи: формирование пакетных отчетов, рассылка электронных писем (отчетов), прием документов из электронных писем, резервное копирование баз данных и т.п.

Cкачать дистрибутив службы планировщика, актуальной для соответствующей версии базы данных, можно по ссылке : https://keysystems.ru/files/web/INSTALL/SMART2/install/TaskSchedulerService/ .

Планировщик может быть запущен/настроен локально либо удаленно - для выбора настраиваемого планировщика используется кнопка "Выбрать расположение планировщика" :

mnu_planir_localiz

Текущее расположение просматриваемых задач можно определить по заголовку окна списка задач: если перед текстом "Планировщик задач" ничего нет, то просматривается список локальных задач , иначе просматривается список задач на удаленном компьютере (как служба) и в заголовке отображается адрес этого удаленного компьютера.

Кнопка "Запуск вручную" всегда запускает задачу в текущем процессе экземпляра "Бюджет-СМАРТ", как служба задача работает только по расписанию.

Лог работы планировщика хранится в виде txt файла с именем содержащим дату logГГГГММДД.txt (где ГГГГ - год, ММ - месяц, ДД - число месяца) и расположен по пути:

События планировщика (успешное завершение, сбой и т.п.) доводятся по внутренней почте до пользователей, указанных в настройке "Адресаты системных сообщений".

Использование прокси-сервера

Для некоторых задач требуется выход в интернет (например при обновлении Справочника БИК).
Если подключение к интернету осуществляется через прокси, то параметры прокси-сервера следует указывать:

Уведомление о результате выполнения задачи

Для некоторых типов задач результат их выполнения (успех или ошибка) рассылается пользователям, указанным в настройке "Меню Настройки: НАСТРОЙКИ \ Сервер сообщений \ Адресаты сообщений - настройка - Адресаты системных сообщений".
Это такие задачи как:

Триггеры (расписание выполнения) задачи
У каждой задачи на вкладке "Триггеры" задается расписание выполнения. Задача планировщика может выполняться:

Задачи

Загрузка справочника банков

Предназначена для автоматического обновления Справочника БИК по расписанию с сайта Банка России. Для этого:

Примечание: если задача выполняется в текущем процессе "Бюджет-СМАРТ" и подключение к интернету осуществляется через прокси, то параметры прокси-сервера следует указывать на вкладке "Соединение" окна входа в комплекс.

При удачном завершении очередной загрузки на вкладке "Журнал событий" задачи будет результат в виде "Выполнено успешно: Загрузка справочника из файла: C:\...\....zip. Загружено банков: ...". Любые другие сообщения говорят о каких-то проблемах - подробностьи см в протоколе приема справочника БИК в режиме "Навигатор: СЕРВИСНЫЕ РЕЖИМЫ \ Журнал событий". Для просмотра протокола загрузки следует открыть детализацию на вкладке "Журнала событий" в задаче планировщика.

mnu_planir_jurnal_bank

Администрирование задачи обновления БИК в среде Linux:
1) КС-Планировщик в среде Linux работает под учетной записью "ksbackup". Узнать это можно командой bash /opt/schks-3.1.24/info.sh .
2) Так как ПО КС хранится в папке /opt, то логичнее создать каталог в нем, к примеру /opt/bank. Учетная запись "ksbackup" должна иметь полные права на каталог /opt/bank .

mkdir /opt/bank #создать каталог /opt/bank
chown -R ksbackup:ksbackup /opt/bank #сменить владельца /opt/bank
chmod -R 770 /opt/bank #изменить права на /opt/bank

3) На ОС Astra Linux еще потребуется установка пакетов p7zip-full и p7zip-rar:

sudo su
apt install p7zip-full p7zip-rar

4) Проверка доступности сайта ЦБ РФ с компьютера, где расположен планировщик :

curl -vs http://www.cbr.ru/VFS/mcirabis/BIKNew

Задача приема файлов по email (выписки, ФНС, платежки и т.п.).

Решается последовательно двумя типами задач:

1) Проверка внешнего почтового ящика.
С заданной периодичностью проверяет внешний почтовый ящик и загружает файлы из входящих сообщений в заданную папку. Обработанные почтовые сообщения удаляются из входящих.

2) Импорт документов (ЭОД).
Осуществляет прием файлов из определенной папки (которую пополняет первая задача по проверке почтового ящика). Обработанные файлы не удаляются и не перемещаются. Работает задача не по расписанию, а по факту появления файла приема в заданной папке.
Для некоторых ведомостей важен порядок приема набора файлов, либо требуется обеспечить их "одновременный" прием в одной сессии (тогда комплекс сам определит нужный порядок приема). Поэтому рекомендуем ведомости/выписки принимать по файлу с описанием (см далее).

Рекомендуемые настройки для приема отдельных документов (платежки, заявки и т.п.)

Параметры задачи:

Расписание (триггеры) задачи:

Рекомендуемые настройки для приема выписок

Параметры задачи:

где 98ac9f51-ea1a-df11-a3dc-16c03228c478 - уникальный идентификатор сеанса приема, для каждого файла описания свой (например поле GUID из одного из файлов RK). Далее в тегах <file> перечислены имена файлов приема в нужном порядке.

Расписание (триггеры) задачи:

Примечание. Если не применять файл описания, то:

Выгрузка отчетов.

Выписки формируются с задержкой на 1-5 дней (см параметр "Смещение дней") - время, необходимое для полной обработки дня специалистами финоргана.

Тип задачи "Пакетная выгрузка отчетов".

В параметрах задачи следует:

Примечание. Для того же пользователя, от имени которого будет выполняться задача формирования отчетов, рекомендуем создавать задачу "Синхронизация расчетной даты" - чтоб расчетная дата комплекса, относительно которой обычно формируется отчетность, для этого пользователя совпадала с системной датой SQL сервера. Предварительное (до выгрузки отчетов) выполнение этой задачи позволит гарантировать формирование отчетов за нужный период. См. так же параметр "Смещение дней" задачи "Пакетная выгрузка отчетов".

Рассылка файлов по почте.

Тип задачи "Отправка файла по почте".

В параметрах задачи в поле "Сообщение" можно применить переменные:

Задача отслеживает изменения файловой системы (появление новых файлов, см вкладку "Триггеры") и при появлении в заданной папке новых файлов рассылает письма с этими файлами. Файлы должны содержаить в своём имени идентификтор получателя (счет, ИНН и т.п.) заданный в справочнике "Корреспонденты. Участники рассылок". Если источником корреспондентов задан файл Recipients.txt (список получателей, все адреса пишутся с новой строки), то все файлы будут отправляться по каждому из адресов только из этого файла.

Задача отправки файла по почте не поддерживает ручной запуск (предполагает мгновенное выполнение, а файл отправки неизвестен), поэтому в этом случае пишет про отсутствии файла для отправки.

Системная задача "Синхронизация расчетной даты".

Предназначена для актуализации расчетной даты комплекса. Для успешного выполнения задачи требуется включение настройки на пользователя "Меню Настройки: НАСТРОЙКИ \ Даты \ Изменять расчетную дату каждый день".

Принцип действия для ПК "Бюджет-СМАРТ":

Если СУБД сервер по каким-либо причинам недоступен для сохранения значения расчетной даты, то возникнут коллизии: для пользователя расчетная дата будет отображаться одна, а применяться другая (из настройки).

Для "Бюджет-НЕКСТ" используется (сравнивается) дата на компьютере, где развернут сервер приложений.

Формирование справочника БК

Предназначена для обновления справочника "Классификация расходов" по данным документов.

Загрузка открытых данных

Задача по загрузке открытых данных из ЭБ. Используется API сервис ЭБ: от "Бюджет-СМАРТ" формируется и отправляется в ЭБ запрос на предоставление данных - ЭБ формирует набор данных согласно указанного в запросе фильтра и возвращает данные в "Бюджет-СМАРТ" .

В разделе "Параметры" планировщика можно выбрать следующие документы для загрузки:

Загрузка данных с внешних сервисов

Тип задачи "Загрузка данных с внешних сервисов (ЭБ, ЕСИА, ФНС и т.п.)".
Запрашивает данные с внешних сервисов, таких как ЭБ, ЕСИА, ФНС и т.п. по HTTP протоколу. Результат запроса загружается в соответствующий раздел комплекса (документы, справочники и т.п.) либо обновляет статусы документов по результатам полученных ответов на запросы.

В параметрах задачи в поле "Документ" следует выбрать документ/справочник который требуется загрузить с внешнего ресурса (сайт ЭБ, сайт ФНС и т.п.). Примеры возможных значений:

Задача сервера

Произвольная процедура/команда СУБД сервера. Доступен справочник типовых процедур:

-- СУБД MS SQL
-- параметры: DayBack - смещение дней от текущей даты, nLevel - уровень закрытия,
-- user=... - логин пользователя, от имени которого будут закрываться дни (должен иметь права на счета бюджета).
execute ('execute dbo.locked_day_close_timer @DayBack = -3, @nLevel = 1') as user = 'admin_day_close'

-- СУБД Postgre
-- Закрытие идет по счетам бюджета, доступным пользователю, запускающему функцию.
-- параметры: v_DayBack - смещение дней от текущей даты, v_nLevel - уровень закрытия.
select dbo.Locked_Day_Close_Timer (v_DayBack := -2, v_nLevel := 1);

При выполнении задачи закрываются дни с 01.01 по указанную дату (= [системная дата СУБД] - [заданное в параметре @DayBack число дней]), независимо от наличия в них документов. Закрытие выполняется для счетов бюджета, доступных пользователю, под которым стартует процедура dbo.locked_day_close_timer. Если необходимо закрывать дни для документов без счета бюджета, то следует использовать дополнительный параметр @CloseEmpty = 1.