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

Запуск операции по расписанию
На страницу 1, 2  След.
 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Настройка и сопровождение
Предыдущая тема :: Следующая тема  
Автор Сообщение
Emel
Участник со стажем


Вступление в Клуб: 02.07.2007
СообщениеВт Окт 30, 2007 18:37   Запуск операции по расписанию Ответить с цитатой
Полезность: Нет оценки
Подскажите плиз

Как запустить операцию по расписанию
или где почитать про это


спасибо
timochev
Эксперт


Вступление в Клуб: 02.07.2007
СообщениеВт Окт 30, 2007 23:09    Ответить с цитатой
Полезность: 1
1. В Навигаторе меню "Система / Выполнение заданий по расписанию"
2. Вызываем "Добавить в список операций"
3. Затем над добавленной операцией вызываем "Добавить в список заданий"
4. Потом задаем интервал запуска через одноименную операцию и ставим в очередь операцией "Поставить задание в очередь".

Доку что-то не нашел. Sad Куда-то ее далеко запрятали, что ли?
aero1530
Профи


Вступление в Клуб: 29.06.2007
СообщениеСр Окт 31, 2007 09:00    Ответить с цитатой
Полезность: Нет оценки
Когда возник такой же вопрос - перекопал всю документацию и ничего не нашел. Зарегистрировал консультацию в ЦФТ, но и у них или нет документации, или просто отмахнулись...

Есть еще пункт "Выполнение текстовых заданий" - может, кто знает, для чего это и как настраивать?
_________________
Александр Евтушенко, Волгопромбанк
alexiy
Профи


Вступление в Клуб: 29.06.2007
СообщениеСр Окт 31, 2007 11:31    Ответить с цитатой
Полезность: 2
ЦФТ говорит - нет описания.
Присутствует только в комментариях к соотв. типу и его элементам в АРМе "Администратор словаря данных"...".
Вот, выдрал из типа (да не сочтется за флуд):
"
Тип предназначен для управления запуском заданий (операций) по расписанию.

Реквизиты:
METHOD_CLASS - тип, которому принадлежит операция.
SHORT_NAME - короткое имя операции.
NAME - наименование операции.
В качестве заданий могут выполняться только групповые (статические) операции
без параметров или только с умолчательными параметрами. Причем если такие
параметры существуют, то в качестве первого параметра при запуске задания
передается значение реквизита [CODE] текущего задания, а если в списке
параметров существует параметр, описанный как ссылка на "Выполнение заданий
по расписанию", то при запуске задания в этом параметре передается значение
ссылки на текущее задание.
FIRST_TIME - время для запуска задания. Если задан момент в будущем, то операция
будет активизирована в указанное время, если задан момент в прошлом, то операция
будет активизирована сразу же, как будет поставлена в очередь заданий.
INTERVAL - формула для вычисления следующего момента для запуска. После
выполнения задания по этой формуле вычиляется время для следующего запуска
(модифицируется реквизит FIRST_TIME). Интервал должен возвращать момент
времени в будущем. В формуле могут участвовать стандартные функции работы
с датами (SYSDATE, NEXT_DAY, ADD_MONTH, TRUNC и др.), а также реквизиты
[FIRST_TIME], [START_TIME], [STOP_TIME]. После выполнения задания по этой
формуле модифицируется реквизит [FIRST_TIME] времени следующего запуска.
Если интервал не задан, то задание может само модифицировать значение реквизита
[FIRST_TIME] по передаваемой ей ссылке (либо оно само может определить эту ссылку),
если же оно этого не делает, тогда выполняется один раз и блокируется.
EXECUTE - признак блокировки задания. Если установлен в TRUE, то задание выполняться
не будет, даже если время его запуска прошло. Этот флаг автоматически устанавливается
в TRUE либо после 10 неудачных попыток выполнить задание (если во время выполнения
возникает исключение - EXCEPTION), либо время следующего запуска оказывается в
прошлом (это происходит, например, если не задан реквизит [INTERVAL] ).
JOB - номер задания. Устанавливается при постановке в очередь заданий.
SUBMIT_TIME - в реквизит заносится время постановки задания в очередь.
SUBMIT_USER - в реквизит заносится информация о пользователе, поставившем задание
в очередь, в следующем формате: <имя пользователя Oracle>.<сетевое имя>.<AUDSID сессии>.
START_TIME - время, когда задание было последний раз запущено.
STOP_TIME - время, когда задание было последний раз выполнено.
TOTAL - суммарное время выполнения задания (в секундах) за все предыдущие запуски
задания.
SUCCESS - счетчик количества успешных запусков задания.
FAILURES - счетчик количества попыток запуска задания, завершающихся с ошибкой
(генерацией исключения). При этом следующая попытка запуска произойдет через
интервал времени в секундах, равный значению счетчика попыток, умноженному на 30.
При достижении счетчиком значения 10 задание блокируется.
INFO - информация. В нее заносится информация о состоянии задания - времени постановки
в очередь, времени последнего запуска и завершения, сообщения об ошибках выполнения.
CODE - дополнительный строковый параметр (код) для задания (передается в качестве параметра
в операцию выполнения задания).
FLAGS - флаги посылки сообщений, побитно:
0 - сообщение при запуске задания,
1 - сообщение при завершении задания,
2 - скрыть от просмотра реквизит CODE,
3 - флаг разрешения выполнения задания в случае ошибки регистрации сессии.
NODE - узел Oracle Parallel Server, на котором следует запускать задание,
если не указывается или указывается 0, то запуск произойдет на любом из узлов.
SRV - сервер LOCK_INFO (номер пайпы), на котором следует запускать задание,
если не указывается или указывается 0, то запуск произойдет на любом из
возможных серверов.
ACTIVE_TIME - время активности задания (в минутах) без перезагрузки задания
Oracle. Полезно указывать для часто выполняемых заданий, чтобы сократить
количество событий соединения с БД (которое весьма ресурсоемко)


