iii / worker
$worker

shell

v0.3.5

Unix shell + filesystem worker — exec with allowlist/denylist/timeout/output caps and background jobs; fs::ls|stat|mkdir|rm|chmod|mv|grep|sed|read|write with host jail, denylist, size caps, and sandbox-target forwarding

  • macOS: arm64 · x64
  • Linux: arm64 · armv7 · x64

skill doc

skills/status.md

Polling a background job to completion

When to use

  • Polling a job spawned by shell::exec_bg until it leaves running.
  • Fetching captured stdout/stderr once a job has terminated, before retention expires.
  • Diagnosing a job that exited with a non-zero exit_code.

Notes

  • not_found (the trigger Err) means the job_id either never existed or aged out of cfg.job_retention_secs (default 1 hour after termination). Do not retry; re-run shell::exec_bg if the work still needs doing.
  • Per-stream output is bounded by cfg.max_output_bytes (default 1 MiB). Once the cap is hit on a stream, the corresponding *_truncated flag stays true and new bytes are dropped while the job keeps running.
  • Use shell::list for a lightweight overview of every job. shell::status returns the full record, including potentially large captured buffers, so it costs more per call.
  • Sandbox-backed jobs that were shell::kill-ed flip to killed immediately even though the in-VM process may still be running. Their final stdout/stderr arrive on the late sandbox::exec response and are not applied if the record is already killed.