Заказы на доработку 1С (сервис удаленной работы)

Хранилище

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

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Особенности работы механизма заданий в клиент-серверном и файловом вариантах          
Batchir Подменю пользователя
сообщение 09.02.09, 22:45
Сообщение #1

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1426 раз
Рейтинг: 0

Механизм заданий функционирует как в клиент-серверном, так и в файловом варианте работы, но возможности по администрированию и выполнению заданий в обоих вариантах несколько различаются.

Клиент-серверный вариант

В клиент-серверном варианте планированием выполнения заданий занимается планировщик заданий, который физически располагается в менеджере кластера.

Планировщик заданий является активным компонентом сервера, т.е. независимо от наличия клиентских соединений с сервером он может выполнять те регламентные задания, которые определены в информационных базах кластера.

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

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

После того как начальный список регламентных заданий успешно получен, планировщик периодически проверяет, не поступили ли запросы на выполнение фоновых заданий и не нужно ли выполнить какие-либо регламентные задания в соответствии с их расписанием. Если есть задания, которые нужно выполнить, планировщик определяет наименее загруженные рабочие процессы кластера и последовательно назначает каждому из них свое задание на выполнение. Таким образом, один и тот же рабочий процесс потенциально может выполнять несколько заданий параллельно. После того как задание получено рабочим процессом, рабочий процесс устанавливает соединение с информационной базой и выполняет задание в рамках этого соединения. Поскольку рабочий процесс оптимизирован для многопользовательской работы, только первое создание соединения с информационной базой является затратной операцией. Установка последующих соединений с той же информационной базой занимает существенно меньше времени и ресурсов, т.к. большинство внутренних структур данных разделяются между соединениями одной информационной базы. После выполнения задания рабочий процесс уведомляет планировщика об успешном или неуспешном выполнении задания. В случае программного сбоя планировщик может перезапустить регламентное задание (если сбой произошел при выполнении фонового задания, то оно не будет перезапущено).

Через COM-соединение или утилиту администрирования клиент-серверного варианта работы для определенной информационной базы можно установить блокировку выполнения регламентных заданий. Блокировка может быть установлена явно (в консоли кластера в свойствах информационной базы за это отвечает флаг "Блокировка регламентных заданий включена") или неявно при установке блокировки соединений. Планировщик определяет, что блокировка регламентных заданий установлена и игнорирует такие задания при проверке необходимости запуска заданий.

В утилите администрирования клиент-серверного варианта можно также просмотреть список соединений выполняющихся в данный момент фоновых заданий определенной информационной базы кластера (в списке также могут присутствовать и другие соединения, например соединения клиентов, Web-сервисов и т.д.). Утилита позволяет пользователю с административными правами принудительно закрыть такое соединение. Однако следует различать явную отмену задания через механизм заданий и принудительное закрытие соединения задания через утилиту администрирования: принудительное закрытие соединения рассматривается планировщиком как сбой при выполнении задания и планировщик может принять решение о перезапуске такого задания. В случае явной отмены задания перезапуска не происходит и заданию устанавливается статус "Отменено".

Файловый вариант

В файловом варианте планировщик заданий должен находиться в выделенном клиенте. Это достигается вызовом функции ВыполнитьОбработкуЗаданий(). Первый вызов этой функции создает планировщика заданий в текущем процессе, а последующие выполняют актуальную обработку заданий.

Для правильной обработки заданий выделенный клиент – планировщик заданий должен периодически вызывать функцию ВыполнитьОбработкуЗаданий(), в противном случае задания выполняться не будут. В файловом варианте нет возможности явно установить блокировку выполнения заданий, однако, управляя вызовом этой функции, можно реализовать эту возможность самостоятельно.

Только один клиент может быть планировщиком заданий данной информационной базы, иначе возможны ошибки при выполнении заданий.

Если планировщик заданий не создан, то обращение к программному интерфейсу механизма заданий выдает ошибку "Менеджер заданий неактивен".

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


Клиенты в файловом варианте не имеют прямой связи с планировщиком заданий и взаимодействуют с ним через файл обмена, который находится в каталоге информационной базы (в клиент-серверном варианте клиенты соединены с планировщиком по TCP/IP, что позволяет избежать задержек при назначении заданий на выполнение). Поэтому при обработке заданий возможны небольшие задержки, связанные с тем, что планировщик читает файл обмена и получает очередную порцию заданий на выполнение только после того, как завершит выполнение полученных ранее заданий.

 

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 29.03.24, 11:53
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!