gpt4 book ai didi

Python Apscheduler 没有关闭

转载 作者:行者123 更新时间:2023-12-01 04:13:51 26 4
gpt4 key购买 nike

我们需要在当前作业执行时动态调度多个作业。

大概的场景是:

应该有一个调度程序来每天检查应用程序表(假设在世界标准时间上午 6 点)。查找今天的日期时间为resume_dttime的用户为该用户动态安排作业并在今天的resume_dttime 启动他的服务所以我的代码是:

from apscheduler.schedulers.blocking import BlockingScheduler
sched = BlockingScheduler()

def scheduled_job():
"""
"""
liveusers = todays_userslist() #Get users from table with todays resume_dttime
for u in liveusers:
user_job = get_userjob(u.id)
runtime = u.resume_dttime #eg u.resume_dttime is datetime(2015, 12, 13, 16, 30, 5)
sched.add_job(user_job, 'date', run_date=runtime, args=[u.name])


if __name__ == "__main__":
scheduled_job()
sched.start()
sched.shutdown(wait=True)

代码运行良好(对于一项工作)。没有检查多个作业,但它根本不会停止。我尝试删除 for 循环。另外,已经通过google进行了许多查询。 。但没有运气:(要退出,每次都需要通过 CTrl+C

退出

最佳答案

它在 start() 处阻塞为 documentation说。仅当调度程序从另一个线程关闭时,start() 调用才会返回,而您在任何地方都没有这样做(从上面的代码片段来看)。

关于Python Apscheduler 没有关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34556455/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com