Merge pull request #2255 from alphagov/switch_on_slow_goes_live

Switch providers on slow delivery goes live
This commit is contained in:
Pea (Malgorzata Tyczynska)
2018-12-12 11:35:18 +00:00
committed by GitHub
3 changed files with 9 additions and 5 deletions

View File

@@ -37,7 +37,7 @@ from app.dao.notifications_dao import (
)
from app.dao.provider_details_dao import (
get_current_provider,
# dao_toggle_sms_provider
dao_toggle_sms_provider
)
from app.dao.service_callback_api_dao import get_service_delivery_status_callback_api_for_service
from app.dao.services_dao import (
@@ -258,7 +258,7 @@ def switch_current_sms_provider_on_slow_delivery():
"""
current_provider = get_current_provider('sms')
if current_provider.updated_at > datetime.utcnow() - timedelta(minutes=10):
current_app.logger.info("Slow delivery provider switched less than 10 minutes ago.")
current_app.logger.info("Slow delivery notifications provider switched less than 10 minutes ago.")
return
slow_delivery_notifications = is_delivery_slow_for_provider(
provider=current_provider.identifier,
@@ -274,7 +274,7 @@ def switch_current_sms_provider_on_slow_delivery():
)
)
# dao_toggle_sms_provider(current_provider.identifier)
dao_toggle_sms_provider(current_provider.identifier)
@notify_celery.task(name="delete-inbound-sms")

View File

@@ -466,8 +466,13 @@ def is_delivery_slow_for_provider(
counts = {c[0]: c[1] for c in count}
total_notifications = sum(counts.values())
slow_notifications = counts.get(True, 0)
if total_notifications:
return counts.get(True, 0) / total_notifications >= threshold
current_app.logger.info("Slow delivery notifications count: {} out of {}. Ratio {}".format(
slow_notifications, total_notifications, slow_notifications / total_notifications
))
return slow_notifications / total_notifications >= threshold
else:
return False

View File

@@ -400,7 +400,6 @@ def test_send_total_sent_notifications_to_performance_platform_calls_with_correc
])
@pytest.mark.skip(reason="Not switching it on yet")
def test_switch_providers_on_slow_delivery_switches_once_then_does_not_switch_if_already_switched(
notify_api,
mocker,