APScheduler 回调函数 - 作业完成后如何在 python 中调用某些功能/模块?

西部枪

嗨,我在 Django 项目中使用 APScheduler。工作完成后,如何计划在 python 中调用函数?一个回调函数。

我将作业作为 Django 模型存储在 DB 中。完成后,我想将其标记为completed=1表中。

增强雅各布

最简单和通用的方法是将回调函数添加到计划作业的末尾。您还可以在调度程序类的基础上构建以在任务结束时包含 self.function_callback()。

快速示例:

def tick():
    print('Tick! The time is: %s' % datetime.now())
    time.sleep(10)
    function_cb()

def function_cb():
    print "CallBack Function"
    #Do Something

if __name__ == '__main__':
    scheduler = AsyncIOScheduler()
    scheduler.add_job(tick, 'interval', seconds=2)
    scheduler.start()
    print('Press Ctrl+{0} to exit'.format('Break' if os.name == 'nt' else 'C'))
    # Execution will block here until Ctrl+C (Ctrl+Break on Windows) is pressed.
    try:
        asyncio.get_event_loop().run_forever()
    except (KeyboardInterrupt, SystemExit):
        pass
        scheduler.shutdown(wait=False)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章