Scheduling Services

Overview

Use the server's scheduling function to schedule services to execute at times you specify. Services that you schedule are referred to as user tasks. You can:

  • Create user tasks that Integration Server executes:

    • A single time
    • Repeatedly at a simple interval, for example hourly every day
    • Repeatedly at a complex interval, for example every other Tuesday in June
  • View a list of scheduled tasks.
  • Update scheduling options for existing user tasks.
  • Cancel a scheduled user task before Integration Server completes all scheduled executions.
  • Temporarily suspend a task's execution.
  • Create user tasks that run on one, any, or all Integration Servers connected to the same database.
  • Specify an action Integration Server is to take if a task has missed its scheduled execution time.

    Note: In addition to using Integration Server Administrator to schedule tasks, you can also perform scheduling by using a set of built-in services. See the webMethods Integration Server Built-In Services Reference for more information.

Tasks Provided by Integration Server

Integration Server provides user tasks that you can modify. For example, Integration Server supplies the Message History Sweeper task if you configured a document history database for exactly-once processing. This task removes expired entries from the document history database. Even though Integration Server scheduled this task, you can modify how often the service runs.

In addition to the scheduled user tasks that you set up, Integration Server schedules system tasks that it performs for normal system operation. You can view, but not update or cancel, most scheduled system tasks.

Scheduling a User Task

About this task

Use the following procedure to schedule a user task.

To schedule a user task

