Letting Flask swallow exceptions (e.g. redis.exceptions.ConnectionError) in normal mode hides errors behind a generic 500 error page that doesn't tell you what went wrong. If you run Flask with debug=True instead, you get the original exception presented in the response (as well as in the log), which is much more useful.
Relavent code in core.py:
def main():
app.run(debug=True, host=app.config['SERVER_HOST'], port=int(app.config['SERVER_PORT']))