|
@@ -0,0 +1,39 @@
|
|
|
+import json
|
|
|
+import requests
|
|
|
+from flask import Flask,render_template
|
|
|
+from flask_apscheduler import APScheduler
|
|
|
+
|
|
|
+app = Flask(__name__, template_folder="templates")
|
|
|
+app.jinja_env.variable_start_string = '[['
|
|
|
+app.jinja_env.variable_end_string = ']]'
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+urls = []
|
|
|
+with open('data.json',encoding="utf-8") as f:
|
|
|
+ urls = json.loads(f.read())
|
|
|
+
|
|
|
+# 实例化 APScheduler
|
|
|
+scheduler = APScheduler()
|
|
|
+
|
|
|
+@scheduler.task('interval', id='ping', args=(),seconds=10)
|
|
|
+def ping(): # 运行的定时任务的函数
|
|
|
+ result = []
|
|
|
+ for i in urls:
|
|
|
+ name = i['name']
|
|
|
+ url = i['url']
|
|
|
+ r = requests.get(url,timeout=3)
|
|
|
+ result.append({'url':url,'status_code':r.status_code,'name':name})
|
|
|
+ with open("static\data.json",'w+',encoding="utf-8") as f:
|
|
|
+ f.write(json.dumps(result))
|
|
|
+
|
|
|
+@app.route("/")
|
|
|
+def index():
|
|
|
+ return render_template('index.html')
|
|
|
+
|
|
|
+
|
|
|
+if __name__ == '__main__':
|
|
|
+
|
|
|
+ scheduler.start() # 启动任务列表
|
|
|
+ app.debug=True
|
|
|
+ app.run(host='0.0.0.0',port= 8000) # 启动 flask
|