Report execution can be balanced across servers to improve performance. As one execution is being processed subsequent report execution calls will be sent to different servers. For each new job, Exago will prioritize the server with the lowest load (according to CPU and memory load) and ratio of running jobs to max jobs allowed. The number of jobs on a server will not exceed the value specified by the Scheduler Service's
The following instructions provide an overview for setting up report execution on remote servers:
On each remote execution server:
- Install the Scheduler Service. For detailed instructions see: Scheduler Service Installation.
- The following conditions must be met:
- The Scheduler Service version must match the Web Application version.
- The Scheduler’s language files and the Exago Application’s language files must match.
- Any custom assemblies must be present in the Scheduler Service's
- Configure the Scheduler Service. For detailed instructions see: Configuring Scheduler Services. By default the execution host will pass the reports back to the Exago Application. In order to save reports to an external repository, see: Saving Scheduled Reports to External Repository.
Multiple Scheduler Services can point to the same repository.
In the Admin Console:
- Set General > Scheduler Settings > Enable Report Scheduling to True.
- Set General > Scheduler Settings > Enable Remote Report Execution to True.
- Set General > Scheduler Settings > Remote Execution Remoting Host to a comma or semicolon-separated list of the Scheduler Services. e.g. http://MyHttpServer1:2001, tcp://MyTcpServer:2121. The servers will be prioritized based on the listed order.
When a Scheduler Service is used for both scheduling and remote execution, Exago will place immediate priority on Remote Execution tasks.