Estoy tratando de escribir una regla que retrase el disparo hasta que, al menos, hayan pasado 15 minutos desde el último disparo. Sin embargo, los operadores temporales en Drools Fusion solo permiten el razonamiento de dos eventos en relación uno con el otro y no un evento en relación con el tiempo actual.¿Drools Fusion tiene un concepto de "ahora"?
me gustaría algo como esto:
rule "some rule"
when
not LastFiredEvent(this before[0m, 15m] NOW)
…
he recurrido a escribir una regla que se activa cada segundo y se inserta un evento de latido (también retraer el latido anterior), lo que puedo usar en otras normas de servir como la hora actual.
Encuentro esto bastante poco elegante; ¿Me estoy perdiendo algo o Drools Fusion realmente no tiene algo para esto?
NB. Estoy no buscando el disparo retrasado de reglas o reglas que solo pueden disparar en múltiplos de 15 minutos; si nada ha sucedido en los últimos 17 minutos, la regla debe disparar inmediatamente en respuesta a un nuevo evento.
Su comentario de que 'ahora' es un concepto problemático es intrigante. ¿Puedes elaborar? –