As an administrator, I want to be able to define if scheduled bundle actions should run based on how much time has passed from the scheduled time.

During bundle assignment scheduling, a new option should be added:

"Only run bundle actions if current time less than ___ seconds/minutes/hours past scheduled time"

Currently, scheduled bundles run in a serial manner. All scheduled bundle actions are added to a run queue on the agent side. The bundle actions are added to the queue according to the bundle schedule. However, the bundle actions are then executed in the order they were added to the queue. This design can result in bundles seeming to run off schedule if prior scheduled bundles have not finished their action sets by the time the next bundle schedule is reached.

Consider the following scenario:

- BundleA is scheduled to launch at 10:00 AM.
- BundleB is scheduled to launch at 10:30 AM.
- BundleA launch action set takes 1 hour to complete.
- BundleB is triggered at 10:30 AM according to the schedule.
- BundleB launch actions don't actually start until 11:00 AM when BundleA launch actions have completed.

In some cases, this behavior may not matter. However, consider if BundleB performed a reboot that should only be done if it was performed at the scheduled time. Handling this situation would require using action level system requirements to prevent the reboot from running at an unwanted time. For example, an action level system requirement could be set to only perform the reboot if a user is not logged into the workstation. Another option would be to show a prompt allowing the user to cancel the reboot.

NOTE:
The option "Process immediately if device unable to execute on schedule" does not apply in the above scenario. That option is only designed to handle if the workstation is not running when the scheduled time occurs.

Comments

  • is the "bundle order" on the summary tab a solution for you?