taskflow-rs 0.1.1

A high-performance, async-first task orchestration framework for Rust
Documentation
use crate::executor::ExecutorConfig;
use crate::scheduler::SchedulerConfig;
use serde::{Deserialize, Serialize};

#[derive(Clone, Debug, Serialize, Deserialize)]
pub enum StorageType {
    InMemory,
}

#[derive(Clone, Debug, Serialize, Deserialize)]
pub struct TaskFlowConfig {
    pub scheduler: SchedulerConfig,
    pub executor: ExecutorConfig,
    pub storage_type: StorageType,
}

impl Default for TaskFlowConfig {
    fn default() -> Self {
        Self {
            scheduler: SchedulerConfig::default(),
            executor: ExecutorConfig::default(),
            storage_type: StorageType::InMemory,
        }
    }
}

impl TaskFlowConfig {
    pub fn with_in_memory() -> Self {
        Self {
            storage_type: StorageType::InMemory,
            ..Default::default()
        }
    }
}