|
@@ -1,41 +1,41 @@
|
|
|
-# from gevent import monkey
|
|
|
-# from gevent.pywsgi import WSGIServer
|
|
|
-# from gevent import signal as geventsig
|
|
|
+from flask import Flask, request, jsonify
|
|
|
+app = Flask(__name__)
|
|
|
|
|
|
import base64
|
|
|
from io import BytesIO
|
|
|
from matplotlib.figure import Figure
|
|
|
import json
|
|
|
|
|
|
-from flask import request, jsonify
|
|
|
import logging
|
|
|
import time
|
|
|
import signal as sig
|
|
|
import sys, getopt
|
|
|
|
|
|
from refill import ChannelPainter
|
|
|
-from refill import day_stamp
|
|
|
-
|
|
|
-from flask import Flask
|
|
|
-app = Flask(__name__)
|
|
|
+from refill import day_stamp,time_border
|
|
|
|
|
|
logging.basicConfig(filename='/var/www/html/data/log/flask.log',
|
|
|
format='%(levelname)10s %(asctime)s %(name)10s %(thread)d %(message)s',
|
|
|
level=logging.DEBUG)
|
|
|
logger = logging.getLogger('plot')
|
|
|
|
|
|
-@app.route('/plot/channelratio')
|
|
|
-def channelratio():
|
|
|
+@app.route('/plot/ch_ratio')
|
|
|
+def ch_ratio():
|
|
|
try:
|
|
|
logger.debug('start chratio')
|
|
|
- start_time = request.args.get('start_time') or None
|
|
|
- end_time = request.args.get('end_time') or None
|
|
|
- interval = request.args.get('interval') or None
|
|
|
- chnames = request.args.get('chnames') or None
|
|
|
+ cur_time = int(time.time())
|
|
|
+ interval = request.args.get('interval') or 300
|
|
|
+ start_time = request.args.get('start_time') or (cur_time - 7200)
|
|
|
+ end_time = request.args.get('end_time') or cur_time
|
|
|
+
|
|
|
+ start_time = time_border(start_time,interval,True)
|
|
|
+ end_time = time_border(cur_time,interval,False)
|
|
|
+
|
|
|
+ chnames = request.args.get('chnames') or list()
|
|
|
card_type = request.args.get('card_type') or None
|
|
|
spec = request.args.get('spec') or None
|
|
|
|
|
|
- painter = ChannelPainter(start_time=start_time,end_time=end_time,interval=interval,chnames=chnames,card_type=card_type,spec=spec)
|
|
|
+ painter = ChannelPainter(start_time=start_time, end_time=end_time, interval=interval, chnames=chnames, card_type=card_type, spec=spec)
|
|
|
data = painter.paint()
|
|
|
|
|
|
logger.debug('start_time=%s end_time=%s interval= %s chnames=%s quality=%s card_type=%s amount=%s',
|
|
@@ -44,10 +44,18 @@ def channelratio():
|
|
|
logger.error(ex)
|
|
|
return None
|
|
|
|
|
|
+
|
|
|
if __name__ == "__main__":
|
|
|
- app.run(debug=True)
|
|
|
- # monkey.patch_all()
|
|
|
- # http_server = WSGIServer(('0.0.0.0', 5000), app)
|
|
|
- # geventsig.signal(sig.SIGTERM, lambda: http_server.stop())
|
|
|
- # geventsig.signal(sig.SIGINT, lambda: http_server.stop())
|
|
|
- # http_server.serve_forever()
|
|
|
+ debug_mode = True
|
|
|
+ if debug_mode:
|
|
|
+ app.run(debug=True, host='0.0.0.0', port=5000)
|
|
|
+ else:
|
|
|
+ from gevent import monkey
|
|
|
+ from gevent.pywsgi import WSGIServer
|
|
|
+ from gevent import signal as geventsig
|
|
|
+
|
|
|
+ monkey.patch_all()
|
|
|
+ http_server = WSGIServer(('0.0.0.0', 5000), app)
|
|
|
+ geventsig.signal(sig.SIGTERM, lambda: http_server.stop())
|
|
|
+ geventsig.signal(sig.SIGINT, lambda: http_server.stop())
|
|
|
+ http_server.serve_forever()
|