- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在使用 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/
我已经完成了创建和启动计时器的手册页。 http://man7.org/linux/man-pages/man2/timerfd_create.2.html 但是,除了 arm(start) 和 di
我正在用 opengl 编写新的代码库,很早就遇到了一个奇怪的错误。这是帧速率的明显波动,具有重复性和可预测性。 我知道它肯定与渲染的对象成正比。它也与屏幕大小成正比(不是视口(viewport)大小
我知道如何使用计算数组中点之间的欧几里得距离 scipy.spatial.distance.cdist 类似于这个问题的答案: Calculate Distances Between One Poin
我想使用 CGAL 构造周期性 3D Delaunay 三角剖分和信息(在本例中为整数)。对于 2D,如果我构造一个 vector 对(点,信息)并将其传递给三角测量函数,则效果很好。然而,非常类似的
每隔几天,我们就会收到少量 MySql 超时错误,这些错误与我们的 MySQL RDS 实例上的 CPU 和数据库连接出现大量峰值相对应。这些查询通常非常快(<5 毫秒),但突然超时。 此时,数据库操
我是一名优秀的程序员,十分优秀!