Configuring the Factory service : Configuring the Factory service for general use : Configuring the Factory service for synchronous jobs
 
Configuring the Factory service for synchronous jobs
A user best practice is to use a schedule to generate large documents, but not necessarily short ones. The administrator can configure synchronous job settings to prevent problems that can occur when users generate large documents unscheduled. The Factory generates unscheduled documents synchronously. A synchronous job is the Factory process that generates a temporary document.
Configuring the maximum run time
Max synchronous job runtime limits the time a Factory can take to generate a document. Such a limit can prevent the generation of a huge unscheduled document from dominating Factory resources and degrading the response time of iHub. If an organization has mostly short documents, decreasing the value of the maximum execution time for on‑demand execution requests can improve performance. If an organization has a high ratio of system resources to users, increasing the value of the maximum execution time for on‑demand execution requests permits users to generate large, unscheduled documents.
Setting the value of Maximum execution time for on demand execution requests too high can delay generation of small, unscheduled documents, which can cause requests to back up in the queue and time out, and users to experience delays. Setting the value to 0 prevents the generation of any unscheduled documents.
Configuring the queue size
Each synchronous resource group has a job queue. When Factories are busy, a request for a Factory service to generate a document waits in the queue. The administrator sets the number of requests that the queue can hold using Job queue size for synchronous reports.
If a user receives a message that the synchronous job queue is full, consider increasing the queue size or resources, such as CPU power. Setting the size of the queue too large can cause the accumulation of too many requests in the queue. A request can time out in the queue.
Configuring the queue time-out
Job queue time-out for transient reports is the period of time, in seconds, that a request for an unscheduled document remains in the queue. Requests wait in the queue for 600 seconds, or 10 minutes, by default, then the request times out and fails. The user who requested the document receives a message that the job expired in the queue. The administrator can change the queue time-out by setting Job queue time‑out for transient reports.
How to configure the Factory service for synchronous jobs
1 In Server Configuration Templates—Settings, expand Factory Service. Expand On Demand Report Execution Management, and choose On Demand Execution Queue, as shown in Figure 7‑3.
2 In Maximum execution time for on demand execution requests, accept the default, 300 seconds, or 5 minutes, as shown in Figure 7‑5. Alternatively, type the maximum number of seconds a Factory can spend per document.
Figure 7‑5 Configuring Max synchronous job runtime
3 In Job queue size for synchronous reports, accept the default, 100. Alternatively, type a value greater than 0 to increase or decrease the queue size. A value of 0 causes requests for documents to fail when a Factory is not available to generate the document.
4 In Job queue timeout for transient reports, accept the default, 600. Alternatively, type a value greater than 0 to increase or decrease the wait time. A value of 0 rejects requests to run a document unless a Factory is available immediately.
Table 7‑2 lists the property names that appear in Configuration Console with the corresponding parameter names in acmetadescription.xml, indicating default settings, ranges, and when a property change takes effect.
Table 7‑2 Synchronous document execution parameters 
Property name
Parameter name
Default
Range
Takes effect
Maximum execution time for on demand execution requests
MaxSyncJobRuntime
300 Seconds
0 ‑ 86400
Immediate
Job queue size for synchronous reports
SyncJobQueueSize
100
0 ‑ 99999
Immediate
Job queue timeout for transient reports
SyncJobQueueWait
600 Seconds
0 ‑ 999
Immediate
Configuring the message distribution weight of a node
By setting the Message Distribution Weight property, the administrator can assign priority to nodes for synchronous Factory service. By default, the number of Factories, compared to other nodes in the cluster, determines the weight of a node. The number of Factories in a node usually reflects the number of processors. The administrator can change the default weight of a node to take other factors, such as CPU speed, into consideration. The administrator can also change the weights of nodes if the synchronous Factories of a node are too idle or too busy.
The message distribution weight of a node is relative to the message distribution weights of other nodes. A node having a lower weight than other nodes receives fewer requests for unscheduled documents than the others. The message distribution weight of a node applies to all synchronous resource groups defined for the node.
How to set the Message Distribution Weight property
1 In Server Configuration Templates—Settings, expand Factory Service, then choose Message Distribution Weight, as shown in Figure 7‑3.
2 In Weight of this server for load balancing on demand execution requests, as shown in Figure 7‑6, accept the default, 100. Alternatively, type a value relative to the weights of other nodes in the cluster. Type a multiple of 100 to increase the weight of a node. Type a value below 100 to decrease the weight of a node.
Figure 7‑6 Setting the Message Distribution Weight property
Choose OK.
Table 7‑3 lists the property name that appears in Configuration Console with the corresponding parameter name in acmetadescription.xml, indicating the default setting and when a property change takes effect.
Table 7‑3 Message distribution weight parameter 
Property name
Parameter name
Default
Takes effect
Weight of this server for load balancing on demand execution requests
SynchReportingWeight
100
Immediate