Skip to main content

Crate areev_trigger

Crate areev_trigger 

Source
Expand description

Areev triggers — declared as grains, evaluated by a one-shot idempotent command, safe to invoke concurrently.

There is still no daemon and no scheduler. What changes is that the cadence becomes data in the memory instead of a fact buried in someone’s crontab: the OS scheduler stays a dumb heartbeat, and the memory decides what is actually due. That is the same posture areev loop run --if-stale already establishes, and the same one anacron and systemd’s Persistent=true take — a persisted watermark plus catch-up on the next invocation, rather than a resident process holding a timer.

Re-exports§

pub use clock::Clock;
pub use clock::FixedClock;
pub use clock::SystemClock;
pub use connector::PollItem;
pub use connector::PollRequest;
pub use connector::PollResponse;
pub use context::parse_context_query;
pub use context::ContextQuerySpec;
pub use eval::trigger_name;
pub use eval::EvalOptions;
pub use eval::EvalReport;
pub use eval::Evaluator;
pub use eval::RunStarter;
pub use eval::StartResult;
pub use eval::TriggerStatus;
pub use error::Result;
pub use error::TriggerError;

Modules§

clock
The one place this crate reads the wall clock.
connector
The connector contract.
context
The --context-query declaration spelling (#92).
error
TRG-Ennn error codes.
eval
The evaluation cycle: find due, claim, invoke, ingest, start, release.
predicate
Predicates over grains, and boolean gates over triggers.
render
areev trigger render — emit scheduler config, never create it.
schedule
When is this trigger next due?