A session type defines a group of configuration settings for session attributes. Multiple session types can be defined in this section with different configuration settings for each session type. Symphony also defines a system default session type with the name "". You can add or update (or remove) a session type to an existing application dynamically using PMC.
The Type element defines a session type, which is a group of configuration settings for session attributes.
Session type name is an identifier for the group of configuration settings. A client application specifies the session type name when creating a session. When a session is created, the configuration settings for the specified session type are applied to that session.
The session type is optional. If you leave this parameter blank " " or do not set a session type, system default values are used for session attributes. If you specify a session type in the client application, you must also configure the session type in the application profile—the session type name in your application profile and session type you specify in the client must match. If you use an incorrect session type in the client and the specified session type cannot be found in the application profile, an exception is thrown to the client.
Name of service that is used to execute the workload for the sessions in this session type. This is any name that you assign to the service to link the session type to the service definition. The name you enter here must match the name entered in the <Service> section.
Specify a service name only when multiple services are defined in the application profile and when you want to assign the session type a different service than the default service. In the client application you can use the appropriate API to override the service that is used to execute the workload for the session that you are creating. Refer to the API Reference for more details.
Specifies the session priority, where 1 is the lowest priority and 10000 is the highest priority. If there are multiple open sessions, the session priority affects how resources are distributed across sessions.
Minimum number of CPU slots required for each open session of this type. The minServices attribute is applicable only when the R_MinimumServices scheduling policy is used.
Specifies the number of times the session manager retries to bind the service to a session if the service fails in the SessionEnter or SessionUpdate API method. After the session experiences the specified number of retries, the session is aborted.
The retry count for both of these methods are considered together. For example, if SessionEnter fails once and SessionUpdate fails twice, then the session rerun count is equal to 3. Therefore the SessionRetryCount should be set to a value that accounts for both SessionEnter and SessionUpdate failures.
You can specify what events you want Symphony to consider as bind failures by configuring attributes in the Service > Control > Method section for your service.
Specifies the number of attempts to retry a task in the session if the task does not complete successfully. After a task has reached this number of retries and still does not complete successfully, the task is put into the Error state.
Number of milliseconds to allow a task to continue running after a session of the task is suspended by a user.
Number of milliseconds to allow the running service method to complete and to allow the service instance to clean up after the resource on which the service instance is running is reclaimed.
For clean up, Symphony will initiate the onSessionLeave() method and the onDestroyService() (if applicable) after the current running service method completes.
If a task is running and the Invoke method completes during the task grace period, the result of that method is treated as it would be treated under normal circumstances.
If a task is running and the Invoke method does not complete before the task grace period expires, the service instance on which the task is running is terminated and the task is requeued.
suspendGracePeriod - If suspendGracePeriod is defined in the application profile, it overrides the value for taskGracePeriod for the suspend scenario.
reclaimGracePeriod - If reclaimGracePeriod is defined in the application profile, it overrides the value for taskGracePeriod for the reclaim scenario.
Number of milliseconds to allow the current running service method to complete and the service instance to clean up when the resource on which the service instance is running is reclaimed. If the service method and cleanup does not complete within the set time, then Symphony will terminate the instance. If the timeout has not expired, Symphony will initiate cleanup after the current running service method completes.
When this reclaimGracePeriod < EGO Consumer reclaim grace period, the reclaimGracePeriod takes effect.
When this reclaimGracePeriod >= EGO Consumer reclaim grace period, the EGO Consumer reclaim grace period takes effect.
If the Invoke method was running and completes during the applied reclaim grace period, the result of that method is treated as it would be treated under normal circumstances.
If the Invoke method was running and does not complete before the applied reclaim grace period expires, the service instance on which the task is running is terminated and the task is requeued.
Number of milliseconds to allow a task to continue running after the session for the task is suspended by a user.
A task is considered to be running on a service instance when that service instance is executing its Invoke method for that particular task.
If the Invoke method completes during the suspend grace period, the result of that method is treated as it would be treated under normal circumstances.
If the Invoke method does not complete before the suspend grace period expires, the service instance on which the task is running is terminated and the task is requeued.
Number of milliseconds to allow a running task to finish executing when the corresponding session has been aborted by the system or a user, or a task is killed by a user. When a session is aborted, the running tasks of the session are canceled, and the service instance manager will not return any task output from the service instance to the session manager even if the task completes before the taskCleanupPeriod expires.
Specifies whether to retain no task history, all task history, or only task history for error tasks. Session history must also be retained for task history to be retained.
Specifies whether the system discards task output for the session when output has been retrieved by the client.
A list of resource groups from which the session can use resources. Tasks from a session can only run on resources that belong to one of the resource groups listed in the filter. The value of resourceGroupFilter must match or be a subset of the resourceGroupName specified in the Consumer section of the application profile.
Preemption rank is only used with proportional or minimum services scheduling policy. It indicates the relative importance of a session during the resource reclaim process. Preemption rank is ignored if the priority scheduling policy is in use; in this case, session priority determines the reclaim order.
When the system needs to reclaim a resource, preemption rank is used to determine the relative importance of different sessions, so the system can reclaim a resource from the least important session.
By default, sessions are assigned the lowest rank, 1.
To help protect more important sessions from having a resource reclaimed, assign a higher rank to those sessions only. In a case where child tasks cannot complete after the parent is interrupted, it is a good idea to let the child tasks have a lower session rank, and assign a higher rank to the parent task.
Determines whether common data optimization for multi-slot hosts is enabled. When enabled, common data optimization results in the SSM sending only one copy of common data and common data updates to a multi-slot host allocated to the session. The common data and common data updates are shared by all SIMs serving the session on the same host.