Боремся с зависшими фоновыми заданиями в 1С

Возврат к списку

фоновое задание.png

Решил поделиться своим опытом в борьбе с зависшими фоновыми заданиями. В конфигурациях с большими объемами данных рациональнее использовать некоторые алгоритмы-асинхронно, в 1С эту задачу берут на себя фоновые задания. Но иногда случается так, что фоновые задания подвисают, хотя на них возложена важная работа. Для себя перепробовал много способов борьбы с зависанием: выносил работу заданий на отдельный сервер 1С, обновление платформы, общение с ТП 1С и т.д. Но самым действенным способом оказалась проверка сеансов БД через COM соединение и если дата последней активности сеанса меньше на 30 мин текущей даты, такое соединение можно завершить, проверка выполняется через планировщик заданий Windows Server.

Фикс состоит из процедуры, которая располагается в модуле внешнего соединения конфигурации 1С и vbs скрипта.

Копируем процедуру CheckScheduledTasks в модуль внешнего соединения, предварительно в коде процедуры редактируем логин и пароль администратора кластера, логин и пароль администратора БД, имя БД и IP адрес сервера 1С.

Создаем vbs скрипт следующего содержания, так же в коде редактируем IP адрес сервера 1С, логин и пароль администратора БД

После обновления модуля внешнего соединения конфигурации и создания скрипта, через планировщик заданий, задаем интервал запуска, для себя установил запуск с периодичностью в 20 минут. Принцип следующий, каждые 20 минут система запускает VBS скрипт, он выполняет процедуру из 1С, которая мониторит сеансы БД (вид приложения "фоновое задание") и если задание выполняется больше 30 минут, система закрывает соединение.

В конце статьи прикреплен архив с 1С процедурой и vbs скриптом. Желаю удачи в реализации и пусть фоновые задания никогда не зависают в ваших конфигурациях.



12.05.2017 в 00:22
0
А как же во время продаж если 1с завершит работу? как обойти такую проблему
ответная реплика
adminadmin12.05.2017 в 00:24
0
тогда копайте журнал, нужно искать проблему. Почему фоновое задание так долго выполняется.
ответная реплика
12.05.2017 в 00:58
0
1с полностью переписана, работают фоновые регламентные задания, обмен вижу часто не ходит, потому что из за долго включения ПК зависает служба, приходиться звонить на ТТ и перезагружать службы, вот и решил найти решение другое, а не перезагрузка службы(ПК на худой конец)
ответная реплика
adminadmin12.05.2017 в 01:14
0
У себя сделал так что скрипт только определенные фоновые задания может принудительно закрывать, иначе если принудительно закрыть отражение в регл. учете, это может негативно сказать на работе системы.
ответная реплика


Возврат к списку

Теги
1c addurl AutoGRAPH.NET_Service Bitrix Bootstrap chmail.ru CMS curl DLE ERP Exel gmail google hdd hide html input Java script окна javascript Jquery JS JSON keywords mail.ru memori news.list No captcha nsma PHP php php attach PR recaptcha repair retweet script Sdorgen sdorgen select sms snagit Spam Test Twitter ucoz utf-8 VK wrike X-Satellite XHE xhe yandex yandex webmaster youtube АРМ БП3 Битрикс ВТБ24 ЕГРЮЛ ЖЖ ЗУП ИТС КЛАДР МБ-8 НДФЛ ПР ПФ ТИЦ УАТ УП автограф автокликер автоматизация автопостер ап ТИЦ битрикс валюты видео внешнее соединение время грамотное написание графика даты запрета день рождение дерево значений договор заказы заполнение ТЧ запонение ТЧ запрос 1С зарплатный реестр календарь книги кодировка комментарии координаты координирование проектов меню модальное окно народ обмен обработка ок рубль организационные структуры управления проектами остатки на складе отчет плавающий блок постинг программы для управления проектами расчет расстояния сервис система управления проектами скрипт скрыть блок смс софт таймер такси управление содержанием проекта фоновые задания чекер