mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-06-25 17:42:49 +02:00
Changelog: =========== - Add a Django 6.0 task backend - pretty much works the same way the normal Django integration works (manage.py run_huey), but using Django's canonical APIs and decorator. Docs here. - Redis blocking dequeue no longer swallows ConnectionError -- the error propagates to the worker, which logs it and applies exponential backoff. Previously a downed redis server caused workers to busy-loop silently. - Chord callbacks now fire when a member task is revoked, expired or cancelled by a pre-execute hook -- the skipped member contributes a None placeholder result. Previously the callback was silently lost. - Scheduler skips missed periodic checks after a stall (e.g. suspend/resume) instead of running them back-to-back, which enqueued duplicate periodic tasks for the current minute. - Fix inverted timeout clamp in wait_result() when using notify_result with 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. - FileLock no longer unlinks an existing lock file at construction time, which broke mutual exclusion for any process already holding the lock. - Process-worker task timeouts use signal.setitimer(), so float / sub-second timeouts work. Previously a timeout less than 1 second was silently ignored (alarm(0) cancels the timer) and fractional seconds were truncated. - Consumer signal handlers only set flags -- logging and greenlet cleanup now happen in the main loop, avoiding re-entrant I/O from signal context. - A user-supplied task kwarg named task is no longer dropped during serialization. Context tasks (context=True) inject the task instance into a copy of the kwargs rather than mutating the task's data. - MemoryStorage.dequeue() and add_to_schedule() acquire the storage lock, like the other mutating methods. - normalize_time() treats delay=0 as "now" rather than ignoring it, so e.g. expires=0 means "expires immediately" instead of "never expires". - Redis enqueued_items(limit) returned limit + 1 items from the producer end of the queue; it now returns the next-limit items to be dequeued, matching the other storage backends. - Redis-dependent tests are skipped when no local redis server is reachable, instead of failing at import time. Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
19 lines
420 B
BlitzBasic
19 lines
420 B
BlitzBasic
SUMMARY = "a little task queue for python"
|
|
SECTION = "devel/python"
|
|
LICENSE = "MIT"
|
|
LIC_FILES_CHKSUM = "file://LICENSE;md5=5cac039fcc82f01141cc170b48f315d4"
|
|
|
|
PYPI_PACKAGE = "huey"
|
|
|
|
SRC_URI[sha256sum] = "1a17fef95fc8432f75413f1b77439cef5f3493c1ddbfba9151756b31a1b2dad3"
|
|
|
|
RDEPENDS:${PN} += " \
|
|
python3-datetime \
|
|
python3-logging \
|
|
python3-multiprocessing \
|
|
python3-json \
|
|
"
|
|
|
|
inherit pypi python_setuptools_build_meta
|
|
|