Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AVEVA™ Work Tasks

Behavior of AVEVA Work Tasks Services on Enterprise Server

Behavior of AVEVA Work Tasks Services on Enterprise Server

  • Last UpdatedJun 06, 2024
  • 3 minute read

This section provides information on the activity of AVEVA Work Tasks Services when installed on the Load Balanced Server.

Workflow Engine and client

Whenever a workflow execution is requested by a client, the Advance Server service running on the client machine determines the least used AVEVA Work Tasks Engine machine and routes the request to that machine.

For workflow dehydrating from a sleep state, the execution request is actually sent to the machine where the last execution for that workflow had happened, if that machine is not active in the cluster at that point the event is routed to the least used machine using the Advance server service.

If a machine running a Workflow engine goes down in the cluster, the machine acting as an Authority Server takes over the pending workflows of that machine. Thus the Authority server provides high availability and maintains uninterrupted workflow execution.

Task Scheduler

Task scheduler engine has two main components, one which is responsible for monitoring the task for next possible execution and other being actual execution of these tasks.

Task scheduler service running on acting Authority server is the only instance of task scheduler service which is responsible for fetching tasks. Fetching tasks does not require any load balancing. However, failover is provided whenever the active Authority server goes down in the cluster. Another machine in the cluster takes the role of the Authority server and starts monitoring the task again.

For execution of tasks real load balancing is used, and execution is scheduled on the least used machine. This machine provides active-active load balancing with failover support.

Communication Service

AVEVA Work Tasks Service makes use of communication service settings for the following activities:

Wait for E-mail: The Workflow processes can be designed to be initiated or processed on receipt of email matching specified parameters. The Communication service monitors the specified port and IP for incoming emails that could be used in the Workflows. If default option is selected, email should be forwarded to all the Enterprise servers. Authority server will process the message and other servers will ignore it.

Note: In the Enterprise Server environment, Wait for Email activity can read file from the network shared path or from the Map network drive. To read the files, you must provide the relevant access rights for the Communication Service on network shared path or Map Network drive.

Wait for SMS: The communication service can be setup to monitor incoming SMS.

Note: Device must be connected to the authority server.
Sending SMS: The Workflows can send SMS through a Global System for Mobile communication (GSM) device. The Communication Service uses settings and configuration specified in this screen for sending SMS.

Communication service running as an acting Authority server is the only instance of communication service which is responsible for processing the email and SMS notifications. Failover is provided whenever the active Authority server goes down in the cluster. Another machine in the cluster takes the role of the Authority server and starts  processing the notifications.

