暂停线程。计时器1小时

2024-07-02 13:50:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做的是检查网站上的新内容。这个线程。计时器每50秒检查一次新内容。如果发现新内容,我希望它暂停功能1小时。在

def examplebdc ():
threading.Timer(50.00, examplebdc).start ();
#content id
wordv = 'asdfsdfm'

if any("m" in s for s in wordv):
    print("new post")
    #pause this threading.Timer (or function) for 1hr. 
examplebdc();

Tags: in功能内容for网站defcontent线程
1条回答
网友
1楼 · 发布于 2024-07-02 13:50:21

最简单的方法可能是不重新启动计时器,直到您知道在再次调用函数之前要等待多长时间:

def examplebdc():
    wordv = 'asdfsdfm'

    if any("m" in s for s in wordv):
        print("new post")
        threading.Timer(60*60, examplebdc).start()
    else:
        threading.Timer(50, examplebdc).start()

examplebdc()

如果由于某些原因无法实现,则可以更改创建和启动计时器的方式,以便以后引用并取消计时器:

^{pr2}$

在你的单个函数中,这很简单,你可以使用一个变量。如果计时器在其他地方启动,则可能需要使用一个或多个global语句或其他更复杂的逻辑来传递计时器引用。在

相关问题 更多 >