Описание

Начиная с релиза Навигатора 7.1.0 рыночные данные в составе объектов: "Фиксинги ставок" , "Ставки кривых", "Котировки"  публикуются не по событию добавления котировки в Рынок, а по интервалу заданий, штатно каждые 10 минут. 

Настройки производимые для отправки цен Навигатора в составе Котировки

  1. При запуске джоба, анализируется дата последнего события по отправке цен во внешние системы, для которых осуществлена подписка на отправку. 
  2. После анализа последней даты, задание будет производить отправку рыночных цен, начиная с даты и времени последней отправки в текущем дне
  3. По завершению обработки, задание повторно производит п1 и п2. Штатно задание опрашивает рынок на наличие актуальных котировок каждые 10 минут.  И отправляет цены только в те системы, на которые имеется подписка и лицензия.

Скрипт по созданию джоба на котировки: 

Создание задания на отправку котировок из Навигатора
begin
pkg_service.p_job_send_quote_rate();
end;

Настройки производимые для отправки цен Навигатора в составе Фиксинги ставок

  1. При запуске джоба, анализируется дата последнего события по отправке фиксингов ставок во внешние системы, для которых осуществлена подписка на отправку. 
  2. После анализа последней даты, задание будет производить отправку фиксингов ставок , начиная с даты и времени последней отправки объекта во внешние системы.
  3. По завершению обработки, задание повторно производит п1 и п2. Штатно задание опрашивает рынок на наличие актуальных фиксингов ставок каждые 10 минут.  И отправляет ставки только в те системы, на которые имеется подписка и лицензия.

Скрипт по созданию джоба на  фиксинги ставок: 

Создание задания на отправку фиксингов из Навигатора
begin
pkg_service.p_job_send_quote_fixing_rate();
end;

Настройки производимые для отправки цен Навигатора в составе Ставок кривых

  1. При запуске джоба, анализируется дата последнего события по отправке ставок кривых во внешние системы, для которых осуществлена подписка на отправку. 
  2. После анализа последней даты, задание будет производить отправку ставок кривых , начиная с даты и времени последней отправки объекта во внешние системы.
  3. По завершению обработки, задание повторно производит п1 и п2. Штатно задание опрашивает рынок на наличие актуальных ставок кривых каждые 10 минут.  И отправляет ставки только в те системы, на которые имеется подписка и лицензия.

Скрипт по созданию джоба на  фиксинги ставок: 

Создание задания на отправку ставок кривых из Навигатора
begin
pkg_service.p_job_send_CURVE_POINT_RATE();
end;

Важно

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

Одновременно может существовать три задания, тело которых выполняет следующие действия: 

  1. begin sp_prepforothersystemsbulk(adealtype=>''vw_CURVE_POINTS''); end;
  2. begin sp_prepforothersystemsbulk(adealtype=>''vw_SEC_MARKET''); end;
  3. begin sp_prepforothersystemsbulk(adealtype=>''vw_FIXING''); end;

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

Дополнительно

При необходимости банка, увеличить/уменьшить интервал отправки котировок, можно реализовать задание самостоятельно

Пример скрипта на создание задания: 

Пример создания задания
declare
  v_sql     VARCHAR2 (1000) := 'begin sp_prepforothersystemsbulk(adealtype=>'':OBJECT''); end;'; -- где в качестве :OBJECT определяется объект "vw_SEC_MARKET", "vw_FIXING", "vw_CURVE_POINTS
  v_jobid   VARCHAR2 (100)  := :JOB_NAME; -- Название джоба. 
 BEGIN
  BEGIN
   sys.DBMS_SCHEDULER.drop_job (job_name => v_jobid, force => TRUE);
  EXCEPTION
   WHEN OTHERS
   THEN
    NULL;
  END;

  sys.DBMS_SCHEDULER.create_job (
   job_name          => v_jobid
  ,job_type          => 'PLSQL_BLOCK'
  ,job_action        => v_sql
  ,start_date        => sysdate+3*1/24/60/60 -- чз 3 сек старт
  ,repeat_interval   => 'FREQ = MINUTELY; INTERVAL = 10' --интервал указывается банком на свое усмотрение. 
  ,enabled           => TRUE);
  dbms_scheduler.set_attribute(v_jobid,'RESTART_ON_RECOVERY',true);
END;
  • Нет меток