При работе с платформой 1С:Предприятие версии 8.3.25.1336 и выше пользователи и системные администраторы могут столкнуться с неожиданной проблемой: регламентное задание (РЗ) под названием "Отправка серверных оповещений клиентам" начинает мешать выполнению критически важных операций, таких как создание резервных копий базы данных (особенно при использовании выгрузки в файл .dt) и обновление конфигурации. Это задание, казалось бы, должно обеспечивать интерактивную работу пользователей, но в определенных условиях оно может стать причиной сбоев и блокировок. Давайте подробнее разберем эту ситуацию и найдем эффективные пути решения.
Ситуация, которую описывают пользователи, типична: после обновления платформы на версию 8.3.25.1336 или более новую, автоматическое резервное копирование, настроенное скриптами, перестает работать. При попытке вручную отключить проблемные регламентные задания, мы обнаруживаем, что задание "Отправка серверных оповещений клиентам" невозможно изменить или отключить штатными средствами – расписание либо не сохраняется, либо платформа просто игнорирует внесенные изменения, продолжая выполнять задание каждые 300 секунд без временных ограничений. В таких случаях даже стандартная консоль регламентных и фоновых заданий может не справляться с управлением этим системным процессом. Это приводит к тому, что конфигуратор остается открытым, монопольные операции не выполняются, а процесс обновления конфигурации также блокируется.
Прежде всего, давайте выясним, почему так происходит. Задание "Отправка серверных оповещений клиентам" является системным и критически важным для обеспечения интерактивных функций программы 1С:Предприятие. Оно предназначено для оперативной доставки уведомлений пользователям о новых задачах, изменениях документов, появлении новых данных и других событиях. В новых версиях платформы 1С, начиная с 8.3.25, это задание получило особый статус, из-за чего его поведение стало трудно поддаваться стандартному контролю.
Платформа может игнорировать попытки изменения расписания или отключения этого задания, считая его неотъемлемой частью базовой функциональности. Оно захватывает ресурсы базы данных, что препятствует выполнению операций, требующих монопольного доступа к информационной базе, таких как:
.dt: Эта операция требует эксклюзивной блокировки базы данных, что становится невозможным при постоянно активном системном регламентном задании. Хотя существуют специфические методы, позволяющие выполнять резервное копирование в dt без закрытия сессий, системное задание 8.3.25 вносит свои коррективы в этот процесс.Даже попытки отключения регламентных заданий через консоль кластера серверов 1С:Предприятия могут оказаться неэффективными для этого конкретного задания, что подтверждается опытом других пользователей.
Один из наиболее эффективных и гибких способов решения проблемы, который был успешно применен другими пользователями, заключается в модификации регламентного задания "Отправка серверных оповещений клиентам" с помощью расширения конфигурации. Этот метод позволяет внести необходимые изменения в метаданные задания, не снимая при этом основную конфигурацию с поддержки.
Мы разберем шаги, которые необходимо выполнить для создания и настройки расширения:
Откройте конфигуратор 1С:Предприятия. В главном меню выберите "Конфигурация" -> "Расширения конфигурации" -> "Добавить". Присвойте новому расширению понятное имя, например, "УправлениеРегламентнымиЗаданиями". Убедитесь, что расширение активно.
В дереве объектов конфигурации расширения найдите ветку "Общие" -> "Регламентные задания". Щелкните правой кнопкой мыши по этой ветке и выберите "Добавить" -> "Существующее регламентное задание". В открывшемся списке найдите и выберите регламентное задание ОтправкаСерверныхОповещенийКлиентам. Это добавит объект регламентного задания в ваше расширение, позволив переопределить его свойства.
После добавления регламентного задания в расширение, откройте его свойства. Нас интересует вкладка "Расписание". Здесь мы можем внести необходимые изменения, которые будут сохранены и применены платформой, поскольку они исходят из расширения.
Мы можем выбрать несколько подходов к изменению расписания:
После внесения изменений в расписание, сохраните расширение и обновите базу данных. Платформа применит настройки из расширения, и задание должно начать работать по новому расписанию.
Хотя для задания "Отправка серверных оповещений клиентам" этот метод может быть менее эффективным из-за его системного характера и устойчивости к изменениям, для других фоновых заданий мы можем использовать скрипты для их временного отключения. Этот подход включает в себя программное управление регламентными заданиями перед началом резервного копирования и их повторное включение после завершения операции. Для тех, кто работает в среде Linux, будет крайне полезна специализированная обработка, позволяющая выполнить установку и снятие блокировок у БД на сервере под Linux.
Для реализации этого метода мы будем использовать внешние обработки или PowerShell-скрипты, взаимодействующие с агентом сервера 1С:Предприятия. Основная логика будет заключаться в следующем:
К сожалению, для конкретного задания "Отправка серверных оповещений клиентам" пользователи сталкивались с тем, что даже программные попытки отключения могут быть проигнорированы платформой, если не использовать механизм расширений.
Если все остальные методы оказываются неэффективными, или если вам требуется гарантированное отсутствие любых фоновых операций во время резервного копирования, мы можем применить более радикальный метод – полную остановку службы агента сервера 1С:Предприятия. Этот подход гарантирует монопольный доступ к базе данных, поскольку все процессы 1С, включая регламентные задания, будут остановлены.
Последовательность действий:
services.msc), найдите службу "Агент сервера 1С:Предприятия (x.x)" (где x.x - версия платформы) и остановите ее.Мы используем этот метод для небольших окон обслуживания, когда требуется абсолютная гарантия отсутствия активности в базе. Однако он требует полного прекращения работы всех пользователей на время операции.
Отдельно стоит остановиться на самом подходе к резервному копированию. Многие пользователи, включая автора темы, традиционно используют выгрузку базы в файл .dt. Однако фирма "1С" настоятельно рекомендует использовать для резервного копирования информационных баз, работающих в клиент-серверном режиме, стандартные средства системы управления базами данных (СУБД). Мы настоятельно рекомендуем пересмотреть стратегию резервного копирования, если вы до сих пор полагаетесь на .dt.
.dt файл, напротив, не проверяет базу на наличие ошибок, из-за которых файл может впоследствии просто не загрузиться..dt не рекомендуется для серверных баз:Фирма "1С" четко указывает, что выгрузка в файл .dt предназначена в основном для переноса информационных баз между различными режимами работы или для обмена данными между базами. Это не является надежным методом резервного копирования для серверных баз, особенно больших объемов. Пользователи часто сталкиваются с проблемами, когда большие .dt файлы не загружаются обратно, что приводит к потере данных. Кроме того, на новых версиях платформы скорость выгрузки в .dt может существенно снизиться, что делает этот метод неприемлемым для больших баз.
Мы также можем порекомендовать программу "Обновлятор 1С" от Милькина В.В. Этот инструмент предоставляет удобные средства для автоматизации обслуживания баз 1С, включая резервное копирование средствами СУБД, что может быть полезно, если вам не хочется глубоко погружаться в администрирование баз данных.
Независимо от выбранного метода резервного копирования (будь то средства СУБД или .dt), критически важно периодически проверять работоспособность создаваемых резервных копий путем их восстановления на тестовом контуре. Это единственный способ убедиться, что в случае реального сбоя вы сможете оперативно восстановить данные.
Мы видим, что проблема с регламентным заданием "Отправка серверных оповещений клиентам" в новых версиях платформы 1С:Предприятие требует особого подхода. Для решения этой специфической задачи мы рекомендуем использовать расширение конфигурации для переопределения расписания задания. Однако, помимо этого частного решения, мы настоятельно рекомендуем пересмотреть общую стратегию обслуживания системы, опираясь на современные стандарты, позволяющие построить защищенную IT инфраструктуру предприятия. Переход на использование штатных средств системы управления базами данных (СУБД) обеспечит высокую надежность, скорость и эффективность процесса резервного копирования, защитив ваши данные от возможных потерь и снизив риск возникновения проблем с монопольным доступом к базе.