This differs from fixed scheduling because only run permissions are
necessary to schedule a job and the job only runs once at the given
- Use bootstrap-datetimepicker (for Bootstrap 3) to provide the UI
widget to select the date/time.
- Update Moment.js to 2.14.1, the later version is required for
- Add support for specifying the time to execute to the
/api/18/job/[ID]/run endpoint. This must be a valid ISO 8601 date
- To allow multiple executions to be scheduled, the job must support
multiple executions, otherwise only one execution (either scheduled
or run immediately) can be spawned.
- Permissions are only checked when the job is scheduled, not when it
is executed. If the run permission is revoked between the job being
scheduled and the start time, the execution will still run (though
it can be killed before it starts).
- If Rundeck is restarted, all executions which were scheduled ad hoc
will be killed and must be re-scheduled manually.
Support cluster takeover and unscheduling of ad hoc scheduled executions
when the execution mode is switched to passive.
Some unit tests have been migrated to integration tests as functions
they call now use GORM criteria queries which cannot be unit tested.
It is possible for cleanupRunningJobs() to complete before executions are
rescheduled, as it runs on a timer. If it wasn't possible to reschedule
an execution this could lead to orphaned executions remaining.