Skip to main content

acts/
lib.rs

1//! A lightweight, fast, tiny, extensiable workflow engine
2
3#![doc = include_str!("../README.md")]
4
5mod acl;
6mod builder;
7
8mod cache;
9mod config;
10mod engine;
11mod env;
12mod error;
13mod event;
14mod export;
15mod model;
16mod package;
17mod plugin;
18mod scheduler;
19mod signal;
20mod snapshot;
21mod store;
22mod utils;
23
24#[cfg(test)]
25mod tests;
26
27use parking_lot::RwLock;
28use std::sync::Arc;
29
30pub use acl::{ACTION_SUBSCRIBE, Acl, AclConfig, AclError, Principal, RoleConfig, ScopePolicy};
31pub use builder::EngineBuilder;
32pub use config::{Config, ConfigLog, DEFAULT_LOG_MAX_FILES, MissingParamAction};
33pub use engine::Engine;
34pub use env::ActUserVar;
35pub use error::{ActError, Error};
36pub use event::{Action, Event, Message, MessageState};
37pub use export::actions;
38pub use export::{Channel, ChannelOptions, Executor};
39pub use model::*;
40pub use package::{ActPackage, ActPackageCatalog, ActPackageDefinition, ActResource, ActRunAs};
41pub use plugin::ActPlugin;
42pub use scheduler::Context;
43pub use signal::Signal;
44pub use snapshot::{MAX_TTL_SECS, SnapshotEntry, SnapshotManager, SnapshotOptions, SnapshotPolicy};
45pub use store::*;
46pub use tokio_util::sync::CancellationToken;
47pub type Result<T> = std::result::Result<T, ActError>;
48
49pub(crate) use scheduler::NodeKind;
50pub(crate) type ShareLock<T> = Arc<RwLock<T>>;
51pub(crate) use package::Package;
52pub(crate) use scheduler::{ActTask, TaskState};