如何终结apscheduler里的线程?
我在使用apscheduler来做定时任务,每分钟从接口取数据存入redis,然而这个接口有时候会因为各种原因导致阻塞,使得下一分钟的任务无法执行,请问有什么方法可以给函数getRealtimeData
加个timeout,一旦超时则终结此线程。
if __name__ == '__main__':
scheduler = TornadoScheduler()
scheduler.add_job(getRealtimeData, 'cron', second=40)
scheduler.start()
print 'Press Ctrl+{} to exit.'.format('Break' if os.name == 'nt' else 'C')
IOLoop.instance().start()
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
apscheduler自带的shutdown(wait=False)会停止所有任务,估计这不是题主想要的结果。
最好是在任务函数getRealtimeData内添加一些关键点判断,若超时则直接return退出任务。