-
-
Notifications
You must be signed in to change notification settings - Fork 26
/
changelog.txt
168 lines (168 loc) · 10.6 KB
/
changelog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
#---------------------------------- 0.33.5 -----------------------------------
[fixed] on some runtime virtualization platforms, /dev/shm is not available.
We work-around this by not using multiprocessing on those platforms, and
reducing processes to 1.
#---------------------------------- 0.33.4 -----------------------------------
[added] Dockerfile and docker-compose examples for testing every supported
version of Python + rpqueue we support.
[removed] References to Python 2.6 and 3.3 in supported versions (2.6 has no
available container, 3.3 has weird protocol issues in Redis)
[fixed] Supported versions of Python references in setup.py .
[fixed] issue with loading some data in Python 3.4 and 3.5 (not present in
other versions)
[fixed] doc generation is now inside a container, so no more local system
pollution
#---------------------------------- 0.33.3 -----------------------------------
[added] sponsorship docs
#---------------------------------- 0.33.2 -----------------------------------
[fixed] fixed crontab queue definitions, again :/
#---------------------------------- 0.33.1 -----------------------------------
[fixed] fixed crontab queue definitions
#---------------------------------- 0.33.0 -----------------------------------
[added] log messages for scheduled tasks if/when they are created, to help with
bad periodic delays or cron task delays. Requested by github user
https://github.com/tinkerer
[added] rpqueue.flush_tasks() to finish outstanding tasks in the queue, intended
primarily to start tasks when you need them all to finish (testing, prod
resources going away, etc.)
#---------------------------------- 0.32.1 -----------------------------------
[added] the ability to add items to data queues in the future; see:
`Data.put_data(..., delay=...)`. Works similarly to how delayed tasks
work.
#---------------------------------- 0.32.0 -----------------------------------
[added] the ability for callers to call stubs instead of needing to have all of
your task / caller code in the same repository. See:
`rpqueue.call_task(name, None or override_queue, *args, **kw)` and
`rpqueue.known_tasks[name].execute(*args, **kwargs)`
#---------------------------------- 0.31.2 -----------------------------------
[fixed] the in some cases, rpqueue could return 'done' for a task status when it
was actually 'started'. Thanks to github user https://github.com/posix4e for
the bug report. Also noticed that there is an 'unknown' case where we can be
in one of 2 states, but we'll go ahead and call that 'done' as well.
#---------------------------------- 0.31.1 -----------------------------------
[fixed] periodic tasks should now work. Sorry about that :/
#---------------------------------- 0.31.0 -----------------------------------
[fixed] issues with cron tasks and periodic tasks, releasing 0.31.0 because
0.30.* is apparently cursed
#---------------------------------- 0.30.6 -----------------------------------
[fixed] issue with redis-py <2.* connections
#---------------------------------- 0.30.5 -----------------------------------
[fixed] strange AttributeError on the threading.local object
#---------------------------------- 0.30.4 -----------------------------------
[fixed] bugs related to executing inline tasks
#---------------------------------- 0.30.3 -----------------------------------
[fixed] one line change because Josiah wasn't paying attention
#---------------------------------- 0.30.2 -----------------------------------
[fixed] removed izip, fixed some utility functions, added no arguments test to
test / verify basic issue. Thanks to github user https://github.com/makov44
for the original bug report and PR.
[changed] can now set the default queue name for the whole rpqueue as an
attribute called `rpqueue.DEFAULT_QUEUE` - kind of undocumented for now
#---------------------------------- 0.30.1 -----------------------------------
[fixed] docs website and link
#---------------------------------- 0.30.0 -----------------------------------
[changed] Makefile pypi upload switched to using twine
[added] data queues separate from task queues, see help(rpqueue.Data) for help
[changed] docs will now live at Github on Github pages (and will automatically
update)
[added] visibility timeout to tasks (tasks can auto-retry, and self-spew into a
shared deadletter queue)
[added] docs and examples of using data queues, deadletter queues, and
visibility timeouts
[changed] docs are now alphabetically sorted
[fixed] you can now use any version of the Redis client, we auto-detect and use
the right syntax for commands (like setex, zadd, etc.)
[changed] new queue interfaces (data queues and visibility timeouts) use Redis
internal time to keep consistent
[changed] Redis with Lua support is a hard requirement now and going forward.
Data queues and visibility timeouts rely exclusively on them, and are
unusable without them. Stick with 0.27.1 if you don't want to use Lua.
[sponsored] the above changes to rpqueue were sponsored by hCaptcha.com, and
they received a perpetual Apache 2.0 license for their sponsorship.
#---------------------------------- 0.27.1 -----------------------------------
[added] thank you to Github user https://github.com/jonathanhle for patch to
expose ssl options to the connection object.
#---------------------------------- 0.27.0 -----------------------------------
[fixed] apparently I had some leftover xranges that made rpqueue not Python 3
comptible. That is now fixed. Thanks to github user
https://github/mgraupner for the bug report
#---------------------------------- 0.26.1 -----------------------------------
[fixed] killing of all rpqueue worker threads if a cron/periodic task is
deleted from source; bug report and PR fixed thanks to github user
https://github.com/jpassaro
#---------------------------------- 0.26.0 -----------------------------------
[added] one more status level, 'started' for when a task has been removed from
the queue (status information is only persisted for at most 60 seconds
after the item has begun executing, though can be refreshed by checking
item status)
[fixed] using rpqueue.set_connection_prefix() now works properly
[added] ability to execute a task in another "instanced" rpqueue (via:
my_task.execute(..., _rpqueue_module=...) ; status and results work as
expected). Identically named task assumed to be defined on the other side.
[fixed] instanced rpqueues (rpqueue.new_rpqueue(...)) are now properly stored
inside the configs dictionary :/
[added] more information returned by task cancellation
[changed] added the ability to override the "name" of a task, for cases where
imports are not quite sane. Initial PR/idea thanks to Github user
https://github.com/erik
#---------------------------------- 0.25.6 -----------------------------------
[added] access to current task object via rpqueue.CURRENT_TASK.task, PR thanks
to github user https://github.com/jpassaro
#---------------------------------- 0.25.2 -----------------------------------
[fixed] added missing VERSION file
#---------------------------------- 0.25.2 -----------------------------------
[added] result() function to get the result of a previously-known taskid, and
get_task() utility function for getting a task by name. Thanks to Github
user https://github.com/jpassaro for the initial PR.
[added] results() function for fetching multiple results
[added] real sphinx docs for the package available:
https://pythonhosted.org/rpqueue/
#---------------------------------- 0.25.1 -----------------------------------
[fixed] actually apply cron task fix :P
#---------------------------------- 0.25.0 -----------------------------------
[fixed] cron tasks will now save the results of their execution if requested,
the argument to make this happen was mistakenly not passed onto the class
that handles all of this. Thank you to github user
https://github.com/jpassaro for the bug report and PR
[added] the ability to use a "prefix" to allow namespacing of rpqueue queues
on the same Redis server. See `rpqueue.set_prefix()`
[added] the ability to instantiate a new rpqueue "state", for running parallel
task execution systems with different prefixes, connections, etc. See
`rpqueue.new_rpqueue(name, pfix=None)`
[added] warning-laced support for Python 3.x. The tests pass :P
#---------------------------------- 0.24.1 -----------------------------------
[added] the ability to call a single function after worker processes have been
created. `import rom; rom.AFTER_FORK = fcn` - put this in the same module
that imports all of your tasks (the module referred to in --module), and
the function will be run in the newly forked child, just prior to starting
worker threads
#---------------------------------- 0.24.0 -----------------------------------
[changed] forced a hard requirement on the Redis client to be 2.4.12 or later
to remove the unnecessary thread/fork-safe pooling. The Redis client has
been thread/fork safe since 2.4.12 (though got better multiple thread
post-fork support in 2.9.0)
[changed] added rpqueue.set_redis_connection() for manually setting additional
options (note that you can also just say `rpqueue.POOL = conn`)
#----------------------------------- 0.23 ------------------------------------
[added] --loglevel and --successlevel to set the minimum log level to print
and the log level that "SUCCESS: Task completed:" messages are sent at
when using `python -m rpqueue.run ...` invocation. Initial patch thanks
to: https://github.com/zenweasel
[added] when running rpqueue via `rpqueue.execute_tasks()`, you can set the
log level and success log level (--loglevel and --successlevel, mentioned
above) via setting the rpqueue.LOG_LEVEL and rpqueue.SUCCESS_LOG_LEVEL
attributes to one of: 'DEBUG', 'INFO', 'WARNING', or 'ERROR' .
[updated] the Lua script runner wrapper we use for delayed task execution to
be cleaner.
#----------------------------------- 0.22 ------------------------------------
[fixed] setup.py-based installations. Ran into the bug myself :/
#----------------------------------- 0.21 ------------------------------------
[changed] where available, rpqueue will now use Lua to move delayed tasks from
the time-based priority queue to fifo queues. This should reduce overhead
in all cases, and should drastically improve performance for those that
use large numbers of delayed tasks.
[changed] the version number is now PEP 386/440 compliant.
[added] this changelog that will document updates/changes/improvements in an
easily referenced location.
[fixed] thanks to https://github.com/dmaust , rpqueue added a missing 'redis'
requirement.