Update dependency huey to v3#2323
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
5ee033d to
c1f397f
Compare
a205836 to
75909a0
Compare
Signed-off-by: Renovate Bot <bot@renovateapp.com>
75909a0 to
4d0e352
Compare
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:
==2.6.0→==3.0.3Release Notes
coleifer/huey (huey)
v3.0.3Compare Source
Django integration works (manage.py run_huey), but using Django's canonical
APIs and decorator. Docs here.
View commits
v3.0.2Compare Source
ConnectionError-- the errorpropagates to the worker, which logs it and applies exponential backoff.
Previously a downed redis server caused workers to busy-loop silently.
by a pre-execute hook -- the skipped member contributes a
Noneplaceholderresult. Previously the callback was silently lost.
instead of running them back-to-back, which enqueued duplicate periodic
tasks for the current minute.
wait_result()when usingnotify_resultwith redis < 6 (or an unknown server version): timeouts over one second were
cut to 1s, and sub-second timeouts blocked indefinitely.
put_if_empty()is now atomic for the memory and file storage backends,restoring
lock_task()mutual exclusion on those backends.FileLockno longer unlinks an existing lock file at construction time,which broke mutual exclusion for any process already holding the lock.
signal.setitimer(), so float / sub-secondtimeouts work. Previously a timeout less than 1 second was silently ignored
(
alarm(0)cancels the timer) and fractional seconds were truncated.happen in the main loop, avoiding re-entrant I/O from signal context.
taskis no longer dropped duringserialization. Context tasks (
context=True) inject the task instance intoa copy of the kwargs rather than mutating the task's data.
MemoryStorage.dequeue()andadd_to_schedule()acquire the storage lock,like the other mutating methods.
normalize_time()treatsdelay=0as "now" rather than ignoring it, soe.g.
expires=0means "expires immediately" instead of "never expires".enqueued_items(limit)returnedlimit + 1items from the producerend of the queue; it now returns the next-
limititems to be dequeued,matching the other storage backends.
instead of failing at import time.
View commits
v3.0.1Compare Source
sends major/minor. redis-py incorrectly parses these as floats because
there's only a single decimal, so the version check was breaking.
--max-tasks(previously was--max_tasks).View commits
v3.0.0Compare Source
chord()(map -> reduce) andgroup()(map) primitives.timeout(using SIGALRM for process and gevent.Timeout for greenlet) tocontrol task running time. For threads, unfortunately, there's no good
mechanism so instead APIs for cooperatively checking timeout are provided on
the Task instance.
rate_limit()for tasks.Result.is_ready()method for checking result readiness.pass
notify_result=Truewhen initializing your Huey instance.incr(key, amount=1)to storage API for atomic increment primitive.This is used by
chord().wait_result()method to storage APIs for efficiently waiting for aresult to become ready. The default implementation uses the exponential
backoff from the previous implementation of a blocking
Result.get()- so nochanges are needed. However if you have a custom storage implementation, this
provides a mechanism for pub/sub or other notification of result readiness.
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.