К вопросу о зависающих фоновых заданиях в 8.1

Публикация № 22140 03.09.09

Разработка - Инструментарий разработчика

Фоновые задания в клиент-серверном варианте иногда зависают так, что снять их можно только путем перезапуска службы. Насколько я понял, никто не знает, что с этим делать. И я не знаю. Но могу поделиться опытом, как научиться с этим жить :)

Входные условия :

Есть в клиент-серверной базе предопределенное регламентное задание с методом МойОбщийМодуль.МояПроцедура1, которое раз в N минут должно что-то делать в базе. Периодически по непонятным причинам фоновое задание, порождаемое регламентным, зависает. Как уже сказано выше, снять его проблематично. Но что еще хуже, новое фоновое задание стартовать не хочет. А зачем? Одно ведь уже выполняется!

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

Как я с этим боролся:

1) Регламентное задание убираем из конфигурации

2) Вводим пользователя специально для выполнения этой процедуры.

3) В Процедуре ПриНачалеРаботыСистемы пишем примерно так:

	 Если ИмяПользователя()="ЭтоСамоеИмя" Тогда
    МойОбщийМодуль.МояПроцедура2();
    ПрекратитьРаботуСистемы();
КонецЕсли;

4) В общем модуле МойОбщийМодуль

	 Процедура МояПроцедура2() Экспорт
    МоеФЗ=ФоновыеЗадания.Выполнить("МойОбщийМодуль.МояПроцедура1",,Строка(ТекущаяДата()));
КонецПроцедуры

5) В Планировщике Windows делаем задание на запуск базы с этим пользователем с нужным расписанием.

Что мы этим достигаем? Того же, что и в первом случае, за исключением того, что каждое фоновое задание запускается с уникальным ключом (см. третий параметр в методе выполнить). Поэтому зависшее фоновое задание не мешает стартовать следующим.

И контрольный выстрел : чтобы почистить зависшие фоновые задания раз в сутки ночью выполняем с помощью планировщика задание на

	 net stop...  net start...

Решение громоздкое, некрасивое и не нравится мне. Прошу сильно не пинать. Это больше приглашение к дискуссии. Буду рад, если кто-то предложит лучше.


Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Душелов 3951 03.09.09 21:53 Сейчас в теме
Пакетный запуск 1С использовался еще в 7-ке, до появления регламентных заданий.

А с зависшими регламентными заданиями надо разбираться...
2. пользователь 03.09.09 22:22
Сообщение было скрыто модератором.
...
3. bulpi 209 03.09.09 22:41 Сейчас в теме
2 Maniac(2)

Это я пробовал. В том то и дело, что они не рубятся. Впрочем, это как раз такая тема, которая понимается, когда лично тебя петух клюнет. Если вас еще ни разу не клюнул - просто радуйтесь жизни.
Кстати, Вас, Dushelov (1) это тоже касается :)
4. Душелов 3951 03.09.09 22:51 Сейчас в теме
(3) Зависали сессии. Было. Проблема в коде (блокировки транзакций) была. Пишите безопасный код, тогда сведете зависания к минимуму.
tango; theshadowco; +2 Ответить
5. bulpi 209 04.09.09 12:25 Сейчас в теме
(4)
Во! Это уже конструктифф ! Что Вы имеете в виду под безопасным кодом ?
Немного подробнее о том, что делается в зависающей процедуре. Вызывается через Интернет (web-интерфейс) другая база, туда-сюда гоняются xml-строки, создаются и проводятся документы.
6. a-novoselov 1149 17.02.10 15:21 Сейчас в теме
(0) Через консоль кластера задание не убивается??? Что-то с трудом в это верится...
Кстати, с пустыми именами пользователя в консоли могут висеть не только фоновые задания, но и, например, пользователи, которые оставили окошко с вводом пароля аутентификации... соединение есть, а пользователя нет (еще не вошел). Тоже нормально гасятся через консоль кластера 1С.
7. Душелов 3951 17.02.10 15:57 Сейчас в теме
(6) Не убиваются. Замечено не однократно.
И соединения не гасятся, блокировка регламентных и соединений в консоли тоже не помогает.
8. a-novoselov 1149 17.02.10 16:47 Сейчас в теме
(7) А что пишет? Блокировка-то понятно, что не помогает... А вот когда заходим в консоль серверов 1С предприятия, выбираем в дереве наш кластер\сервер\нашу ИБ\соединения... нажимаем на нужное правой кнопкой, пункт "Удалить", и не убирается? или снова появляется? или ошибку выдает?
9. Душелов 3951 17.02.10 16:50 Сейчас в теме
(8) Соединение удаляется и появляется снова.
10. a-novoselov 1149 17.02.10 17:11 Сейчас в теме
(9) Дак надо код тогда смотреть, нахрена она в цикле в базу долбится. Против пользователей, которые на автоподключение 1С-ку ставят блокировка помогает, а вот с заданиями похоже надо с каждым конкретным случаем разбираться. Хотя тут конечно спорный вопрос. Конечно программа должна работать так, как хочет программист, но если код платформы закрыт, то может что-то и в ней глюкать. Но это очень маловероятно, т.к. платформа 8.1 вылизана до мелочей...
11. Душелов 3951 17.02.10 17:13 Сейчас в теме
(10) При чем тут вообще цикл?
12. venger 2114 17.02.10 17:25 Сейчас в теме
(10)
...т.к. платформа 8.1 вылизана до мелочей...


