关于 apscheduler 定时任务框架,终止线程的方法

2020-04-20 13:16:00 +08:00
 tanwill12138

代码如下:

def scheduler_run(self, datas1, datas2, inputpath):
	self.scheduler = BlockingScheduler()
    self.scheduler.add_job(self.main, 'interval', seconds=1, id='test_01', args=(datas1, datas2, inputpath))
    if HtmlMain.count < 10:
        self.scheduler.start()
    else:
        self.scheduler.shutdown()

目前我的需求是:以某个变量为条件,使得终止该定时任务

可能我方向错误了,还望前辈不吝赐教。 或者有更好的方法,我也愿意去了解。

2888 次点击
所在节点    Python
7 条回复
Harlaus
2020-04-20 16:20:55 +08:00
interval 换成 corn,
HtmlMain.count 在 self.main 里定义,用 while break 控制终止
tanwill12138
2020-04-20 18:49:57 +08:00
@Harlaus 你好,我刚刚尝试了,实际上 scheduler 还在运行,只是没有在执行下一步程序
cian
2020-04-20 20:02:59 +08:00
建议用 celery
tanwill12138
2020-04-21 09:32:40 +08:00
@cian 好吧,我转 celery 了,请问其中坑多吗?
cian
2020-04-21 12:31:18 +08:00
还好吧 。如果访问第三方接口,一定要设置超时时间,这个算是小贴士
wenqiang1208
2020-04-21 12:59:58 +08:00
有类似需求 直接用 celery 了
sujin190
2020-04-27 14:28:55 +08:00
https://segmentfault.com/a/1190000022085297

专门的定时任务管理服务显然更方便啊

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/664234

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX