mirror of https://github.com/peter4431/rq.git
add doc page for job registries (#1140)
* add doc page for job registries * Use consistent language in registry type descriptions * Correct usage of 'connection' parameter in Job Registry docmain
parent
5328a6252b
commit
68276e7252
@ -0,0 +1,45 @@
|
|||||||
|
---
|
||||||
|
title: "RQ: Job Registries"
|
||||||
|
layout: docs
|
||||||
|
---
|
||||||
|
|
||||||
|
Each queue maintains a set of Job Registries:
|
||||||
|
* `StartedJobRegistry` Holds currently executing jobs. Jobs are added right before they are
|
||||||
|
executed and removed right after completion (success or failure).
|
||||||
|
* `FinishedJobRegistry` Holds successfully completed jobs.
|
||||||
|
* `FailedJobRegistry` Holds jobs that have failed.
|
||||||
|
* `DeferredJobRegistry` Holds deferred jobs (jobs that depend on another job and are waiting for that
|
||||||
|
job to finish).
|
||||||
|
|
||||||
|
You can get the number of jobs in a registry, the ids of the jobs in the registry, and more.
|
||||||
|
Below is an example using a `StartedJobRegistry`.
|
||||||
|
```python
|
||||||
|
import time
|
||||||
|
from redis import Redis
|
||||||
|
from rq import Queue
|
||||||
|
from rq.registry import StartedJobRegistry
|
||||||
|
from somewhere import count_words_at_url
|
||||||
|
|
||||||
|
conn = Redis()
|
||||||
|
queue = Queue(connection=conn)
|
||||||
|
job = queue.enqueue(count_words_at_url, 'http://nvie.com')
|
||||||
|
|
||||||
|
# get StartedJobRegistry by queue
|
||||||
|
registry = StartedJobRegistry(queue=queue)
|
||||||
|
|
||||||
|
# or get StartedJobRegistry by queue name and connection
|
||||||
|
registry2 = StartedJobRegistry(name='my_queue', connection=conn)
|
||||||
|
|
||||||
|
# sleep for a moment while job is taken off the queue
|
||||||
|
time.sleep(0.1)
|
||||||
|
|
||||||
|
print('Queue associated with the registry: %s' % registry.get_queue())
|
||||||
|
print('Number of jobs in registry %s' % registry.count)
|
||||||
|
|
||||||
|
# get the list of ids for the jobs in the registry
|
||||||
|
print('IDs in registry %s' % registry.get_job_ids())
|
||||||
|
|
||||||
|
# test if a job is in the registry using the job instance or job id
|
||||||
|
print('Job in registry %s' % (job in registry))
|
||||||
|
print('Job in registry %s' % (job.id in registry))
|
||||||
|
```
|
Loading…
Reference in New Issue