Тайм-менеджмент с сиддхи

Мне нужно сохранить белый список на 2 минуты, но мне нужно выполнить запрос (используя мой белый список) при поступлении нового потока. Я использую два потока со следующим кодом:

Мне нужно заряжать мой БЕЛЫЙ СПИСОК, который обновляется каждые две минуты.

define trigger periodicalTriggerStream at every 2 min;

from DSB_TEMPORAL#window.time(2 min)
select wlist:whitelist() as whitel , DSB_licensekey, flg_urldsb
insert into temporal;

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

from temporal
select findwlist:findwhitelist(DSB_licensekey, flg_urldsb, whitel) as flg_url11
insert into temporal_WL11;

Это возможно?


person ROBY HERNAN RUBIANO    schedule 28.07.2016    source источник
comment
Пожалуйста, дайте больше информации о том, что делают wlist:whitelist() и findwlist:findwhitelist()?   -  person suho    schedule 29.07.2016
comment
спасибо, wlist:whitelist() — это расширение функции, которое получает массив json. findwlist:findwhitelist — это другое расширение функции, которое получает строку. Я хочу, чтобы wlist:whitelist() выполнялся каждые две минуты, и я хочу, чтобы findwlist:findwhitelist выполнялся при каждом поступлении нового события, но в findwlist:findwhitelist я использую информацию, полученную в wlist:whitelist().   -  person ROBY HERNAN RUBIANO    schedule 29.07.2016


Ответы (1)


Будет ли это работать?

define trigger periodicalTriggerStream at every 2 min;

from periodicalTriggerStream
select wlist:whitelist() as whitel 
insert into whitelStream;

from whitelStream#window.length(1) join newEventStream 
select findwlist:findwhitelist(DSB_licensekey, flg_urldsb, whitel) as flg_url11
insert into temporal_WL11;

Основная идея заключается в том, что вы вычисляете wlist:whitelist() каждые 2 минуты, сохраняете результаты в #window.length(1) и затем присоединяете новые события к окну событий.

person suho    schedule 29.07.2016