I've not looked in detail but from my understanding option #2 would be fine. If my understanding is correct then the following happens on the machine:
So if you go with option #2 then the scheduler should just do its thing on one box only. As far as I am aware jobs are scheduled at a database level and never for a particular machine.
Ps if you want to dig into things further then you can find scheduled jobs information in the [tblScheduledItem] table
I was under the impression that disabling the Windows service EPiServer Scheduler Service on one of the servers would do the trick (#1). Haven't dug in deep though but haven't noticed any contradiction in three environments using this method.
Edit: Added that I was referring to #1
We have two load-balanced servers. We want scheduled jobs to run on one of them only.
I know you can change the episerver.config file and set "enabledScheduler" to false, but this screws up our build process. Right now, we deploy the exact same code to both machines, and we want to keep it like that.
If we disable the EPiServer Scheduler Service on one of the machines, this could do one of two things.
Obviously, #1 is what we're looking for. But we haven't tried it because we fear #2.
So, what will happen if we disable this server on one of the machines. Will we get the result we want?