def ensure_mongo(func):
@wraps(func)
def func_wrapper(*args, **kwargs):
client = MongoClient(serverSelectionTimeoutMS=500, connectTimeoutMS=500)
try:
# The ismaster command is cheap and does not require auth.
client.admin.command('ismaster')
except (errors.ServerSelectionTimeoutError, errors.AutoReconnect):
raise MinionMongoError("Can't connect to mongodb")
else:
return func(*args, **kwargs)
finally:
client.close()
return func_wrapper
评论列表
文章目录