3.0.5 (2024-11-21) commits
- Stop waiting for async tasks after exception raised. #7
3.0.4 (2024-11-20) commits
- Fix raising asyncio.exceptions.CancelledError when async task hits soft timeout.
3.0.3 (2024-11-13) commits
- Fix UnboundLocalError for async task context #15
3.0.2 (2024-11-13) commits
- Support Python versions older than 3.11.
3.0.1 (2024-11-13) commits
3.0.0 (2024-11-12) commits
- Custom task wrapper should no longer use an inner function.
- Support for async concurrent tasks on the same worker process. #2
2.1.25 (2024-11-07) commits
- Synchronous mode for easier debugging. #10
2.1.24 (2024-08-19) commits
- Fix number of cores not resolving to integer.
2.1.23 (2023-12-16) commits
- Fix catching out of memory errors when executing broadcast tasks.
2.1.22 (2023-12-16) commits
- Fix logging memory errors and treat BrokenPipeError as mem error.
2.1.21 (2023-12-15) commits
- Log memory errors when to debug level.
2.1.20 (2023-12-14) commits
- Silently exit child worker(s) when parent process missing.
2.1.19 (2023-11-11) commits
- Prevent lost tasks when OOM kills parent worker process, improvement.
2.1.18 (2023-11-11) commits
- Prevent lost tasks when OOM kills parent worker process.
2.1.17 (2023-11-10) commits
- Fix typo.
2.1.16 (2023-11-10) commits
- Fix function decorator callbacks after_worker_started, etc.
2.1.15 (2023-11-10) commits
- Unsubscribe from pubsub while worker processes are waiting to exit.
2.1.14 (2023-11-09) commits
- Add missing wrapped log.handlers property.
2.1.13 (2023-11-09) commits
- Ignore logging errors.
2.1.12 (2023-11-09) commits
- Only refork crashed workers once per wait_timeout.
2.1.11 (2023-11-09) commits
- Postpone forking workers at startup if until ram usage below max threshold.
2.1.10 (2023-11-09) commits
- Postpone forking missing child workers while using too much RAM.
2.1.9 (2023-11-08) commits
- Prevent UnboundLocalError from using task_name var before assignment.
2.1.8 (2023-11-08) commits
- Prevent ValueError when unpacking invalid message from child process.
2.1.7 (2023-11-08) commits
- Prevent ValueError if no worker processes spawned when checking max mem usage.
2.1.6 (2023-10-11) commits
- Log time task took until exited when killed because max_mem_percent reached.
2.1.5 (2023-10-11) commits
- Prevent reset max_mem_reached_at when unrelated child process exits.
2.1.4 (2023-10-11) commits
- Less noisy logs when max_mem_percent reached.
- Allow restarting child worker processes more than once per soft timeout.
2.1.3 (2023-10-11) commits
- Wait for child worker to finish processing current task when max_mem_percent reached.
2.1.2 (2023-10-09) commits
- Log mem usage and current task when max_mem_percent threshold reached.
2.1.1 (2023-10-09) commits
- Fix setting max_mem_percent on WakaQ.
2.1.0 (2023-09-22) commits
- Include number of workers connected when inspecting queues.
- Log queue params on startup.
- Improve docs in readme.
2.0.2 (2022-12-09) commits
- Make sure to catch system exceptions to prevent worker infinite loops.
2.0.1 (2022-12-09) commits
- Always catch SoftTimeout even when nested in exception context.
2.0.0 (2022-11-18) commits
- Support bytes in task arguments.
- Tasks always receive datetimes in UTC without tzinfo.
1.3.0 (2022-10-05) commits
- Add username, password, and db redis connection options. #6
1.2.1 (2022-09-20) commits
- Prevent reading from Redis when no queues defined.
- Improve error message when app path not WakaQ instance.
1.2.0 (2022-09-17) commits
- Util functions to peek at tasks in queues.
1.1.8 (2022-09-15) commits
- Ignore SoftTimeout in child when not processing any task.
1.1.7 (2022-09-15) commits
- Allow custom timeouts defined on task decorator.
1.1.6 (2022-09-15) commits
- All timeouts should accept timedelta or int seconds.
1.1.5 (2022-09-15) commits
- Fix typo.
1.1.4 (2022-09-15) commits
- Fix setting task and queue on child from ping.
1.1.3 (2022-09-15) commits
- Fix sending task and queue to parent process.
1.1.2 (2022-09-14) commits
- Fix getattr.
1.1.1 (2022-09-14) commits
- Add missing child timeout class attributes.
1.1.0 (2022-09-14) commits
- Ability to overwrite timeouts per task or queue.
1.0.6 (2022-09-08) commits
- Prevent unknown task crashing worker process.
1.0.5 (2022-09-08) commits
- Make sure logging has current task set.
1.0.4 (2022-09-07) commits
- Fix auto retrying tasks on soft timeout.
1.0.3 (2022-09-07) commits
- Ignore SoftTimeout when waiting on BLPOP from Redis list.
1.0.2 (2022-09-05) commits
- Ping parent before blocking dequeue in case wait timeout is near soft timeout.
1.0.1 (2022-09-05) commits
- All logger vars should be strings.
1.0.0 (2022-09-05) commits
- First major release.
0.0.11 (2022-09-05) commits
- Add task payload to logger variables.
0.0.10 (2022-09-05) commits
- Prevent logging error from crashing parent process.
0.0.9 (2022-09-05) commits
- Prevent parent process looping forever while stopping children.
0.0.8 (2022-09-05) commits
- Prevent parent process crash leaving zombie child processes.
0.0.7 (2022-09-05) commits
- Ability to retry tasks when they soft timeout.
- Ping parent process at start of task to make sure soft timeout timer is reset.
0.0.6 (2022-09-03) commits
- Implement exclude_queues option.
- Prevent parent process crash if write to child broadcast pipe fails.
0.0.5 (2022-09-01) commits
- Run broadcast tasks once per worker instead of randomly.
0.0.4 (2022-09-01) commits
- Allow defining schedules as tuple of cron and task name, without args.
0.0.3 (2022-09-01) commits
- Prevent worker process crashing on any exception.
- Ability to wrap tasks with custom dectorator function.
0.0.2 (2022-09-01) commits
- Run in foreground by default.
- Separate log files and levels for worker and scheduler.
- Decorators for after worker started, before task, and after task callbacks.
- Keep processing tasks after SoftTimeout.
- Scheduler should sleep until scheduled time.
- Initial release.