Salesforce

WorldServer: About the workflow daemon project and project group queue frequency (general.properties file) and the sleeptime value in the Sdl.WorldServer.FileTypeSupport.Server.HostProcess.exe.config

« Go Back

Information

 
TitleWorldServer: About the workflow daemon project and project group queue frequency (general.properties file) and the sleeptime value in the Sdl.WorldServer.FileTypeSupport.Server.HostProcess.exe.config
URL Name000009095
SummaryThe workflow_daemon_project_queue_frequency and the workflow_daemon_projectgroup_queue_frequency can be be increased from the default value of 1 to 2 to 20 when the Workflow Engine contains hundreds or even thousands of jobs waiting to be processed. This article provides more details.
Scope/EnvironmentSDL WorldServer
Question
Under which scenario would I change the pulling frequency represented by these values in general.properties:
 
# How often workflow daemons should check the project scope queue in the database.
# The value specified here is the number of daemon work cycles.
# Default is 1, which means the project queue will be checked every daemon
# cycle. If the value is 2, the queue will be checked every other daemon cycle, etc.
# A daemon work cycle occurs every {workflow_daemon_sleep_time} seconds.
#
# workflow_daemon_project_queue_frequency=1

# How often workflow daemons should check the project-group scope queue in the database.
# The value specified here is the number of daemon work cycles.
# Default is 1, which means the project-group queue will be checked every daemon
# cycle. If the value is 2, the queue will be checked every other daemon cycle, etc.
# A daemon work cycle occurs every {workflow_daemon_sleep_time} seconds.
#
# workflow_daemon_projectgroup_queue_frequency=1
and this value in Sdl.WorldServer.FileTypeSupport.Server.HostProcess.exe.config
 
<!-- Default engine sleeping time between cycles, in seconds.
         If there is no work to do, the engine will go to sleep for the
         length of time configured here.
     -->
    <add key="SleepTime" value="1"/>
Answer
The workflow_daemon_project_queue_frequency and the workflow_daemon_projectgroup_queue_frequency can be be increased from the default value of 1 to 2 to 20 when the Workflow Engine contains hundreds or even thousands of jobs waiting to be processed. Since the vast majority of the jobs are task-based, increasing the pulling interval frequency of the project or project group Automatic Action job will have no significance impact on the total time by when the tasks in such steps will be completed, but it will have a great impact on the Workflow Engine Quue and the ability to complete jobs quickly.

Moreover, increasing this frequency will allow increasing the number of Workflow Engines, which will also address performance issue on large volume of Tasks being processed.

On the FTS side, increasing the SleepTime from 1 to a higher value will address issues where the Filter Engine Queue might be very full and long independently from the Workflow Engine Queue. However, this scenario is rather unlikely so such a change should be avoided unless necessary. It should be first be determined if a situation of long queue in the Fiter Engine Queue is not related to large files blocking the queue or is actually dependent on the Workflow Engine Queue hanging.

If the conditions above apply to your environment, as an example, the values in general.properties could be changed to

workflow_daemon_project_queue_frequency=30
workflow_daemon_projectgroup_queue_frequency=30


and in Sdl.WorldServer.FileTypeSupport.Server.HostProcess.exe.config, change the value from 1 to 30 as follows
 
    <add key="SleepTime" value="30"/>



See also:

WorldServer: Environment is unresponsive all projects are stuck with no progress. The workflow engine queue is far behind such that many requests are in the queue for hours in the In Queue state
Reference
Attachment 1 
Attachment 2 
Attachment 3 
Attachment 4 
Attachment 5 

Powered by