On 07/06/2012, Mark Proctor <[email protected]> wrote: > On 06/06/2012 18:39, Vincent LEGENDRE wrote: >> try with a negative number ? > I would ommit the number all together. I suspect what 0 does is schedule > with intervals of 0s, thus it fires straight away. > timer(int: 5s)
@myself: I really should RFTM before proposing risky (if working) workarounds. The OP's claim "if the repeat interval is omitted, it uses the initial delay as the repeat interval" is, untrue; DRL timer's definition is in line with all similar APIs and definitions, i.e., when the repeat interval is omitted, then it's a one shot timer. @Paul: As I wrote in a previous mail - there's got to be another effect that causes the repetitions. Note that a live timer is connected to an *activation*, which isn't the same as being connected to a *rule*: 1 rule - n activations - n timers - x firings. -W > > Mark >> >> ----- Original Message ----- >> From: "Paul R."<[email protected]> >> To: "Rules Users List"<[email protected]> >> Sent: Mercredi 6 Juin 2012 19:26:22 >> Subject: Re: [rules-users] Initial rule delay >> >> >> Thanks Wolfgang, but setting the repeat-interval to 0 seems to have the >> same effect as omitting the repeat-interval [Tested in 5.1& 5.4]. >> >> >> Thanks Vincent, this seems to work. However I was hoping for a simpler >> solution :) >> >> >> - Paul >> >> On Wed, Jun 6, 2012 at 5:06 PM, Vincent LEGENDRE< >> [email protected]> wrote: >> >> >> Yes of course ... >> Simpler this way ... >> >> >> ----- Original Message ----- >> From: "Wolfgang Laun"< [email protected]> >> To: "Rules Users List"< [email protected]> >> >> >> Sent: Mercredi 6 Juin 2012 18:02:40 >> Subject: Re: [rules-users] Initial rule delay >> >> Try: >> timer( int:<initial> 0 ) >> -W >> >> On 06/06/2012, Paul R.< [email protected]> wrote: >>> Hi, >>> >>> I'm looking for a way to delay a rules initial execution? In the >>> following >>> example, I would like to prevent the rule from firing when the first >>> "Foo" >>> event is inserted into the working memory. >>> >>> rule "DelayTest" when $n : Number() from accumulate( $f : Foo() over >>> window:time(10s) count($f) ) then // bla end >>> >>> The timer attribute seems to almost support what I'm looking for, i.e. >>> it >>> allows for an initial-delay to be specified; but if the repeat interval >>> is >>> omitted, it uses the initial delay as the repeat interval. >>> >>> timer ( int:<initial delay> <repeat interval>? ) >>> >>> In my case I would like to block the execution of the rule for an >>> "initial-delay" period, but after that time has elapsed the rule should >>> fire when every time a new "Foo" event is inserted into the working >>> memory. >>> What is the recommended way to do this? >>> >>> Thanks& Regards, >>> >>> Paul >>> >> _______________________________________________ >> rules-users mailing list >> [email protected] >> https://lists.jboss.org/mailman/listinfo/rules-users >> _______________________________________________ >> rules-users mailing list >> [email protected] >> https://lists.jboss.org/mailman/listinfo/rules-users >> >> >> _______________________________________________ >> rules-users mailing list >> [email protected] >> https://lists.jboss.org/mailman/listinfo/rules-users >> _______________________________________________ >> rules-users mailing list >> [email protected] >> https://lists.jboss.org/mailman/listinfo/rules-users > > _______________________________________________ > rules-users mailing list > [email protected] > https://lists.jboss.org/mailman/listinfo/rules-users > _______________________________________________ rules-users mailing list [email protected] https://lists.jboss.org/mailman/listinfo/rules-users
