Mercurial > code > home > repos > video
view mongo_required.py @ 27:27a754f8e8f8
deployment fixes
author | drewp@bigasterisk.com |
---|---|
date | Sat, 14 Oct 2023 17:08:36 -0700 |
parents | 838eb0223bdb |
children |
line wrap: on
line source
import contextlib import os import traceback import pymongo import pymongo.errors @contextlib.contextmanager def die_on_mongo_connection_errors(): try: yield except pymongo.errors.ServerSelectionTimeoutError: traceback.print_exc() os.abort() def open_mongo_or_die() -> pymongo.MongoClient: client = pymongo.MongoClient(host=os.environ['MONGODB_SERVICE_HOST'], tz_aware=True, connectTimeoutMS=3000, serverSelectionTimeoutMS=3000) with die_on_mongo_connection_errors(): client.admin.command('ismaster') return client