При работе с платформой 1С:Предприятие 8.3, особенно в процессе обновления конфигурации базы данных, администраторы и разработчики могут столкнуться с крайне неприятной ситуацией: возникает фоновое задание, которое невозможно завершить стандартными средствами. Это задание блокирует дальнейшие действия, включая принятие изменений после обновления, и зачастую единственным способом продолжить работу является полная перезагрузка сервера 1С. В данной статье мы подробно рассмотрим возможные причины такого поведения и разберем по шагам, как можно диагностировать и успешно завершить «неубиваемое» фоновое задание без необходимости перезагрузки всей системы.
Мы будем действовать методично, начиная с диагностики, чтобы понять природу возникновения проблемы, и переходя к конкретным решениям, которые помогут вам восстановить работоспособность вашей информационной базы.
Первый и наиболее важный шаг в решении любой проблемы – это точная диагностика. Если фоновое задание не отображается в журнале регистрации с именем или если его невозможно завершить, нам нужно углубиться в механизмы работы платформы 1С и сервера. Рассмотрим инструменты и методы, которые помогут нам определить, что именно вызывает это нежелательное задание.
Платформенные особенности и проверка лицензии
На некоторых версиях платформы 1С:Предприятие 8.3 (в частности, на более поздних 8.3.1* и ранних 8.3.2*) было замечено появление фонового задания без имени, которое могло быть связано с внутренними механизмами проверки лицензионности платформы. Эта проблема проявлялась при определенных условиях и могла препятствовать обновлению. Если вы используете платформу версии 8.3.23.1782, как указано в нашем примере, это также может быть связано с подобными платформенными особенностями, хотя конкретно для этой версии проблему мог уже быть исправлен.
Обратите внимание на то, какая версия платформы у вас установлена. Иногда проблема решается простым обновлением платформы до самой актуальной стабильной версии. Проверка лицензий часто связана с доступом к сети Интернет, поэтому временно отключение интернета на сервере 1С на время обновления также может помочь.
Анализ Технологического журнала (ТЖ) 1С
Технологический журнал (ТЖ) — это мощный инструмент для диагностики проблем в работе 1С:Предприятия. Он записывает подробную информацию о событиях, происходящих на сервере 1С. Для нас критически важно настроить ТЖ для сбора информации о фоновых заданиях и процессах.
Настроим сбор данных ТЖ, включив события, относящиеся к выполнению процессов и работе с базой данных. В файле настроек
logcfg.xml
После сохранения изменений в файле
logcfg.xml
PROC – информация о запускаемых процессах и фоновых заданиях.SDBL – события, связанные с работой с базой данных. Это поможет понять, какие запросы выполняются заданием.LIC – события, связанные с проверкой лицензий. Как упоминалось, именно здесь может скрываться «неубиваемое» задание.ADMIN – административные действия, которые могут быть связаны с запуском или попыткой завершения заданий.Поиск по контексту выполнения перед появлением блокирующего фонового задания или по длительно выполняющимся операциям может указать на источник проблемы. Отсутствие имени фонового задания в журнале регистрации 1С может быть компенсировано анализом стека вызовов или идентификаторов процессов в ТЖ.
Режим отладки при запуске кластера серверов 1С
Запуск кластера серверов 1С:Предприятия в режиме отладки может предоставить дополнительную информацию о внутренних процессах, включая фоновые задания. Это отличается от запуска Конфигуратора с параметром "РежимОтладки", который, как выяснилось, не помогает в данной ситуации, поскольку фоновое задание возникает при обновлении в Конфигураторе.
Для активации режима отладки на кластере серверов 1С:Предприятия:
-debug в параметры запуска рабочего процесса сервера 1С:Предприятия.В этом режиме в логах и ТЖ может появиться более подробная отладочная информация, которая поможет нам идентифицировать, что именно запускает фоновое задание. Хотя это не всегда приводит к немедленному решению, это ценный диагностический шаг.
Монитор активности SQL Server (для баз на MS SQL)
Если ваша информационная база развернута на Microsoft SQL Server, мы можем использовать оснастку "Монитор активности" (Activity Monitor) в SQL Server Management Studio (SSMS). Этот инструмент позволяет нам увидеть, какие запросы к базе данных выполняются в данный момент, какие процессы их инициируют и какие ресурсы они потребляют.
Запустите Монитор активности в SSMS во время выполнения "неубиваемого" фонового задания. Внимательно изучите разделы "Процессы" и "Длительные запросы". Вы можете отфильтровать процессы по имени базы данных 1С. Поиск длительно выполняющихся или повторяющихся запросов, связанных с вашей базой данных 1С, может помочь связать их с неидентифицированным фоновым заданием. Например, запросы к таблицам, содержащим данные лицензий или служебные метаданные, могут указывать на проблему проверки лицензии.
Иногда сам запрос или имя пользователя SQL, от имени которого он выполняется (например, пользователь, назначенный 1С для работы с базой), может дать подсказку о природе фонового задания.
После того как мы собрали диагностическую информацию, или если нам нужно попробовать решения "вслепую", существуют несколько подходов к завершению или предотвращению повторного появления этого упрямого фонового задания.
Проверка прав пользователя службы Агента сервера 1С
Критически важно убедиться, что пользователь операционной системы, от имени которого запущена служба "Агент сервера 1С:Предприятия" (1C:Enterprise 8.3 Server Agent), обладает достаточными правами. В некоторых случаях проблемы с завершением заданий или их некорректным поведением могут быть связаны с недостатком полномочий этого системного пользователя.
Мы проверим права следующим образом:
services.msc) на сервере 1С.
Local System
Если служба запускается под ограниченным пользователем, попробуйте изменить его на пользователя с более широкими правами (например, локальный администратор или специально созданная сервисная учетная запись домена, обладающая необходимыми разрешениями), а затем перезапустите службу. После этого попробуйте завершить фоновое задание через Консоль администрирования или повторить попытку обновления.
Блокировка регламентных заданий через консоль администрирования
Вы уже пробовали блокировать регламентные задания, но это не помогло. Тем не менее, давайте еще раз убедимся, что мы используем все доступные опции блокировки. В консоли администрирования серверов 1С:Предприятия, в свойствах информационной базы, есть несколько параметров, которые контролируют выполнение фоновых заданий:
Важный момент, который был упомянут в обсуждении: иногда требуется явно указать период блокировки, даже если он кажется избыточным. Если в вашей версии консоли или параметрах информационной базы есть поля "Начало блокировки" и "Окончание блокировки", укажите конкретный временной интервал (например, текущий момент и час вперёд), даже если вы уже установили флаги блокировки. Это может активировать механизм блокировки более надежно. Однако, если фоновое задание является системным, а не регламентным, эти настройки могут оказаться неэффективными, так как системные задания могут игнорировать стандартные блокировки.
Обновление платформы 1С:Предприятие
Как мы уже упоминали, одной из наиболее частых причин возникновения такого рода проблем являются ошибки или недоработки в конкретной версии платформы 1С. Разработчики постоянно выпускают исправления и улучшения.
Мы настоятельно рекомендуем установить самую свежую, стабильную и протестированную версию платформы 1С:Предприятие 8.3. Зачастую, установка более нового релиза решает проблемы, связанные с некорректным поведением фоновых заданий, утечками памяти или конфликтами внутренних механизмов. Перед обновлением рабочей платформы обязательно протестируйте новую версию на тестовой копии базы.
Временное отключение интернета на сервере 1С
Если диагностика ТЖ указывает на событие LIC или если вы подозреваете, что фоновое задание связано с проверкой лицензий, временно отключение сервера 1С от сети Интернет может помочь.
Перед попыткой обновления конфигурации, временно отключите сетевой адаптер на сервере 1С или заблокируйте исходящие соединения на брандмауэре для процесса сервера 1С. Это предотвратит любые попытки платформы связаться с внешними серверами для проверки лицензий, что может быть причиной зависания фонового задания. После успешного обновления и запуска базы вы сможете восстановить сетевое соединение.
Очистка кэша
Поврежденный или устаревший кэш как на стороне сервера, так и на стороне клиента, может иногда приводить к непредсказуемому поведению. Мы выполним следующие шаги для очистки кэша:
C:\Program Files\1cv8\srvinfo или указанный в настройках кластера). Удалите все временные файлы и каталоги, относящиеся к вашей информационной базе. Важно: Перед этим убедитесь, что все рабочие процессы остановлены или сделайте это в нерабочее время, чтобы не нарушить работу других баз.%LocalAppData%\1C\1cv8 или %AppData%\1C\1cv8. Вы также можете удалить базу из списка запуска 1С и добавить её заново, что также приведет к очистке кэша.После очистки кэша и перезапуска сервера 1С попробуйте снова обновить базу.
Временное отключение антивируса и других систем безопасности
В редких случаях антивирусное программное обеспечение, фаерволы или другие системы безопасности, установленные на сервере 1С, могут блокировать или некорректно взаимодействовать с процессами сервера 1С. Это может приводить к зависанию или непредсказуемому поведению фоновых заданий, когда антивирус "сканирует" или "перехватывает" операции, которые выполняет 1С.
Мы можем временно отключить антивирусное программное обеспечение на сервере 1С на время выполнения обновления. После успешного обновления и проверки работоспособности, антивирус необходимо включить обратно. Если это решит проблему, то необходимо будет добавить процессы сервера 1С (ragent.exe, rphost.exe, rmngr.exe) в исключения антивирусной программы, а также исключить каталоги с базами данных и служебные каталоги 1С из активного сканирования.
Решение проблемы с "неубиваемым" фоновым заданием часто требует комплексного подхода и системной диагностики. Последовательное применение описанных шагов, начиная с анализа ТЖ и проверки прав, и заканчивая обновлением платформы или временным отключением стороннего ПО, позволит вам выявить и устранить источник проблемы, обеспечив стабильное и бесперебойное обновление ваших информационных баз 1С.