Procedure

  1. Open the Integration Server Administrator if it is not already open.
  2. Go to Server > Scheduling.
  3. Click Create a Scheduled Task.
  4. Set the Service Information parameters as follows:
    For this parameter Specify
    Description A description of the task.
    folder.subfolder:service

    The fully qualified service name of the service you want Integration Server to execute.

    Click Assign Inputs to enter new input values or modify existing values for the service you want Integration Server to execute.

    Before assigning input values, note that:

    • You can only assign values for top-level input parameters of data type String.
    • Assigning input values using Assign Inputs overwrites any input values assigned to a service using the built-in services in thepub.schedulerfolder.

    For information about specifying service names, see Fully Qualified Service Names.

    Run As User

    The user name you want the server to use when running the service. Click search icon to search for and select your user. A user can be selected from the local or central directory.

    Integration Server runs the service as if the user you specify is the authenticated user that invoked the service. If the service is governed by an ACL, be sure to specify a user that is allowed to invoke the service.

    Target Node

    Whether you want the task to run on other Integration Servers connected to the same database:

    • Select Any server if the task needs to run on only one server connected to the database, and it does not matter which one.
    • For servers in a configured cluster only (that is, a stateful cluster). Select All servers if the task needs to run on all Integration Servers in the cluster. This option is not available for servers in a stateless clusters.
    • Select the name from the list of Integration Servers connected to the database if the task needs to run on only a specific server.

    The default is the current Integration Server.

    For more information about the Target Node options, see Target Node Options.

  5. Select an action to perform If the Task Is Overdue.
    This parameter Specifies that Integration Server should
    Run immediately Run the task immediately, no matter how late the task is.
    Skip and run at next scheduled time Skip this execution of the task, and run it again at the next scheduled run time. This option is not available for tasks that run just once.
    Suspend Place the task in a suspended state until an administrator resumes or cancels the task.

    Integration Server periodically checks the status of scheduled tasks. If it finds a task that should have started but has not, Integration Server runs the task immediately, unless you have specified a special action to take for late tasks. Integration Server performs this "late action" if the task has missed its scheduled start time by a number of minutes you specify in the if more than xxx minutes late field.

    Note: The maximum number of minutes that the if more than xxx minutes late field can accept is 35000.

    For tasks that are late but do not exceed the specified period, Integration Server runs the task immediately.

  6. Select Run Once, Repeating, or Complex Repeating to indicate when and how often you want Integration Server to execute the service.
    Select To
    Run Once

    Schedule a task to run just once. Specify the following:

    • Date. The date on which you want Integration Server to execute the service.

      Enter the date using the format YYYY/MM/DD. For example, if you want the server to execute the service on March 11, 2010, specify 2010/03/11.

    • Time. The time at which you want Integration Server to execute the service.

      Enter the time using the format HH:MM:SS (using a 24-hour clock). For example, if you want Integration Server to execute the service at 1:00:00 a.m., specify 1:00:00; if you want Integration Server to execute the service at 1:00:00 p.m., specify 13:00:00.

    Repeating

    Schedule simple repeating tasks, for example once a day at a specific time. Specify the following

    • Start Date and Start Time. The date and time of the first execution.

      For Start Date, use the format YYYY/MM/DD. For Start Time, use the format HH:MM:SS (using a 24-hour clock).

      For example, if you want the service executions to start on May 3, 2010 at 1:00:00 p.m., specify 2010/05/03 for Start Date and 13:00:00 for Start Time.

     
    • End Date and End Time. The date and time of the last execution.

      For End Date, use the format YYYY/MM/DD. For the End Time, use the format HH:MM:SS (using a 24-hour clock).

      For example, if you want the service executions to stop on June 4, 2010 at 2:00:00 a.m., specify 2010/06/04 for End Date and 02:00:00 for End Time.

      If you omit End Date, Integration Server uses the current date. If you omit End Time, Integration Server uses the current time. If you omit End Date and End Time, Integration Server executes the service for an indefinite period of time or until you cancel the scheduled user task.

     
    • Interval. Execution interval.

      Enter the number of seconds that you want Integration Server to wait between executions of the service.

     
    • Repeat after completion. Whether to wait for the previous execution of the service to complete before starting the next.

      For example, suppose the GetData service is scheduled to run every minute, but sometimes takes longer than that to complete. By default, Integration Server will start the next execution even though the previous one has not yet completed.

      If you check the Repeat after completion box, Integration Server will wait for the service to complete before running the next execution of the service. Executions that could not run while the service was executing are delayed.

    For more information about using the Repeating option, see Simple Repeating Option.

    Complex Repeating

    Schedule a task that repeats at a more complex interval, for example, every other day, or twice a month. Specify the following:

    • Start Date and Start Time. The date and time of the first execution.

      For Start Date, use the format YYYY/MM/DD. For Start Time, use the format HH:MM:SS (using a 24-hour clock).

      For example, if you want the service executions to start on May 3, 2010 at 1:00:00 p.m., specify 2010/05/03 for Start Date and 13:00:00 for Start Time. If you omit the Start Date, the first execution occurs on the first date as indicated by the Run Mask parameters. If you omit Start Time, the server uses the current time.

     
    • End Date and End Time. The date and time of the last execution.

      For End Date, use the format YYYY/MM/DD. For the End Time, use the format HH:MM:SS (using a 24-hour clock).

      For example, if you want the service executions to stop on June 4, 2010 at 2:00:00 a.m., specify 2010/06/04 for End Date and 02:00:00 for End Time.

      If you omit End Date, Integration Server uses the current date. If you omit End Time, Integration Server uses the current time. If you omit End Date and End Time, Integration Server executes the service for an indefinite period of time or until you cancel the scheduled user task.

     
    • Run Mask. Specific months, dates (1-31), days of the week (Sunday-Monday), hours, minutes, and seconds when you want a task to run. You can select one or more items from each category. To select multiple items, press the Ctrl key while making your selections. If you do not select any items from a category, Integration Server assumes all items for the selection.
     
    • Repeat after completion. Whether to wait for the previous execution of a service to complete before starting the next.

      For example, suppose the GetData service is scheduled to run every minute, but sometimes takes longer than that to complete. By default, Integration Server will start the next execution even though the previous one has not yet completed.

      If you check the Repeat after completion box, the server will wait for the service to complete before running the next execution of the service. Executions that could not run while the service was running are delayed.

      For more information about using the Complex Repeating options see Complex Repeating Option.

    Note: Integration Server does not skip or repeat the scheduled tasks because of transitions to and from Daylight Saving Time. For more information about how Integration Server handles transitioning to and from Daylight Saving Time, see How Transitioning to or from Daylight Savings Time Affects Scheduled Tasks.
  7. Click Save Tasks.

