Does anyone know a way to run an EPiServer scheduled job on a specific version, while keeping other jobs running on all servers?
The project that I'm working on is using EPiServer 6.1.379 and it has 2 publically available web servers and 1 internal web server.
They want the sitemap job to run on the 2 public web servers, while another feed job (which is consuming a considereable amount of resources) to run on ther internal web server.
* on a specific server
Our main concern is to make the feed job run only on the internal server.
Khurram offers a suggestion on how to run a scheduled job on a specific server - http://world.episerver.com/blogs/K-Khan-/Dates/2014/10/episerver-schedule-jobs-episerver-7.5-faqs/
I already saw that thread, but it doesn't help me much since it involves setting the enableScheduler config to false on the public web servers, which will disable the sitemap job.
We want to enable the export feed job only on the internal server, while keeping the sitemap job running on the public web servers.
Why does the sitemap task need to run on the public facing web servers? Given that EPiServer scheduled tasks only run on a single server each time they're executed, it shouldn't cause problems to run all of your tasks on the internal server.
As far as I'm aware, there's no way to choose which server(s) an individual scheduled job is allowed to run on. If you need that kind of control then perhaps look at separating out the code from the feed job into a command line app and using windows task scheduler on the relevant server.
I guess that you need to have the sitemap job running on the public servers, in order to update the sitemap files on those servers.
I also thought about using the Windows Task Scheduler, but I was wondering whether there is any support from EPiServer for running a job on a specific server. It's most likely that we're going to use this approach after all.
afaik, if you share the database, a job will execute on one server, then be marked as IsRunning/have it's next execute time changed. This means the other servers will ignore that job. So a job will only be executed on one server.
We usually use one server for the scheduled jobs and then sync files that needs to exists on the other servervs.
Thank you for the suggestion. This sounds good.