Skip to content

Releases: closeio/tasktiger

v0.19.4

Choose a tag to compare

@thomasst thomasst released this 21 Jun 17:45
f8f0e84
  • Log task processing in sync executor (347)
  • Test and Docstring improvements (338, 343)

v0.19.3

Choose a tag to compare

@thomasst thomasst released this 25 Apr 12:57
d6291dd
  • Stop heartbeat thread in case of unhandled exceptions (335)

v0.19.2

Choose a tag to compare

@thomasst thomasst released this 24 Apr 12:52
8336066
  • Heartbeat threading-related fixes with synchronous worker (333)

v0.19.1

Choose a tag to compare

@thomasst thomasst released this 23 Apr 17:12
937d557
  • Implement heartbeat with synchronous TaskTiger worker (331)

v0.19

Choose a tag to compare

@thomasst thomasst released this 05 Mar 15:56
5384289
  • Adding synchronous (non-forking) executor (319, 320)
  • If possible, retry tasks that fail with "execution not found" (323)
  • Option to exit TaskTiger after a certain amount of time (324)

v0.18.2

Choose a tag to compare

@thomasst thomasst released this 14 Dec 12:29
789a860
  • Purge errored tasks even if task object is not found (310)

v0.17.1

Choose a tag to compare

@neob91-close neob91-close released this 02 Mar 08:05
0ac6ceb

Other changes

  • Add 'task_func' to logging processor (265)
  • Deprecate Flask-Script integration (260)

v0.17

Choose a tag to compare

@neob91-close neob91-close released this 21 Dec 08:29
5e424d7

⚠️ Breaking changes

Allow truncating task executions (251)

Overview

This version of TaskTiger switches to using the t:task:<id>:executions_count Redis key to determine the total number of task executions. In previous versions this was accomplished by obtaining the length of t:task:<id>:executions. This change was required for the introduction of a parameter to enable the truncation of task execution entries. This is useful for tasks with many retries, where execution entries consume a lot of memory.

This behavior is incompatible with the previous mechanism and requires a migration to populate the task execution counters.
Without the migration, the execution counters will behave as though they were reset, which may result in existing tasks retrying more times than they should.

Migration

The migration can be executed fully live without concern for data integrity.

  1. Upgrade TaskTiger to 0.16.2 if running a version lower than that.
  2. Call tasktiger.migrations.migrate_executions_count with your TaskTiger instance, e.g.:
from tasktiger import TaskTiger
from tasktiger.migrations import migrate_executions_count

# Instantiate directly or import from your application module
tiger = TaskTiger(...)

# This could take a while depending on the
# number of failed/retrying tasks you have
migrate_executions_count(tiger)
  1. Upgrade TaskTiger to 0.17.0. Done!

Import cleanup (258)

Due to a cleanup of imports, some internal TaskTiger objects can no longer be imported from the public modules. This shouldn't cause problems for most users, but it's a good idea to double check that all imports from the TaskTiger package continue to function correctly in your application.

v0.16.2

Choose a tag to compare

@neob91-close neob91-close released this 15 Dec 09:14
b1d0db4

Other changes

  • Prefilter polled queues (242)
  • Use SSCAN to prefilter queues in scheduled state (248)
  • Add task execution counter (252)

v0.16.1

Choose a tag to compare

@drewler drewler released this 17 Nov 14:47
38f5f17

Other changes

  • Add function name to tasktiger done log messages (203)
  • Add task args / kwargs to the task_error log statement (215)
  • Fix hard_timeout in parent process when stored on task function (235)