If you want to run the Communication Service under the Enterprise Server mode and the services are installed on different paths in the servers, you must do the following modifications at the database level:

  1. Query the Communication Service Configuration property from the database:

    SELECT Properties FROM dbo.SKServiceMapping with (nolock)
    WHERE Name = 'SMTPNotificationEngine2' AND Id = 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'

    Update the properties of the XML returned as shown in the following query, removing the directory path.

    Actual XML:

    <properties><property key="listnerip"><![CDATA[ServerName]]></property><property key="listnerport"><![CDATA[8770]]></property><property key="taskhandlerpath"><![CDATA[C:\Program Files\AVEVA\Work Tasks\Bin\Workflow.NET.EmailReceiver.NET2.dll]]></property><property key="taskhandlerclass"><![CDATA[Workflow.NET.EmailReceiver.CDecisionHandler]]></property><property key="mailserver"><![CDATA[Default]]></property><property key="blockedmailaddresses"><![CDATA[]]></property><property key="smtpserverip"><![CDATA[ServerName]]></property><property key="smtpserverport"><![CDATA[25]]></property><property key="pophost"><![CDATA[ServerName]]></property><property key="popmailport"><![CDATA[110]]></property><property key="popusers"><![CDATA[user1@domain.com|pwd]]></property><property key="provideencryptedpwd"><![CDATA[false]]></property><property key="poptimeinterval"><![CDATA[0.00:00:15]]></property><property key="smsinterval"><![CDATA[0.00:01:00]]></property><property key="smsreciever"><![CDATA[false]]></property><property key="smstaskpath"><![CDATA[C:\Program Files\AVEVA\Work Tasks\Bin\Workflow.NET.SMSReceiver.NET2.dll]]></property><property key="smstaskclass"><![CDATA[Workflow.NET.SMSReceiver.SMSTimeoutTaskHandler]]></property><property key="smsprovider"><![CDATA[GSM|C:\Program Files\AVEVA\Work Tasks\Bin\Workflow.NET.SMS.Messenger.NET2.dll|Workflow.NET.SMS.Messenger.SMSReceiver|]]></property><property key="isPOP3passwordencrypted"><![CDATA[false]]></property></properties>

    Modified XML:

    <properties><property key="listnerip"><![CDATA[ServerName]]></property><property key="listnerport"><![CDATA[8770]]></property><property key="taskhandlerpath"><![CDATA[Workflow.NET.EmailReceiver.NET2.dll]]></property><property key="taskhandlerclass"><![CDATA[Workflow.NET.EmailReceiver.CDecisionHandler]]></property><property key="mailserver"><![CDATA[Default]]></property><property key="blockedmailaddresses"><![CDATA[]]></property><property key="smtpserverip"><![CDATA[ServerName]]></property><property key="smtpserverport"><![CDATA[25]]></property><property key="pophost"><![CDATA[ServerName]]></property><property key="popmailport"><![CDATA[110]]></property><property key="popusers"><![CDATA[user1@domain.com|pwd]]></property><property key="provideencryptedpwd"><![CDATA[false]]></property><property key="poptimeinterval"><![CDATA[0.00:00:15]]></property><property key="smsinterval"><![CDATA[0.00:01:00]]></property><property key="smsreciever"><![CDATA[false]]></property><property key="smstaskpath"><![CDATA[Workflow.NET.SMSReceiver.NET2.dll]]></property><property key="smstaskclass"><![CDATA[Workflow.NET.SMSReceiver.SMSTimeoutTaskHandler]]></property><property key="smsprovider"><![CDATA[GSM| Workflow.NET.SMS.Messenger.NET2.dll|Workflow.NET.SMS.Messenger.SMSReceiver|]]></property><property key="isPOP3passwordencrypted"><![CDATA[false]]></property></properties>

  2. Update the database entry with the modified XML.
    Update dbo.SKServiceMapping
    SET Properties = '<properties><property key="listnerip"><![CDATA[ServerName]]></property><property key="listnerport"><![CDATA[8770]]></property><property key="taskhandlerpath"><![CDATA[Workflow.NET.EmailReceiver.NET2.dll]]></property><property key="taskhandlerclass"><![CDATA[Workflow.NET.EmailReceiver.CDecisionHandler]]></property><property key="mailserver"><![CDATA[Default]]></property><property key="blockedmailaddresses"><![CDATA[]]></property><property key="smtpserverip"><![CDATA[ServerName]]></property><property key="smtpserverport"><![CDATA[25]]></property><property key="pophost"><![CDATA[ServerName]]></property><property key="popmailport"><![CDATA[110]]></property><property key="popusers"><![CDATA[user1@domain.com|pwd]]></property><property key="provideencryptedpwd"><![CDATA[false]]></property><property key="poptimeinterval"><![CDATA[0.00:00:15]]></property><property key="smsinterval"><![CDATA[0.00:01:00]]></property><property key="smsreciever"><![CDATA[false]]></property><property key="smstaskpath"><![CDATA[Workflow.NET.SMSReceiver.NET2.dll]]></property><property key="smstaskclass"><![CDATA[Workflow.NET.SMSReceiver.SMSTimeoutTaskHandler]]></property><property key="smsprovider"><![CDATA[GSM| Workflow.NET.SMS.Messenger.NET2.dll|Workflow.NET.SMS.Messenger.SMSReceiver|]]></property><property key="isPOP3passwordencrypted"><![CDATA[false]]></property></properties>'
    WHERE Name = 'SMTPNotificationEngine2' AND Id = 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'

  3. Restart the Communication service on all the servers.

    Note: It is recommended that the Communication services for all the Enterprise Servers should have similar configuration.

In This Topic
TitleResults for “How to create a CRG?”Also Available in