Rhapsody enables you to schedule when a communication point is active. By default, communication points are able to send or receive messages, regardless of the hour of the day or day of the week. However, if you want to limit when a communication point is active, you can define when the communication point is active on the Scheduling tab:

Enable Scheduling

To enable scheduling, check the Enable Scheduling for this Communication Point checkbox.

Schedule settings are preserved in Rhapsody IDE, and also preserved upon check-in in the RLC, even when scheduling is disabled.

Rhapsody uses the system date-time to start and stop scheduled communication points. In the event of time shifts due to daylight savings time, a communication point's runtime might be extended, cut short, or skipped altogether depending on how it was configured.

Daily Scheduling

The Daily pane of the scheduling tab enables you to define if the communication point should only run for certain hours of certain days of the week; for example, Monday, Wednesday, and Friday 09:00am - 12:00pm.

Weekly Scheduling

The Weekly pane of the scheduling tab enables you to define if the communication point should only run for a period of time that spans one or more days; for example, Monday 09:00am through to Friday 05:00pm.

Advanced Scheduling

The Advanced pane of the scheduling tab enables you to define multiple start times, stop times, and restart times for a communication point using CRON expressions (refer to Third-party Licenses for details on the job scheduling system used by Rhapsody). This enables you to define times to:

  • Start the communication point.
  • Stop the communication point.
  • Restart the communication point. The communication point is stopped and immediately restarted at the specified time.

To define start times, stop times, and restart times, click the Define Advanced Scheduling link. The Advanced Scheduling dialog is displayed:

 

Syntax Rules

The format for the command is:

<Seconds> <Minutes> <Hours> <Day-of-month> <Month> <Day-of-week> <Year>

where each field is defined as:

Field Description Allowed Values Allowed Special Characters
Seconds The second at which the action should occur. Do not set as * or the action is run every second. 0-59 , - * /
Minutes

The minute at which the action should occur. Do not set as * or the action is run every minute.

0-59 , - * /
Hours

The hour at which the action should occur. Use * for every hour.

0-23 , - * /
Day-of-month

The day of the month on which the action should occur, 1 through 31. Use * for every day. Use ? if the day is unknown.

1-31 , - * ? / L W
Month The month in which the action should occur. Use * for every month. 1-12 or JAN-DEC , - * /
Day-of-Week The day of the week on which the action should occur. Use * for every day. Use ? if the day is unknown. 1-7 or SUN-SAT , - * ? / L #
Year (optional) The year in which the action should occur. empty or 1970-2199 , - * /

Special Characters

The following special characters can be used:

Character

Description

* (all values)

Used to select all values within a field. For example, * in the minute field means every minute.

? (no specific value)

Useful when you need to specify something in one of the two fields in which the character is allowed, but not the other. For example, if you want to trigger an event on a particular day of the month (say, the 10th), but don't care what day of the week that happens to be, enter a 10 in the day-of-month field, and ? in the day-of-week field.

- Used to specify ranges. For example, 10-12 in the hour field means the hours 10, 11 and 12.

,

Used to specify additional values. For example, MON, WED, FRI in the day-of-week field means the days Monday, Wednesday, and Friday.

L (last)

Has distinct meanings depending on the context. The value L in the day-of-month field refers to the last day of the month - for example, day 31 for January, day 28 for February on non-leap years. If used in the day-of-week field by itself, it simply means 7 or SAT. But if used in the day-of-week field after another value, it means the last 'xxx' day of the month - for example, 6L means the last Friday of the month.

W (weekday) Used to specify the weekday (Monday to Friday) nearest the given day. For example, 15W in the day-of-month field means the nearest weekday to the 15th of the month. So if the 15th is a Saturday, the trigger will fire on Friday the 14th.
# Used to specify the 'nth' day of the week in the month. For example, the value of 6#3 in the day-of-week field means the third Friday of the month (day 6 is Friday, and #3 is the 3rd one in the month).

It is possible for an expression to be valid, but not supported. For example, if you define an expression to stop a communication point before it is started. Rhapsody validates the expression and also calls the next valid time to check that the expression is supported. If you define multiple valid expressions that the scheduler does not support, Rhapsody treats these as not parse-able and the communication point is given an unconfigured state.

Example Expressions

The following table lists some examples of basic expressions:

Crom Expression

Meaning

0 0 12 * * ?

12pm (noon) every day.

"0 15 10 ? * *

10:15am every day.

"0 * 14 * * ?

Every minute starting at 2pm and ending at 2:59pm, every day.

0 0/5 14 * * ?

Every 5 minutes starting at 2pm and ending at 2:55pm, every day.

0 15 10 15 * ?"

10:15am on the 15th day of every month.

0 10,44 14 ? 3 WED

2:10pm and at 2:44pm every Wednesday in the month of March.

0 15 10 ? * MON-FRI

10:15am every Monday, Tuesday, Wednesday, Thursday, and Friday.

0 0 0 ? * 3#3 *

Midnight on the third Wednesday of every month.

Support for specifying both a day-of-week and a day-of-month value is not available. You need to use the ? character in one of these fields.