Trigger service updates on check finish

This commit is contained in:
David Buxton 2014-01-20 15:22:51 +00:00
parent 473f5e4033
commit 3f7d820f34
2 changed files with 12 additions and 4 deletions

View File

@ -9,6 +9,7 @@ from .alert import send_alert
from .calendar import get_events
from .graphite import parse_metric
from .alert import send_alert
from .tasks import update_service
from datetime import datetime, timedelta
from django.utils import timezone
@ -354,7 +355,15 @@ class StatusCheck(PolymorphicModel):
else:
self.calculated_status = Service.CALCULATED_FAILING_STATUS
self.cached_health = serialize_recent_results(recent_results)
super(StatusCheck, self).save(*args, **kwargs)
ret = super(StatusCheck, self).save(*args, **kwargs)
# Update linked services
self.update_related_services()
return ret
def update_related_services(self):
services = self.service_set.all()
for service in services:
update_service.delay(service.id)
class GraphiteStatusCheck(StatusCheck):

View File

@ -59,9 +59,8 @@ def run_all_checks():
@task(ignore_result=True)
def update_services(ignore_result=True):
from .models import Service
for service in Service.objects.all():
update_service.delay(service.id)
# Avoid importerrors and the like from legacy scheduling
return
@task(ignore_result=True)