- Add
retry_backoffparameter totask()andperiodic_task(). The first retry waitsretry_delayseconds and each subsequent delay is multiplied byretry_backoff, giving exponentially-growing waits between retries. - Fix
create_tables=False, which crashedSqliteHueyat connect and was silently ignored by the peeweeSqlHuey.SqlStoragealso gainsinitialize_schema()so thecreate_huey_tablescommand supports it. - Accept float priorities in
FileStorageby truncating to int. Previously they raised a TypeError. - Raise
ResultTimeoutfrom blockingResult.get()when the wait ends w/o an obtainable result, e.g. a dropped connection. Previously the internalEmptyDatasentinel could be returned. - Preserve per-call
retry_backoffwhen a task is rescheduled viaResult.reschedule(). - Clear revocations that arrive mid-execution w/ a delete, so the clear also works on
RedisExpireHueywhere destructive reads do not remove data. - Fix an off-by-one in the redis
scheduled_items()that returned limit+1 items. - Reconnect stale connections in the
SqlHueycounter methods, which run in the consumer via chords and rate limits. - Return the lock from
TaskLock.__enter__(), sowith huey.lock_task('x') as lock:binds the lock instead of None. - Defer the redis server version check to first use. Previously every storage init issued an INFO round-trip.
- Remove the undocumented Kyoto Tycoon storage backend, its tests, and the ukt CI dependency.
- Remove the djhuey
backend_classalias forhuey_class(deprecated since 2.0) and the Django <1.2settings.DATABASE_NAMEqueue-name fallback. - Fire the chord callback when a pipelined member dies before its tail. A failed, revoked, or expired stage now contributes for the member, where previously the chord counter stayed short and the callback never ran.
- Add
CySqliteHuey, which drives the sqlite storage w/cysqliteinstead of the stdlibsqlite3module and takes an open-endedpragmasdict in place of a fixed set of tuning parameters.
