CftClub.ru
Клуб специалистов ЦФТ-Банк

Автоматический последовательный запуск джобов

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Справочник PL/PLUS: Функции, примеры, приёмы
Предыдущая тема :: Следующая тема  
Автор Сообщение
nataly
Участник со стажем


Вступление в Клуб: 22.07.2011
СообщениеСр Авг 17, 2011 17:53   Автоматический последовательный запуск джобов Ответить с цитатой
Полезность: Нет оценки
Есть ли возможность реализовать запуск джобов по условию? например пока первые два не выполнятся успешно, третий ждет.
Как только закончились - пошел третий.
И есть ли вообще что-нибудь из документации почитать по теме или пример аналогичной реализации.
Volod
Эксперт


Вступление в Клуб: 19.09.2007
СообщениеЧт Авг 18, 2011 10:22    Ответить с цитатой
Полезность: Нет оценки
Может проще, запускать джоб с коротким временным интервалом, проверять условие и запускать необходимую операцию.
Vovidez
Профи


Вступление в Клуб: 27.09.2007
СообщениеЧт Авг 18, 2011 10:46   Re: Автоматический последовательный запуск джобов Ответить с цитатой
Полезность: Нет оценки
Как вариант при запуске операции джоба проверять, а не крутятся ли еще предыдущие 2 задания... Только аккуратнее нужно с настройкой времени запуска:
1) 3-й джоб должен запускаться по расписанию немного позже первых двух.
2) Периодичность запуска 2-х первых заданий не должна быть меньше, чем время выполнения 3-го...

3-й джоб, как вариант:

Код:
   var cnt integer := 0;
   while 1=1 loop
      begin
         select y(count (y)) in ::[TEXT_JOBS] where y.[SHORT_NAME] like '<Маска 1-х 2-х джобов>%' and nvl(y.[FAILURES],0) = 0 into cnt;
         if cnt > 0 then
            utils.sleep(10);
         else
            select y(count (y)) in ::[TEXT_JOBS] where y.[SHORT_NAME] like '<Маска 1-х 2-х джобов>%' and nvl(y.[FAILURES],0) = 1 into cnt;
            if cnt > 0 then
               debug_pipe('Были ошибки при запуске джобов!',0);
               debug_pipe('...Сами решайте, что с ними делать...,0);
            end if;
            debug_pipe('Окончание выполнения первых 2-х заданий...',0);
            exit;
         end if;
         commit;
      end;
   end loop;


Также можно посмотреть реализацию многопоточного завершения опердня для ИБСО/РБО. Там также есть возможность ожидания окончания других процессов перед запуском нужного...
nataly
Участник со стажем


Вступление в Клуб: 22.07.2011
СообщениеВт Авг 30, 2011 14:13    Ответить с цитатой
Полезность: Нет оценки
Спасибо, попробую так
Не завалялся ли еще у кого примерчик программного создания джоба?
Vovidez
Профи


Вступление в Клуб: 27.09.2007
СообщениеВт Авг 30, 2011 14:54    Ответить с цитатой
Полезность: Нет оценки
nataly пишет:
Спасибо, попробую так
Не завалялся ли еще у кого примерчик программного создания джоба?


Смотрите опять процедуру завершения опер.дня в ИБСО или, например, механизм создания Бизнес-операций в РБО. Также можно посмотреть любую многопоточную конвертацию ИБСО/РБО - они как раз создают задания по расписанию и выполняются в несколько потоков.
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Справочник PL/PLUS: Функции, примеры, приёмы Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru