В файловом режиме работы платформы 1С:Предприятие отсутствует серверный процесс кластера, который в клиент-серверном варианте отвечает за планирование и запуск регламентных заданий. При аварийном завершении работы, восстановлении базы из резервной копии или перезапуске служб веб-сервера фоновые задачи нередко перестают запускаться автоматически по расписанию, хотя вручную продолжают отрабатывать штатно. Разберем архитектурные особенности выполнения заданий в файловых базах, выясним возможные причины сбоя и настроим стабильный механизм их запуска.
В файловой информационной базе запуск и выполнение регламентных заданий берет на себя запущенный клиентский сеанс. Если пользователей много, запуск заданий во всех сеансах одновременно привел бы к конфликтам и блокировкам данных. Поэтому по умолчанию на рабочих местах пользователей выполнение регламентных заданий отключается, а запуск делегируется одному выделенному сеансу.
Если после аварии или восстановления сервера этот служебный сеанс не был запущен, регламентные задания перестают работать. Настроим запуск выделенного служебного сеанса-робота с помощью встроенного планировщика задач Windows (Task Scheduler):
РоботРЗ) и зададим ему сложный пароль.1Cv8.1CD, и создадим новую задачу, запускаемую при старте операционной системы от имени системной учетной записи или сервисного пользователя.1cv8.exe с параметрами командной строки:Посмотрим на пример строки запуска выделенного сеанса:
"C:\Program Files\1cv8\8.3.24.1342\bin\1cv8.exe" ENTERPRISE /F "C:\Bases\Trade" /N "РоботРЗ" /P "StrongPass123" /AllowExecuteScheduledJobs -Force /DisableStartupMessages
Разберем параметры запуска подробнее:
/AllowExecuteScheduledJobs -Force указывает платформе, что данный сеанс принудительно берет на себя выполнение регламентных заданий, даже если в базе уже есть другие активные подключения./DisableStartupMessages отключает вывод стартовых информационных диалогов и предупреждений, которые могут заблокировать запуск регламентных процедур в автоматическом режиме.Если пользователи подключаются к файловой базе через веб-сервер (Apache или IIS), планировщиком задач может выступать сам веб-сервер. Однако при восстановлении базы публикация могла быть пересоздана со стандартными параметрами, при которых запуск фоновых задач запрещен.
Проанализируем файл конфигурации веб-публикации default.vrd, расположенный в каталоге публикации веб-сервера:
default.vrd в текстовом редакторе.<point ...> и проверим наличие атрибута allowexecutescheduledjobs.off или атрибут отсутствует, веб-сервер игнорирует регламентные задания. Установим значение force:Пример фрагмента файла default.vrd:
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
base="/trade"
ib="File="C:\Bases\Trade";"
allowexecutescheduledjobs="force">
</point>
Также этот параметр можно включить штатно через Конфигуратор: откроем меню Администрирование → Публикация на веб-сервере, отметим флаг Фоновые задания в файловом варианте и нажмем кнопку Опубликовать, после чего перезапустим службу веб-сервера Apache.
Важное ограничение: веб-сервер выполняет регламентные задания только в то время, когда в пуле рабочих процессов есть активность (обращения клиентов). Если ночью пользователи не работают с базой, регламентные задания веб-сервером запускаться не будут. Для круглосуточных задач надежнее использовать выделенный сеанс через Планировщик задач Windows.
В типовых конфигурациях, использующих Библиотеку стандартных подсистем (БСП), реализован защитный механизм защиты от случайного запуска регламентных заданий в копиях баз данных. После аварии, изменения сетевого пути или восстановления из бэкапа система считает базу перемещенной и блокирует выполнение заданий, отправку почты и синхронизацию с другими базами.
Проверим состояние блокировки в пользовательском интерфейсе:
При аварийных сбоях и внезапных перезагрузках операционной системы в папке с базой данных могут остаться маркеры некорректно завершенных сессий, которые мешают платформе захватывать таблицы для планировщика:
1cv8.exe и httpd.exe..1CLck и .cgr. При отсутствии активных подключений удалим эти служебные файлы.SYSTEM или локальный сервис). Учетная запись должна обладать правами Полный доступ (чтение, запись, изменение) на всю папку с базой данных и вложенные каталоги. Нехватка прав на создание временных файлов часто приводит к незаметному падению фоновых потоков.