Merge pull request #804 from alphagov/feat-add-perf-platform-client-and-job

Add client and job to update the performance platform daily
This commit is contained in:
imdadahad
2017-01-27 17:03:38 +00:00
committed by GitHub
13 changed files with 514 additions and 40 deletions

View File

@@ -5,10 +5,13 @@ from sqlalchemy.exc import SQLAlchemyError
from app.aws import s3
from app import notify_celery
from app import performance_platform_client
from app.dao.invited_user_dao import delete_invitations_created_more_than_two_days_ago
from app.dao.jobs_dao import dao_set_scheduled_jobs_to_pending, dao_get_jobs_older_than
from app.dao.notifications_dao import (delete_notifications_created_more_than_a_week_ago,
dao_timeout_notifications)
from app.dao.notifications_dao import (
delete_notifications_created_more_than_a_week_ago,
dao_timeout_notifications
)
from app.dao.users_dao import delete_codes_older_created_more_than_a_day_ago
from app.statsd_decorators import statsd
from app.celery.tasks import process_job
@@ -109,3 +112,24 @@ def timeout_notifications():
if updated:
current_app.logger.info(
"Timeout period reached for {} notifications, status has been updated.".format(updated))
@notify_celery.task(name='send-daily-performance-platform-stats')
@statsd(namespace="tasks")
def send_daily_performance_stats():
count_dict = performance_platform_client.get_total_sent_notifications_yesterday()
start_date = count_dict.get('start_date')
performance_platform_client.send_performance_stats(
start_date,
'sms',
count_dict.get('sms').get('count'),
'day'
)
performance_platform_client.send_performance_stats(
start_date,
'email',
count_dict.get('email').get('count'),
'day'
)