diff -r 48780e181b38 -r 578be2adaf3e Symbian3/PDK/Source/GUID-00363030-AAE2-5231-8407-AC609DA0F496.dita --- a/Symbian3/PDK/Source/GUID-00363030-AAE2-5231-8407-AC609DA0F496.dita Tue Jul 20 12:00:49 2010 +0100 +++ b/Symbian3/PDK/Source/GUID-00363030-AAE2-5231-8407-AC609DA0F496.dita Fri Aug 13 16:47:46 2010 +0100 @@ -1,65 +1,65 @@ - - - - - -Backup -and Restore on Scheduled Tasks in Persistent Schedules -

When scheduling tasks in persistent schedules, special consideration must -be given to the effects of backup and restore operations. Persistent schedules -and tasks associated with them are backed up during a backup operation. This -results in the storage of their status at the time of backup. When the data -is restored on the same phone or another phone, the persistent scheduled tasks -are recreated. This results in the overwrite of any existing persistent schedule -and task on the phone.

-

Note: Transient schedule and tasks are affected by the backup or -restore process.

-
Impact of backup and restore on persistent schedules and tasks

State -information associated with a phone, such as date, time and conditions are -not backed up with schedules and tasks, during a phone backup. The date or -time of a phone at the time of a backup is always likely to be different from -the date or time of the target phone during restore. The conditions that are -based on RProperty values that indicate the various states -of a phone might also be different between the time of backup and the time -of restore. One example is the network status, which may be unavailable at -the time of backup, but available at the time of restore.

Possible -problems

When a task is scheduled in a persistent schedule, its -execution depends on a specific time or condition to become due. If the phone -is backed up before the schedule is due, the schedule information is also -part of the backup. Later, when the time or condition is satisfied, the task -is executed on the phone. But, when a phone restore is done after the task -is executed on the phone, the schedule may be due again and the task may get -executed, if the same time or condition is satisfied again.

For example, -assume that a condition-based task is created to send an SMS when the network -is available. In addition, assume that when this task is created the network -is unavailable and a phone backup is taken. After the backup, the phone network -may become available and the SMS may be sent. In this scenario, when a phone -restore is done the SMS may be sent again when the network is available, which -can result in additional SMS costs.

Recommended alternatives

The -non-repeatable nature of the tasks cannot be determined by the task scheduler -automatically, and there is no mechanism for setting per-schedule backup options. -For this reason, clients that create non-repeatable tasks must be aware of -backup and restore implications and consider this fact in their designs.

Clients -can use transient schedules for non-repeatable tasks, which eliminates this -problem because transient schedules are not backed up or restored. If the -use of a persistent schedule is necessary, clients can choose to become backup-aware -by registering for notifications through CBaBackupSessionWrapper or -using the Secure Backup -Engine APIs, and taking appropriate actions. These actions might be -to delete the non-repeatable task before backup or after restore, or rescheduling -it after restore to a different time for time-based schedules.

Note: Any -schedule that expires or becomes ready to execute when a backup or restore -is in progress is delayed, and is only executed when the backup or restore -process is completed.

-
-Task Scheduler -Overview -Developing -Programs with Task Scheduling Capabilities + + + + + +Backup +and Restore on Scheduled Tasks in Persistent Schedules +

When scheduling tasks in persistent schedules, special consideration must +be given to the effects of backup and restore operations. Persistent schedules +and tasks associated with them are backed up during a backup operation. This +results in the storage of their status at the time of backup. When the data +is restored on the same phone or another phone, the persistent scheduled tasks +are recreated. This results in the overwrite of any existing persistent schedule +and task on the phone.

+

Note: Transient schedule and tasks are affected by the backup or +restore process.

+
Impact of backup and restore on persistent schedules and tasks

State +information associated with a phone, such as date, time and conditions are +not backed up with schedules and tasks, during a phone backup. The date or +time of a phone at the time of a backup is always likely to be different from +the date or time of the target phone during restore. The conditions that are +based on RProperty values that indicate the various states +of a phone might also be different between the time of backup and the time +of restore. One example is the network status, which may be unavailable at +the time of backup, but available at the time of restore.

Possible +problems

When a task is scheduled in a persistent schedule, its +execution depends on a specific time or condition to become due. If the phone +is backed up before the schedule is due, the schedule information is also +part of the backup. Later, when the time or condition is satisfied, the task +is executed on the phone. But, when a phone restore is done after the task +is executed on the phone, the schedule may be due again and the task may get +executed, if the same time or condition is satisfied again.

For example, +assume that a condition-based task is created to send an SMS when the network +is available. In addition, assume that when this task is created the network +is unavailable and a phone backup is taken. After the backup, the phone network +may become available and the SMS may be sent. In this scenario, when a phone +restore is done the SMS may be sent again when the network is available, which +can result in additional SMS costs.

Recommended alternatives

The +non-repeatable nature of the tasks cannot be determined by the task scheduler +automatically, and there is no mechanism for setting per-schedule backup options. +For this reason, clients that create non-repeatable tasks must be aware of +backup and restore implications and consider this fact in their designs.

Clients +can use transient schedules for non-repeatable tasks, which eliminates this +problem because transient schedules are not backed up or restored. If the +use of a persistent schedule is necessary, clients can choose to become backup-aware +by registering for notifications through CBaBackupSessionWrapper or +using the Secure Backup +Engine APIs, and taking appropriate actions. These actions might be +to delete the non-repeatable task before backup or after restore, or rescheduling +it after restore to a different time for time-based schedules.

Note: Any +schedule that expires or becomes ready to execute when a backup or restore +is in progress is delayed, and is only executed when the backup or restore +process is completed.

+
+Task Scheduler +Overview +Developing +Programs with Task Scheduling Capabilities
\ No newline at end of file