Viewing Scheduled User Tasks

About this task

Note: If your Integration Server runs as part of a group of servers connected to the same database, all tasks will be visible from the Server > Scheduling pages of all Integration Servers connected to the database.

To view scheduled user tasks

Procedure

  1. Open the Integration Server Administrator if it is not already open.
  2. Go to Server > Scheduling.

    The Server Scheduler page displays the list of scheduled user tasks. Integration Server automatically deletes the expired scheduled user tasks from the Server Scheduler page. If you do not want Integration Server to delete the expired tasks until the next server restart, set the watt.server.scheduler.deleteCompletedTasks parameter to false. For more information about this parameter, see Server Configuration Parameters.

Filtering the List of Scheduled Tasks

About this task

By default, the Server > Scheduling page lists all the user-defined tasks that are scheduled to run. You can use the filter to limit the tasks to be displayed, making the list shorter and more manageable.

To filter the list of scheduled tasks

Procedure

  1. Open the Integration Server Administrator if it is not already open.
  2. Go to Server > Scheduling.
    The list of user-defined tasks will be displayed.
  3. Click Filter Services. The filtering options will appear above the list of user tasks.
    Note: When Filter Services is enabled, any changes to the Integration Server (such as new tasks, etc.) will not be reflected in the list of scheduled tasks. When you click Show All Services and return to normal mode, the list will be updated.
  4. Select some or all of the following options:
    Option Description
    Service Name

    The string you want to submit to the filter. Filter criteria can be literals or a combination of literal and wild-card characters. The "*" (asterisk) and "?" (question mark) are the only supported wild-card characters. Leaving the filter criteria blank includes all services.

    The service names in the Service Name field are case-sensitive. For example, if you enter "Wm*", the filter will ignore any services beginning with "wm".

    Status Is Active Controls whether only active services are displayed. If not checked, services with all statuses are displayed.
    Hide Remote Tasks Controls whether only tasks that run on the current server are displayed. This also includes tasks scheduled to run on the server when the Target Node is set to run on All servers in the cluster or Any server connected to the database. Tasks scheduled to run only on other servers are not displayed.

Updating Scheduled User Tasks

About this task

Note: If your Integration Server is part of a cluster and you are updating the characteristics of a task that has been scheduled to run on all Integration Servers in the cluster, you must make the changes to the parent task. For more information about scheduled tasks that run on all servers in a cluster, see Target Node Options.

To update a scheduled user task

Procedure

  1. Open the Integration Server Administrator if it is not already open.
  2. Go to Server > Scheduling.
  3. Click the service name for the user task you want to update.
  4. Update the scheduling options for the selected user task. For information about the options you can specify, see Scheduling a User Task.
  5. Click Update Tasks.

Suspending User Tasks

You can suspend a single user task or all the scheduled user tasks in an Integration Server.

Suspending a Single User Task

About this task

When you suspend a user task, it remains scheduled, but does not execute until you resume its execution. If a task expires while suspended, the server marks it Expired.

Note: If your Integration Server is part of a cluster and you are suspending a task that has been scheduled to run on all Integration Servers in the cluster, you can suspend the child tasks individually or you can suspend all the tasks at once by suspending the parent task. For more information about scheduled tasks that run on all servers in a cluster, see Target Node Options.

To suspend a scheduled user task

Procedure

  1. Open the Integration Server Administrator if it is not already open.
  2. Go to Server > Scheduling.
  3. Locate the task in the Services list, and click the green check mark icon icon in the Status column to suspend the task. The server displays a page to confirm you want to suspend the task. Click OK. The server replaces the green check mark icon icon with Suspended to indicate that the task is now suspended.

