您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何取消python时间表

如何取消python时间表

问题1:scheduler.enter返回已安排的事件对象,因此保留一个句柄就可以cancel了:

from stocktrace.util import settings
from stocktrace.parse.sinaparser import getMyStock   
import time, os, sys, sched

class Monitor(object):
    def __init__(self):
        self.schedule = sched.scheduler(time.time, time.sleep)
        self.interval = settings.POLLING_INTERVAL
        self._running = False

    def periodic(self, action, actionargs=()):
        if self._running:
            self.event = self.scheduler.enter(self.interval, 1, self.periodic, (action, actionargs))
            action(*actionargs)

    def start(self):
        self._running = True
        self.periodic(getMyStock)
        self.schedule.run( )

    def stop(self):
        self._running = False
        if self.schedule and self.event:
            self.schedule.cancel(self.event)

我已将您的代码移到一个类中,以使引用事件更加方便。

Q2不在此站点范围内。

python 2022/1/1 18:28:32 有185人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