我們有要求在當前作業執行時動態調度多個作業。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