Suspending All User Tasks

About this task

Suspending the tasks affects only the scheduled user tasks and not system tasks.

When you suspend all the scheduled user tasks in an Integration Server:

  • Integration Server will not initiate any scheduled user tasks. However, you can schedule new tasks and perform other task-specific actions.
  • The scheduled user tasks that are currently running will continue to execute.
  • The suspend action will not affect the system tasks and they will continue to run.

To suspend all scheduled user tasks

Procedure

  1. Open Integration Server Administrator if it is not already open.
  2. Go to Server > Scheduling.
  3. Click Pause Scheduler. Integration Server displays a message prompting you to confirm that you want to suspend the tasks. Click OK.

    Integration Server will initiate the scheduled user tasks only after you have resumed the tasks.

Resuming Suspended User Tasks

You can resume all scheduled executions of a user task that you have suspended. You can also resume the execution of all the scheduled user tasks in an Integration Server.

Resuming a Suspended User Task

About this task

Perform the following procedure to resume all scheduled executions of a task that has been suspended.

Note: If your Integration Server is part of a cluster and you are resuming a task that has been scheduled to run on all Integration Servers in the cluster, you can resume the child tasks individually or you can resume all the tasks at once by resuming the parent task. For more information about scheduled tasks that run on all servers in a cluster, see Target Node Options.

To resume execution of a suspended user task

Procedure

  1. Open the Integration Server Administrator if it is not already open.
  2. Go to Server > Scheduling.
  3. Locate the task in the Services list, and click Suspended in the Active column to activate the task. The server displays a page to confirm you want to resume the task. Click OK.

    The server replaces Suspended with the Active green check mark icon icon to indicate that the task is available to execute again.

Resuming All Suspended User Tasks

About this task

When you resume the execution of all the scheduled user tasks in an Integration Server:

  • Integration Server will start initiating the scheduled user tasks again.
  • If any of the scheduled user tasks that were running when the tasks were suspended are still running, they will continue to execute.
  • Individual tasks that you have suspended by clicking the green check mark icon icon in the Status column will remain suspended until you specifically activate it.

To resume all scheduled user tasks

Procedure

  1. Open Integration Server Administrator if it is not already open.
  2. Go to Server > Scheduling.
  3. Click Resume Scheduler. Integration Server displays a message prompting you to confirm that you want to resume the initiation of tasks. Click OK.

    Integration Server will proceed to initiate the scheduled user tasks.

    Important: If a task misses its scheduled execution time because the execution of tasks was suspended at that time, the next execution of the task depends on the value of the If the Task Is Overdue setting. Based on this setting, Integration Server will start the task as soon as you resume the initiation of tasks, skip this execution of the task, or suspend the task and wait for administrator action. For more information, see Scheduling a User Task.

Canceling a Scheduled User Task

About this task

When you cancel a scheduled task, the server permanently removes it from the database that holds the job queue.

Note: If your server is part of a cluster and you are canceling a task that has been scheduled to run on all servers in the cluster, you can cancel the child tasks individually or you can cancel all the tasks at once by canceling the parent task. For more information about scheduled tasks that run on all servers in a cluster, see Target Node Options.

To cancel a scheduled user task

Procedure

  1. Open the Integration Server Administrator if it is not already open.
  2. Go to Server > Scheduling.
  3. Click the delete icon icon in the Remove column for the user task you want to cancel. The server issues a prompt to verify that you want to cancel the user task. Click OK.

Scheduled System Tasks

Integration Server needs to perform system tasks, such as removing expired sessions, periodically. Integration Server schedules these tasks automatically.

To view the scheduled system tasks in Integration Server Administrator, go to Server > Scheduling, and click View system tasks. The View System Tasks page lists the names of each scheduled task, the next date and time the server is to execute the task, and how often the server is to execute the task (the Interval).

Note: The View System Tasks page shows the tasks for local server only; if you are running a group of servers connected to the same database, you will not see the system tasks for other servers connected to the database.

