[rules-users] Initial rule delay

Wolfgang Laun wolfgang.laun at gmail.com
Thu Jun 7 02:41:54 EDT 2012


On 07/06/2012, Mark Proctor <mproctor at codehaus.org> 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."<reverselogic at gmail.com>
>> To: "Rules Users List"<rules-users at lists.jboss.org>
>> 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<
>> vincent.legendre at eurodecision.com>  wrote:
>>
>>
>> Yes of course ...
>> Simpler this way ...
>>
>>
>> ----- Original Message -----
>> From: "Wolfgang Laun"<  wolfgang.laun at gmail.com>
>> To: "Rules Users List"<  rules-users at lists.jboss.org>
>>
>>
>> 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.<  reverselogic at gmail.com>  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
>> rules-users at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-users
>> _______________________________________________
>> rules-users mailing list
>> rules-users at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-users
>>
>>
>> _______________________________________________
>> rules-users mailing list
>> rules-users at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-users
>> _______________________________________________
>> rules-users mailing list
>> rules-users at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-users
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>


More information about the rules-users mailing list