Scheduled Tasks¶
Pulp can schedule a number of tasks to be performed at a later time, on a recurring interval, or both.
Pulp utilizes the ISO8601 interval format for specifying these schedules. It supports recurrences, start times, and durations for any scheduled task. The recurrence and start time is optional on any schedule. When the recurrence is omitted, it is assumed to recur indefinitely. When the start time is omitted, the start time is assumed to be now.
More information on ISO8601 interval formats can be found here: http://en.wikipedia.org/wiki/ISO_8601#Time_intervals
Scheduled tasks are generally treated as sub-collections and corresponding resources in Pulp’s REST API. All scheduled tasks will have the following fields:
_idThe schedule id
_hrefThe uri path of the schedule resource
scheduleThe schedule as specified as an ISO8601 interval
failure_thresholdThe number of consecutive failures to allow before the scheduled task is automatically disabled
enabledWhether or not the scheduled task is enabled
consecutive_failuresThe number of consecutive failures the scheduled tasks has experienced
remaining_runsThe number of runs remaining
first_runThe date and time of the first run as an ISO8601 datetime
last_run_atThe date and time of the last run as an ISO8601 datetime (changed in 2.4 fromlast_run)
next_runThe date and time of the next run as an ISO8601 datetime
taskThe name (also the python path) of the task that will be executed
Scheduled tasks may have additional fields that are specific to that particular task.
Sample scheduled task resource
{
"next_run": "2014-01-28T16:33:26Z",
"task": "pulp.server.tasks.consumer.update_content",
"last_updated": 1390926003.828128,
"first_run": "2014-01-28T10:35:08Z",
"schedule": "2014-01-28T10:35:08Z/P1D",
"args": [
"me"
],
"enabled": true,
"last_run_at": null,
"_id": "52e7d8b3dd01fb0c8428b8c2",
"total_run_count": 0,
"failure_threshold": null,
"kwargs": {
"units": [
{
"unit_key": {
"name": "pulp-server"
},
"type_id": "rpm"
}
],
"options": {}
},
"resource": "pulp:consumer:me",
"remaining_runs": null,
"consecutive_failures": 0,
"options": {},
"_href": "/pulp/api/v2/consumers/me/schedules/content/update/52e7d8b3dd01fb0c8428b8c2/"
}