Блокировка работы пользователей
Для администратора в программе предусмотрена возможность завершать работу всех активных пользователей (включая пользователя, инициировавшего блокировку) и блокировать вход в программу на определенный период времени.
Такая возможность востребована для проведения профилактических или срочных работ в программе. Обычно такие работы проводят в ночные часы, чтобы не затруднять работу в программе других пользователей. Однако бывают различные внеплановые ситуации. Например, необходимо провести обновление версии программы, восстановление программы после сбоя электроснабжения, резервное копирование информационной базы, или главному бухгалтеру необходимо срочно рассчитать сложный отчет. Большинство этих работ не могут быть проведены, если пользователи продолжают работать в программе.
При работе в клиент-серверном режиме имеется возможность блокировки работы регламентных заданий.
Блокировка работы пользователей производится по соответствующей команде раздела Администрирование — Обслуживание.
Переход к списку Активные пользователи
- Нажмите Активные пользователи для того чтобы посмотреть, какие пользователи в настоящий момент работают в программе.
Информация о состоянии блокировки
- Над параметрами блокировки выводится сообщение о состоянии блокировки: «Работа пользователей в программе разрешена (запрещена)». В последнем случае сообщение выделяется красным цветом.
Блокировка работы пользователей
Действия по завершению работы в клиентском приложении
Снятие блокировки работы пользователей
Использование параметров запуска программы
При запуске программы могут использоваться различные параметры. Подробнее о параметрах запуска см. документацию к платформе.
Расширенные возможности командной строки ЗавершитьРаботуПользователей
Установить блокировку работы с программой можно из командной строки с помощью параметра ЗавершитьРаботуПользователей, который расширен свойствами:
Зачем блокировать регламентные задания на Сервере 1С
Коллега, в этой статье, мы расследуем один интересный случай из обычной демо базой «Управляемое приложение» в клиент-серверном варианте работы 1С 8.3 21, а заодно и разберемся с вопросом: «Стоит или нет, блокировать регламентные задания на Сервере 1С».
Я фактически всегда рекомендую еще при создании ИБ на Сервере 1С блокировать регламентные задания, установив птичку в соответствующем разделе (в свойствах базы).
ВНИМАНИЕ! Полная блокировка регламентных заданий может отключить авто-обновление курсов валют, авто-обновление конфигурации 1С и прочего! Рекомендуется проводить данную настройку из разработчиком 1С, чтоб учесть возможные, нежелательные последствия.
Но давайте по порядку…
На днях обнаружил, что Сервер 1С сильно грузит процессор 15 -30% и это без пользователей и с базой в пару мегабайт )
Простая демо база «Управляемое приложение» и ложит сервер на не последнем процессоре (core i9) 10 того поколения.
Как Вам такое : -)
Копнув глубже, я обнаружил, что вдобавок с огромной скоростью забивается и диск файлами из каталога полнотекстового поиска: «files_for_accept».
Буквально за 30 мин Сервер 1С создал в нем больше миллиона файлов!
Понятно, что раз в базе не работают пользователи, то всему виной регламентные задания и процессы что они порождают.
Заблокировав их в свойствах информационной базы на Сервере 1С проблема, как и предполагалось, ушла!
Но осадочек то остался )
Решив расследовать причину, я обратно снял птичку «блокировки» РЗ и уже понимая, что дело связанно с «Полнотекстовым поиском в 1С», так как файлы растут в папке: «files_for_accept» решил отключить «Полнотекстовый поиск» в базе, что на вкладе «Сервис» – «Административный сервис» -«Управление полнотекстовым поиском»
И опять ошибка:
«Ошибка при вызове метода контекста» (УстановитьРежимПолнотекстовогоПоиска)
Вероятно, запущено регламентное задание обновления индекса. Попробуйте еще раз некоторое время спустя.»
Скажу сразу, что дождаться можно только полного отсутствия свободного места на диске и увеличения и без того большой нагрузки на ЦПУ.
Вернув на место птичку в свойствах базы «Блокировка регламентных заданий» и перезапустив Сервер 1С, я смог, наконец, отключить «Полнотекстовый поиск» и проблема была решена, так как регламентное задание обновления индекса в полнотекстовом поиске, было отключено уже на уровне самой конфигурации 1С «Управляемое приложение».
Коллега, регламентные задания всегда можно запустить и в ручном режиме, причем выборочно, то, что действительно требуется, а разрешать их все не стоит, нагрузка на сервер и другие траблы будут почти гарантированы!
Смотрите ниже видео, о том, как я обнаружил и расследовал по шагам данную проблему:
1С 8.3 : Регламентные и фоновые задания (создание, настройка, запуск)
При работе в 1С встречается много рутинных операций которые должны запускаться или формироваться по расписанию выполняя то или иное действие, например: проведение документов или загрузка данных в 1С с сайта.
Недавно я разместил статью: Чтение данных с сайта в формате XML и загрузка в 1С пришло время это автоматизировать:
Регламентные и фоновые задания
Механизм заданий предназначен для выполнения какой-либо прикладной или функциональности по расписанию или асинхронно.
Механизм заданий решает следующие задачи:
- Возможность определения регламентных процедур на этапе конфигурирования системы;
- Выполнение заданных действий по расписанию;
- Выполнение вызова заданной процедуры или функции асинхронно, т.е. без ожидания ее завершения;
- Отслеживание хода выполнения определенного задания и получение его статуса завершения (значения, указывающего успешность или не успешность его выполнения);
- Получение списка текущих заданий;
- Возможность ожидания завершения одного или нескольких заданий;
- Управление заданиями (возможность отмены, блокировка выполнения и др.).
Механизм заданий состоит из следующих компонентов:
- Метаданных регламентных заданий;
- Регламентных заданий;
- Фоновых заданий;
- Планировщика заданий.
Фоновые задания & предназначены для выполнения прикладных задач асинхронно. Фоновые задания реализуются средствами встроенного языка.
Регламентные задания & предназначены для выполнения прикладных задач по расписанию. Регламентные задания хранятся в информационной базе и создаются на основе метаданных, определяемых в конфигурации. Метаданные регламентного задания содержат такую информацию как наименование, метод, использование и т.д.
Регламентное задание имеет расписание, которое определяет, в какие моменты времени нужно выполнять связанный с регламентным заданием метод. Расписание, как правило, задается в информационной базе, но может быть задано и на этапе конфигурирования (например, для предопределенных регламентных заданий).
Планировщик заданий используется для планирования выполнения регламентных заданий. Для каждого регламентного задания планировщик периодически проверяет, соответствует ли текущая дата и время расписанию регламентного задания. Если соответствует, планировщик назначает такое задание на выполнение. Для этого по данному регламентному заданию планировщик создает фоновое задание, которое и выполняет реальную обработку.
С описанием, думаю, хватит — приступим к реализации:
Создание регламентного задания
Имя метода – путь к процедуре, которая будет выполняться в фоновом задании по заданному расписанию. Процедура должна находиться в общем модуле. Рекомендуется не использовать типовые общие модули, а создать свой. Не забудьте, что фоновые задания исполняются на сервере!
Использование – признак использования регламентного задания.
Предопределенное – указывает, является ли регламентное задание предопределенным.
Количество повторов при аварийном завершении задания – сколько раз выполнен перезапуск фонового задания, если оно было выполнено с ошибкой.
Интервал повтора при аварийном завершении задания – с какой периодичностью будет выполнен перезапуск фонового задания, если оно было выполнено с ошибкой.
Настройка расписания
Расписание выполнения задания:
Особенности выполнения фоновых заданий файловом и клиент-серверном вариантах
Механизмы выполнения фоновых заданий в файловом и клиент-серверном вариантах различаются.
В файловом варианте необходимо создать выделенный клиентский процесс, который будет заниматься выполнением фоновых заданий. Для этого в клиентском процессе должна периодически вызываться функция глобального контекста ВыполнитьОбработкуЗаданий. Только один клиентский процесс на информационную базу должен выполнять обработку фоновых заданий (и, соответственно, вызывать данную функцию). Если клиентского процесса для обработки фоновых заданий не создано, то при программном доступе к механизму заданий будет выдана ошибка «Менеджер заданий не активен». Не рекомендуется клиентский процесс, выполняющий обработку фоновых заданий, использовать для других функций.
После того, как клиентский процесс, выполняющий обработку фоновых заданий, запущен, остальные клиентские процессы получают возможность программного доступа к механизму фоновых заданий, т.е. могут запускать и управлять фоновыми заданиями.
В клиент-серверном варианте для выполнения фоновых заданий используется планировщик заданий, который физически находится в менеджере кластера. Планировщик для всех поставленных в очередь на выполнение фоновых заданий получает наименее загруженный рабочий процесс и использует его для выполнения соответствующего фонового задания. Рабочий процесс выполняет задание и уведомляет планировщик о результатах выполнения.
В клиент-серверном варианте имеется возможность блокирования выполнения регламентных заданий. Блокирование выполнения регламентных заданий происходит в следующих случаях:
- На информационную базу установлена явная блокировка регламентных заданий. Блокировка может быть установлена через консоль кластера;
- На информационную базу установлена блокировка соединения. Блокировка может быть установлена через консоль кластера;
- Из встроенного языка вызван метод УстановитьМонопольныйРежим() с параметром Истина;
- В некоторых других случаях (например, при обновлении конфигурации базы данных).
Обработки запуска и просмотра регламентных заданий вы можете скачать здесь:
Регламентные и фоновые задания в 1С 8.3 и 8.2
Наверное, ни одна серьезная конфигурация на 1С 8.3 или 8.2 не обойдется без использования регламентных и фоновых заданий. Они очень удобны, так как по четко заданному расписанию будут выполняться без вмешательства пользователя и программиста.
Например, вам нужно раз в сутки вам нужно совершать обмен данными с другой программой. Используя регламентные и фоновые задания, 1С сможет производить данные действия самостоятельно, например, в нерабочее время. Такой способ никак не повлияет на работу пользователей и поможет сэкономить время.
Для начала разберемся, что же они обозначают и в чем их отличие:
- Регламентное задание позволяет запускать на выполнение какие-либо конкретные действия по заранее настроенному расписанию.
- Фоновое задание – это объект, в котором содержатся выполняемые действия.
Фоновые и регламентные задания в клиент-серверном режиме
Предположим, что наша фирма что-нибудь продает и имеет собственный сайт, на котором расположены цены. Раз в сутки мы хотим их выгружать для поддержания актуальности.
Откройте конфигурацию и добавьте регламентное задание.
Настройка свойств
Рассмотрим самые важные параметры, которые необходимо заполнить в его свойствах.
- В поле «Имя метода» выбирается та процедура какого-то определенного общего модуля, которая будет непосредственно выполняться. В ней будут указаны все действия по выгрузке цен на наш сайт. Обратите внимания, что выполнение будет происходить на сервере. Это логично, ведь регламентные операции выполняются без участия пользователя.
- Регламентное задание можно отключать или включать по необходимости. Не нужно каждый раз править его расписание. Для этого в палитре свойств установите или снимите флаг «Использование».
- Еще одной немаловажной является настройка, будет ли являться данное регламентное задание предопределенным, или нет. Предопределенные регламентные задания запускаются автоматически. Если данный признак не установлен, то вам будет нужно запускать их программно, либо воспользоваться обработкой «Консоль заданий» с ИТС.
- Так же вы можете указать количество повторов и интервал между ними при аварийном завершении. Под аварийным завершением подразумеваются те ситуации, когда задания не отработали по причине возникновения ошибки.
Настройка расписания
Завершающим шагом мы настроим расписание нашей выгрузки на сайт по соответствующей гиперссылке в палитре свойств.
Получите понятные самоучители по 1С бесплатно:
Перед вами откроется типовая настройка расписания в 1С 8.3. Здесь нет ничего сложного. В рамках данного примера мы настроили запуск нашей выгрузки цен на сайт ежедневно с пяти до семи утра. В том случае, если регламентное задание не успеет отработать до 7:00, оно будет выполнено уже на следующий день.
Блокировка регламентных заданий
Запустите стандартную утилиту «Администрирование серверов 1С Предприятия» и откройте свойства той информационной базы, где вы создали регламентное задание (для клиент-серверных версий 1С).
В открывшемся окне (после ввода логина и пароля для доступа к ИБ) проверьте, чтобы не был установлен флаг на пункте «Блокировка регламентных заданий включена». Если вы столкнулись ситуацией, когда задание не отрабатывает, первым делом проверяйте эту настройку.
Таким же образом можно полностью отключить регламентные задания в 1С 8.3. Для отключения конкретных фоновых заданий можно воспользоваться встроенной в последние релизы обработкой «Консоль фоновых заданий».
Фоновые и регламентные задания в файловом режиме
В данном режиме настройку и запуск данных заданий намного труднее организовать. Чаще всего создается дополнительная учетная запись, сеанс которой всегда будет открыт.
Активация регламентных заданий в данном случае производится при использовании метода «ВыполнитьОбработкуЗаданий()».
Так же вы можете воспользоваться следующей конструкцией:
В качестве имени процедуры необходимо указать имя клиентской процедуры, которая должна будет выполниться. Интервал показывает, через сколько секунд будет произведено выполнение. Параметр «Однократно» не обязателен к заполнению. Он отражает, будет ли выполнена данная процедура однократно, либо несколько раз.
Отслеживание ошибок в фоновых заданиях
Посмотреть ход выполнения фоновых заданий, а так же наличие возможных ошибок можно в журнале регистрации. В фильтре установите отбор приложению «Фоновое задание» и при необходимости выберите интересующую важность, например, только «Ошибки».
В журнале регистрации будут показаны все записи, соответствующие вашему отбору с указанием комментария, по которому вы можете понять причину ошибки.