gpt4 book ai didi

python - 如何通过他们的唯一 ID 获取 Gearman Jobs 的状态?

转载 作者:太空狗 更新时间:2023-10-29 20:26:42 24 4
gpt4 key购买 nike

我需要通过这些 un​​iq id 获取 Gearman 作业的状态,而不是通过开放的处理程序,正如我在每个地方看到的那样

这可能吗?在 python-gearman v. 2 中使用...

感谢您的帮助!

最佳答案

必须深入挖掘才能解决这个问题,因为它没有以友好的方式暴露在 python-gearman-API 中。但是,您可以通过自己创建 GearmanJobGearmanJobRequest 的适当实例来解决它。

这是一个如何执行此操作的小示例:

import gearman

client = gearman.GearmanClient(['localhost'])
result = client.submit_job('reverse', 'this is a string', background=True);

您想跟踪哪台服务器处理了这项工作(如果您有多个 Gearman 服务器处理任务),以及任务的句柄。连接信息可通过result.job.connection(.gearman_host.gearman_port)获得,而句柄可通过result 获得.job.handle.

要检查当前运行的作业的状态,您可以创建一个 GearmanClient,但只提供您要查询当前状态的服务器:

client = gearman.GearmanClient(['localhost'])

# configure the job to request status for - the last four is not needed for Status requests.
j = gearman.job.GearmanJob(client.connection_list[0], result.job.handle, None, None, None, None)

# create a job request
jr = gearman.job.GearmanJobRequest(j)
jr.state = 'CREATED'

# request the state from gearmand
res = client.get_job_status(jr)

# the res structure should now be filled with the status information about the task
print(str(res.status.numerator) + " / " + str(res.status.denominator))

希望对您有所帮助!

关于python - 如何通过他们的唯一 ID 获取 Gearman Jobs 的状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6983854/

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