diff --git a/app/__init__.py b/app/__init__.py index 8a0f0c5aa..ac2e6da5d 100644 --- a/app/__init__.py +++ b/app/__init__.py @@ -4,7 +4,6 @@ import os from flask import request, url_for, g, jsonify from flask import Flask, _request_ctx_stack from flask.ext.sqlalchemy import SQLAlchemy -from flask.ext.redis import FlaskRedis from flask_marshmallow import Marshmallow from monotonic import monotonic from werkzeug.local import LocalProxy @@ -16,6 +15,7 @@ from app.clients.sms.firetext import FiretextClient from app.clients.sms.loadtesting import LoadtestingClient from app.clients.email.aws_ses import AwsSesClient from app.clients.statsd.statsd_client import StatsdClient +from app.clients.redis.redis_client import RedisClient from app.encryption import Encryption @@ -31,7 +31,7 @@ mmg_client = MMGClient() aws_ses_client = AwsSesClient() encryption = Encryption() statsd_client = StatsdClient() -redis_store = FlaskRedis() +redis_store = RedisClient() clients = Clients() diff --git a/app/clients/redis/redis_client.py b/app/clients/redis/redis_client.py new file mode 100644 index 000000000..57ef8df91 --- /dev/null +++ b/app/clients/redis/redis_client.py @@ -0,0 +1,20 @@ +from flask.ext.redis import FlaskRedis + + +class RedisClient: + active = False + redis_store = FlaskRedis() + + def init_app(self, app): + self.active = app.config.get('REDIS_ENABLED') + + if self.active: + self.redis_store.init_app(app) + + def set(self, key, value): + if self.active: + self.redis_store.set(key, value) + + def get(self, key): + if self.active: + self.redis_store.get(key) \ No newline at end of file diff --git a/app/notifications/rest.py b/app/notifications/rest.py index b2053d7ee..eaf6c531a 100644 --- a/app/notifications/rest.py +++ b/app/notifications/rest.py @@ -36,6 +36,7 @@ from app.schemas import ( ) from app.service.utils import service_allowed_to_send_to from app.utils import pagination_links +from app import redis_store notifications = Blueprint('notifications', __name__) @@ -205,6 +206,8 @@ def get_notification_statistics_for_day(): @notifications.route('/notifications/', methods=['POST']) def send_notification(notification_type): + redis_store.set('key1', 'value') + if notification_type not in ['sms', 'email']: assert False diff --git a/config.py b/config.py index 23f73f251..e009e4b5f 100644 --- a/config.py +++ b/config.py @@ -132,7 +132,7 @@ class Config(object): STATSD_HOST = "statsd.hostedgraphite.com" STATSD_PORT = 8125 - REDIS_ENABLED = True + REDIS_ENABLED = False REDIS_URL = "redis://localhost:6379/0" SENDING_NOTIFICATIONS_TIMEOUT_PERIOD = 259200