一、exec()
执行字符串格式命令
exec("self.%s=trade_son(config['%s'],self.exchange,'%s')" % (i, i, i))
self.i=trade_son(config[i],self.exchange,i)
# 两行等效,exec写法更优雅一些
二、添加定时作业(异步运行)
APScheduler调度模块使用详解
Apscheduler功能:基于日期、时间间隔周期性地执行任务.
https://apscheduler.readthedocs.io/en/3.0/userguide.html
Python定时任务(上)https://www.jianshu.com/p/d04bd534b219
Python定时任务(下)https://www.jianshu.com/p/ad2c42245906
scheduler.add_job()
cron 触发器
在特定时间周期性地触发,和Linux crontab格式兼容。它是功能最强大的触发器。
我们先了解 cron 参数:
参数 说明
year (int 或 str) 年,4位数字
month (int 或 str) 月 (范围1-12)
day (int 或 str) 日 (范围1-31
week (int 或 str) 周 (范围1-53)
day_of_week (int 或 str) 周内第几天或者星期几 (范围0-6 或者 mon,tue,wed,thu,fri,sat,sun)
hour (int 或 str) 时 (范围0-23)
minute (int 或 str) 分 (范围0-59)
second (int 或 str) 秒 (范围0-59)
start_date (datetime 或 str) 最早开始日期(包含)
end_date (datetime 或 str) 最晚结束时间(包含)
timezone (datetime.tzinfo 或str) 指定时区
取值格式:
misfire_grace_time: 主要就是为了解决这个was missed by 这个报错,添加允许容错的时间,单位为:s
max_instances: 默认情况下,每个作业只能同时运行一个实例。这意味着,如果有作业即将运行,但前一个运行尚未完成,则最新的运行
将无效。通过在添加作业时使用max_instances关键字参数,可以为调度程序设置允许并发运行的特定作业的最大实例
数