Skip to main content

acts_next/store/data/
task.rs

1use crate::{
2    TaskState,
3    store::{DbCollectionIden, StoreIden},
4};
5use serde::{Deserialize, Serialize};
6
7#[derive(Debug, Deserialize, Serialize, Clone)]
8pub struct Task {
9    pub id: String,
10    pub pid: String,
11    pub tid: String,
12    pub node_data: String,
13    pub kind: String,
14    pub prev: Option<String>,
15
16    pub name: String,
17    pub state: String,
18    pub data: String,
19    pub err: Option<String>,
20    pub start_time: i64,
21    pub end_time: i64,
22    pub hooks: String,
23    pub timestamp: i64,
24}
25
26impl DbCollectionIden for Task {
27    fn iden() -> StoreIden {
28        StoreIden::Tasks
29    }
30}
31
32impl Task {
33    pub fn set_state(&mut self, state: TaskState) {
34        self.state = state.into();
35    }
36    pub fn set_start_time(&mut self, time: i64) {
37        self.start_time = time;
38    }
39    pub fn set_end_time(&mut self, time: i64) {
40        self.end_time = time;
41    }
42}