diff options
author | 2018-07-08 10:23:38 +0200 | |
---|---|---|
committer | 2018-07-08 10:23:38 +0200 | |
commit | 43f23d008eada5cddbfb52e7d474b68f3b5579c4 (patch) | |
tree | ced0353434fdf1a33dabd7622caf14ea6cce919e | |
parent | Remove space from end of `JAMMERS_ROLE` id in constants.py (diff) |
updates docker-compose, changes default rdb port and handles a socket error in service discovery
-rw-r--r-- | docker-compose.yml | 54 | ||||
-rw-r--r-- | pysite/database.py | 2 | ||||
-rw-r--r-- | pysite/service_discovery.py | 8 |
3 files changed, 24 insertions, 40 deletions
diff --git a/docker-compose.yml b/docker-compose.yml index fa36cd1c..ed54b7b8 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,48 +1,28 @@ +# Usage: +# Install: docker 18.03 or higher +# install: docker-compose 1.21.1 or higher +# run: docker-compose up -d +# wait for the containers to be up +# confirm their ports are listening on the following ports: 5672, 28015 + version: '3' services: + pdrmq: + hostname: "pdrmq" + image: pythondiscord/rmq:latest + network_mode: "host" + environment: + RABBITMQ_DEFAULT_USER: guest + RABBITMQ_DEFAULT_PASS: guest + pdrdb: hostname: "pdrdb" image: pythondiscord/db:latest volumes: - "rdb:/data" - ports: - - "28011:28011" - expose: - - "28011" - entrypoint: su-exec daemon:daemon rethinkdb -n pdrdb -d /data --bind 0.0.0.0 --server-tag default --http-port 28011 --driver-port 28016 - networks: - - pdnet - - pdweb: - depends_on: - - pdrdb - hostname: "pdweb" - image: pythondiscord/site:latest - working_dir: "/site" - ports: - - "80:10012" - expose: - - "80" - entrypoint: /sbin/tini -- pipenv run start - environment: - LOG_LEVEL: DEBUG - SERVER_NAME: "pysite.local" - WEBPAGE_PORT: "80" - WEBPAGE_SECRET_KEY: "123456789abcdefghijklmn" - RETHINKDB_HOST: "pdrdb" - RETHINKDB_PORT: "28016" - RETHINKDB_DATABASE: "database" - RETHINKDB_TABLE: "table" - BOT_API_KEY: "abcdefghijklmnopqrstuvwxyz" - TEMPLATES_AUTO_RELOAD: "yes" - DOCKER_COMPOSE: "true" - - networks: - - pdnet + entrypoint: su-exec daemon:daemon rethinkdb -n pdrdb -d /data --bind 0.0.0.0 --server-tag default --http-port 28010 --driver-port 28015 + network_mode: "host" volumes: rdb: web: - -networks: - pdnet: diff --git a/pysite/database.py b/pysite/database.py index bb0c3415..ddf79a31 100644 --- a/pysite/database.py +++ b/pysite/database.py @@ -18,7 +18,7 @@ class RethinkDB: def __init__(self, loop_type: Optional[str] = "gevent"): self.host = os.environ.get("RETHINKDB_HOST", "127.0.0.1") - self.port = os.environ.get("RETHINKDB_PORT", "28016") + self.port = os.environ.get("RETHINKDB_PORT", "28015") self.database = os.environ.get("RETHINKDB_DATABASE", "pythondiscord") self.log = logging.getLogger(__name__) self.conn = None diff --git a/pysite/service_discovery.py b/pysite/service_discovery.py index 2852c2fb..a03341c4 100644 --- a/pysite/service_discovery.py +++ b/pysite/service_discovery.py @@ -16,7 +16,11 @@ def wait_for_rmq(): 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 + try: + state = sock.connect_ex((RMQ_HOST, RMQ_PORT)) + if state == 0: + return True + except socket.gaierror: + pass time.sleep(0.5) |