Schedule (sch) extended option

Specifies a schedule for synchronization.

Syntax
sch=schedule; ...
schedule : { EVERY:hhhh:mm | INFINITE | singleSchedule }
hhhh : 00 ... 9999
mm : 00 ... 59
singleSchedule : day @hh:mm[ AM | PM ] [ -hh:mm[ AM | PM ] ] ,...
hh : 00 ... 24
mm : 00 ... 59
day :
 EVERYDAY | WEEKDAY | MON | TUE | WED | THU | FRI | SAT | SUN | dayOfMonth
dayOfMonth : 0... 31
Parameters

EVERY   The EVERY keyword causes synchronization to occur on startup, and then repeat indefinitely after the specified time period. If the synchronization process takes longer than the specified period, synchronization starts again immediately.

To avoid having a synchronization occur when dbmlsync starts, use the extended option NoSyncOnStartup. See NoSyncOnStartup (nss) extended option.

singleSchedule   Given one or more single schedules, synchronization occurs only at the specified days and times.

An interval is specified as @hh:mm-hh:mm (with optional specification of AM or PM). If AM or PM is not specified, a 24-hour clock is assumed. 24:00 is interpreted as 00:00 on the next day. When an interval is specified, synchronization occurs, starting at a random time within the interval. The interval provides a window of time for synchronization so that multiple remote databases with the same schedule do not cause congestion at the MobiLink server by synchronizing at exactly the same time.

The interval end time is always interpreted as following the start time. When the time interval includes midnight, it ends on the next day. If dbmlsync is started midway through the interval, synchronization occurs at a random time before the end time.

EVERYDAY   EVERYDAY is all seven days of the week.

WEEKDAY   WEEKDAY is Monday through Friday.

Days of the week are Mon, Tue, and so on. You may also use the full forms of the day, such as Monday. You must use the full forms of the day names if the language you are using is not English, is not the language requested by the client in the connection string, and is not the language which appears in the server window.

dayOfMonth   To specify the last day of the month regardless of the length of the month, set the dayOfMonth to 0.

INFINITE   The INFINITE keyword causes dbmlsync to synchronize on startup, and then not to synchronize again until synchronization is initiated by another program sending a window message to dbmlsync. While it waits, dbmlsync runs and scans the log periodically. You can use the dbmlsync extended option NoSyncOnStartup to avoid the initial synchronization.

For more information, see NoSyncOnStartup (nss) extended option.

You can use this option in conjunction with the dbmlsync -wc option to wake up dbmlsync and perform a synchronization.

For more information, see -wc option.

Remarks

If a previous synchronization is still incomplete at a scheduled time, the scheduled synchronization commences when the previous synchronization completes.

The default is no schedule.

This option has a short form and long form: you can use sch or Schedule.

You can also store extended options in the database. For more information about dbmlsync extended options, see Introduction to dbmlsync extended options.

The schedule option syntax is the same when used in the synchronization SQL statements and in the dbmlsync command line.

The IgnoreScheduling extended option and the -is option instruct dbmlsync to ignore scheduling, so that synchronization is immediate. For more information, see IgnoreScheduling (isc) extended option.

For more information about scheduling, see Scheduling synchronization.

Example

The following dbmlsync command line illustrates how you can set this option when you start dbmlsync:

dbmlsync -e "sch=WEEKDAY@8:00am,SUN@9:00pm"

The following SQL statement illustrates how you can store this option in the database:

CREATE SYNCHRONIZATION SUBSCRIPTION
   TO sales_publication
   FOR ml_user1
   OPTION sch='WEEKDAY@8:00am,SUN@9:00pm';