:D
13. tango 499 17.02.10 17:31 Сейчас в теме
(10) "платформа 8.1 вылизана до"

удивляйся
http://www.infostart.ru/public/65146/
17. markers 269 06.08.10 06:49 Сейчас в теме
(8) У меня даже не повисшие фоновые не рубятся ни через что..... как писал (9) соединение появляется вновь. А вообще как и говорилось, надо отлаживать код... У нас были моменты когда фоновое зацикливалось и вообще блокировало доступ в базу, подставив в нужном месте ЗафиксироватьТранзакцию(); проблема снялась. И т.д. и т.п.
14. Душелов 3951 17.02.10 17:41 Сейчас в теме
15. a-novoselov 1149 17.02.10 17:42 Сейчас в теме
Ладно, про вылизанную платформу погорячился чуток)) Хотя в типовых решениях данные всетаки обработками в режиме энтерпрайз к нормальному виду приводятся... Но вот такой жесткий косяк, если код за собой тапки пытается убрать (ЗавершитьРаботуСистемы) а платформа этот код все равно весит... Просто слов нет, как это называется.
16. tango 499 17.02.10 18:07 Сейчас в теме
18. PaNick 147 02.10.10 19:19 Сейчас в теме
Автор прав, глюк есть. Он проявляется при доступе в инет. Например обмен с фтп. Сессия подвисает и не убивается. Его вариант удобен, если есть возможность сделать перерывы в работе. А если база должна работать 24 часа, приходится извращаться другими способами. Я вышел тоже кривым способом: создал клиентскую обработку, которая подстраховывает на случай зависания задания. И при зависании пользователям сыпятся сообщения, что нужно ее запустить в отдельной программе. Благо виснут они не очень часто - раз-два в месяц. Но всеж было бы замечательно без этого )
19. xantimans 17.11.10 13:03 Сейчас в теме
А в этом фоновом задании случаем OLE не используете? Если да, то скорее всего он и виноват, ненадежный зараза :cry:
20. bulpi 209 17.11.10 13:30 Сейчас в теме
(19)
Нет, дело в том, что в процессе выполнения задания идет обращение в интернет. Зависает ТАМ. Я раскопал в документации объяснение, что снять задание невозможно, т.к. в серверных процедурах останов действует, только когда управление передается на следующий оператор за тем, во время которого произошла попытка останова. А управление не передается никогда, т.к. зависло. Можно переписать с серверных процедур на клиентские, раз я все равно запускаю сеанс. Но тогда кто-то должен вручную снять задание, т.е. кто-то должен следить за этим. А чтобы не следить, вот я и предложил такое.
21. Alav 13 26.01.11 11:51 Сейчас в теме
Есть такое и на 8.2. причем там хуже. В режиме УФ часто используются фоновые, поэтому там чаще он себя проявляет.

