taskflow_rs/framework/
config.rs

1use crate::executor::ExecutorConfig;
2use crate::scheduler::SchedulerConfig;
3use serde::{Deserialize, Serialize};
4
5#[derive(Clone, Debug, Serialize, Deserialize)]
6pub enum StorageType {
7    InMemory,
8}
9
10#[derive(Clone, Debug, Serialize, Deserialize)]
11pub struct TaskFlowConfig {
12    pub scheduler: SchedulerConfig,
13    pub executor: ExecutorConfig,
14    pub storage_type: StorageType,
15}
16
17impl Default for TaskFlowConfig {
18    fn default() -> Self {
19        Self {
20            scheduler: SchedulerConfig::default(),
21            executor: ExecutorConfig::default(),
22            storage_type: StorageType::InMemory,
23        }
24    }
25}
26
27impl TaskFlowConfig {
28    pub fn with_in_memory() -> Self {
29        Self {
30            storage_type: StorageType::InMemory,
31            ..Default::default()
32        }
33    }
34}