The following table identifies and describes the common system tasks in Integration Server, including specifying whether a server configuration parameter can be used to control the interval at which the task runs.

System Task Description
Alert Purge Job Removes alerts older than the alert retention period from the database.
Certificate Expiry Check Checks the expiry of the certificates in keystores or truststores and generates alerts and/or email.
Common Messaging Trigger Resource Monitor Executes resource monitoring services for MQTT triggers.

Server configuration parameter: watt.server.commonmessaging.trigger.monitoringInterval

DB Session Sweeper Checks for expired database sessions and closes any database connections associated with expired sessions.

Server configuration parameter: watt.server.clientTimeout

Email Notifications OAuth Tokens Check Refreshes the access token used by Integration Server for sending email notifications when OAuth is used as the authentication mechanism by the SMTP server.

Server configuration parameter: watt.server.smtp.oauth.token.refreshInterval

EmailListener:type:user@host:port Refreshes the access token for an email port configured to use OAuth for authentication. This system task is created when an email port configured to use OAuth for authentication is enabled.
Expired Breakpoint Session Sweeper Removes expired breakpoint sessions created by the debugging of a flow service in Designer.

Server configuration parameter: watt.server.breakpoint.session.sweeperInterval

Expired Master Check Checks for expiration of the master password.
Failed Accounts Handler Resets the login failures to 0 for a user account for which the number of failed login attempts is less than the maximum allowed failed login attempts and the time elapsed between the current time and the first failed login attempt is greater than the specified time interval for login attempt failures.
FTP Session Sweeper Removes FTP sessions that have exceeded the idle timeout.

Server configuration parameter: watt.net.ftpSweepInterval

Global Allow List Service Updates the list of allowed hosts or IP addresses for global IP access. This system task is only created when a service is used to return a list of allowed IP addresses or host names for global IP access.
Global Deny List Service Updates the list of denied hosts or IP addresses for Global IP access. This system task is only created when a service is used to return a list of denied IP addresses or host names for global IP access.
JMS Trigger Resource Monitor Executes resource monitoring services for JMS triggers.

Server configuration parameter: watt.server.jms.trigger.monitoringInterval

License Key Update Checks the validity of the license key.
JWT Public Keys Sync Periodically downloads public keys from configured JSON Web Key Set (JWKS) endpoints for trusted issuers and stores them in memory for JWT signature verification. Integration Server creates this task when you set a JWKS endpoint for an issuer. You can control how often the keys are downloaded by using the option JSON Web Key Set download interval (Minutes) on the Edit global claim settings page in Integration Server Administrator, under Security > JWT.

The task stops after you remove all issuers with configured JWKS endpoints.

Message History Sweeper Removes expired entries from the document history database.

Server configuration parameter: watt.server.idr.reaperInterval

Metering Agent Diagnostic Log Performs a "dry run" of sending data to the Software AG Metering Server.

Server configuration parameter: watt.server.meteringAgent.logInterval

Password Expiry Notifier Checks for expired outbound passwords.
portType@portNumber Allow List Service Updates the list of allowed hosts or IP addresses for port-specific IP access. This system task is only created when a service is used to return a list of allowed IP addresses or host names for the port.
portType@portNumber Deny List Service Updates the list of denied hosts or IP addresses for port-specific IP access. This system task is only created when a service is used to return a list of denied IP addresses or host names for the port.
Remote Server Sweeper Checks the status of all remote connections. If a connection has been idle for longer than the connection timeout, Integration Server disconnects and then deletes the connection.
Remove Expired AuthCodes Removes unused expired OAuth authorization codes from cache.

Server configuration parameter: watt.server.oauth.authCode.expirySeconds

Remove Expired Tokens Removes expired OAuth tokens from the cache and database.

Server configuration parameter: watt.server.oauth.token.removal.interval

Note: This system task is available after applying a fix that includes PIE-79139 (IS_10.15_Core_Fix4).
Session Sweeper Removes expired sessions.

