К статье
Практический материал

Администрирование · 9 мин

Как завершить работу планировщика заданий 1С

Способы остановить регламентные и фоновые задания в 1С: через консоль заданий, консоль кластера, код и параметры сервера. Проверка результата и типичные ошибки.

Планировщик заданий в 1С отвечает за выполнение регламентных и фоновых заданий: обмен данными, расчёт итогов, загрузку курсов валют, архивацию и другие фоновые операции. Иногда его работу нужно остановить — например, перед обновлением конфигурации, при восстановлении базы из копии, при диагностике зависших процессов или когда задание «зависло» и блокирует работу пользователей.

Способ завершения зависит от режима работы базы: файловый или клиент-серверный. В файловом варианте фоновые задания выполняются отдельным процессом на компьютере пользователя, в клиент-серверном — рабочими процессами сервера 1С (rphost), которыми управляет агент кластера. Универсальная точка контроля в обоих случаях — обработка «Консоль заданий» или встроенный механизм блокировки регламентных заданий.

Важно различать две задачи: остановить уже выполняющееся задание и запретить запуск новых. Если просто «убить» процесс, планировщик при следующем цикле запустит задание снова. Поэтому корректное завершение почти всегда состоит из двух шагов: блокировка запуска новых заданий и принудительное завершение текущих.

Что именно нужно завершить: разбираемся в терминах

В платформе 1С нет отдельного «планировщика» как единого процесса, который можно закрыть одной кнопкой. Есть три связанных механизма: регламентные задания (расписание, по которому должны выполняться операции), фоновые задания (конкретные экземпляры выполняющегося кода) и рабочие процессы, которые этот код физически исполняют.

Когда администратор говорит «завершить планировщик заданий», обычно требуется одно из трёх: остановить конкретное зависшее фоновое задание, временно отключить выполнение всех регламентных заданий в базе или полностью запретить их запуск на уровне сервера. Дальнейшие разделы покрывают все три сценария.

Как отменить активное фоновое задание через консоль заданий

Основной инструмент — обработка «Консоль заданий» (входит в стандартные подсистемы БСП, доступна также как внешняя обработка с диска ИТС). В типовых конфигурациях она находится в разделе «Администрирование» → «Обслуживание» → «Регламентные и фоновые задания» либо «Регламентные операции».

Откройте список фоновых заданий, установите отбор по состоянию «Активно», найдите нужное задание по имени регламентного задания и времени начала. Выделите строку и нажмите кнопку «Отменить». Платформа отправит заданию сигнал завершения: если код задания корректно обрабатывает отмену, выполнение прекратится в течение нескольких секунд.

Отмена задания через консоль
  1. 1
    Откройте «Администрирование» → «Регламентные и фоновые задания»
  2. 2
    На вкладке фоновых заданий отфильтруйте состояние «Активно»
  3. 3
    Найдите задание по наименованию и времени запуска
  4. 4
    Нажмите «Отменить» и дождитесь смены состояния на «Отменено пользователем»
  5. 5
    Если задание не отменяется — переходите к завершению процесса на сервере

Если после отмены состояние долго не меняется, задание, скорее всего, зависло на уровне СУБД или не проверяет флаг отмены. В этом случае программная отмена не сработает — потребуется завершение рабочего процесса, описанное ниже.

Как заблокировать запуск регламентных заданий в клиент-серверной базе

Чтобы планировщик не запускал новые задания, установите блокировку на уровне информационной базы. Откройте консоль кластера серверов 1С, найдите нужную базу в ветке «Информационные базы», откройте её свойства и установите флажок «Блокировка регламентных заданий включена». Сохраните изменения — новые задания перестанут запускаться немедленно, при этом пользовательские сеансы не пострадают.

Тот же эффект даёт команда администрирования через утилиту rac или программный вызов из встроенного языка, если в конфигурации есть соответствующая функциональность (в БСП — «Блокировка работы с внешними ресурсами» и установка константы через обработку). Для массовых операций удобен rac:

bash
rac infobase --cluster=<ID_кластера> update --infobase=<ID_базы> --scheduled-jobs-deny=on

Блокировка через консоль кластера — рекомендуемый способ перед обновлением конфигурации, загрузкой данных и восстановлением из копии. Не забудьте снять её после завершения работ, иначе обмены и расчёты не возобновятся автоматически.

Как отключить задания в файловой базе

В файловом режиме нет кластера серверов, поэтому блокировка устанавливается иначе. Самый надёжный способ — запуск конфигуратора или предприятия с параметром командной строки /DisableScheduledJobs: при таком запуске выполнение регламентных заданий в базе отключается.