Примечание. При запуске задания проверяются права пользователя, поставившего задание
в очередь, на выполнение операции, определяющей задание.
"
_________________
two bee or not two bee


Последний раз редактировалось: alexiy (Чт Мар 20, 2008 09:28), всего редактировалось 1 раз
dbmaslov
Профи


Вступление в Клуб: 11.07.2007
СообщениеСр Окт 31, 2007 12:00    Ответить с цитатой
Полезность: Нет оценки
Уважаемый автор, дабы данный топик приобрел законченный вид, уточните, пожалуйста, Вам удалось поставить операцию на выполнение по расписанию?
_________________
Маслов Дмитрий
Васильев Николай
Профи


Вступление в Клуб: 29.06.2007
СообщениеПт Ноя 02, 2007 14:51    Ответить с цитатой
Полезность: Нет оценки
У нас работает несколько заданий- б/к, фактура, экспорт в хранилище, обработчик документов рц, например
dale
Участник со стажем


Вступление в Клуб: 28.09.2007
СообщениеПт Ноя 02, 2007 14:58    Ответить с цитатой
Полезность: Нет оценки
НУ я поддержу предыдущего оратора
если все так делать то оно как не странно работает
и вполне правильно работает
и могу заявить что делал сам так очень большое кол-во раз Very Happy
_________________
Программа делает не то, что хочет программист, а то, что написано в коде. (c)
Alex2019
Профи


Вступление в Клуб: 02.07.2007
СообщениеВт Ноя 06, 2007 15:38    Ответить с цитатой
Полезность: Нет оценки
dbmaslov пишет:
Уважаемый автор, дабы данный топик приобрел законченный вид, уточните, пожалуйста, Вам удалось поставить операцию на выполнение по расписанию?
Вставлю свои 5 копеек: оно действительно работает, задания выполняются, глюков не выявлено, но вот слова "по расписанию" оказываются не вполне корректными.
Например, чтобы выполнить некую задачку в 10 утра приходится поизгаляться в проверке самой вызываемой операции. Так что штатно можно задавать периодичность от предыдущего запуска, но не абсолютное время
sergius_79
Участник со стажем


Вступление в Клуб: 08.07.2007
СообщениеВс Дек 02, 2007 07:28    Ответить с цитатой
Полезность: 4
Это почему же? А если в периоде запуска задать trunc() + нужное время?
OlegFB
Участник - экстремал


