The customer noticed that during the upgrade it took about 3 hours to recreate 977 schedules on his SMP and about 10 hours on another SMP (Symantec Management Platform) server with 2,000 schedules.
Off-box upgrade may take a very long time because of the low performance of task-schedule handling during the upgrade process.
When a task or a job is scheduled to run in the future, a task schedule is created in the Configuration Management Database (CMDB) and a scheduled task is created in the Windows Task Scheduler. The task will run at the specified time.
After the task runs, the task schedule remains in the CMDB and the scheduled task in the Windows Task Scheduler even if it has no future occurrence.
The growing number of scheduled tasks can cause performance issues for Windows Task Scheduler.
Configuring task 12 of 80: Configure Altiris Task Management Installation.
Operation completed: Recreating schedules, (100%) 15,101/15,101 [4.79 i/s], schedules=(loaded: 84, deleted: 62, created: 726), total time=00:16:21.5195562
Upgrades to ITMS 8.5 primarly but still possible with 8.6 and 8.7 versions
During an upgrade, registry entry "RecreateAllSchedulesPostUpgrade" gets placed in HKLM\Software\Altiris\eXpress\Notification Server. On next service start after
upgrade (performed by SIM), AEXSVC will detect this entry and will launch recreation of all schedules. This is the same recreation that gets performed by "Recreate schedules" schedule that runs weekly.
After completion, registry entry will be removed. Synchronization was added to prevent schedule execution if schedule recreation execution is already in progress.
Note that the problem lies within standard Windows API calls that are used to re-create the schedules.
Also, schedule re-creation speed can be affected by antivirus software.
Code has been optimized to minimize calls for slow API's. A fix has been added to the newer releases (starting with ITMS 8.5 RU1).
A possible workaround / way to minimize the impact is to reduce the number of schedules by running ‘Clean up Task Schedules’ (which is available since 8.1.RU2) prior to upgrade:
The Clean up Task Schedules task lets you disable or delete the schedules that have no occurrence in the future.
Note: The existing schedules are re-saved during the upgrade. Running the Clean up Task Schedules task immediately after the upgrade does not disable or delete these schedules.