Server configuration parameter: watt.server.session.sweeperInterval

SFTP Session sweeper Removes SFTP sessions that have exceeded the idle timeout.

Server configuration parameter: watt.net.sftpSweepInterval

Statistics Log Gathers the statistics to write to statistics log.

Server configuration parameter: watt.server.stats.pollTime

Stats Log Recycle Rotates the statistics log, http log, and the metering log.

Server configuration parameter: watt.server.statsLogRotateInterval

Template Cache Sweeper Removes the cached output template used to format service output if the template has not been used for more than 300 seconds.
Timed Map Removes expired entries from Timed Map (Time bounded Map implementation) which is used internally to store session IDs.
Trigger Join Sweeper Deletes all completed and expired joins from the database.

Server configuration parameter: watt.server.dispatcher.join.reaperDelay

Trigger Resource Monitor Executes resource monitoring services for webMethods messaging triggers.

Server configuration parameter: watt.server.trigger.monitoringInterval

The above table does not include system tasks added by layered products (products such as webMethods API Gateway, webMethods Task Engine, or Adapters that run on top of Integration Server). Additionally, system tasks might not appear on the View System Tasks page until they are scheduled. For example, the Global Allow List Service system task appears only when a service is used to return a list of allowed IP addresses or host names for global IP access.

Simple Repeating Option

When you use the simple repeating option, the service repeats based on a time interval you specify.

Setting Indicates
Start Date The date on which you want the server to execute the service for the first time. Use the format YYYY/MM/DD to specify the date. If you leave this field blank, the server starts the task on the current day
Start Time The time at which you want the server to begin executing the service. Use the format HH:MM:SS to specify the time (using a 24-hour clock). If you leave this field blank, the server starts the task immediately.
End Date The date on which you want the server to execute the service for the last time. Use the format YYYY/MM/DD to specify the date.

If you leave End Date blank, the server uses the current date as the End Date.

If you leave the End Date and End Time fields blank, Integration Server executes the service for an indefinite period of time or until you cancel the scheduled user task.

End Time The time on the last date at which you want the server to execute the service. Use the format HH:MM:SS to specify the time (using a 24-hour clock).

If you leave the End Time field blank, the server uses the current time as the End Time.

If you leave the End Date and End Time fields blank, the server executes the service for an indefinite period of time or until you cancel the scheduled user task.

Repeating/ Repeat after Completion

Whether Integration Server should wait for the previous execution of a service to complete before starting the next.

For example, suppose the GetData service is scheduled to run every minute, but sometimes takes longer than that to complete. By default, the server will start the next execution even though the previous one has not yet completed. If you check the Repeat after completion box, Integration Server will wait for the service to complete before running the next execution of the service. Executions that could not run while the service was executing are delayed.

Interval Time interval, in seconds, at which you want the service to execute. For example, if you want the server to execute the service every 24 hours, specify 86400 seconds for the interval.

The following example shows how to use the Simple Repeating option settings:

Service to execute For this setting Specify
Every hour on July 1st in the year 2010. Start Date 2010/07/01
  Start Time 00:00:00
  End Date 2010/07/01
  End Time 00:00:00
  Interval 3600

Complex Repeating Option

With the Complex Repeating option, the service repeats based on complex intervals that you specify. This option offers the greatest flexibility for specifying when you want a service to execute.

Specify any combination of the following settings to indicate when and how often you want the service to execute:

Setting Indicates
Start Date The date on which you want the server to execute the service for the first time. Use the format YYYY/MM/DD to specify the date. If you leave this field blank, the server executes the task at the first date specified by the remaining settings.
Start Time The time at which you want the server to begin executing the service. Use the format HH:MM:SS to specify the time (using a 24-hour clock). If you leave this field blank, the server uses the current time.
End Date The date on which you want the server to execute the service for the last time. Use the format YYYY/MM/DD to specify the date.

