Sapan Bhatia | 8e6f53d | 2015-01-29 21:05:39 +0000 | [diff] [blame] | 1 | from django.http import HttpResponse |
Sapan Bhatia | 8e6f53d | 2015-01-29 21:05:39 +0000 | [diff] [blame] | 2 | from core.models import * |
Sapan Bhatia | 99fb3e7 | 2016-03-24 07:56:38 +0100 | [diff] [blame^] | 3 | from xos.config import Config |
Sapan Bhatia | 8e6f53d | 2015-01-29 21:05:39 +0000 | [diff] [blame] | 4 | import json |
Scott Baker | 3c06fbc | 2015-02-04 00:33:57 -0800 | [diff] [blame] | 5 | import os |
Sapan Bhatia | 8e6f53d | 2015-01-29 21:05:39 +0000 | [diff] [blame] | 6 | import time |
| 7 | |
| 8 | def Observer(request): |
Sapan Bhatia | 99fb3e7 | 2016-03-24 07:56:38 +0100 | [diff] [blame^] | 9 | diag = Diag.objects.filter(name=Config().observer_name).first() |
| 10 | if not diag: |
Scott Baker | 3c06fbc | 2015-02-04 00:33:57 -0800 | [diff] [blame] | 11 | return HttpResponse(json.dumps({"health": ":-X", "time": time.time(), "comp": 0})) |
| 12 | |
Sapan Bhatia | 8e6f53d | 2015-01-29 21:05:39 +0000 | [diff] [blame] | 13 | t = time.time() |
Sapan Bhatia | 99fb3e7 | 2016-03-24 07:56:38 +0100 | [diff] [blame^] | 14 | |
| 15 | d = json.loads(diag.backend_register) |
Sapan Bhatia | 8e6f53d | 2015-01-29 21:05:39 +0000 | [diff] [blame] | 16 | comp = d['last_run'] + d['last_duration']*2 + 300 |
| 17 | if comp>t: |
| 18 | d['health'] = ':-)' |
| 19 | else: |
| 20 | d['health'] = ':-X' |
| 21 | d['time'] = t |
| 22 | d['comp'] = comp |
| 23 | |
| 24 | return HttpResponse(json.dumps(d)) |