gpt4 book ai didi

Python Apscheduler - 动态调度作业(嵌套)

转载 作者:行者123 更新时间:2023-12-01 02:03:51 24 4
gpt4 key购买 nike

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

大概的场景是:

  • 应该有一个调度程序每天查看应用程序表(假设在 UTC 时间早上 6 点)。
  • 查找今天日期时间为 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)

    查询是:
  • 这是动态添加作业的好方法吗?
  • 问题是,可能有 100 个或更多用户。那么,动态添加 100 个作业是个好主意吗?
  • 有没有其他方法可以实现这一目标?
  • 最佳答案

    APScheduler 3.0 专为高效处理大量预定作业而设计,因此我相信您使用它的预期方式是有效的。

    关于Python Apscheduler - 动态调度作业(嵌套),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34218760/

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