Ok, your case seems clearly a case where you need either a StatefulSession or your application needs to send previous readings to drools.
   If you are using a StatefulSession AND you always use the same SystemInfo object (just use update on it), you could use "duration" on your rule:

rule "Start_New_Process_If_System_is_70%_Idle_Continuously_for_60_Seconds"
   duration 60000
when
    SystemInfo (idle >= 70)  //Idle continuously for 60 seconds
then
    // start new process
end

   Using StatelessSession, you must have an update rule for your object

rule "System_is_70%_Idle"
    salience 10
when
    $si : SystemInfo (idle >= 70) 
then
    $si.setIdleCounter( $si.getIdleCounter() + 1 );
end

rule "Start_New_Process_If_System_is_70%_Idle_Continuously_for_60_Seconds"
when
    SystemInfo( idleCounter >= 12) 
then
    // start new process
end

   []s
   Edson

2008/8/19 ganesh.p <ganesh_patkar@hotmail.com>

I need to create a rule with following requirements:

There is a fact class called SystemInfo which contains idle information of a
sytem

public class SystemInfo {
       private double idle; //System idle percentage

       public void setIdle(double idle) {
               this.idle = idle;
       }

       public double getIdle() {
               return this.idle;
       }
}


The SystemInfo objects are continuously sent to DROOLS (StatelessSession)
with 5 second delay.

I need to create a rule


rule "Start_New_Process_If_System_is_70%_Idle_Continuously_for_60_Seconds"

when SystemInfo (idle >= 70)  //Idle continuously for 60 seconds
then
 // start new process

end


I need to fire this rule only if all the 12 SystemInfo objects which are
sent with 5 seconds delay for 60 seconds, match the condition "idle >= 70".
Even if a single SystemInfo doesn't match this condition then this rule
shouldn't be fired.

I am using DROOLS 4.0. Please help me in implementing the WHEN condition.

Thanks
-Ganesh
--
View this message in context: http://www.nabble.com/Fire-rule-only-when-all-the-fact-objects-sent-during-a-specific-period-match-the-WHEN-part-tp19029247p19029247.html
Sent from the drools - user mailing list archive at Nabble.com.

_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users



--
Edson Tirelli
JBoss Drools Core Development
JBoss, a division of Red Hat @ www.jboss.com