我想每天00:00运行特定的代码,所以我使用ApScheduler,但我不知道如何运行丢失的作业;在scheduler中,运行挂起作业的是run_pending(),我不知道ApScheduler中是否有挂起作业,或者我不知道如何使用ApScheduler
这是我的密码:
#Libraries
from apscheduler.schedulers.background import BackgroundScheduler #Import background scheduler
import PREFS
beginDate = datetime.date.today()
beginDate = beginDate.strftime("%Y/%m/%d")
prefs = {"kanjiNum": 0, "studyToday": 0, "beginDate": beginDate, "lostKanji": 0}
MainPrefs = PREFS.PREFS(prefs = prefs, filename = "DailyDoseOfKanjis_Prefs") #Defining prefs
####
scheduler = BackgroundScheduler()
scheduler.start() #initializing scheduler
####
def DailyCheck():
if int(MainPrefs.ReadPrefs()["studyToday"]) == "1":
print("You did study")
MainPrefs.WritePrefs("studyToday", 0)
elif int(MainPrefs.ReadPrefs()["studyToday"]) == "0":
print("You didn't study")
MainPrefs.WritePrefs("lostKanji", int(MainPrefs.ReadPrefs()["lostKanji"]) + 1)
MainPrefs.WritePrefs("kanjiNum", BeginKanji())
####
scheduler.add_job(lambda: DailyCheck(), 'cron', second = 0, minute = 0, hour = 0, id = 'check') #Adding daily jobs
scheduler.add_job(lambda: print("yea"), 'cron', second = 0, minute = 51, hour = 8, id = 'yea') #Adding daily jobs
####
最后,我放弃了ApsScheduler,用datetime创建了自己的逻辑。 使用存储首选项库,我保存比较日期始终关闭程序,打开时在今天和比较日期之间进行迭代,在循环内执行每日检查,并在程序结束时将比较日期更改为今天
如果您不了解PREFS库,请检查它的文档:https://github.com/Patitotective/PREFS/wiki
您可以尝试使用simple-scheduler,因为它很简单
相关问题 更多 >
编程相关推荐