Quicx
§ 03.01Reference

CLI Reference

quicx is the single binary that ships with the release. It is self-documenting — running it with no arguments prints the same usage you see below.

~ $ quicx
quicx v1.0.3 — lightweight task queue daemon

usage:
  quicx start --config FILE
  quicx stop
  quicx status
  quicx version
quicx start --config FILE
start the daemon in the foreground

Binds the port declared in [server], maps the PMAD pool, and begins accepting connections. Runs in the foreground — the calling shell owns the process. Pair with systemd, tmux, launchd or your container supervisor for lifecycle management.

--config is optional. When omitted, the daemon starts with the built-in default configuration (port 16381, 8 MiB pool, 64 exact-fit size classes from 16 to 1024 bytes). Pass a path to override any or all values.

quicx stop
gracefully stop the local daemon

Sends SIGTERM to the pid recorded in /var/run/quicx.pid. The daemon drains in-flight tasks, munmaps the PMAD pool and exits cleanly.

quicx status
live observation of the running daemon

Opens a short-lived control connection over the /tmp/quicx.sock Unix socket and sends MSG_STATS, then renders the MSG_STATS_RESPONSE as a human-readable table. Shows uptime, task counters (including in-flight, derived as submitted − completed − failed), memory usage against your configured pool, and a per-size-class utilization breakdown. Safe to script — exits non-zero if the daemon is unreachable.

~ $
user@host ~ $ quicx status

  quicx v1.0.3  ·  pid 3709  ·  up 0h 0m 02s

  tasks     submitted           0
            completed           0   ░░░░░░░░░░░░░░░░░░░░     0.0%
            in flight           0   = 0 queued + 0 running

  memory    592.8 KiB / 8.00 MiB    █░░░░░░░░░░░░░░░░░░░     7.2%
            usable 8.00 MiB · 64 size classes

            16B        1 /   5,241  ░░░░░░░░░░░░░░░░░░░░     0.0%
            64B        0 /  12,580  ░░░░░░░░░░░░░░░░░░░░     0.0%
            ...        (62 more size classes)

user@host ~ $

Redesigned in v1.0.3 — bar charts, thousands separators and human-readable byte sizes replace the raw counters from earlier releases. New fields exposed on the wire: workers_registered (ever registered, not just currently live), pool_size (bytes requested from the OS), usable_bytes (after the metadata carve-out) and used_bytes (metadata + live blocks).

HEADS UPCLI and daemon must match versions
The stats wire format grew in v1.0.3 (StatsHeader: 48 → 73 bytes). If quicx statusand the daemon it’s talking to are different releases, it detects the length mismatch and prints daemon speaks a different stats format — restart the daemon to match instead of misparsing the response.
quicx version
print the binary version + build metadata

Prints the semver, build date and target triple. Machine-parsable if you pipe it — one line, space-separated.