Async asserts are typically used in real-time situations where there is a constant stream of input from multiple threads. An example might be trading application that does transaction routing or an OMS.
In those cases, it should fire activation as it occurs. In JESS, it's called reactive mode. Within a single threaded use case, there's no point doing async assert. that's my bias 2 cents peter On 3/29/06, Geoffrey Wiseman <[EMAIL PROTECTED]> wrote: > > On 3/29/06, Mark Proctor <[EMAIL PROTECTED]> wrote: > > > > There might also be some settings to do with 2 phase commit, in that > > when do we call fireAllRules? Do we call it after every assertion, after > > a set time period, after X facts are asserted - or maybe a combination > > of both? Initially probably esiest to just call fireAllRules on each > > assertion from the Queue. > > > Interesting; perhaps I don't understand the intent. > > Based on the brief description, seems like it's just a way to get facts in > without having to wait for that to happen. I would have thought you'd > simply let the api consumer fire all rules as per usual, but block on > pending assertions, possibly allowing an asynchronous fireAllRules call as > well, with some way to verify when the firing is complete. > > But if you're going to fire all rules with each assertion, or on a time > period or after X facts asserted, you lose more control over the > lifecycle, > which makes me wonder how people would use the asynch assert. > > - Geoffrey > -- > Geoffrey Wiseman > >