Вступление в Клуб: 11.07.2007
СообщениеПт Дек 07, 2007 08:09    Ответить с цитатой
Полезность: Нет оценки
sergius_79 пишет:
Это почему же? А если в периоде запуска задать trunc() + нужное время?

+1
mlg
Участник со стажем


Вступление в Клуб: 23.07.2007
СообщениеПт Дек 07, 2007 08:58    Ответить с цитатой
Полезность: 1
Для запуска в нужное время есть операция "Задать интервал запуска"
Если есть необходимость запускать ежедневно в 10 часов утра, то устанавливаем "По дням = 1", "Часы = 10", остальное 0. Операция сама установит нужные периоды запуска. Проверяем по F3.
Alex2019
Профи


Вступление в Клуб: 02.07.2007
СообщениеПт Дек 07, 2007 09:41    Ответить с цитатой
Полезность: Нет оценки
sergius_79 пишет:
Это почему же? А если в периоде запуска задать trunc() + нужное время?

Спасибо. А если некое задание нужно запустить дважды, трижды... в сутки в фиксированное время? - только дублировать записи для этого задания с разными параметрами времени запуска?

Предыдущее суждение (от 06.11) базировалось на ответе, полученном в ЦФТ: "Это особенности системы запуска заданий Oracle. У задания есть 2 параметра - NEXT_DATE и INTERVAL , после запуска задания вычисляется выражение INTERVAL и после успешного завершения задания вычисленное значение становится новым NEXT_DATE.
Если же задание по каким-то причинам не смогло стартовать, предпринимаются попытки запустить его еще несколько (16) раз через все возрастающие промежутки времени. Соответственно , если очередная попытка увенчается успехом , то новое значение NEXT_DATE будет вычисленно именно от времени старта этой попытки. Таким образом , гарантировать что задание будет запускаться всегда в одно и то же время в общем случае нельзя."
sergius_79
Участник со стажем


Вступление в Клуб: 08.07.2007
СообщениеВт Дек 11, 2007 06:47    Ответить с цитатой
Полезность: 1
trunc(sysdate) + decode(to_char(sysdate, 'HH24'), '10', 15/24, '15', 20/24, '20', 34/24)

Это если обязательно через запуск по расписанию нужно работать. Ну и лучше для верности в decode все 24 часа учесть на всякий случай...

Если я не прав, поправьте, но уверен - работать будет!
Alex2019
Профи


Вступление в Клуб: 02.07.2007
СообщениеВт Дек 11, 2007 10:51    Ответить с цитатой
Полезность: Нет оценки
sergius_79 пишет:
trunc(sysdate) + decode(to_char(sysdate, 'HH24'), '10', 15/24, '15', 20/24, '20', 34/24)

Это если обязательно через запуск по расписанию нужно работать. Ну и лучше для верности в decode все 24 часа учесть на всякий случай...

Если я не прав, поправьте, но уверен - работать будет!

Вероятно, вы правы Rolling Eyes ,но видимо совет дан не для интервала запуска, т.к. получаем сообщение
Код:
Неправильное выражение для интервала запуска...
ORA-06550: Строка 1, столбец 43:
PLS-00204: функция или псевдо-столбец 'DECODE' могут быть использованы только внутри оператора SQL
ORA-06550: Строка 1, столбец 7:
PL/SQL: Statement ignored
faded
Участник со стажем


Вступление в Клуб: 17.09.2007
СообщениеВт Дек 11, 2007 12:49    Ответить с цитатой
Полезность: Нет оценки
"запустить задание трижды в определенное время" - если время работы операции не пересекается: в окошке интервал запуска вызываю (далее пример) Z$IBSO_GATE_GATE_LIB.GET_NEXT_TIME4JOB. GET_NEXT_TIME4JOB - функция ТБП IBSO_GATE операции GATE_LIB возвращающая значение типа DATE_TIME. дальше по-моему все понятно - счетчик до 3 и его анализ в функции.

если время пересекается и вообще для универсальности - некий job который по неким правилам запускает текстовые задания по расписанию

это конечно не просто настройка а некое программирование. но по-моему достаточно тривиальное.
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Настройка и сопровождение Часовой пояс: GMT + 3
На страницу 1, 2  След.
Страница 1 из 2

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