1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
# -*- coding: utf-8 -*-
# @Time : 2024/5/2 12:01
# @Author : 南宫乘风
# @Email : 1794748404@qq.com
# @File : manage.py
# @Software: PyCharm
import atexit
import os
import sys
from apscheduler.schedulers.background import BackgroundScheduler
from app import create_app, socketio
from app.common.util.LogHandler import log
from app.crontab.NetCronTab import NetworkMonitor
from app.crontab.UpsCronTab import UPSMonitor
from app.socket_events import *
# 默认为开发环境,按需求修改 production development
config_name = 'development'
app = create_app(config_name)
# 解决中文乱码
# app.json.ensure_ascii = False
# from skywalking import agent, config
# config.init(agent_collector_backend_services='192.168.82.105:11800', agent_name='python-flask@devTenant',agent_instance_name="python-flask")
# agent.start()
# 数据库迁移
def start_scheduler():
# 创建一个后台调度器
scheduler = BackgroundScheduler(timezone="Asia/Shanghai")
from app.crontab.EsCronTab import EsIndexCron
scheduler.add_job(func=EsIndexCron, trigger='interval', minutes=1)
log.info("EsIndexCron 定时任务启动成功")
# scheduler.add_job(func=send_alert, trigger="interval", seconds=20)
# 启动调度器
scheduler.start()
atexit.register(lambda: scheduler.shutdown())
if __name__ == '__main__':
# 获取当前文件的绝对路径
current_file = os.path.abspath(__file__)
base_dir = os.path.dirname(current_file)
# 将项目目录添加到 sys.path
if base_dir not in sys.path:
sys.path.append(base_dir)
if not app.debug or app.testing:
start_scheduler()
log.info("定时任务启动成功")
socketio.run(app, debug=True, use_reloader=True, host='0.0.0.0', port=5001)
# use_reloader=False, threaded=True,
|