当前位置: 首页 > 面试题库 >

在Python中每x秒重复执行一个函数的最佳方法是什么?

山翼
2023-03-14
问题内容

我想永远每60秒重复执行一次Python中的函数(就像Objective C中的NSTimer一样)。该代码将作为守护程序运行,实际上就像使用cron每分钟调用python脚本一样,但是不需要用户设置。

在有关使用Python实现的cron的问题中,该解决方案似乎实际上只是将sleep()停留了x秒。我不需要这种高级功能,所以也许这样的事情会起作用

while True:
    # Code executed here
    time.sleep(60)

该代码是否存在任何可预见的问题?


问题答案:

使用sched模块,该模块实现了通用事件调度程序。

import sched, time
s = sched.scheduler(time.time, time.sleep)
def do_something(sc): 
    print "Doing stuff..."
    # do your stuff
    s.enter(60, 1, do_something, (sc,))

s.enter(60, 1, do_something, (s,))
s.run()


 类似资料:
  • 问题内容: jQuery,如何每5秒调用一次函数。 我正在寻找一种自动化幻灯片显示中图像更改的方法。 如果可能的话,我宁愿不安装其他任何第三方插件。 问题答案: 为此,您不需要jquery,使用简单的javascript即可! 要停止循环,您可以使用

  • 问题内容: 我正在开发Django应用。我有一个API端点,如果需要,它必须执行必须重复几次的功能(直到满足特定条件为止)。我现在如何处理- 虽然我知道这是一种可怕的方法,并且我不应该阻塞2秒钟,但是我不知道该如何解决。 等待4秒后,此方法起作用。但是我想要使循环在后台运行并在some_fn返回True时停止的东西。(此外,可以肯定some_fn将返回True) 编辑- 阅读Oz123的响应给了我

  • 问题内容: 我想每60秒在Python上执行一个函数,但是我不想同时被阻塞。 如何异步进行? 使用此代码,函数f在20秒time.time中每3秒执行一次。最后,它给出了一个错误,我认为这是因为threading.timer尚未被取消。 如何取消呢? 提前致谢! 问题答案: 您可以尝试threading.Timer类:http : //docs.python.org/library/threadi

  • 问题内容: 我想每0.5秒触发一次功能,并且能够启动,停止和重置计时器。我不太了解Python线程的工作方式,并且在使用python计时器时遇到了困难。 但是,当我执行两次时,我会不断得到帮助。有没有解决的办法?我尝试在每次开始之前申请。 伪代码: 问题答案: 最好的方法是一次启动计时器线程。在计时器线程中,你需要编写以下代码 然后,在启动计时器的代码中,可以停止事件来停止计时器。

  • 问题内容: 您不能在PHP类中放置两个具有唯一参数签名的__construct函数。我想这样做: 用PHP做到这一点的最佳方法是什么? 问题答案: 我可能会做这样的事情: 然后,如果我想要一个我知道ID的学生: 或者,如果我有数据库行的数组: 从技术上讲,您不是在构建多个构造函数,而只是在构建静态辅助方法,而是通过这种方式避免在构造函数中使用大量意大利面条式代码。

  • 在额外收入部分,我想给添加某种值m,但是我不知道如何做。