Python Gearman的背景工作状态
我有一个基于web的脚本,它在Gearman中创建了一个后台作业(执行SSH命令),这是成功的。但是,当我试图在后续的web请求中检索作业的状态时,我也无法进行检索 我创造的就业机会也很相似:Python Gearman的背景工作状态,python,jobs,gearman,Python,Jobs,Gearman,我有一个基于web的脚本,它在Gearman中创建了一个后台作业(执行SSH命令),这是成功的。但是,当我试图在后续的web请求中检索作业的状态时,我也无法进行检索 我创造的就业机会也很相似: import gearman gm = gearman.GearmanClient( ['127.0.0.1'] ) job = gm.submit_job( 'ssh_execute', 'shell-command', background = True ) 从这里我可以得到jobhandle和
import gearman
gm = gearman.GearmanClient( ['127.0.0.1'] )
job = gm.submit_job( 'ssh_execute', 'shell-command', background = True )
从这里我可以得到jobhandle
和unique
ID,它们在请求之间传递。这是成功的,作业完成
从Google和stack overflow中,获得作业状态的建议是:
import gearman
gm = gearman.GearmanClient( ['127.0.0.1'] )
job = gearman.job.GearmanJob( gm, 'handle', 'ssh_execute', 'unqiue id', None )
req = gearman.job.GearmanJobRequest( job )
但是,此操作失败,并且无法检索有关作业的任何信息(即状态始终为“未知”)。来自作业
和请求
的对象示例:
<GearmanJob connection/handle=(<gearman.client.GearmanClient object at 0x10f42db50>, 'H:proxy:1'), task=ssh_execute, unique=ce96e33721d5f3ef5394502b8c6621fa, data=None>
<GearmanJobRequest task='ssh_execute', unique='ce96e33721d5f3ef5394502b8c6621fa', priority=None, background=True, state='UNKNOWN', timed_out=False>
我正在使用Ubuntu 12.04上的库和gearman作业服务器