If you leave End Date blank, the server uses the current date as the End Date.

If you leave the End Date and End Time fields blank, Integration Server executes the service for an indefinite period of time or until you cancel the scheduled user task.

End Time The time on the last date at which you want the server to execute the service. Use the format HH:MM:SS to specify the time (using a 24-hour clock).

If you leave the End Time field blank, the server uses the current time as the End Time.

If you leave the End Date and End Time fields blank, the server executes the service for an indefinite period of time or until you cancel the scheduled user task.

Repeating/ Repeat after Completion

Whether Integration Server should wait for the previous execution of a service to complete before starting the next.

Note: Integration Server does not count half-finished service executions as completed tasks. If a task fails before completing, Integration Server considers that task as overdue. The next execution of the task depends on whatever action is set for the If the Task is Overdue option. For more information, see Scheduling a User Task

If you want Integration Server to wait for a service to complete execution before it starts the next scheduled execution of the service, check this box.

For example, suppose the GetData service is scheduled to run every minute, but sometimes takes longer than that to complete. By default, the Integration Server will start the next execution even though the previous one has not yet completed. If you check the Repeat after completion box, Integration Server will wait for the service to complete before running the next execution of the service. Executions that could not run while the service was executing are delayed.

Run Mask

Specific months, days (1-31), days (Sunday-Saturday), hours, and minutes you want the service to run.

You can select one or more items from each category. To select multiple items, press the Ctrl key while making your selections. If you do not select any items from a category, Integration Server assumes all items for the selection. For example, if you do not specify a month, Integration Server assumes you want the service to execute every month. If you do not select any items for any of the settings, the Integration Server assumes you want the service to execute every month, every day, all week days, every hour, and every minute; in other words, the service runs every minute from the time you add the task.

Integration Server combines all your selections to determine when to execute the service.

The following table shows examples of how to use the Complex option settings:

Service to execute For this setting Specify
The 28th day of every month at midnight for the year 2010. Start Date 2010/01/01
  Start Time 00:00:00
  End Date 2010/12/31
  End Time 00:00:00
  Months no selection
  Month Days 28
  Week Days no selection
  Hours 0
  Minutes 0
Every Monday in the months of January, February, and March at 2:30 p.m. for an indefinite period of time. Start Date leave blank
  Start Time leave blank
  End Date leave blank
  End Time leave blank
  Months January, February, March
  Month Days no selection
  Week Days Monday
  Hours 14
  Minutes 30
Every hour of every Tuesday of the month of June, 2010. Start Date 2010/06/01
  Start Time 00:00:00 (or leave blank)
  End Date 2010/06/30
  End Time 00:00:00 (or leave blank)
  Months June
  Month Days no selection
  Week Days Tuesday
  Hours no selection
  Minutes 0
Every minute of every hour of every Tuesday of the month of June, 2010. Start Date 2010/06/01
  Start Time 00:00:00 (or leave blank)
  End Date 2010/06/30
  End Time 00:00:00 (or leave blank)
  Months June
  Month Days no selection
  Week Days Tuesday
  Hours no selection
  Minutes no selection

Target Node Options

If you are running a group of servers connected to the same database, you can control on which server a task runs. In a stateful cluster, you can schedule jobs to run on one, any, or all Integration Servers in the cluster. For jobs to run in the cluster, the server must be enabled for clustering and existing jobs must be flagged to run in the cluster. In a stateless cluster, you can schedule jobs to run on one or any Integration Server in the cluster, but not all.

The following table describes the target node options for a scheduled task.

Setting Indicates
<specific_server> The task runs only on the server you specify.
Any server

The task runs on any server connected to the database. Use this option if the task only needs to run on one server and it doesn't matter which one. For example, in a clustered environment (a stateful cluster), if all servers in the cluster share a single database for a parts inventory application, and a particular function needs to run on that database once a day, any server in the cluster can perform that function. The Any server option is the default setting when clustering is enabled.

