rq/CHANGES.md

108 lines
2.8 KiB
Markdown
Raw Normal View History

2012-08-07 09:09:08 +00:00
### 0.3.1
(not yet released)
- `.enqueue()` now takes a `result_ttl` keyword argument that can be used to
change the expiration time of results.
2012-08-23 07:54:27 +00:00
- Queue constructor now takes an optional `async=False` argument to bypass the
worker (for testing purposes).
2012-08-27 12:22:02 +00:00
- Jobs now carry status information. To get job status information, like
whether a job is queued, finished, or failed, use the property `status`, or
one of the new boolean accessor properties `is_queued`, `is_finished` or
`is_failed`.
- Jobs return values are always stored explicitly, even if they have to
explicit return value or return `None` (with given TTL of course). This
makes it possible to distinguish between a job that explicitly returned
`None` and a job that isn't finished yet (see `status` property).
2012-08-21 21:02:59 +00:00
- Remove `logbook` dependency (in favor of `logging`)
2012-08-07 09:09:08 +00:00
2012-07-23 10:01:35 +00:00
### 0.3.0
(August 5th, 2012)
- Reliability improvements
- Warm shutdown now exits immediately when Ctrl+C is pressed and worker is idle
- Worker does not leak worker registrations anymore when stopped gracefully
2012-07-20 12:50:23 +00:00
2012-07-24 09:28:18 +00:00
- `.enqueue()` does not consume the `timeout` kwarg anymore. Instead, to pass
RQ a timeout value while enqueueing a function, use the explicit invocation
instead:
2012-08-02 12:52:12 +00:00
```python
2012-07-24 09:28:18 +00:00
q.enqueue(do_something, args=(1, 2), kwargs={'a': 1}, timeout=30)
2012-08-02 12:52:12 +00:00
```
2012-07-24 09:28:18 +00:00
- Add a `@job` decorator, which can be used to do Celery-style delayed
invocations:
2012-08-02 12:52:12 +00:00
```python
2012-07-25 07:11:13 +00:00
from redis import Redis
2012-07-24 09:28:18 +00:00
from rq.decorators import job
2012-07-25 07:11:13 +00:00
# Connect to Redis
redis = Redis()
@job('high', timeout=10, connection=redis)
2012-07-24 09:28:18 +00:00
def some_work(x, y):
return x + y
2012-08-02 12:52:12 +00:00
```
2012-07-24 09:28:18 +00:00
2012-07-25 07:11:13 +00:00
Then, in another module, you can call `some_work`:
2012-08-02 12:52:12 +00:00
```python
2012-07-25 07:11:13 +00:00
from foo.bar import some_work
2012-07-24 09:28:18 +00:00
some_work.delay(2, 3)
2012-08-02 12:52:12 +00:00
```
2012-07-20 12:50:23 +00:00
2012-08-01 11:54:05 +00:00
### 0.2.2
(August 1st, 2012)
- Fix bug where return values that couldn't be pickled crashed the worker
2012-07-20 12:49:18 +00:00
### 0.2.1
(July 20th, 2012)
2012-07-18 12:43:28 +00:00
- Fix important bug where result data wasn't restored from Redis correctly
(affected non-string results only).
2012-07-18 12:43:28 +00:00
### 0.2.0
(July 18th, 2012)
- `q.enqueue()` accepts instance methods now, too. Objects will be pickle'd
along with the instance method, so beware.
- `q.enqueue()` accepts string specification of functions now, too. Example:
`q.enqueue("my.math.lib.fibonacci", 5)`. Useful if the worker and the
submitter of work don't share code bases.
- Job can be assigned custom attrs and they will be pickle'd along with the
rest of the job's attrs. Can be used when writing RQ extensions.
- Workers can now accept explicit connections, like Queues.
- Various bug fixes.
2012-05-20 14:09:57 +00:00
2012-05-15 06:38:10 +00:00
### 0.1.2
(May 15, 2012)
- Fix broken PyPI deployment.
2012-05-14 06:41:56 +00:00
### 0.1.1
(May 14, 2012)
- Thread-safety by using context locals
- Register scripts as console_scripts, for better portability
- Various bugfixes.
### 0.1.0:
(March 28, 2012)
- Initially released version.