Have a look at the "call" doc:

https://www.rsyslog.com/doc/master/rainerscript/rainerscript_call.html

I think it explains your question.

Note, however, that thread-safeness is different from [a]sync
processing. There are some inherent races when non-direct queues are
involved. But from context I think this was not your question.

HTH
Rainer

El dom, 10 jul 2022 a las 14:35, rajeshksv via rsyslog
(<rsyslog@lists.adiscon.com>) escribió:
>
> Sorry, sent incomplete mail last time (bad key combination)
>
> This is what we are trying to do
>
> *Old Code. All code is written inside main-ruleset*
>
> ruleset(name="main-ruleset") {
>       // Capability 1 code
>       // Capability 2 code
>       // Capability 3 code
>       // Capability 4 code
>       // Long long code
> }
>
> *New Code. Extracted them into different rulesets (direct queue)*
>
> ruleset(name="main-ruleset") {
>       call Capability1
>       call Capability2
>       call Capability3
>       call Capability4
>       // Still sequential operation but modular code.
> }
>
> ruleset(name="Capability1"){
> }
> ruleset(name="Capability2"){
> }
> ruleset(name="Capability3"){
> }
> ruleset(name="Capability4"){
> }
>
> Hope this doesn't cause any race conditions/performance issues. *The main Q
> is - Can we use rulesets (backed by DIRECT queue) analogous to functions or
> are there any implications ? *
>
> PS: We aren't adding queue.type="Direct" on the ruleset as it had some
> issues in old versions. We are defining the ruleset w/o queue.type.
>
>
> On Sun, Jul 10, 2022 at 5:56 PM rajeshksv <rajeshks...@gmail.com> wrote:
>
> > We are trying to re-organize our long long rainer script into modules so
> > that its more readable. As part of that, wondering if rulesets (backed by
> > direct queues) are synchronous and thread safe
> >
> > Ex:
> > Old Code
> > ruleset(name="main-ruleset" queue.type="Direct" queue.timeoutenqueue="0" )
> > {
> >       // Capability 1 code
> >
> > }
> >
> > New Code
> >
> > To be clear, we aren't mixing rsyslog with asynchronous queues and direct
> > queues. We are only using direct queues as analogous to functions.
> >
> > --
> > Regards,
> > Rajesh KSV
> >
>
>
> --
> Regards,
> Rajesh KSV
> _______________________________________________
> rsyslog mailing list
> https://lists.adiscon.net/mailman/listinfo/rsyslog
> http://www.rsyslog.com/professional-services/
> What's up with rsyslog? Follow https://twitter.com/rgerhards
> NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of 
> sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T 
> LIKE THAT.
_______________________________________________
rsyslog mailing list
https://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com/professional-services/
What's up with rsyslog? Follow https://twitter.com/rgerhards
NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of 
sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE 
THAT.

Reply via email to