aboutsummaryrefslogtreecommitdiffstats
path: root/pysite/service_discovery.py
blob: 2852c2fb425316536d3dbde36e81c30d46734a64 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import datetime
import socket
import time
from contextlib import closing

from pysite.constants import RMQ_HOST, RMQ_PORT

THIRTY_SECONDS = datetime.timedelta(seconds=30)


def wait_for_rmq():
    start = datetime.datetime.now()

    while True:
        if datetime.datetime.now() - start > THIRTY_SECONDS:
            return False

        with closing(socket.socket(socket.AF_INET, socket.SOCK_STREAM)) as sock:
            if sock.connect_ex((RMQ_HOST, RMQ_PORT)) == 0:
                return True

        time.sleep(0.5)