Например накидал отчет на СКД, который тупо выводить содержимое регистра. На толстом клиенте в обычном режиме - все ОК, за секунду выводит. в режиме УФ виснит зараза (пораждает фоновый процесс, а результата нет). Помогло только рестарт сервера предприятия. Тогда сразу все взлетело.

P.S. А кто нибудь рестарт рабочих процессов настраивал, для борьбы с этим?
22. WellMaster 104 24.02.11 16:21 Сейчас в теме
Сам когда-то пытался бороться с проблемой завершения и удаления фоновых заданий (причем не только зависших, но и просто отработанных). Пришел к выводу, что это невозможно.
Также ищу решение по задаче рестарта работчих процессов.
23. tango 499 24.02.11 19:03 Сейчас в теме
фоновое задание, убивающее фоновые задания
Это я так, сказал просто
24. sml 36 27.03.12 17:25 Сейчас в теме
у меня те же грабли. То задания выполняются, а то вдруг в какой-то момент виснут, причем иногда все сразу.
25. voshkaniridze 24.02.13 20:23 Сейчас в теме
У меня такая проблема, переходить на предложенную схему неохота. А как узнать где именно зависает? Может блокировки, может транспорт? Как узнать?
26. ROM_1C 691 05.03.18 15:38 Сейчас в теме
Так и не понял, есть ли еще решения для данной проблемы?
27. bulpi 209 05.03.18 21:50 Сейчас в теме
(26)
Нет. Уже 8.3, но все так и осталось. Для баз, у которых есть необходимость периодически лазить в инет, и при этом критично, чтобы эти задания ОБЯЗАТЕЛЬНО выполнялись, я использую планировщик заданий Windows с запуском клиентских сеансов, вместо механизма регламентных заданий.
Оставьте свое сообщение

См. также

Глобальное меню разработчика для управляемых форм

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Бесплатно (free)

Подсистема "Инструменты разработчика". Глобальное контекстное меню разработчика для управляемых форм в толстом клиенте.

03.08.2020    8998    tormozit    29    

94

Чтение метаданных 1С из SQL Server и PostgreSQL

Инструментарий разработчика Платформа 1С v8.3 Бесплатно (free)

Описание файла DBNames таблицы Params и файлов объектов метаданных таблицы Config.

16.02.2021    11688    zhichkin    72    

78

Коннектор: удобный HTTP-клиент для 1С:Предприятие 8

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Коннектор - библиотека для работы с HTTP запросами. Библиотека берет на себя всю рутину работы с HTTP запросами. Буквально в одну строку можно получать данные, отправлять, не заботясь о необходимости конструирования URL, кодирования данных и т.п.

31.01.2019    105385    bonv    261    

874

Сервис обмена кодом

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Бывало так, что вам нужно быстро показать кому-то свой код, но опубликовать его негде, так как популярные сервисы просто не поддерживают раскраску кода 1С? Теперь решение есть!

26.06.2015    21464    Infactum    23    

30

Подсистема "COMExchange": консоль запросов в режиме «Консоль кода».

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

Описана возможность использования обработки «Консоль запросов 1С+ADO» в качестве «консоли кода». При этом имеется возможность помещения результатов вычислений в «табло формул». Кроме результатов вычислений в это «табло» можно также вывести время выполнения и описание обработанных ошибок времени исполнения.

03.04.2014    26834    yuraos    2    

9

VM1C - виртуальная машина для 1С

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

Демонстрация возможностей виртуальной машины для 1С. Создаем и выполняем код модулей в режиме Предприятия в реальном времени.

07.06.2013    29749    m.bolsun    46    

44

Подсистема "COMExchange", консоль запросов, сервис обработки выборки запроса: корректируем регистры или «Берём банк, кассу, экспроприируем экспроприаторов».

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

На примере шуточного примера продемонстрированы не шуточные возможности консоли запросов в составе подсистемы "COMExchange" для работы с регистрами, подчинёнными регистратору («обнуление» регистров, ввод начальных итогов (сведений), корректировка итогов).

31.03.2013    23303    yuraos    7    

8

