From be34e4c62b86a860ed7222b7ad87e55f96875745 Mon Sep 17 00:00:00 2001 From: =?utf8?q?C=C3=A9dric=20Le=20Ninivin?= Date: Tue, 6 May 2014 14:27:26 +0200 Subject: [PATCH] monitor: add possibility to refresh status --- stack/monitor/monitor.cfg.in | 3 +++ stack/monitor/webfiles/status.cgi.in | 13 +++++++++++++ 2 files changed, 16 insertions(+) diff --git a/stack/monitor/monitor.cfg.in b/stack/monitor/monitor.cfg.in index d19145c..0c16a1a 100644 --- a/stack/monitor/monitor.cfg.in +++ b/stack/monitor/monitor.cfg.in @@ -120,6 +120,9 @@ filename = status.cgi mode = 0744 context = key json_file monitor-parameters:json-path + key monitor_bin monitor-parameters:executable + key pwd monitor-directory:monitoring-cgi + key this_file :filename raw python_executable ${buildout:executable} [deploy-settings-cgi] diff --git a/stack/monitor/webfiles/status.cgi.in b/stack/monitor/webfiles/status.cgi.in index 28afedc..ff9cd30 100755 --- a/stack/monitor/webfiles/status.cgi.in +++ b/stack/monitor/webfiles/status.cgi.in @@ -1,9 +1,18 @@ #!{{ python_executable }} +import cgi import cgitb import json +import subprocess + +def refresh(): + command = ["{{ monitor_bin }}", "-a"] + subprocess.call(command) cgitb.enable(display=0, logdir="/tmp/cgi.log") +form = cgi.FieldStorage() +if "refresh" in form: + refresh() json_file = "{{ json_file }}" result = json.load(open(json_file)) @@ -13,8 +22,12 @@ print "" print "" print "" print "

Monitoring :

" +print "
" +print "" print "

Last time of monitoring process : %s

" % (result['datetime']) del result['datetime'] +print "
" print "
" print "

These scripts and promises have failed :

" -- 2.1.4