gpt4 book ai didi

python 网络服务器和周期性任务

转载 作者:太空狗 更新时间:2023-10-30 01:23:58 24 4
gpt4 key购买 nike

我正在使用 CherryPy 通过 REST API 接收请求。除了处理请求之外,应用程序还应该每隔几秒进行一些资源管理。最简单的方法是什么?

1) 运行一个单独的线程

2) cherrypy.process.plugins.PerpetualTimer(不确定如何使用它,看起来资源很重?)

3) 其他方式?

单独线程的解决方案对我来说很好,但我想知道是否有更好的方法来做到这一点?

请注意,CherryPy 不是必需的 - 我决定使用它主要是因为该项目看起来很活跃并且因为它支持多个同时连接(换句话说:我对替代方案持开放态度)。

最佳答案

PerpetualTimer 只是 threading._Timer 的重复版本。

你真正想用的是cherrypy.process.plugins.Monitor ,这只不过是一种为您运行单独线程的方法。您应该使用它,因为它插入到 cherrypy.engine 中,它管理 CherryPy 服务器的启动和停止行为。如果您运行自己的线程,您将希望它在 CP 关闭时停止; Monitor 类已经知道如何做到这一点。它在后台使用 PerpetualTimer,直到最近的版本才被 BackgroundTask 类取代。

my_task_runner = Monitor(cherrypy.engine, my_task, frequency=3)
my_task_runner.subscribe()

关于python 网络服务器和周期性任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7648416/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com