Разработка скрипта для проекта Снегопат

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

Подробное пошаговое описание порядка создания скрипта для проекта Снегопат (http://snegopat.ru) на примере скрипта "Авторские комментарии". Затрагивает ключевые особенности объектной модели, реализуемой Снегопатом.

12.02.2012    21023    kuntashov    59    

89

Скрипты для проекта Снегопат: автоматизация работы в Конфигураторе

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

Снегопат (http://snegopat.ru) – это проект по расширению возможностей конфигуратора 1С:Предприятия 8.2 как среды разработки прикладных решений. Для знакомых с ОпенКонфом, можно коротко сказать, что Снегопат – это ОпенКонф и Телепат, только для 1С:Предприятия 8.2 и уже на сегодня заметно круче :). Кроме специализированного функционала, который добавляется в Конфигуратор при использовании Снегопата, разработчики могут добавлять новый функционал самостоятельно, создавая свои собственные скрипты, автоматизирующие работу в Конфигураторе. Предлагаю вам обзор возможностей существующих на сегодня скриптов для Снегопата с короткими, но наглядными видеоиллюстрациями их работы.

16.01.2012    27889    kuntashov    42    

123

Формат файлов выгрузки DT

Инструменты администратора БД Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Описание формата файлов выгрузки DT, может стать основой для разработки средств восстановления данных

вчера в 16:30    1400    Pasha1st    7    

49

Редактор объекта (Infostart Toolkit)

Инструменты администратора БД Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 1С:Франчайзи, автоматизация бизнеса Бесплатно (free)

Статья об инструменте Редактор объекта в продукте Infostart Toolkit. Изменение скрытых реквизитов, исследование объекта, восстановление битой ссылки.

16.05.2023    1308    Evg-Lylyk    5    

24

Лицензия 1С для разработчиков (бесплатно)

Инструментарий разработчика Платформа 1С v8.3 Бесплатно (free)

Бесплатно комьюнити-лицензия для разработчиков от 1С.

20.04.2023    14862    AlOkt    64    

50

Отладка внешней печатной формы в управляемом приложении (с редактированием и записью)

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Украина Бесплатно (free)

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

20.01.2022    12810    dreamwaver_dz    42    

75

Прикрепление внешних файлов к документам и справочникам 1С 8.3

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

06.04.2023    772    ISChaplagin    3    

5

Описание формата файлов конфигурации (CF, EPF, ERF)

Инструментарий разработчика Платформа 1С v8.3 Бесплатно (free)

Внутренняя структура файла конфигурации (*.cf) давно не является секретом, однако подробной документации на него в сети практически нет. Данная статья является попыткой восполнить этот пробел.

12.01.2014    68856    Evil Beaver    63    

250

Метаданные (Infostart Toolkit)

Инструменты администратора БД Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Бесплатно (free)

Статья о инструменте Метаданные в продукте Infostart Toolkit. Просмотр метаданных, структуры хранения в режиме 1С: Предприятия.

16.03.2023    2505    Evg-Lylyk    12    

24

Глобальное меню (Infostart Toolkit)

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Набор инструментов Infostart Toolkit. Глобальное меню для удобства запуска.

22.02.2022    2718    Evg-Lylyk    4    

25

Отладка внешней печатной формы в управляемом приложении без создания формы, расширения или редактирования общего модуля

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Бесплатно (free)

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

20.02.2023    2180    alex67dee    5    

29

Соревнование по программированию на 1С

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Устроим соревнование по программированию? Узнаем, кто "берёт и делает", а кто только на словах специалист? Программирование - искусство или ремесло нажимания кнопок?

15.12.2022    5324    elcoan    99    

51

Структура хранения ИБ - обработка за 5 минут и 2 строки кода - DIY

Инструменты администратора БД Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Платформа 1C v8.2 Бесплатно (free)

Платформа "1С:Предприятие 8" не держит в секрете информацию об именах таблиц SQL (или внутренней БД для файловой). Для получения подробнейшей информации - есть штатная функция "ПолучитьСтруктуруХраненияБазыДанных". Данная обработка - лишь обертка над функцией. Думаю, нет смысла качать и тратить $m на то, что можно сделать самому за 5 минут.

10.11.2022    4972    DrAku1a    12    

44

Проводим по БУ "на лету"

Инструментарий разработчика Запросы Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х Бухгалтерский учет Налоговый учет Бесплатно (free)

В базе ERP и КА есть форма тестировщика, которая автоматически получает из конфигурации полные тексты запросов формирования бухгалтерских проводок выбранного документа, даёт возможность модифицировать запрос и сразу проверить результат.

01.05.2020    9596    sapervodichka    1    

94

Опыт использования 1С: Исполнитель (версия 2.0)

Инструментарий разработчика Языки и среды Платформа 1С v8.3 Бесплатно (free)

Дело было так. В субботу рано утром мне не спалось, надо было срочно подкинуть мозгу что-нибудь очень занятное. И тут я вспомнил одну задачу, решение которой мне определенно не нравилось. Если кратко, задача звучит так: надо выкинуть из конфигурации код, который выполняется на клиенте. Ну и сделать так, чтобы он выполнялся в фоне и на клиенте. А пока думал, спать уже и перехотелось...

26.09.2022    4081    vandalsvq    21    

29

Методика применения однострочного кода

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Уже много лет не утихают споры о полезности однострочного кода. Разберемся с этими вопросами подробно. Когда полезен однострочный код и как правильно его применять.

25.09.2022    6822    tormozit    76    

95

Ошибка при открытии StandardFindByRef.epf (описание и решение)

Инструментарий разработчика Платформа 1С v8.3 Россия Бесплатно (free)

Как решить ошибку вызова недокументированной обработки StandardFindByRef.epf.

28.07.2022    1062    CyberMax    1    

12

Infostart Toolkit – чем инструмент будет полезен для аналитиков и консультантов

Инструментарий разработчика Платформа 1С v8.3 Бесплатно (free)

На митапе для аналитиков "Истории внедрения" выступил Евгений Люлюк – ведущий разработчик Infostart Toolkit. Он рассказал, какие инструменты помогут аналитику исследовать незнакомую базу, находить решения проблем, работать с данными и вносить в них точечные изменения.

04.05.2022    2147    Evg-Lylyk    0    

18

Все функции (Infostart Toolkit)

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Улучшенный аналог "Все функции" или "Функции технического специалиста" из набора инструментов Infostart Toolkit.

15.04.2022    3062    Evg-Lylyk    5    

25

Конвертация HTML в PDF программно

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Инструкция по конвертации HTML файлов в файлы PDF программно в 2 строчки и без заморочек.

09.03.2022    3839    maximus_2712    2    

7

Подписки на события (Infostart Toolkit)

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Бесплатно (free)

Все подписки на события с отбором по метаданным, поиском подписки по подстроке, отображением объектов подписки и обработчиков (с возможностью посмотреть код).

26.01.2022    2234    Evg-Lylyk    8    

35

Загрузка метаданных из расширений в СППР

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Описание принципа, на котором можно сделать загрузку метаданных из расширений в СППР 2.

17.01.2022    1421    jf2000    0    

9

paste1c.ru - сервис для обмена кодом для 1С:Предприятия

Инструментарий разработчика Платформа 1С v8.3 Бесплатно (free)

Paste1C.ru - сервис для обмена кодом для 1С:Предприятия c подсветкой синтаксиса и подсказками.

21.08.2020    7948    salexdv    58    

68

Решение некоторых задач с помощью "Отладчика запросов"

Инструментарий разработчика Платформа 1С v8.3 Платформа 1C v8.2 Платформа 1С v8.1 Управляемые формы Россия Бесплатно (free)

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

29.11.2021    1974    DrAku1a    6    

15

Отладка в Infostart Toolkit

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Отладка запросов, схем компоновки данных, просмотр содержимого менеджера временных таблиц.

05.11.2020    6406    Evg-Lylyk    18    

42

Тонкий конструктор СКД (Infostart Toolkit)

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Реализация конструктора СКД с нуля для управляемых форм. Контекстная подсказка для языка выражений СКД и другое.

01.09.2021    5731    Evg-Lylyk    22    

64