Note: The Any server option does not specify an order in which servers are used to execute tasks. In other words, no load balancing is performed. Instead, an instance of the scheduler runs on each server connected to the database. Periodically, each instance checks the database in which information about scheduled jobs is stored. The first scheduler instance to find a task that is due to start runs it, then marks the task as complete in the database where information about scheduled jobs is stored. The scheduler instances running on the other servers connected to the database then know not to run the task. This behavior will not change if you install a third-party load balancer.
All servers

For clustered Integration Servers only. If you select All servers, the task runs on all servers in the cluster. For example, suppose you run an application on each server in the cluster, and each server maintains its own database for that application. If you need to run a cleanup task against all the databases every day, then from one server you can schedule a task to run every day on all the servers in the cluster.

When you schedule a task to run on all servers in the cluster, the server divides the task into a main or parent task, and a child task for each server in the cluster. See Tasks in a Clustered Environment below for more information about these tasks.

This option is not available for Integration Servers in a stateless cluster.

Tasks in a Clustered Environment

When you schedule a task to run on all servers in the cluster, the server divides the task into a main or parent task, and a child task for each server in the cluster.

You might see different statuses among the parent and child tasks. For example, you might have a situation where the parent status is Active, one child status is Active, and the other child status is Suspended. In general, the status of the parent task will be Active if at least one child task is active or running, Suspended if all child tasks are suspended, or Expired, if all child tasks are expired.

Although you can perform some actions (activate, suspend) individually on the child tasks, if you want to change the characteristics of a task, you must do so through the parent task.

To keep the parent and child tasks in synch, Integration Server automatically updates child tasks when you:

  • Change the parent task. For example, if you change the end date of the parent task, Integration Server will automatically change the end date in the associated child tasks.
  • Add or delete a cluster node. For example, if you add another Integration Server to your cluster, Integration Server automatically creates a child task for that node at Integration Server startup.
  • Delete a child task. For example, if you delete a child task for a cluster node that still exists, Integration Server will automatically recreate the child task at Integration Server startup, or when you update the parent task.

The following picture shows how Integration Server Administrator displays parent and child tasks on the Server > Scheduling page.

Figure 1. Tasks in a Clustered Environment
Note: When using the Scheduler in a cluster of Integration Servers, you can ensure that repeating and complex tasks run at the desired times by synchronizing the system clocks of all the servers.

How Transitioning to or from Daylight Savings Time Affects Scheduled Tasks

Transitions to and from Daylight Savings Time (DST) affect scheduled tasks in Integration Server in the following ways:

  • When transitioning to DST, the system clock time is advanced by one hour. However, Integration Server will not skip the scheduled tasks that were scheduled to be run during the hour that is skipped because of transitioning to DST. If a task was scheduled to run in the hour that was skipped, Integration Server will run the task in the ensuing hour. For example, if you have scheduled a task to run at 1:30:00 a.m. and if system clock time transitions to DST at 1:00:00 a.m., Integration Server will process the task at 2:30:00 a.m. system clock time.
  • When transitioning from DST, the system clock time is set back one hour. For a repeating task scheduled to run in the DST overlap, Integration Server does one of the following:
    • If a task includes an hours mask (e.g., "1:15" for running every date at 0115), then the task will run only once, at the pre-overlap ("first") matching time. For example, if a task is executed at 1:15:00 a.m. and if the system clock time transitions to DST at 2:00:00 a.m., which sets the clock back to 1:00:00 am, Integration Server does not process the task again at 1:15:00 a.m.
    • If a task does not have an hours mask (e.g., "hh:15", meaning run at 15 minutes past each hour), then the task will run at the pre-overlap time (the "first" 1:15), and also at the overlap time (the "second" 1:15).
  • The simple and complex repeating tasks are unaffected by the transitions to and from DST. Integration Server processes the repeating tasks at the specified intervals. That is, if a task is scheduled to run every hour, Integration Server will execute the task at hourly intervals regardless of the system clock time.