Changelog#

v0.12.3 (2024-02-21)#

  • V0.12.3. [tobymao]

  • Move settings import tests to a separate file. [Paweł Dettlaff]

  • Update readme. [Paweł Dettlaff]

  • Support setting factories. [Paweł Dettlaff]

    Allow the settings objects imported during saq.worker.start() to be callable. This makes it possible to eliminate import-time side effects, especially if creating the settings objects is more involved.

  • Update simple.py. [Brian Hahn]

    fix typo

  • Add CI for Python3.12. [Grigi]

  • Update queue.py to support redis >= 5.* aclose method. [maxyme-perceiv]

  • Fixed port`s type in the ArgumentParser. [AIvashov]

v0.12.2 (2023-11-18)#

  • V0.12.2. [tobymao]

  • Dedup job infos closes #101. [tobymao]

v0.12.1 (2023-11-14)#

  • V0.12.1. [barak_alon]

  • Queue.listen connection leak (#100) [barak]

  • Actually check for online workers on healthcheck. [Daniil Kharkov]

  • Use provided json encoder/decoder for stats & info queries. [Daniil Kharkov]

  • AutoAPI docs basically complete now. [Grigi]

v0.12.0 (2023-09-11)#

  • V0.12.0. [tobymao]

  • Logging verbosity balancing. [Grigi]

    I prefer a modicum of logging to simplify diagnostics, but not too much.

    • Default loglevel of ERROR was too restrictive as warnings won’t get reported. I changed the default loglevel to include WARNING.

    • The Worker would not log when it started up, so I added an INFO for that, it includes logging the Queue config being used for easy identification of the worker.

    • The Worker now logs the configured functions as DEBUG.

    • The INFO loglevel would dump the entire payload and extra data for each job which would fill up the logs with more data, this was quite a jump from no logs at all for job processing. I split it up so that if loglevel is INFO it will emit an abridged version of the Job, and if loglevel is DEBUG it will emit the full version. (I’m not 100% happy about this, but needed to just log less of the same data for INFO by default)

  • Adding strategic sleep gives async process time to catch up, no longer failing on redis==5.0. Also fixes flaky tests on redis==4.6. [Grigi]

  • Silence SIGINT causing tracebacks of different process dumping to stderror. [Grigi]

    This confuses things, and at first I through there was no SIGINT handling, but it’s there and it works. Just prints spurious things if multiprocessing is used.

  • Autogenerate changelog off of git commits and tags. [Grigi]

v0.11.3 (2023-08-31)#

  • V0.11.3. [tobymao]

  • Update manifest. [tobymao]

v0.11.2 (2023-08-31)#

  • V0.11.2. [tobymao]

  • Added package to build. [Grigi]

v0.11.1 (2023-08-31)#

  • V0.11.1. [tobymao]

  • V0.11.0. [tobymao]

  • Add link to documentation in README. [Grigi]

  • Add back autoapi ignore. [Grigi]

  • Try using typing_extensions.Required. [Grigi]

  • Typing.Required not supported on py<=3.10. [Grigi]

  • Formatting fixes. [Grigi]

  • More docs. [Grigi]

  • Add changelog, better docs structure. [Grigi]

  • Updated docstrings to parse nicely. [Grigi]

  • Docs in progress. [Grigi]

  • Fetch outstanding jobs from incomplete namespace instead of queued. [Grigi]

    This is because the web interface will hide jobs that are rescheduled. I replaced queued with incomplete because it looks like incomplete is a superset of it.

  • Use same tests for starlette web api as for aiohttp web api. [Grigi]

  • Remove assert closes #80. [tobymao]

  • Docs. [Grigi]

  • Inject root_path as a global JS variable. [Grigi]

  • Annotations from future. [Grigi]

  • Push dev dependency changes. [Grigi]

  • Added mountable starlette app. [Grigi]

  • Prepare web interface for being mounted at non-root and for mountable web interfaces. [Grigi]

  • Includes the current path as a module path to allow importlib finding in-development modules. [Grigi]

  • Initial RTD config file. [Grigi]

  • Started on docs. [Grigi]

  • Revert to redis<5 as that seems to fix the unstable test test_dequeue_fifo. [Grigi]

  • Remove green, try to implement a clean-install strategy using pip only. [Grigi]

  • Initial organising. [Grigi]

v0.10.0 (2023-06-25)#

  • V0.10.0. [tobymao]

  • Remove option, just change to fifo broadly. keep test. [zack_loebel-begelman]

  • Add option to have SAQ use fifo instead of filo. [zack_loebel-begelman]

v0.9.4 (2023-05-15)#

  • V0.9.4. [tobymao]

  • Loosen requirements. [tobymao]

v0.9.3 (2023-01-16)#

  • V0.9.3. [tobymao]

  • Clean up signal handlers after shutdown event is triggered. [Johan Nordberg]

  • Allow apply with negative ttl. [tobymao]

  • Fix Job.result documented property name. [Peter Schutt]

    Docstring names property as results whereas the actual property name is result.

  • Fix timeout 0. [tobymao]

v0.9.2 (2022-12-14)#

  • V0.9.2. [tobymao]

  • Pin redis-py due to https://github.com/redis/redis-py/pull/2104. [tobymao]

  • Fix #49. [tobymao]

v0.9.1 (2022-11-14)#

  • V0.9.1. [tobymao]

  • Typofix. [Johan Nordberg]

  • Broaden typing for job_keys param to Queue.listen(). [Peter Schutt]

    Closes #45

  • Adds __all__ for explict reexport of top level names. [Peter Schutt]

  • Includes py.typed in distribution. [Peter Schutt]

  • Merge remote-tracking branch ‘upstream/master’ into type-annotations. [Peter Schutt]

  • Fixes warnings from running run_checks.sh. [Peter Schutt]

    • closes the aiohttp session after each test

    • removes ‘no-self-use’ from .pylintrc disable= section (useless-option-value)

v0.9.0 (2022-09-08)#

  • V0.9.0. [tobymao]

  • Add basic auth fixes #38. [tobymao]