Перенос информационной базы «1С:Предприятие» на новый кластер серверов — стандартная процедура для администратора. Однако часто после развертывания бэкапа и запуска системы пользователи сталкиваются с тем, что автоматические процессы полностью останавливаются. Особенно остро эта проблема проявляется в конфигурации «1С:Документооборот» (1С:ДО), где от своевременного выполнения регламентных заданий зависит отправка уведомлений, обработка задач и запуск бизнес-процессов.
В этой статье мы подробно разберем, почему после нажатия кнопки «Информационная база перемещена» могут заблокироваться регламентные задания, как диагностировать зависшие фоновые процессы и какие шаги необходимо предпринять для полного восстановления работоспособности системы планировщика.
При переносе базы данных на другой сервер или изменении параметров подключения (имени СУБД, имени сервера 1С) платформа автоматически определяет изменения. При первом запуске администратор видит диалоговое окно с вопросом: «Информационная база перемещена или скопирована?».
Если выбрать вариант «Копия информационной базы», система автоматически блокирует регламентные задания на уровне кода Библиотеки стандартных подсистем (БСП) и отключает интеграцию с внешними ресурсами (чтобы тестовая база случайно не начала отправлять реальные письма клиентам или обмениваться данными с другими системами). Но даже если вы выбрали правильный вариант — «Информационная база перемещена», — регламентные задания могут зависнуть или перестать выполняться автоматически по ряду причин: от накопления фантомных записей в таблицах СУБД до программных сбоев механизма блокировок БСП.
Давайте рассмотрим пошаговый алгоритм устранения этой неисправности.
Перед тем как приступать к манипуляциям с самими заданиями, нам необходимо убедиться, что выполнение регламентных операций не запрещено на глобальном уровне. Выясним, активны ли ограничения на двух уровнях защиты:
Блокировка регламентных заданий включена. Этот флаг должен быть снят. Если он установлен, регламентные задания не запустятся, несмотря на любые настройки внутри самой конфигурации.
УведомлениеПользователейОПроизошедшихСобытиях).
Для снятия блокировки зайдем в базу под учетной записью с административными правами, перейдем в раздел Настройка и администрирование -> Поддержка и обслуживание -> Регламентные операции. Если в верхней части формы присутствует кнопка «Разблокировать работу с внешними ресурсами», обязательно нажмем ее.
Очень часто причиной остановки всей очереди регламентных заданий становится одно зависшее фоновое задание, которое монополизирует ресурсы или блокирует таблицы СУБД. В «1С:Документооборот» наиболее ресурсоемкими и склонными к зависанию являются задания полнотекстового поиска (ППД) и извлечения текстов файлов:
ОбновлениеИндексаППДСлияниеИндексаППДИзвлечениеТекстаПроанализируем список фоновых заданий:
Если «зависших» фоновых процессов не обнаружено, но регламентные задания все равно не стартуют автоматически (хотя ручной запуск по кнопке «Выполнить сейчас» отрабатывает успешно), необходимо принудительно обновить расписание планировщика в базе данных. Для этого выполним простую процедуру сброса:
CTRL + A.Эта несложная манипуляция заставляет планировщик платформы полностью пересчитать и перезаписать даты следующего запуска для каждого регламентного задания в соответствии с их расписанием.
Если предыдущие шаги не принесли долгосрочного результата, и после ручной перезагрузки задания снова перестают выполняться автоматически, проблема может крыться в некорректном кэше метаданных на стороне сервера приложений. Проведем очистку серверного кэша по шагам:
services.msc или командную строку).C:\Program Files\1cv8\srvinfo\reg_1541\
1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d).snccntry, reg_1541 и файлы с расширениями временных данных, исключая саму конфигурацию базы данных, если это файловый вариант).В некоторых случаях БСП продолжает сравнивать текущие параметры подключения с сохраненными ранее в константах и блокировать фоновые процессы. Чтобы отключить эту назойливую проверку, мы можем отрегулировать параметры блокировки программно. Рассмотрим пример кода, который сбрасывает проверку имени сервера:
ПараметрыБлокировки = Константы.ПараметрыБлокировкиРаботыСВнешнимиРесурсами.Получить().Получить();
Если ТипЗнч(ПараметрыБлокировки) = Тип("Структура") Тогда
ПараметрыБлокировки.Вставить("ПроверятьИмяСервера", Ложь);
Константы.ПараметрыБлокировкиРаботыСВнешнимиРесурсами.Установить(Новый ХранилищеЗначения(ПараметрыБлокировки));
ЗаписьЖурналаРегистрации("НастройкаРегламентныхЗаданий", УровеньЖурналаРегистрации.Информация,,, "Проверка имени сервера успешно отключена.");
КонецЕсли;
Этот код можно выполнить через внешнюю обработку или в режиме отладки в табло под полными правами. После этого система перестанет блокировать регламентные задания, даже если физическое имя сервера кластера не совпадает со старыми историческими записями в конфигурации.
Резюмируя все вышеописанное: при возникновении проблем с автоматическим запуском регламентных заданий после миграции базы 1С:ДО, в первую очередь перезапустите задания через их выключение и включение, проверьте наличие «зависших» фоновых задач полнотекстового поиска и обязательно убедитесь в отсутствии блокировки внешних ресурсов со стороны БСП.