taskflow_rs/lib.rs
1//! taskflow-rs: A high-performance, async-first task orchestration framework for Rust
2//!
3//! # Overview
4//!
5//! taskflow-rs provides a robust framework for scheduling, executing, and managing
6//! asynchronous tasks with dependency resolution, automatic retries, and pluggable
7//! storage backends.
8//!
9//! # Key Features
10//! - 🚀 **Async-first architecture** built on Tokio for maximum performance
11//! - 🔄 **Automatic retry** with configurable backoff strategies
12//! - 📋 **Task dependencies** for complex workflow orchestration
13//! - 🧩 **Pluggable storage** supporting multiple backend implementations
14//! - 📊 **Real-time monitoring** of task execution and system metrics
15//! - 🛡️ **Memory safety** guaranteed by Rust's ownership model
16//!
17//! # Architecture
18//!
19//! The framework consists of several core components:
20//! - **TaskFlow**: Main entry point and coordination layer
21//! - **Scheduler**: Responsible for task scheduling and dependency resolution
22//! - **Executor**: Handles task execution with multiple handler types
23//! - **Storage**: Abstract interface for task persistence
24//! - **Task**: Core data structures for task definitions and results
25//!
26//! # Supported Task Handlers
27//! - Python script execution
28//! - File operations (create, read, write, delete)
29//! - HTTP requests
30//! - Shell command execution
31//! - Custom handlers (extensible via trait implementation)
32
33pub mod error;
34pub mod executor;
35pub mod framework;
36pub mod scheduler;
37pub mod storage;
38pub mod task;
39
40/// Common error type for all TaskFlow operations
41pub use error::TaskFlowError;
42
43/// Executor component for handling task execution
44pub use executor::Executor;
45
46/// Main TaskFlow framework entry point
47pub use framework::TaskFlow;
48
49/// Scheduler component for task coordination
50pub use scheduler::Scheduler;
51
52/// Task-related data structures and definitions
53pub use task::{Task, TaskDefinition, TaskResult, TaskStatus};