Configure session timeout
In the following guide, you come across the following terms:
- Assignment processing time: the time within which a Manual Task (or assignment) is not available for other workers. When the period ends, the assignment progress is lost if the user hasn't saved the results.
- New processing period: the time (in minutes) you want to set as the new processing period for assignments.
- Session idle period: SSO Session Idle in the WorkFusion user management system (Keycloak), the time (in minutes) before a user session expires automatically if they do not interact with the application. A session can be idle before its time expires. Tokens and browser sessions are invalidated when a session is expired.
Problem
As soon as the processing period of a Manual Task finishes, all task progress is lost, and the assignment becomes available to other workers. Some assignments can be complicated enough so that workers can't complete them within the default timeframe. In this case, you can increase Manual Task processing time.
In WorkSpace, to check the time remaining for the MT processing, see the upper-right corner of the assignment panel.

Explanation
The WorkSpace application uses two sessions:
Keycloack, which is configured in the Keycloak administrator's console with the SSO Session Idle parameter. The value must be greater than New processing period.
WorkSpace, which is configured in ZooKeeper with the
ws.assignment.max-lock-timeandserver.servlet.session.timeoutproperties.
The default values for these properties are the following:
- SSO Session Idle: 40m
ws.assignment.max-lock-time: 35m
To avoid problems when processing assignments, use the defaults. If you want to change the values, follow the rule: SSO Session Idle > ws.assignment.max-lock-time.
Otherwise, if you are working on a Manual Task longer than the session timeout, you can't submit the processed assignment and lose your changes.
Solution
To change the assignment processing time, perform the following steps.
Step 1. Configure session in Keycloak
important
Perform the following steps only if you want to increase the processing time. For reducing the timeframe, you can skip Step 1 and go to Step 2.
First, you need to ensure that the Keycloak's SSO Session Idle value is greater than New processing period. Thus the user's session is not lost before New processing period expires.
To verify the SSO Session Idle parameter, act as follows:
Open Keycloak.
In the left upper corner, in the realms drop-down box, select WorkfusionRealm.
Go to the Realm settings section.
Open the Tokens tab.
In the SSO session idle box, change the value to make it greater than the projected New processing period.
Remember to set the period in minutes. The unit of measurement is displayed to the right of the numeric value in the SSO session idle box.
Click Save.

Step 2. Update processing period in Zookeeper
To change the processing period, you have to configure the properties loaded by WorkSpace on startup.
Change application properties
You can change application properties via the Zookeeper service.
For the detailed guide on connecting to and working with ZooKeeper via ZooNavigator, see Set properties in ZooKeeper.
Log in to ZooNavigator. In the
/config/workspacefolder (or node), find WorkSpace properties. To find the folder, in the Search bar, type /config/workspace and press Enter.
On the left bar, you can see all WorkSpace properties synchronized with ZooKeeper. You need the items associated with the assignment processing time:
ws.assignment.max-lock-time: assignment processing maximum time. The default value is 30 m.server.servlet.session.timeout: user session timeout in minutes in WorkSpace. The default value is 35 m.
If there are no such properties, create nodes for them:
In the top toolbar, click the Create node icon (it looks like a folder with the plus sign).
In the Enter new path box, type /config/workspace/ followed by the required property name. For example, /config/workspace/ws.assignment.max-lock-time.

Click the Create button to sync the new property with ZooKeeper.
Repeat Steps 1-3 for the other property.

On the left bar, click the
ws.assignment.max-lock-timenode, and set the new New processing period, for example, 60 m.Click Save.

Click the
server.servlet.session.timeoutnode, and set New processing period to the same value as in Step 2 plus 5 m.Click Save.

Note, the
server.servlet.session.timeoutvalue must be greater thanws.assignment.max-lock-timefor at least 5 minutes. For example:- ws.assignment.max-lock-time=NEW_PROCESSING_PERIOD m
- server.servlet.session.timeout=(NEW_PROCESSING_PERIOD + 5) m
You have successfully updated the properties' values.
Restart WorkSpace
To sync the updated properties with WorkSpace, restart the application:
- On the Master server, connect to the server's terminal via SSH.
- In the terminal, execute the command
wfmanager restart workspace. - Wait until the command execution finishes.

Check
To check that the assignment processing time is changed, follow the steps below:
- In your browser, open the WorkSpace web application.
- Click any assignment.
- In the right-upper corner, you can see the new processing time.