Имя: Пароль:
1C
1C 7.7
v7: Вызов обработки ожидания
0 VoditelKobyly
 
20.05.15
12:10
У меня одного только так или у всех?
Подаю команду: Форма.ОбработкаОжидания("ПроверитьЗадания",60);
Обработка стабильно запускается через 73 секунды.
Откуда берется смещение в 13 секунд?
1 Джордж1
 
20.05.15
12:10
Хорошо что еще так то запускается
2 VoditelKobyly
 
20.05.15
12:12
(1) Да уж конечно, рад что хоть так.
3 VoditelKobyly
 
20.05.15
12:17
Задолбали ошибки, возникающие при запуске обработок через планировщик задач. Есть несколько роботов, которые должны запускаться с интервалом 20,30 минут в течение дня. То все работает нормально, то в какой-нибудь день выдаст ошибку загрузки какой-нибудь библиотеки, то табличку с отсутствием интерфейса. После этого операторы звонят, приходится снимать задание, чтобы дальше все работало. Решил все переписать на один постоянно запущенный процесс на сервере, который будет утром запускаться, вечером сниматься, а днем вызывать нужные обработки. Вроде все заработало, но по логам гляжу есть постоянное смещение в 13 секунд.
4 zenik
 
20.05.15
12:34
Это время выполнения твоей обработки. Интервал считается не как в cron, а только во время простоя... т.е. твоя обработка отработала, потом 60 секунд простоя. а разница между запусками как раз и будет интервал запусков + время на обработку.
5 VoditelKobyly
 
20.05.15
12:52
(4) Нет не похоже.
1. Обработка которая ничего не сделала не могла работать столько времени.
2. Поставил интервал запуска 47 секунд, получил запуск обработки через 56 секунд.
6 zenik
 
20.05.15
12:58
(5) логировать не только время начала но и конца обработки. - смотреть.
7 Злопчинский
 
20.05.15
13:03
Да, мне такая проблема известна. ОО работает "неточно". В критичных местах перевел на регулярную генерацию внешнего события (через ВК Васи Душелова, дай бог ему мира). Можно и формекс юзать
8 VoditelKobyly
 
20.05.15
13:25
(7) Спасибо, успокоил.
В формексе вызывается обработка из глобального модуля, это не совсем то, что мне нужно. Поставлю почаще интервал вызова.
9 Злопчинский
 
20.05.15
21:10
(8) генери формексом ВнешнееСобытие - обрабатывай где хошь, хоть в ГМ хоть в ЛМ
10 Злопчинский
 
20.05.15
21:13
или у меня вот так
//======================================================================
//
Процедура ПриОткрытии()
    Если  ПустаяСтрока(глГенераторСобытий) = 0
    Тогда
        Попытка     глГенераторСобытий.Добавить("robot","robot",Константа.ТаймерВсякойХрени);
        Исключение    Сообщить(ОписаниеОшибки());
        КонецПопытки;
        глГенераторСобытий.Старт("robot");
    Иначе
        Форма.ОбработкаОжидания("Сформировать",Константа.ТаймерВсякойХрени/1000);
    КонецЕсли;

    Сформировать();    
    
КонецПроцедуры // ПриОткрытии

//************************************************************************************************************
//
Процедура ОбработкаВнешнегоСобытия(Источник, Событие, Данные)
    
    Если  Событие = "robot"
    Тогда
        Сформировать();
    КонецЕсли;
    
КонецПроцедуры //ОбработкаВнешнегоСобытия()