chore(deps): update dependency huey to v3.4.0 - #2679
Merged
Conversation
Signed-off-by: Renovate Bot <bot@renovateapp.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
==3.3.4→==3.4.0Release Notes
coleifer/huey (huey)
v3.4.0Compare Source
Backwards-incompatible. The django stats app writes to its own sqlite
database by default (
huey-stats.dbinsettings.BASE_DIR), instead ofDATABASES['default']. To keep recording in your main Django database,specify the database explicitly:
HUEY_STATS['database']takes a db-url or a peeweeDatabase, or useHUEY_STATS['filename']to set the sqlite path. See the Django docs sectionfor building a peewee database from your existing
DATABASESentry.The admin Events log is now rendered from the stats database through
peewee, rather than being a
ModelAdminvia ORM. It is now linked from thedashboard's Recent events heading.
Consumer:
--shutdown-timeoutoption to bound graceful shutdown time.--graceful-signaloption to allow making SIGTERM the graceful shutdownsignal (e.g.
-g TERM).User-facing APIs:
ttltolock_task()andput_if_empty()so locks expire on their own.Supported by memory and redis storages, others raise
NotImplementedError.RedisHueyrequires server hash-field TTL support (redis 7.4+ or valkey9+),
RedisExpireHueyworks on any version.timeoutparameter toaget_result().Small stuff:
from running.
0-30/5) and wrap-around ranges (22-2,day_of_week='1-7'). RaiseValueErrorwhen a field matches no values.huey.Errorand skipped(revoked, expired, cancelled) members as
huey.SKIPPEDinstead of a rawexception or
None.linger until expiry on
RedisExpireStorage.stage, so their
Resulthandles raise instead of blocking.idinTaskWrapper.s(), matchingschedule().Storage:
Huey.pending()andHuey.scheduled(), logging the error, asread_schedule()already does.clean_nameoption toRedisHuey(default toTrue). SpecifyFalseto stop stripping non-alphanumeric characters from the storage namespace. The
default will change in a future release.
peek_data,pop_dataanddelete_data, andmake
RedisExpireStorage.incr()set the TTL atomically w/ the increment.SqliteStorage.dequeue()when the queue isempty, so idle consumers no longer block producers and the scheduler.
SqliteStorage.read_schedule()delete to avoid sqlite'sparameter limit when many tasks come due at once. Same fix in
SqlHuey.SqliteStorage.read_schedule()andSqlHuey.read_schedule()by(timestamp, id), matchingPostgresStorage.queueto the sqlite task index (task_queue_priority_id) so queuessharing a file no longer scan each other's rows. The old
task_priority_idindex is dropped when the schema is initialized. I'll get rid of the
temporary in-band drop in a few releases.
peek_many()to the storage API. Revocation checks now fetch the taskand task-class keys in one round trip.
result_items()on every storage backend. Redis andFile storage previously returned bytes.
Stats:
timeout,locked,rate-limitedandretryinginstats recorder.
max_eventspruning to count rows per queue. Withmultiple queues sharing a stats db, each queue retained only a fraction of
the configured cap.
inflight_hoursoption to stats recorder, replacing the hardcoded 6hour in-flight cutoff.
change_hueydashboardpermission for the django admindashboard's revoke, restore and flush controls. Previously any staff user
who could view the dashboard could also flush the queue.
huey[stats]extra which installs ol' peewee.View commits
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.