gpt4 book ai didi

python - 将结果传递给取决于作业 - python rq

转载 作者:太空狗 更新时间:2023-10-29 18:03:48 28 4
gpt4 key购买 nike

如何将作业的结果传递给依赖它的作业?

我目前所做的是将第一份工作的 id 传递给第二份工作,

first = queue.enqueue(firstJob)
second = queue.enqueue(secondJob, first.id, depends_on=first);

并在 secondJob 中获取第一个作业以获取结果

first = queue.fetch_job(previous_job_id)
print first.result

这是推荐的方式吗?我可以使用任何其他模式将第一份工作的结果直接传递给第二份工作吗?

最佳答案

您可以从作业本身访问有关当前作业及其依赖项的信息。这样就无需显式传递第一份工作的 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 是一个列表。

关于python - 将结果传递给取决于作业 - python rq,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28806180/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com