CherryPy ThreadPool没有增长和/或收缩

时间:2014-09-09 01:18:24

标签: python cherrypy

我目前正在使用CherryPy 3.2.2并且遇到一个问题,我的ThreadPool根本没有增长和缩小。通过查看wsgiserver2.py的来源,我看到ThreadPool类中的两个函数'grow'和'shrink'。如果您下载整个仓库并搜索这两个功能以查看它们被调用的位置,则不会。也许他们被其他一些对我来说很陌生的方式所引用,但我想知道这是否是一种疏忽,或者我只是在寻找错误的地方。

注意:我在服务器上从ServerAdapter调用start之前正确设置值(thread_pool和thread_pool_max),所以不是那样。

感谢您的帮助。

pcarl

1 个答案:

答案 0 :(得分:2)

你是对的。在CherryPy流程中不会调用ThreadPool.shrinkThreadPool.grow,除非您明确调用这两种方法,否则thread_pool_max都没有任何效果。

通常,CherryPy会懒惰地将线程工作者实例化为thread_pool并停在那里。

如果您确定需要大线程池,这会导致应用程序的内存开销严重,您可以继承cherrypy.process.plugins.Monitor来监视线程队列大小或其他参数来增大和缩小池。幸运的是那里已经one了。