Python 从本地gearman客户端调用远程gearman worker?

Python 从本地gearman客户端调用远程gearman worker?,python,azure,gearman,python-gearman,Python,Azure,Gearman,Python Gearman,是否可以从本地系统调用远程gearman worker?我尝试使用我的远程azure服务器IP呼叫: 本地系统上的客户端: gm_client = gearman.GearmanClient(['204.43.9.41:4730']) sent = sys.argv[1] completed_job_request = gm_client.submit_job("load_db", sent) 远程工作者: def __init__(self): self.gm_worker = ge

是否可以从本地系统调用远程gearman worker?我尝试使用我的远程azure服务器IP呼叫:

本地系统上的客户端:

gm_client = gearman.GearmanClient(['204.43.9.41:4730'])
sent = sys.argv[1]
completed_job_request = gm_client.submit_job("load_db", sent)
远程工作者:

def __init__(self):
    self.gm_worker = gearman.GearmanWorker(['204.43.9.41:4730'])
    self.context = self.init_context()
    res = self.gm_worker.register_task('load_db', self.run_query)
当我让worker在远程服务器上运行并从本地客户端调用时,它给出了以下错误:

gearman.errors.ServerUnavailable: Found no valid connections: GearmanConnection 204.43.9.41:4730 connected=False

有一种非常简单的方法可以做到这一点:

  • 将本地主机gearman端口与远程gearman端口绑定:

    sudossh-L 4730:localhost:4730azureuser@servername.azurecloudapp.net

  • 现在,让worker在远程服务器上运行

  • 从本地系统进行简单调用

    python worker.py“输入参数”