Allow users to select a specific job-agent when creating a new job
When job agents are used to execute jobs there is limited way to control which job agent a particular job end up on. This can be a problem in a production environment that needs to add a new job agent server. Before the new server is made available to all users an admin may want to check that it is working properly. While it is possible to make the new server only accept jobs from the admin, it is not possible to prevent the other job agents from taking the job.
So, it would be good to make it possible to select which job agent that should handle a specific job. There should also be an 'auto' option that works like today, and possibly an 'internal' option for running the job on the web server unless it has been disabled. As long as the job is in the 'waiting' status it should also be possible to change the job agent.
We should also think about if we want to give the possibility to select a job agent to all users or if this should require a special permissions (eg. like the SHARE_TO_EVERYONE permission).
This ticket involves many components (should maybe be split into separate tickets):
- In the 'core' we must be able to store the selected job agent. I think possibly only as an ID value and NOT as a link since the latter would make it impossible to delete a job agent if a job has been running on it.
- In the 'jobagent' we must change the behavior of job agents so they only pick jobs that has the selected 'auto' option or the specified job agent.
- In the 'web' we must add functionality to the user interface so it is possible to select/change/list job agent.