Job queues are used for prioritizing and grouping batch jobs that are waiting to be executed by GoAnywhere. By defining multiple Job Queues in the system, each queue can be used to execute Jobs that share common characteristics or service level agreements (SLAs). For example, you can create a Job Queue to run Jobs for a certain application or customer which may have a higher priority than other jobs. You could also create a single-threaded Job Queue for Jobs that need to run in sequential order. In a clustered environment, you can create a Job Queue to only execute Jobs on a specific GoAnywhere system.
Projects can be submitted to a Job Queue through several methods. You can specify a Job Queue on the Project's Control Tab, from the Job Scheduler, Execute Remote Project, or the RunProject command in GoAnywhere Command. When no Job Queue is specified, the Project will be executed in the Default Job Queue.
Each Job Queue can have a Priority to indicate the order in which the queue will be considered for job execution. The Job Queue priority will be a value from 1 to 10, in which Job Queues in a higher queue priority will be executed before Job Queues with a lower queue priority. For instance, a Job Queue with a queue priority of 6 will execute jobs before a Job Queue with a queue priority of 5. Jobs within a Job Queue that have the same queue priority will be processed on a first in/first out basis.
You can specify the number of Jobs which can be executed at one time within each Job Queue. The Max Active Jobs setting is limited to the maximum concurrent batch jobs specified in the Global Settings of GoAnywhere.
We took a different approach to this. We have several batches configured. For each batch run, we created a project folder. In that folder is all the projects in the batch, along with a "control" project. The control project is submitted by the scheduler. It then runs every project in the batch folder one at a time. It does this by using the Call Project task, with options Run in Same Project = False, Mode = Interactive, and On Error = Continue. The projects in a batch don't have be in one folder, but we decided this would reduce confusion, and make it easier to tell what projects are in which batch. This method has a number of advantages. It reduces the number of jobs in the scheduler. It's easier to rerun the batch, you just submit the control project. The control project can pass parameters to the called project. You can create modules in the control project to execute on certain days and dates of the month. Want the job to only run on Mondays? Place it the Monday module. Works great for us.