Вызов удаленного рабочего из местного клиента?

Возможен ли вызов удаленного рабочего из локальной системы? Я попытался позвонить, используя IP-адрес моего удаленного сервера Azure:

клиент в локальной системе:

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

1 ответ

Решение

Есть очень простой способ сделать это:

  1. Свяжите локальный порт редуктора с удаленным портом редуктора:

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

  2. Теперь продолжайте работать на удаленном сервере

  3. сделать простой звонок из локальной системы

    python worker.py 'input parameter'

Другие вопросы по тегам