我有一个烧瓶应用程序,我希望大多数请求同时运行。我设置了app.run(threaded=True)
,这似乎在很大程度上起作用。但是,有一个端点运行dredd,我想限制它,以便对该端点的请求不会同时运行。当多个同时运行时,它似乎会导致套接字错误。有没有办法做到这一点?
我认为不可能以声明方式进行per-route。
但是,您可以使用threading.lock
或更好的multiprocessing.lock
来序列化您需要连续处理的事物的实际处理。请求处理程序将等待它们获得锁定。在各种错误情况下以及正常执行期间,请务必注意释放锁定。