Skip to main content

z4j-huey

PyPI version Python License

The Huey engine adapter for z4j.

Streams supported Huey task lifecycle events from your consumers to the z4j brain and accepts operator control actions from the dashboard. Pair with z4j-hueyperiodic to surface @periodic_task schedules.

What it ships

Capability Notes
Task lifecycle events enqueued, started, succeeded, failed, retried, revoked
Timeouts and rate limits (Huey 3) a timeout that is not retried is reported as failed, a rate limit that is not retried as revoked; either one followed by a retry is reported as the retry alone
Task discovery Huey's in-process task registry
Submit direct against the Huey instance
Retry requires both complete operator-supplied replacement args and kwargs because Huey cannot recover the original signature by task id
Cancel prevents a pending task from starting; Huey cannot interrupt already-running work
Reconcile task probes Huey's result store; absence reports honest unknown

Not supported (Huey's storage model can't back them faithfully, so the adapter declines the capability instead of faking it): bulk retry, queue purge, dead-letter requeue, worker restart, rate limiting. Cancel uses Huey's revoke-by-id primitive. It prevents a pending task from starting but cannot stop running work.

Compatibility

  • Huey 2.4 and later, with no upper bound: Huey 2 and Huey 3 are both supported. The package's suite runs a real Huey consumer on Huey 2.4.0 and on Huey 3.4.0 and asserts the exact sequence of events for every lifecycle path on each: one terminal event per task, and never a terminal event and a retry for the same attempt.
  • Huey older than 2.5.3 has no enqueue signal. On those releases a task first appears when it starts, and its arguments are not captured.
  • Storage backends: redis, sqlite, in-memory
  • Python 3.11+

Full per-adapter matrix at https://docs.z4j.com/reference/compatibility/.

Changing the Huey major

Upgrading Huey from 2 to 3 needs nothing from the adapter: a Huey 3 consumer reads the work a Huey 2 process enqueued.

Downgrading Huey from 3 to 2 loses queued work unless you drain first. Huey 3 writes a wider queue message than Huey 2 can read, so a Huey 2 consumer raises TypeError on every task a Huey 3 process enqueued and the task is gone; a scheduled task that has come due is dropped the same way. Before downgrading Huey, stop enqueueing and let the queue and the schedule empty. Run one Huey major in every process that shares a queue, including the process that hosts the z4j agent.

This is Huey's own queue format, and z4j does not change it in either direction: a retry or a schedule fire is enqueued through your Huey instance in that Huey's format, and the adapter reads task state from the result store, which both majors read from each other.

Install

pip install z4j-huey z4j-hueyperiodic

Pair with a framework adapter:

pip install z4j-django  z4j-huey z4j-hueyperiodic   # Django
pip install z4j-flask   z4j-huey z4j-hueyperiodic   # Flask
pip install z4j-fastapi z4j-huey z4j-hueyperiodic   # FastAPI
pip install z4j-bare    z4j-huey z4j-hueyperiodic   # framework-free worker

Pairs with

Reliability

  • Lifecycle-capture failures are isolated from Huey hooks and task code; capture hooks make no brain network request inline.
  • The in-process event queue and SQLite outbound buffer are bounded. Queue overflow drops new events and buffer pressure evicts oldest rows; both losses are logged.

Documentation

Full docs at docs.z4j.com/engines/huey/.

License

Apache-2.0, see LICENSE.

Metadata

Release files for z4j-huey 1.12.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for z4j-huey 1.12.1
File Size Uploaded
z4j_huey-1.12.1.tar.gz 43.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for z4j-huey 1.12.1
File Interpreter ABI Platform
z4j_huey-1.12.1-py3-none-any.whl Python 3 none any Details

Total release size: 66.9 kB

Release files / z4j_huey-1.12.1.tar.gz

Download URL z4j_huey-1.12.1.tar.gz
Size 43.9 kB
Tags Source
SHA-256 checksum
How to use checksums
fe1267d0fa4df3f2727ea135a24bf4e7170f2b18344b0eeb85f4329756ebdace
BLAKE2b-256 checksum
How to use checksums
b818bbe43008055a13a890469cb314d325a4171709ad9879ac0e6a9d04ed9ddf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / z4j_huey-1.12.1-py3-none-any.whl

Download URL z4j_huey-1.12.1-py3-none-any.whl
Size 23.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
907bfcf36307d211d15004df72fbf50c8adfaf5996ccfe4f5fce77a078bc995d
BLAKE2b-256 checksum
How to use checksums
0bc963515d586bc8fb72fa0430add9199b9e423e877ca8a06bc38c8cde31c25a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release history Release notifications | RSS feed

This release

1.12.1 This release

2 release files

1.11.0

2 release files

1.10.0

2 release files

1.9.1

2 release files

1.9.0

2 release files

1.8.0

2 release files

1.7.0

2 release files

1.6.7

2 release files

1.6.0

2 release files

1.5.0

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.1.2

2 release files

1.1.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page