Timers executing in a Farm

Timers executing in a Farm

  
Hi,

We have two outsystems servers set up in a farm with an F5 doing the load balancing. How does Outsystems decide what server to kick the timer off on? I cant tell for sure but it seems to be random.

Nick
Hi Nick,

Yes, any of the available frontends with timers enabled in the zone were the module is published will pick it up.
What is your consern regarding it?


Regards,
João Rosado
Hi João,

Thanks for the quick reply.

We have a timer that uses a queue locally on the machine. When there's two servers it's not guaranteed which one will run the timer so we needed to come up with a workaround. I wasn't sure what the underlying mechanics of timers in a farm were.

My options as I see them are: 
1) rework the queue component to use a public queue on a central server rather than a local private queue or
2) disable the scheduler service on one of the farm servers. I'm not sure what the implications of that are though.

Regards,
Nick
Hi Nick,

Well, it's not easy to make the timer run in both frontends deterministically, but it is simple to make them run in only one of them. (from your explanation I'm not sure if having the queue in a specific frontend is an option or not)

If that is an option, you can set a Zone with just just frontend and move the module with the timer to that Zone.
That way the timer runs deterministically in a single frontend.

You can check this post and this technote for more information about Zones / Selective Deployments.

Regards,
João Rosado
Thanks! I'll look into zones and see if that'll solve our issues.

If I understand them correctly, you're saying that we can put one of our two servers into a zone and then set that zone to run the timer set the other to not? That should be perfect then.
Yes, that is mostly it.
Just that what you move to Zone is the Module / eSpace (not just a specific timer). So If that module also has Screens that need to be accessible in both frontends you will need to break them into a separate module.

Regards,
João Rosado