我们有要求在当前作业执行时动态调度多个作业。Python Apscheduler - 动态调度作业(嵌套)
大致情况是:
- 应该有一个调度程序要经过的应用每天一个表(假设于06:00 UTC)。
- 查找谁拥有今天的日期时间的用户作为
resume_dttime
- 动态调度该用户的工作,并在今天的
resume_dttime
开始他的服务所以我的代码是:
from apscheduler.schedulers.blocking import BlockingScheduler
sched = BlockingScheduler()
@sched.scheduled_job('cron', day_of_week='mon-fri', hour=6)
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__":
sched.start()
sched.shutdown(wait=True)
的查询是:
- 这是添加jo的好方法bs动态吗?
- 问题是,可能有100个或更多的用户。那么,动态添加100个工作是一个好主意?
- 有没有其他办法可以达到这个目的?
@AlexGrönholm - 您将能够回答我的查询,它看起来像您是apscheduler的作者,您已经回答或评论了关于apscheduler的大部分查询。 https://apscheduler.readthedocs.org/zh/latest/userguide.html 在此先感谢! – Laxmikant