schedule.py 1.5 KB
# import schedule
from flask import json
import paramiko
from sqlalchemy.sql.sqltypes import JSON
from .models import MonitorHost, MonitorLog
import datetime
import math
import time
import uuid
import schedule
from app.util.component.RunContinuous import run_continuously
from app.util.component.PGUtil import PGUtil
import configure
from app.util.component.StructuredPrint import StructurePrint
import traceback


def pull_metric():
    try:
        # 获获取服务器信息
        sys_session = PGUtil.get_db_session(
            configure.SQLALCHEMY_DATABASE_URI)
        sys_ds = PGUtil.open_pg_data_source(
            0, configure.SQLALCHEMY_DATABASE_URI)
        
        #拉取服务器信息

        hosts = sys_session.query(
            MonitorHost.host)
        for host in hosts:
            request_uri="http://{}".format(host.host)
            
            
            
        # 获取数据并汇聚为1min的数据入库
        # 结束
        pass
    except Exception as e:
        StructurePrint().print(e.__str__()+":" + traceback.format_exc(), "error")
    pass

def start_schedule():
    # # 2分钟巡检一次
    try:
        StructurePrint().print("start_schedule")
        schedule.every(1).minutes.do(pull_metric)
        stop_run_continuously = run_continuously()
    except Exception as e:
        StructurePrint().print(e.__str__()+":" + traceback.format_exc(), "error")

    # Do some other things...
    # # Stop the background thread
    # time.sleep(10)
    # stop_run_continuously.set()