题目描述有一段代码是这样的:from datetime import datetimeimport osfrom apscheduler.schedulers.blocking import BlockingSchedulerfrom apscheduler.schedulers.background import BackgroundSchedulerdef tick():
print('Tick! The time is: %s' % datetime.now())if __name__ == '__main__':
scheduler = BackgroundScheduler()
scheduler.add_job(tick, 'interval', seconds=10)
print('Press Ctrl+{0} to exit'.format('Break' if os.name == 'nt' else 'C ')) try:
scheduler.start() except (KeyboardInterrupt, SystemExit): pass这段代码运行以后会自动的在后台一直运行下去 就是每10秒打印一下函数那么我要怎么停止这个代码 或是如何动态来管理代码?查了好久,基本你看到的答案都是这样的:job = scheduler.add_job(myfunc, 'interval', minutes=2)
job.remove()
Same, using an explicit job ID:
scheduler.add_job(myfunc, 'interval', minutes=2, id='my_job_id')
scheduler.remove_job('my_job_id')这个就是脚本运行的时候,加了一个任务 然后再把她移除掉????那么我脚本运行了以后,如何找到这个任务去移除掉?请高手指点一下问题补充就是脚本运行了,此刻你把终端关了,去睡觉了…然后第二天再次打开终端,你怎么停止这个任务?或是找到这个任务?如何对这个任务进行操作?
1 回答
隔江千里
TA贡献1906条经验 获得超10个赞
在apscheduler中scheduler对象有个get_jobs
方法,可以获得所有任务的信息,是1个列表嵌套字典的形式,字典里面有个ID的值就是任务的ID,你根据任务的名称找到对应的ID,然后将它传递给remove_job
方法即可。
>>> scheduler.get_jobs()[{...},{...}]
添加回答
举报
0/150
提交
取消