Имя: Пароль:
1C
1С v8
Посоветуйте готовый функционал для мониторинга результатов регл.заданий
,
0 1398
 
16.03.17
11:44
Есть регламентные задания, которые отрабатывают ночью.
Необходимо контролировать, а корректно ли они выполнились. Например, чтобы утром, придя на работу, сразу же и увидеть что ночью не отработала полная выгрузка на сайт.
Ранее задача решалась, в общем-то, просто – в каждое такое важное регламентное задание добавляется проверка (например, отсутствия файла-флага) и, "если есть повод", то кому-то на почту отправлялось письмо с описанием проблемы и ошибки (если она есть).

Но время идет, система развивается и уже заданий столько, что добавление какого-нибудь нового получателя в такие письма становится реальной проблемой (их надо найти, вспомнить все задания, заново разобраться в том, где и как происходит проверка и т.п.) .

Соответственно, вопрос:
Есть ли в каких-то типовых конфигурациях (или разработках) уже готовое решение для подобной задачи?

Что-то типа вот такого:
-- Регистр, в котором фиксируются результат работы регл.задания – Успешно/Неуспешно, описание ошибки и т.п.
-- Справочник, в котором указываются:
- регламентное задание
- способ реакции (есть мысль не только использовать почту, но и для критичных задач сразу отправлять СМС-ки)
- получатели сообщения
- программный код, которым выполняется проверка, что конкретное задание выполнено. Проверка для каждого задания своя и было бы логично исходный код для этой проверки хранить и изменять прямо в справочнике.
1 Save_Vol
 
16.03.17
11:56
Есть типовая обработка мониторинга на диске ИТС.Если что то не устраивает можно по ее типу и подобию свое написать.
2 ДемонМаксвелла
 
16.03.17
11:59
очень удобна консоль заданий из "Инструментов разработчика"
3 1dvd
 
16.03.17
12:00
(2) +100500
4 1398
 
16.03.17
12:02
"Консоль заданий" хороша, спору нет.
У неё, к слову, есть и недостатки - история не хранится.

Не очень точно сформулировал суть в (0). Нужна не консоль, нужно более-менее оперативное средство уведомления о проблемах с выполнением регл.заданий.
5 1dvd
 
16.03.17
12:03
(4) история хранится в ЖР, куда можно попасть прямо из консоли (2)
6 shadow_sw
 
16.03.17
12:04
(5) только хотел про ЖР написать, анализируй ЖР и отправляй почту/смс/итд
7 1398
 
16.03.17
12:09
Да это понятно, что можно и ЖР "препарировать", и/или самому все быстро-быстро написать.

Давайте я более четко сформулирую суть вопроса:

Где есть готовое (типовое и обкатанное на живых пользователях) решение, позволяющее при ошибке регл.задания - сразу же отправить письмо или СМС об этом?
8 shadow_sw
 
16.03.17
12:10
соседний сайт мониторь, который на И
9 1398
 
16.03.17
12:13
(8) Это да. Но чего-то сходу не нашёл пока. Решил вот, спросить у коллег. На Мисте же в чем только не разбираются люди-то :)
10 DrShad
 
16.03.17
12:14
(9) мы просто пишем обработки, которые выполняются фоном, так чтобы в них не было критических ошибок
11 shadow_sw
 
16.03.17
12:17
(10) в закладки :)
12 Dmitrii
 
гуру
16.03.17
12:18
Из типового только ЦКК из КИПа:
https://its.1c.ru/db/kip#content:97:1:issogl1_5.14.8_контроль_выполнения_регламентных_заданий

Но и этот контроль ничего тебе не скажет, если задание вообще не запускалось (что случается при некоторых обстоятельствах на последних версиях платформы).
Данный инструмент только лишь делает:
Анализ журнала регистрации информационной базы, нахождение сведений о регламентных заданиях, которые завершились с ошибкой или не завершились в установленный срок, оповещение ответственных лиц о выявленных ошибках.
13 1398
 
16.03.17
12:22
(9) Это отлично и замечательно. Мне бы тоже так хотелось. Но, увы, не всегда получается.

Как может гениальная обработка помочь в ситуации, когда данные из 1С успешно выгружены, но просто не загружены сайтом потому, что "лежал" его (сайта) хостинг? Правильно - никак и ничем, кроме ошибочного ощущения собственной непогрешимости.

Вот для таких ситуаций и нужно структурированное, всеобъемлющее и  и системное такое решеньице.

А с собственными ошибками понятно, что делать. Но в реальной-то жизни зачастую приходится не только за собственные ошибки и проблемы отвечать.
14 1398
 
16.03.17
12:23
Упс, в (13) опечатка. Не 9, а (10), конечно же.
15 1dvd
 
16.03.17
12:23
(13) ну, так анализируй в самом фоновом задании ошибки. Причем тут дополнительный функционал?
16 1398
 
16.03.17
12:28
(15) Нужно уведомление почтой или СМС. Простое и понятное в настройках для "программеров разного уровня сообразительности". И уже кем-то обкатанное. Вот его ищу.
17 ДемонМаксвелла
 
16.03.17
13:23
(16) консоль заданий и оповещение по смс - это две совершенно разные функции. Консоль - интерактивный инструмент. Оповещение - это фоновая задача.
18 тарам пам пам
 
16.03.17
13:27
Отчет нарисуй, который тебе ошибки будет показывать напр-р за последние 10 мин и настрой БСПшную подсистему по рассылке отчетов с расписанием каждые 10 мин. Там можно флаг поставить, чтобы пустой отчет не отсылался. Насчет СМС не знаю, можно эту же подсистему доработать.
19 тарам пам пам
 
16.03.17
13:29
(18)+ а как делать саму регистрацию ошибок - дело уже твое. Можно просто анализировать последний результат выполнения - как в консоли заданий тебе показывает. Можно регистр сделать и в него ошибки писать - но тогда придется сами регл задания дорабатывать на тему записи в этот регистр.
20 darius357
 
16.03.17
13:45
ну как всегда побакланили, и нифига толку
21 PLUT
 
16.03.17
13:53
(0) ты не поверишь: для контроля ошибок регзаданий нужно регзадание)))


там несколько строчек г.внокода, получается таблица, которую останется творчески доработать напильником: отправить смс-ку или на почту

ТаблицаОшибок=Новый ТаблицаЗначений;
    ТаблицаОшибок.Колонки.Добавить("РеглЗадание");
    ТаблицаОшибок.Колонки.Добавить("Начало");
    ТаблицаОшибок.Колонки.Добавить("Ошибка");
    ТаблицаОшибок.Колонки.Добавить("Состояние");
    ТаблицаОшибок.Колонки.Добавить("ИБ");
    
    МассивЗаданий=РегламентныеЗадания.ПолучитьРегламентныеЗадания();
    Для Каждого РеглЗадание из МассивЗаданий Цикл
        ФоновоеЗадание=РеглЗадание.ПоследнееЗадание;
        Если ФоновоеЗадание<>Неопределено Тогда
            Если ФоновоеЗадание.Состояние=СостояниеФоновогоЗадания.ЗавершеноАварийно Тогда
                НоваяСтрока=ТаблицаОшибок.Добавить();
                НоваяСтрока.ИБ=""+СтрокаСоединенияИнформационнойБазы();
                НоваяСтрока.РеглЗадание=""+ФоновоеЗадание.Наименование;
                НоваяСтрока.Начало=ФоновоеЗадание.Начало;
                НоваяСтрока.Состояние=Строка(ФоновоеЗадание.Состояние);
                НоваяСтрока.Ошибка=?(ФоновоеЗадание.ИнформацияОбОшибке=Неопределено,"",""+ФоновоеЗадание.ИнформацияОбОшибке.Описание+" "+ПодробноеПредставлениеОшибки(ФоновоеЗадание.ИнформацияОбОшибке));
            КонецЕсли;
        КонецЕсли;
    КонецЦикла;
22 Вафель
 
16.03.17
13:55
(12) не работает с журналом в формате sqlite
23 PLUT
 
16.03.17
13:55
+(21) настроить расписание, например каждые 5 минут

и будет ТС щастье