Does the doSomething() update or retract any EventObject facts and notify
the Drools engine accordingly?
(So far: Neither using the same class for the "create" and the
"delete"
events nor
using a map (i.e., "data") for all properties is helping w.r.t. speed.)
-W
On 30 January 2012 15:07, Philipp Herzig <pherzig(a)googlemail.com> wrote:
Sure, here it is. Sorry for any inconvienience!
rule "new_intent"
timer (20s)
when
$evt : EventObject(data['type']=='create') from entry-point
eventstream
not ( EventObject(data['type']=='delete',
data['mrid']==$evt.data['mrid'],
data['userid']==$evt.data['userid'])
from entry-point eventstream)
then
SomeAPI.getInstance().doSomething();
end
Thank you,
Philipp
2012/1/30 Michael Anstis <michael.anstis(a)gmail.com>
>
> It's going to help (probably) if you include the definition of your rule
(or rules).
>
> 2012/1/30 Philipp Herzig <pherzig(a)googlemail.com>
>>
>> Dear Community,
>>
>> Drools is pretty fast regarding all my use cases. However, today I have
found a problem where I cannot find any solution. Hopefully someone of you
can help.
>>
>> 1. I have a rule with a @timer(10s) attribute (should be 24h later on
but doesn't matter). This rule is activated when a "create" event occurs
and invalidated once a "delete" event occurs within the timeframe of @timer.
>>
>> 2. I have approx. 9000 "create" events which are bulk loaded into the
working memory and creating activations for the rule above.
>>
>> 3. I have approx. 2000 "delete" events which are bulk loaded into my
entry-point cancelling the respective activations from step (2)
>>
>> 4. After the timer expired, the first activation is fired correctly.
However, all other activations are fired with some noticeable delay
(actually it needs 20-30minutes until all activations are fired).
>>
>>
>> Do you have an idea what the problem with the timer might be?
Unfortunately, I have neither an idea how the scheduler in the background
works nor which class I should start looking at.
>>
>> BTW: For testing purpose I switched step (2) & (3), that is,
"delete"
events are inserted before the "create" events and removed the timer
attribute which is obviously the same logic. It performs lightning fast in
this case... (all remaining activations are fired within 5
seconds). However, insertinging my "delete" events before the
"create"
events is ok for testing but not feasible in practice.
>>
>> It would be great if some of you has an idea or point to start within
the code.
>>
>> Thanks in advance,
>>
>> Philipp
>>
>> _______________________________________________
>> rules-users mailing list
>> rules-users(a)lists.jboss.org
>>
https://lists.jboss.org/mailman/listinfo/rules-users
>>
>
>
> _______________________________________________
> rules-users mailing list
> rules-users(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/rules-users
>
--
--------------------------------------------
Philipp Herzig, M.Sc.
Mail: pherzig(a)googlemail.com
Cell: 0178 - 6156244
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users