Add a total-message daily limit (#195)

This commit is contained in:
Steven Reilly
2023-03-14 16:28:38 -04:00
committed by GitHub
parent 886db509a0
commit 8d87b6ec09
7 changed files with 174 additions and 89 deletions

View File

@@ -142,6 +142,7 @@ def persist_notification(
if key_type != KEY_TYPE_TEST and current_app.config['REDIS_ENABLED']:
current_app.logger.info('Redis enabled, querying cache key for service id: {}'.format(service.id))
cache_key = redis.daily_limit_cache_key(service.id)
total_key = redis.daily_total_cache_key()
current_app.logger.info('Redis daily limit cache key: {}'.format(cache_key))
if redis_store.get(cache_key) is None:
current_app.logger.info('Redis daily limit cache key does not exist')
@@ -155,6 +156,14 @@ def persist_notification(
current_app.logger.info('Redis daily limit cache key does exist')
redis_store.incr(cache_key)
current_app.logger.info('Redis daily limit cache key has been incremented')
if redis_store.get(total_key) is None:
current_app.logger.info('Redis daily total cache key does not exist')
redis_store.set(total_key, 1, ex=86400)
current_app.logger.info('Set redis daily total cache key to 1')
else:
current_app.logger.info('Redis total limit cache key does exist')
redis_store.incr(total_key)
current_app.logger.info('Redis total limit cache key has been incremented')
current_app.logger.info(
"{} {} created at {}".format(notification_type, notification_id, notification_created_at)
)