We will be running our application in an on-site multi-node environment. This means that we will have one database and multiple application servers, that will handle requests distrubuted by a load balancer. How should we best setup our scheduled events in this case? I do not like configuring specific scheduled events on specific nodes, as this means that when this specific node is down the scheduled events on it will not run. What we could do is implement run-time configuration for which event runs on which node, but that would mean that when a node is down an admin would have to manually reconfigure the events that should run on it to run on another node. Idealy a mechanism should be in place that makes sure that scheduled events are automatically picked up by any one available node. This seems like something you would not want to implement yourself, as you're bound to run into events firing at the same time on two nodes, deadlocks, events not running at all, etc. How has this problem been tackled on other multi-node environments? Is anyone able to provide any advice on this?
Have you had a look at the Microflow Scheduler module from the App Store? Perhaps this could be adapted to schedule microflows for a particular server node, and to switch to anothyer node if it hasn't been run when expected. I haven't tried this, but it seems it will give you more control over what runs and where.