Альтернатива — программная установка через метод УстановитьБлокировкуРегламентныхЗаданий(Истина) (в актуальных версиях платформы) или через типовые механизмы БСП. Также в файловой базе задания выполняются только пока запущен сеанс, в котором активировано их выполнение: если закрыть все сеансы пользователей, фоновые задания прекратятся вместе с ними.

Как завершить зависший процесс на сервере 1С

Когда задание не реагирует на отмену, найдите исполняющий его рабочий процесс. В консоли кластера откройте ветку «Сеансы», найдите сеанс фонового задания (в колонке «Приложение» будет «Фоновое задание») и удалите сеанс — это штатный и наиболее безопасный способ принудительного завершения.

Если удаление сеанса не помогает, определите рабочий процесс rphost, в котором выполняется задание (по номеру процесса в свойствах сеанса), и завершите его через диспетчер задач или консоль кластера. Учтите: в одном rphost могут работать и обычные пользователи — их сеансы будут разорваны, несохранённые данные потеряются. Заранее предупредите пользователей или дождитесь нерабочего времени.

Типичные ошибки
01
Завершение rphost без проверки сеансов — вместе с зависшим заданием отключаются десятки пользователей
02
Отмена задания без блокировки расписания — планировщик запускает его снова через минуту
03
Забытая блокировка после обновления — обмены и расчёты не выполняются сутками, пока кто-то не заметит
04
Перезапуск агента сервера вместо точечного завершения задания — останавливаются все базы кластера
05
Запуск заданий в тестовой копии без отключения обменов — дубли данных уходят во внешние системы

Проверка результата и возврат к нормальной работе

После завершения работ убедитесь, что планировщик находится в нужном состоянии. Откройте консоль заданий и проверьте, что нет заданий в состоянии «Активно», а в свойствах базы — нужное положение флажка блокировки. Если задания должны работать, дождитесь ближайшего запуска по расписанию и убедитесь, что оно завершилось успешно, а в журнале регистрации нет ошибок выполнения.

Контрольные точки

Как проверить результат

Список фоновых заданий
Норма

Нет заданий в состоянии «Активно» либо активны только ожидаемые

Тревожный признак

Задание висит в состоянии «Активно» дольше обычного времени выполнения

Свойства базы в консоли кластера
Норма

Блокировка заданий соответствует задаче (включена на время работ, снята после)

Тревожный признак

Блокировка включена, хотя обслуживание завершено

Журнал регистрации
Норма

Записи об успешном завершении заданий

Тревожный признак

Ошибки «Задание отменено» или «Фоновое задание завершено аварийно» повторяются

FAQ

Чем отличается отмена фонового задания от блокировки регламентных заданий?

Отмена прекращает один конкретный запущенный экземпляр, но по расписанию задание запустится снова. Блокировка запрещает запуск всех регламентных заданий в базе, но не останавливает уже выполняющиеся. Для полной остановки нужны оба действия.

Задание не отменяется через консоль заданий. Что делать?

Найдите сеанс фонового задания в консоли кластера и удалите его. Если и это не помогает — определите рабочий процесс rphost по номеру в свойствах сеанса и завершите процесс, предварительно убедившись, что в нём нет активных сеансов пользователей.

Как отключить задания в файловой базе, если нет доступа к серверу?

Запустите базу с параметром /DisableScheduledJobs или закройте все сеансы пользователей — в файловом режиме задания выполняются только внутри запущенных сеансов, поэтому без открытых сеансов они не работают.

Опасно ли завершать фоновое задание принудительно?

Риск зависит от того, что делает задание. Если оно записывает данные, принудительное завершение может оставить незавершённую транзакцию или частично записанные данные. Перед принудительной остановкой желательно понять по журналу регистрации, на каком этапе зависло задание, и после — проверить целостность связанных данных.

Как навсегда отключить одно конкретное регламентное задание?

Откройте консоль заданий, найдите задание на вкладке регламентных и снимите флажок «Использование» либо измените расписание. В типовых конфигурациях часть заданий отключается также через настройки функциональности в разделе «Администрирование».

После восстановления базы из копии задания не запускаются. Это нормально?

Да. При загрузке базы из копии типовые средства и многие процедуры обновления автоматически включают блокировку регламентных заданий, чтобы копия не начала обмениваться с внешними системами. Проверьте свойства базы в консоли кластера и снимите блокировку, если база рабочая.

Итог

Что важно запомнить

Корректное завершение планировщика заданий 1С — это два действия: заблокировать запуск новых регламентных заданий (консоль кластера или /DisableScheduledJobs) и отменить активные фоновые задания через консоль заданий. Зависшие задания снимайте удалением сеанса, и только в крайнем случае — завершением rphost. После обслуживания не забудьте снять блокировку и проверить выполнение заданий по журналу регистрации.