- Add
store_intermediate_errorsoption (default true, preserving current behavior). When false, a task that fails with retries remaining no longer writes its exception to the result store or runs itson_errorhandler until the retries are exhausted, so a blockingResult.get()waits for the final outcome instead of raising on the first failed attempt. - Add
create_tablesoption to the SQL storage backends (default true). Passcreate_tables=Falseto skip the automaticcreate table if not existsat init, e.g. to manage huey's schema via Django migrations rather than have every web worker attempt DDL on import. - Add a
create_huey_tablesDjango management command to create the tables whencreate_tables=False. - Fix
on_errorhandlers accumulating one exception argument per failed attempt across retries. Handlers now receives only the current attempt's exception. - Add
huey.contrib.stats, a task-statistics engine:enable_stats(huey, db)records task signals into two peewee tables (huey_event,huey_inflight) and exposes aHueyStatsquery API for throughput, per-task timing, error-rates, in-flight and recent-event views. Depends only on peewee, so it can back a custom dashboard or exporter; enable it in the consumer to capture task execution. - Add a Flask-Peewee admin panel,
huey.contrib.flask_admin.HueyPanel, registered w/admin.register_panel('Huey', HueyPanel, huey). It renders the recorded stats as a dashboard card plus a standalone page with live queue depths, throughput, per-task stats, running tasks and recent events. Has controls to revoke/restore tasks and flush the queue, schedule, results or locks. Requires flask-peewee 4.0.1+.
Admin integration for flask-peewee
Detail view
