1

ローカル システムからリモートのギアマン ワーカーを呼び出すことは可能ですか? リモート 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)

ワーカーをリモート サーバーで実行し続け、ローカル クライアントから呼び出すと、次のエラーが発生しました。

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

1 に答える 1

0

これを行うには非常に簡単な方法があります。

  1. ローカルホストのギアマン ポートをリモートのギアマン ポートにバインドします。

    sudo ssh -L 4730:localhost:4730 azureuser@servername.azurecloudapp.net

  2. リモートサーバーでワーカーを実行し続ける

  3. ローカル システムから簡単な呼び出しを行う

    python worker.py 'input parameter'

于 2015-02-09T13:13:14.113 に答える