/
Remote File Monitor Task

Remote File Monitor Task

Overview

The Remote File Monitor task allows you to monitor for a file on a remote machine where an FTP server is running. The Remote File Monitor connects to the FTP server rather than the machine's file system to monitor for files. The Remote File Monitor can be used only within a workflow; you cannot run a Remote File Monitor task based on a trigger. To run a Remote File Monitor task, you need Universal Agent to communicate with the FTP server. The Agent can, but does not have to be, running on the same machine as the FTP server.

In the following example, the user wants to monitor for a file on a remote FTP Server that has an Agent running on it. In this case, the login credentials for the Agent machine and the FTP server machine are the same.
 

 

In the following example, the user wants to monitor for a file on a remote FTP Server that does not have an Agent running on it. In this case, the Remote File Monitor task definition provides an address and login credentials for the machine where the Agent is running as well as address and login credentials for the FTP server.
 

Built-In Variables

The following built-in variables can be used in a Remote File Monitor task to pass data where appropriate:

Creating a Remote File Monitor Task

Step 1

From the Automation Center navigation pane, select Tasks > Remote File Monitor Tasks. The Remote File Monitor Tasks list displays a list of all currently defined Remote File Monitor tasks.
 
To the right of the list, Remote File Monitor Task Details for a new Remote File Monitor task displays.
 

Step 2

Enter/select Details for a new Remote File Monitor task, using the field descriptions below as a guide.

  • Required fields display an asterisk ( * ) after the field name.
  • Default values for fields, if available, display automatically.

To display more of the Details fields on the screen, you can either:

  • Use the scroll bar.
  • Temporarily hide the list above the Details.
  • Click the  button above the list to display a pop-up version of the Details.

Step 3

Click the  button. The task is added to the database, and all buttons and tabs in the Task Details are enabled.

Note

To open an existing record on the list, either:

  • Click a record in the list to display its record Details below the list. (To clear record Details below the list, click the New button that displays above and below the Details.)
  • Clicking the Details icon next to a record name in the list, or right-click a record in the list and then click Open in the Action menu that displays, to display a pop-up version of the record Details.
  • Right-click a record in the a list, or open a record and right-click in the record Details, and then click Open In Tab in the Action menu that displays, to display the record Details under a new tab on the record list page (see Record Details as Tabs).

Remote File Monitor Task Details

The following Remote File Monitor Task Details is for an existing Remote File Monitor task.

Depending on the values that you enter / select for these fields, and whether or not the Remote File Monitor task has ever been launched, more (or less) fields may display. See the field descriptions, below, for a description of all fields that may display in the Remote File Monitor Task Details.
 

Remote File Monitor Task Details Field Descriptions

The following table describes the fields, buttons, and tabs that display in the Remote File Monitor Task Details.

Field Name

Description

General

This section contains general information about the task.

Name

User-defined name of this task (Maximum = 255 alphanumeric characters); variables supported. It is the responsibility of the user to develop a workable naming scheme for tasks.

Version

System-supplied; version number of the current record, which is incremented by the Controller every time a user updates a record. Click the Versions tab to view previous versions. For details, see Record Versioning.

Description

Description of this record. Maximum length is 255 characters.

Member of Business Services

User-defined; Allows you to select one or more Business Services that this record belongs to.  (You also can Check All or Uncheck All Business Services for this record.)

You can select up to 62 Business Services for any record type, and enter a maximum of 2048 characters for each Business Service.

If the Business Service Visibility Restricted Universal Controller system property is set to true, depending on your assigned (or inherited) Permissions or Roles, Business Services available for selection may be restricted.

Resolve Name Immediately

If enabled, the Instance Name of the task instance will be resolved immediately at trigger/launch time.

Time Zone Preference

User-defined; Allows you to specify the time zone that will be applied to the task.

Options:

  • – System Default –
    Time zone is based on the value of the Task Time Zone Preference Universal Controller system property: Server or Inherited.
  • Server (xxx)
    Where (xxx) is the time zone ID of the server; time zone is evaluated in the time zone of the server.
  • Inherited
    Time zone is evaluated in the time zone of the Parent Workflow or Trigger / Launch specification in the case there is no Parent Workflow.

