Mercurial > code > home > repos > href
diff mongo_required.py @ 38:f3a15a724483
mongo api and up-checking
author | drewp@bigasterisk.com |
---|---|
date | Sat, 19 Nov 2022 17:05:15 -0800 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mongo_required.py Sat Nov 19 17:05:15 2022 -0800 @@ -0,0 +1,25 @@ +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(): + 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