Validated task definitions
Read versioned JSON task files, normalize task fields, reject duplicate ids, validate dependencies, and turn user input into one scheduler-ready shape.
Build a local task runtime that reads task definitions, schedules work, limits concurrency, records every attempt, handles failures as data, persists state, and writes reports that make async control flow visible.
$ npm run tasks -- --helpLocks down the CLI surface before scheduling work.
$ npm run tasks -- tasks/one-hundred-delays.json --concurrency 5Shows queue time and active task count.
$ npm run tasks -- tasks/mixed-results.json --mode allSettled --concurrency 3Compares result semantics without changing fixtures.
$ npm run tasks -- tasks/cancel-after.json --concurrency 2 --cancel-after 250Tests abort propagation through running work.
$ npm run benchWrites throughput and failure-handling reports.
Read versioned JSON task files, normalize task fields, reject duplicate ids, validate dependencies, and turn user input into one scheduler-ready shape.
Run command and function tasks, enforce concurrency, measure queue time, block dependents after failures, and record run-level scheduling metrics.
Classify non-zero exits, spawn errors, thrown errors, rejected Promises, timeouts, cancellations, and retry attempts without losing task evidence.
Emit lifecycle events, expose progress through an async iterator, persist state during the run, resume interrupted work, and write final benchmark reports.
The build starts with a strict CLI and ends with benchmark reports. Each phase adds one observable runtime capability and one artifact the learner can inspect.
Create the task runtime project shell with a CLI, folders, npm scripts, and the first task-file argument path.
Define a versioned task file format and validate it before any task starts.
Execute one command task and write a report with status, timing, and child-process evidence.
Capture task failures as report data while keeping the runtime alive long enough to write evidence.
Run multiple tasks while keeping active work under the configured concurrency limit.
Compare all, allSettled, race, and any behavior inside the task runtime.
Fail tasks that exceed a configured deadline and clean up the work they started.
Stop pending and running tasks with a run-level AbortController.
Retry failed tasks with a bounded, inspectable policy.
Emit task lifecycle events from the runtime so observers can subscribe without changing scheduler code.
Expose runtime progress as an async iterator consumed by the CLI.
Save task state to disk while a run is still active.
Handle SIGINT and SIGTERM while preserving state and writing shutdown evidence.
Compare concurrency, timeout, retry, and combinator settings with machine-readable and human-readable reports.
Lab 06 treats task state as evidence: latest run data, combinator mode comparison, live persistence, shutdown records, benchmark JSON, and a final Markdown report generated from the same scenario objects.
reports/latest.jsonlatest run status, task results, timings, process evidence, and scheduler metricsreports/modes.jsonall, allSettled, race, and any behavior compared across runsstate/run.jsonlive state snapshots with task status, options, events, and resume datareports/shutdown.jsonsignal, shutdown mode, terminal states, and forced-exit evidencereports/bench.jsonmachine-readable scenario results for concurrency, timeouts, retries, and modesreports/task-runtime.mdfinal human-readable benchmark report generated from the same scenario dataSwitch between one-reader pricing and team licenses for up to 25 team members.
Volume I as EPUB, light/dark PDFs, slides, cheatsheets, and future updates.
All Labs plus the downloadable Volume I bundle in one purchase. Save $9.99 vs buying separately.
Seven long-form builds: recorder, binary store, stream workbench, resolver, watcher, task runtime, and protocol gateway.
Volume I files, slides, cheatsheets, and updates for a small engineering team.
Node Runtime Labs plus the downloadable Volume I bundle in one team license.
Seven long-form builds for onboarding, study groups, and internal training.
The bundle includes seven runtime projects covering process observation, binary storage, streams, module resolution, file watching, async orchestration, and custom protocols.