从不同的defaultdict实例访问/更新全局RequestHandler是否安全?例如。

GlobalMap = defaultdict(list)

class Event(tornado.web.RequestHandler):
    def get(self, unit):
        # This is where the access/modify might happen
        # The list.append() is just an arbitrary example
        GlobalMap[unit].append(datetime.utcnow())
        self.write(b'')


如果不是,在不同的RequestHandler实例之间查找/存储键控数据的正确方法是什么?

最佳答案

是的,这样做很好。龙卷风代码通常在主线程中运行;访问此类Python数据结构的任何代码。

但是,如果要在生产中部署Tornado应用程序,则需要多个Tornado进程,这些进程可能在多台计算机上运行,​​因此您需要将数据放入共享的数据库服务器中,以在进程之间共享它。

关于python - 从不同的tornado.RequestHandler实例访问/更新全局/共享defaultdict,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39281912/

10-16 19:05