hatchet-sdk 0.2.7

This is an unofficial Rust SDK for Hatchet, a distributed, fault-tolerant task queue.
Documentation
use hatchet_sdk::{Hatchet, Register, tokio};

#[path = "simple.rs"]
mod simple;
use simple::create_simple_task;

#[path = "dag.rs"]
mod dag;
use dag::create_dag_workflow;

#[path = "error.rs"]
mod error;
use error::create_error_task;

#[path = "dynamic_child_spawning.rs"]
mod dynamic_child_spawning;
use dynamic_child_spawning::create_child_spawning_workflow;

#[path = "input_json_schema.rs"]
mod input_json_schema;
use input_json_schema::create_schema_workflow;

#[path = "streaming.rs"]
mod streaming;
use streaming::create_streaming_task;

#[tokio::main]
#[allow(dead_code)]
async fn main() {
    dotenvy::dotenv().ok();
    env_logger::Builder::new()
        .filter_module("hatchet_sdk", log::LevelFilter::Debug)
        .init();

    let hatchet = Hatchet::from_env().await.unwrap();

    let simple_task = create_simple_task().await;
    let dag_workflow = create_dag_workflow().await;
    let error_task = create_error_task().await;
    let (parent_workflow, child_workflow) = create_child_spawning_workflow().await;
    let schema_workflow = create_schema_workflow().await;
    let streaming_task = create_streaming_task().await;

    hatchet
        .worker("example-worker")
        .build()
        .unwrap()
        .add_task_or_workflow(&simple_task)
        .add_task_or_workflow(&dag_workflow)
        .add_task_or_workflow(&error_task)
        .add_task_or_workflow(&parent_workflow)
        .add_task_or_workflow(&child_workflow)
        .add_task_or_workflow(&schema_workflow)
        .add_task_or_workflow(&streaming_task)
        .start()
        .await
        .unwrap();
}