您可以从作业本身访问有关当前作业及其依赖项的信息。这消除了显式传递第一个作业的 id 的需要。
定义你的工作:
from rq import Queue, get_current_job
from redis import StrictRedis
conn = StrictRedis()
q = Queue('high', connection=conn)
def first_job():
return 'result of the first job'
def second_job():
current_job = get_current_job(conn)
first_job_id = current_job.dependencies[0].id
first_job_result = q.fetch_job(first_job_id).result
assert first_job_result == 'result of the first job'
排队你的工作:
first = queue.enqueue(first_job)
second = queue.enqueue(second_job, depends_on=first)
请注意,列表current_job
可以有多个依赖current_job.dependencies
项。