Hold on Start

If enabled, when the task is launched it appears in the Activity Monitor with a status of Held. The task runs when the user releases it.

Hold Reason

Information about why the task will be put on hold when it starts.

Virtual Resource Priority

Priority for acquiring a resource when two or more tasks are waiting for the resource. This priority applies to all resources required by the task.

Options: 1 (high) - 100 (low).

Default is 10.

Hold Resources on Failure

If enabled, the task instance will continue to hold Renewable resources if the task instance fails. Renewable resources will be returned only if the task instance status is either Complete, Finished, or Skipped.

Mutually Exclusive With Self

If enabled, the task will not be allowed to run concurrently with itself. Task will not start until the instance that is running finishes. An instance will transition to Exclusive Wait status if it cannot start due to another instance already running. 

Simulate 

Specifies if the instance should execute under simulation mode

Override Previous Instance Wait

Specifies whether or not to override the parent workflow's Previous Instance Wait configuration.

This option only applies for an instance running within a workflow.

Options: 

  • No

    Behavior determined by the parent workflow configuration.
  • Yes / -- None --

    Regardless of the parent workflow configuration, the task instance will never wait for a previous instance to complete.
  • Yes / Wait for Last

    Regardless of the parent workflow configuration, the task instance will remain in Instance Wait until the most recent prior instance of the same task has completed.
  • Yes / Wait for Last / Same Workflow

    Regardless of the parent workflow configuration, the task instance will remain in Instance Wait until the most recent prior instance of the same task, within an instance of the same workflow, have completed.
  • Yes / Wait for All

    Regardless of the parent workflow configuration, the task instance will remain in Instance Wait until all prior instances of the same task has completed.
  • Yes / Wait for All / Same Workflow

    Regardless of the parent workflow configuration, the task instance will remain in Instance Wait until all prior instances of the same task, within an instance of the same workflow, have completed.

Agent Details

This section contains assorted detailed information about the Agent / Agent Cluster selected for this task.

Cluster

Indication that selecting an Agent Cluster is required and selecting Broadcast, which lets you select a Cluster Broadcast, is optional.  If Cluster is selected, selecting an Agent is not required unless Agent Variable is selected.

Agent

Name of the Agent resource that identifies the machine where the operation will run. If you do not specify an Agent, you must specify an Agent Cluster or Cluster Broadcast.

Agent Variable

Indication of whether the Agent field is a reference field for selecting a specific Agent (unchecked) or a text field for specifying the Agent as a variable (checked). Use the format: ${variable name}. The variable must be a supported type as described in Variables and Functions.
 

Note

When updating multiple Tasks, to change from using an Agent reference to using an Agent variable, you must change the Agent Variable field to Yes and specify the Agent variable in the Agent Unresolved field. Conversely, to change from using an Agent variable to using an Agent reference, you must change the Agent Variable field to No and specify the Agent reference in the Agent field.

Agent Cluster

If Cluster is selected and Broadcast is not selected; Group of Agents, one of which the Controller will choose to run this task (compare with Cluster Broadcast). You can specify an agent cluster in addition to or in place of a specific Agent. If you specify an Agent and an agent cluster, the Controller first tries to run the task on the specific agent. If the Agent is not available, the Controller reverts to the agent cluster. See Agent Clusters for more information.

Agent Cluster Variable

Indication of whether the Agent Cluster field is a reference field for selecting a specific Agent Cluster (unchecked) or a text field for specifying the Agent Cluster as a variable (checked). Use the format: ${variable name}.

The variable must be a supported type as described in Variables and Functions.
 

Note

When updating multiple Tasks, to change from using an Agent Cluster reference to using an Agent Cluster variable, you must change the Agent Cluster Variable field to Yes and specify the Agent Cluster variable in the Agent Cluster Unresolved field. Conversely, to change from using an Agent Cluster variable to using an Agent Cluster reference, you must change the Agent Cluster Variable field to No and specify the Agent Cluster reference in the Agent Cluster field.

Broadcast

Displays only if Cluster is selected; Indication that selecting a Cluster Broadcast is required. Selecting Broadcast hides the Agent and Agent Cluster fields; you cannot select values for them.

Cluster Broadcast

Group of Agents, all of which will run this task (compare with Agent Cluster). If Broadcast is selected for a task, you must select a Cluster Broadcast instead of a specific Agent and/or agent cluster. Each instance of the task running on its own Agent becomes a separate task instance record in the database and displays separately on the Activity Monitor.

Cluster Broadcast Variable

Indication of whether the Cluster Broadcast field is a reference field for selecting a specific Cluster Broadcast (unchecked) or a text field for specifying the Cluster Broadcast as a variable (checked). Use the format:

${variable name}.

The variable must be a supported type as described in Variables and Functions.
 

Note

When updating multiple Tasks, to change from using a Cluster Broadcast reference to using a Cluster Broadcast variable, you must change the Cluster Broadcast Variable field to Yes and specify the Cluster Broadcast variable in the Cluster Broadcast Unresolved field. Conversely, to change from using a Cluster Broadcast variable to using a Cluster Broadcast reference, you must change the Cluster Broadcast Variable field to No and specify the Cluster Broadcast reference in the Cluster Broadcast field.

Credentials

Credentials under which an Agent runs this task. These Credentials override any Credentials provided in the Agent Details for any Agent running this task.

If the user does not have a login shell, add a - character in front of the runtime credentials name. The Controller will provide a shell for that user and strip the - character from the name.

Required if the Agent Credentials Required Universal Controller system property is true. When required, if the Credential is specified as a variable, and the variable resolves to blank, a Start Failure will occur.

Credentials Variable

Indication of whether the Credentials field is a reference field for selecting a specific Credential (unchecked) or a text field for specifying the Credential as a variable (checked). Use the format: ${variable name}.

The variable must be a supported type as described in Variables and Functions.
 

Note

When updating multiple Tasks, to change from using a Credentials reference to using a Credentials variable, you must change the Credentials Variable field to Yes and specify the Credentials variable in the Credentials Unresolved field. Conversely, to change from using a Credentials variable to using a Credentials reference, you must change the Credentials Variable field to No and specify the Credentials reference in the Credentials field.

Remote File Monitor Details

This section contains assorted detailed information about the task.

Monitor Type

Type of file event being monitored for.

Options:

  • Exists - Checks to see if the file exists.
  • Missing - Checks to see if the file does not exist.

Wait until Satisfied

If enabled, the task instance starts and continues to run until one of the following events occurs:

  • If Monitor Type = Exists and the specified file exists or appears, the task instance completes with a status of SUCCESS.
  • If Monitor Type = Missing and the specified file does not exist (or any part of the path is missing), or exists then disappears, the task instance completes with a status of SUCCESS.

If not enabled, the task instance:

  1. Starts.
  2. Checks for the existence of the file.
  3. Takes one of the following actions:
    • If Monitor Type = Exists and the file exists, the task instance completes with a status of SUCCESS.
    • If Monitor Type = Exists and the file does not exist (or any part of the path is missing), the task instance completes with a status of FAILURE.
    • If Monitor Type = Missing and the file exists, the task instance completes with a status of FAILURE.
    • If Monitor Type = Missing and the file does not exist (or any part of the path is missing), the task instance completes with a status of SUCCESS.

Poll Interval (Seconds)

If Wait until Satisfied is enabled: Frequency, in seconds, in which the Remote File Monitor will check to see if the file exists or is missing.

Maximum Polls

If Wait until Satisfied is enabled: Maximum number of times that the Remote File Monitor will check to see if the file exists or is missing.

Stable (Seconds)

If Wait until Satisfied is enabled: Period of time, in seconds, during which the file has not changed.
 
For a Remote File Monitor task, a file's stability depends on its size. If the file size displayed in the FTP/SFTP output does not change during the specified number of seconds, the file is considered stable. In order for the task to reliably monitor the file's stability, the task must display a file's size in a well-known location. This means that the file list returned in the output must be in Unix long-listing format, as follows:
 

 
The task will only find the size if it is in the 5th column (for example, 12345 in the example above).
 
The default file list format varies across different FTP client/server implementations, but most support additional commands that can force the output to the required format. The Additional FTP Commands field is provided to insert those statements into the FTP script that the file monitor task executes.

Server Type

Type of FTP server.

Options:

  • FTP
  • SFTP
  • FTPS
  • FTPES


Note

The Remote File Monitor Task Exclude Protocols Universal Controller system property permits the exclusion of one or more, but not all, protocols (server types) from being selected.)

Additional FTP Commands

If Server Type is FTP, FTPS, or FTPES: Set of extra commands to be sent to the FTP server, such as optional statements that control the FTP output format.

The Agent depends on the file list being in Unix "long" format (that is, what you would see if you entered "ls -l" from the command shell) in order to correctly and reliably parse out file name and size (when a Stable period is specified). If the FTP Server is configured to return a different format, the Server may support commands that alter the format.
 
For example, the following statements may be used for a Remote File Monitor task executing against an IBM iSeries (AS/400) FTP Server to ensure a correctly formatted file list:
 

site listfmt 1
site namefmt 1

 
If the Remote File Monitor task is executing against a Microsoft FTP Server and that Server is configured to return a file list in DOS format, the following statement will toggle the format to a Unix-style listing.
 

site dirstyle

 
Not all FTP client/server implementations provide statements that can alter the format of the ls command, which the Remote File Monitor task issues to generate the file listing. However, those implementations may support the dir command, which can return the file list in the correct format. If the dir command is specified in the Additional FTP Commands field, the Remote File Monitor task will use the results from that command to obtain the file sizes. In such cases, the FTP script will contain the dir and ls commands, but since statements in the Additional FTP Commands field are inserted into the script prior the ls command, the results from the dir command are parsed first.
 
If the dir command is necessary to obtain the correct file list format, simply specify that command along with the same value specified in the Remote Filename field. For example, if Remote Filename is /uagtests/data/somefile*.txt, enter the following in this field:
 

dir /uagtests/data/somefile*.txt

 
This statement also can be used with other commands to get the correct output. For example, if a Windows FTP Server is configured to return file lists in Windows format, use site and dir commands together in this field:
 

site dirstyle
dir /uagtests/data/somefile*.txt

 
Invalid statements or valid statements that do not control the file list format are ignored.

Transfer Mode

Transfer mode.

Options:

  • Active
  • Passive
  • Extended Passive

Verify Host Name

If Server Type = FTPS or FTPES; Indication of whether to verify the DNS name or IP address of the FTP server's certificate against the host system.

Authenticate Peer

If Server Type = FTPES; Indication of whether to use a CA certificate configured in the agent to authenticate the FTP server's certificate.

Remote Server

Name or IP address of the remote server. This machine may or may not be the same as the Universal Agent machine.
 
You also can specify a non-standard FTP, SFTP, FTPS, or FTPES port: port number separated from the host name with a colon: "some.server.com:2222".

FTP Credentials

Login credentials that the Agent will use to access the FTP or SFTP server machine. If the Remote File Monitor server and Agent are running on the same machine, enter the same credentials as those you entered in the Credentials field.

FTP Credentials Variable

Indication of whether the FTP Credentials field is a reference field for selecting a specific /wiki/spaces/UC71x/pages/5178443 (unchecked) or a text field for specifying the FTP Credentials as a variable (checked). Use the format:

The variable must be a supported type as described in /wiki/spaces/UC71x/pages/5177616.
 

Note

When updating multiple Tasks, to change from using an FTP Credentials reference to using an FTP Credentials variable, you must change the FTP Credentials Variable field to Yes and specify the FTP Credentials variable in the FTP Credentials Unresolved field. Conversely, to change from using an FTP Credentials variable to using an FTP Credentials reference, you must change the FTP Credentials Variable field to No and specify the FTP Credentials reference in the FTP Credentials field.