如何在不出现 Cron 作业或资源耗尽的情况下重复执行 Python 函数?
如何在没有 Cron 的情况下重复执行函数
Python 爱好者经常面临以指定时间间隔永久执行函数而不需要复杂的 cron 设置。一种简单的方法是利用简单的 while 循环。
while True: # Code executed here time.sleep(60)
此代码似乎旨在每 60 秒连续执行一个函数。然而,这种方法存在潜在的陷阱。由于循环不断运行,存在资源耗尽的风险,导致性能下降或系统崩溃。
要优雅地解决这些问题,请考虑使用事件调度程序,例如 Python 中的 sched 模块。
import sched, time def do_something(scheduler): # schedule the next call first scheduler.enter(60, 1, do_something, (scheduler,)) print("Doing stuff...") # then do your stuff my_scheduler = sched.scheduler(time.time, time.sleep) my_scheduler.enter(60, 1, do_something, (my_scheduler,)) my_scheduler.run()
sched 模块可以通过对任务执行时间的复杂控制来调度任务。在这种情况下,do_something() 充当回调函数,每 60 秒重新安排一次并同时执行预期任务。这种机制确保函数按照指定的时间间隔连续执行,而不会妨碍程序的响应能力。
从本质上讲,利用事件调度程序为 Python 中重复执行函数提供了一种更健壮且资源高效的解决方案,而不受 while 的限制循环。
以上是如何在不出现 Cron 作业或资源耗尽的情况下重复执行 Python 函数?的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

使用FiddlerEverywhere进行中间人读取时如何避免被检测到当你使用FiddlerEverywhere...

如何在10小时内教计算机小白编程基础?如果你只有10个小时来教计算机小白一些编程知识,你会选择教些什么�...

攻克Investing.com的反爬虫策略许多人尝试爬取Investing.com(https://cn.investing.com/news/latest-news)的新闻数据时,常常�...

Python3.6环境下加载pickle文件报错:ModuleNotFoundError:Nomodulenamed...

使用Scapy爬虫时管道文件无法写入的原因探讨在学习和使用Scapy爬虫进行数据持久化存储时,可能会遇到管道文�...
