Module dev
Expand description
The dev profile: for writing workflows, not for production.
Chosen with Config::dev, Config::profile
or FUSEE_PROFILE=dev (which fusee dev and the test kit set); never
inferred. The engine says so in one line when it opens, and:
- keeps every run’s history (
Config::keep_history); - on macOS flushes with
fsyncinstead ofF_FULLFSYNC: a process crash loses nothing, power loss may; - strict replay: when a run waits or ends, its journal is replayed against the registered code on a thread of its own, and a difference is reported at once with the step name, so reading the clock, random numbers or unordered collections outside a step shows up while the code is written, not after a crash in production;
result()of a stuck run fails withError::Determinisminstead of waiting for code that matches;- serves the HTTP API and the UI (
Config::http); - records when each step began and how long it took (a
STEP_TIMEDrecord), so the UI’s step list is also a timeline.
Only the step times touch the step path, and only here: a clock read when a step begins and two varints on its record. A production step reads no clock for them and writes the same bytes as without the profile. The checks poll the run list from their own thread.
Enums§
- Profile
- Which defaults and checks an engine runs with.