我的 View 占用大量内存并且是异步的。我可以限制在处理程序函数内同时工作的连接数吗(比如内部有 N max workers 的关键部分)。
这在 Tornado 中可能吗?
喜欢:
@tornado.web.asynchronous
def get(self):
with critical_section(count=5):
# some code
谢谢
最佳答案
Toro提供类似于 Tornado 协程线程模块中的同步原语。您可以使用它的 BoundedSemaphore 来控制处理程序主体的入口:
# global semaphore
sem = toro.BoundedSemaphore(5)
@gen.coroutine
def get(self):
with (yield sem.acquire()):
# do work
关于python - 限制 Tornado 中特定 View 的连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19135253/