Before NAV 2017 we had Job Queue table and in the job queue table it was possible to specify that some tasks must be running on a specific NAV service.
This was quite helpful feature e.g. in the following situations:
- Background printing - it was sufficient to configure printers only on one machine and pass the printing jobs via that machine
- Different user accessing SQL - if different NAV services had different service users, it was immediately visible in the SQL statements which service owned which request.
- Different permissions - it was possible to give different services different system permissions via its Service Account.
With Task Scheduler it seems we are missing the option of forcing specific host and/or service to take care about the scheduled task.
Could anybody please suggest if there is any workaround in which we could force certain tasks to run on specific services?
I am aware only about the following which I do not particularly like:
- Fire from Scheduled Task that task on a specific service using Web Services. But then the impersonation would not work ...
- Use Old Job Queue instead of Task Scheduler.
Any suggestions on how to force specific service instance using Task Scheduler?
Also if you have some in-depth technical explanations on how NAV 2017 task scheduler works with multiple services are welcome. At the moment I take it so that the service to process the scheduled task is chosen somehow behind the scenes. But how that somehow works is less clear to me ...