Разберем ситуацию, с которой нередко сталкиваются системные администраторы: после обновления платформы (например, до версии 8.3.18.1363) сервер 1С начинает периодически зависать. Внешне это выглядит как зависшее окно запуска базы, без сообщений об ошибках, при этом запущенные клиентские сеансы висят, а в консоли скапливается множество фоновых заданий. Посмотрим на основные причины такого поведения и проанализируем доступные способы решения проблемы.
Чаще всего подобное поведение наблюдается при работе ресурсоемких конфигураций, таких как «1С:Документооборот» (ДО), которая генерирует большое количество фоновых заданий (маршрутизация, полнотекстовый поиск). Рассмотрим основные факторы, приводящие к «заморозке» процессов:
rphost может зависнуть в бесконечном ожидании, что не фиксируется в технологическом журнале как ошибка.Если обновление платформы пока невозможно, настроим автоматический «мягкий» перезапуск рабочих процессов. Это решение позволяет серверу создать новый процесс, перевести на него активные сеансы и безопасно завершить зависший. Проанализируем шаги настройки скрипта:
Для работы потребуется установленный сервер администрирования (утилита ras). Скрипт будет использовать команду rac для изменения параметров кластера. Создадим CMD-файл со следующим содержимым:
"c:\Program Files\1cv8\8.3.18.1363\bin\rac.exe" cluster update --cluster=cluster_ID --lifetime-limit 60
timeout /t 90 /nobreak
"c:\Program Files\1cv8\8.3.18.1363\bin\rac.exe" cluster update --cluster=cluster_ID --lifetime-limit 0
Разберем по шагам, что делает этот код:
timeout). За это время сервер 1С успевает создать новые rphost и перенести на них «живые» сеансы.Важно: Замените 8.3.18.1363 на актуальную версию вашей платформы, а cluster_ID — на идентификатор вашего кластера (его можно получить командой rac.exe cluster list). Рекомендуется настроить планировщик Windows на запуск этого скрипта ежесуточно (например, в 3 часа ночи).
Если сервер завис в разгар рабочего дня и перезапуск всей службы нежелателен, применим метод точечной изоляции:
rphost), в котором скопились зависшие соединения.PID в консоли и принудительно завершим этот rphost.exe через Диспетчер задач Windows.Выясним другие причины, очистив сеансовые данные и проверив состояние СУБД:
C:\Program Files (x86)\1cv8\srvinfo\reg_1541 и удалим (или очистим) папку snccntx_. После этого запустим службу.tempdb. Обратите внимание на «Очередь к диску» (Disk Queue Length), время доступа и свободное пространство в момент зависания фоновых заданий.Если вы запускаете службу агента с ключом -debug, проверьте строку запуска. Возможны конфликты, если у вас несколько серверов 1С. В строку запуска службы (в реестре) пропишем явно диапазон портов для отладчика с помощью ключа -debugServerPort. Пример строки запуска:
"C:\Program Files\1cv8\8.3.18.1363\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debug -debugServerPort 1595
Это не гарантирует полного избавления от зависаний фоновых заданий в Документообороте, но существенно разгрузит технологический журнал от потока сетевых ошибок и исключит сбои маршрутизации пакетов между серверами.
Зависание серверов 1С на ветке 8.3.18 при работе с фоновыми заданиями — известная архитектурная особенность данного релиза. Пока вы планируете переход на более новую платформу (например, 8.3.21 или выше), использование скрипта мягкого перезапуска через rac.exe является самым надежным способом предотвратить внезапные остановки работы предприятия.