Added some logging around rate limiting.

This commit is contained in:
Martyn Inglis
2017-05-02 11:14:45 +01:00
parent a9539d892c
commit b0baa1532a

View File

@@ -19,6 +19,7 @@ def check_service_over_api_rate_limit(service, api_key):
rate_limit = current_app.config['API_KEY_LIMITS'][api_key.key_type]['limit']
interval = current_app.config['API_KEY_LIMITS'][api_key.key_type]['interval']
if redis_store.exceeded_rate_limit(cache_key, rate_limit, interval):
current_app.logger.error("service {} has been rate limited for throughput".format(service.id))
raise RateLimitError(rate_limit, interval, api_key.key_type)
@@ -30,6 +31,10 @@ def check_service_over_daily_message_limit(key_type, service):
service_stats = services_dao.fetch_todays_total_message_count(service.id)
redis_store.set(cache_key, service_stats, ex=3600)
if int(service_stats) >= service.message_limit:
current_app.logger.error(
"service {} has been rate limited for daily use sent {} limit {}".format(
service.id, int(service_stats), service.message_limit)
)
raise TooManyRequestsError(service.message_limit)