"""
讲解apscheduler的使用
参考博客
https://blog.csdn.net/somezz/article/details/83104368
https://www.jianshu.com/p/9d6b277c4a7d
安装apscheduler: pip install apscheduler
"""
from datetime import datetime
import time
# import apscheduler
from apscheduler.schedulers.blocking import BlockingScheduler
from apscheduler.schedulers.background import BackgroundScheduler
def func1():
print(f"hello world {datetime.now()}")
def func2(a, b, c):
print(f"每三秒钟调度一次:{datetime.now()}, {a}, {b}, {c}")
def get_kline_data(symbol, timeframe="1h"):
print(f"get exchange {symbol} {timeframe} kline data")
if __name__ == '__main__':
# while True:
# print(f"当前时间{datetime.now()}")
# time.sleep(3)
# scheduler = BlockingScheduler() #
# scheduler = BackgroundScheduler()
# scheduler.add_job(func1, trigger="interval", seconds=3) # 间隔三秒
# scheduler.add_job(func2, trigger="cron", second='*/3', kwargs={'a': 3, 'c': 5, 'b': 4}) # 每三秒调度一次 args=(3, 4, 5)
# scheduler.start()
#
# print("cccccc")
#
# while True:
# time.sleep(0.1)
scheduler = BackgroundScheduler()
scheduler.add_job(get_kline_data, trigger="cron", hour='*/4', kwargs={'symbol': 'BTCUSDT'}) # 每一个小时调度一次
scheduler.add_job(get_kline_data, trigger="cron", minute='*/15', kwargs={'symbol': 'BTCUSDT', 'timeframe': "1m"})
scheduler.add_job(get_kline_data, trigger="cron", second='*/3', kwargs={'symbol': 'BTCUSDT', 'timeframe': "1m"}) # 每一个小时调度一次
# 14: 35
scheduler.start()
while True:
time.sleep(0.01)
# def fun():
# print("hello world.", datetime.now())
#
# def fun1():
# print("hello world.111111", datetime.now())
#
# if __name__ == '__main__':
# scheduler = BlockingScheduler()
# scheduler.add_job(fun, trigger='interval', seconds=3)
# scheduler.add_job(fun1, trigger='cron', second='*/3')
# scheduler.start()