api2/node/tasks: add optional until filter
so that users select specific time ranges with 'since' and 'until' (e.g. a single day) Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This commit is contained in:
parent
f66565203a
commit
c1fa057cce
|
@ -301,6 +301,11 @@ fn stop_task(
|
||||||
description: "Only list tasks since this UNIX epoch.",
|
description: "Only list tasks since this UNIX epoch.",
|
||||||
optional: true,
|
optional: true,
|
||||||
},
|
},
|
||||||
|
until: {
|
||||||
|
type: i64,
|
||||||
|
description: "Only list tasks until this UNIX epoch.",
|
||||||
|
optional: true,
|
||||||
|
},
|
||||||
typefilter: {
|
typefilter: {
|
||||||
optional: true,
|
optional: true,
|
||||||
type: String,
|
type: String,
|
||||||
|
@ -334,6 +339,7 @@ pub fn list_tasks(
|
||||||
running: bool,
|
running: bool,
|
||||||
userfilter: Option<String>,
|
userfilter: Option<String>,
|
||||||
since: Option<i64>,
|
since: Option<i64>,
|
||||||
|
until: Option<i64>,
|
||||||
typefilter: Option<String>,
|
typefilter: Option<String>,
|
||||||
statusfilter: Option<Vec<TaskStateType>>,
|
statusfilter: Option<Vec<TaskStateType>>,
|
||||||
param: Value,
|
param: Value,
|
||||||
|
@ -352,6 +358,13 @@ pub fn list_tasks(
|
||||||
let limit = if limit > 0 { limit as usize } else { usize::MAX };
|
let limit = if limit > 0 { limit as usize } else { usize::MAX };
|
||||||
|
|
||||||
let result: Vec<TaskListItem> = list
|
let result: Vec<TaskListItem> = list
|
||||||
|
.skip_while(|info| {
|
||||||
|
match (info, until) {
|
||||||
|
(Ok(info), Some(until)) => info.upid.starttime > until,
|
||||||
|
(Ok(_), None) => false,
|
||||||
|
(Err(_), _) => false,
|
||||||
|
}
|
||||||
|
})
|
||||||
.take_while(|info| {
|
.take_while(|info| {
|
||||||
match (info, since) {
|
match (info, since) {
|
||||||
(Ok(info), Some(since)) => info.upid.starttime > since,
|
(Ok(info), Some(since)) => info.upid.starttime > since,
|
||||||
|
|
Loading…
Reference in New Issue