работник редуктора Python на экземпляре ec2 не отвечает - PullRequest
0 голосов
/ 23 октября 2018

У меня есть два экземпляра aws ec2.Клиент работает на первом экземпляре ec2, а работник работает на втором экземпляре ec2.Но работник на втором экземпляре ec2 не отвечает на задание клиента и даже не выдает никакой ошибки.

client.py:

import python3_gearman as gearman
def check_request_status(job_request):
    if job_request.complete:
    print("Job %s finished!  Result: %s - %s" % (job_request.job.unique, job_request.state, job_request.result))
    elif job_request.timed_out:
    print("Job %s timed out!" % job_request.unique)
    elif job_request.state == JOB_UNKNOWN:
    print("Job %s connection failed!" % job_request.unique)

gm_client = gearman.GearmanClient(['34.253.103.1:4730'])  # 34.253.103.1 :- ip address of worker

completed_job_request = gm_client.submit_job("reverse", "Hello World!")
check_request_status(completed_job_request)

worker.py:

import python3_gearman as gearman
gm_worker = gearman.GearmanWorker(['46.51.130.13:4730'])  # 46.51.130.13 :- ip address of client

def task_listener_reverse(gearman_worker, gearman_job):
    print('Reversing string: ' + gearman_job.data)
    return gearman_job.data[::-1]

# gm_worker.set_client_id is optional
gm_worker.set_client_id('python-worker')
gm_worker.register_task('reverse', task_listener_reverse)

# Enter our work loop and call gm_worker.after_poll() after each time we timeout/see socket activity
gm_worker.work()

Запустил снаряжение, используя команду ниже для обоих экземпляров:

sudo gearmand --listen=0.0.0.0 -d

Пожалуйста, предложите, что не так в приведенном выше методе / коде.

...