1

我在 Bottle 应用程序中创建了一个类,它处理和存储 URL 信息,并在每次发出 http 请求时创建:

@route('/<fullurl:path>')
    def page_req(fullurl=''):
        urlData = urlReq(request.urlparts[1], fullurl)

urlData 是实例名,urlReq 是类名。

显然 urlData 实例将包含从一个请求生成的信息。我只是想知道如果在第一个请求的周期完成并发送其输出之前另一个请求进入会发生什么。第二个请求会更改 urlData 中的数据,还是会有两个单独的进程,每个进程都有自己的 urlData 版本?

我整个下午都在阅读 WSGI 进程/线程信息和 Bottle 文档,但还不是很清楚。我曾尝试编写一个小型自动化脚本,在开发服务器上触发多个请求,但它似乎会阻止多余的请求,直到一个完成。希望我已经足够清楚了。

4

1 回答 1

1

bottle.request是 的线程安全实例LocalRequest()。如果从请求回调中访问,此实例始终引用当前请求(即使在多线程服务器上)。

http://bottlepy.org/docs/dev/api.html#bottle.request

于 2012-12-18T18:15:28.143 回答