Web Services Made Easy (WSME)“通过提供简单而强大的输入,消除了直接操作请求和响应对象的需要,从而简化了REST Web服务的编写”。 WSME允许您使用python类来描述服务公开的资源。 WSME似乎需要你这样做使用像类变量:python WSME和线程安全
class Person(wsme.types.Base):
lastname = wsme.type.wsattr(unicode)
firstname = wsme.type.wsattr(unicode)
这样做,这样允许WSME使用类对象作为编组和类的解组实例的模板。然后,您在WSME装饰的代码中使用此类的实例,并且WSME执行解组和编组(分别)请求和响应主体的工作。
但是我对使用WSME以这种方式构建的任何服务的线程安全性有一些担忧。如果一个服务或多或少地同时接收到两个不同“人”资源的GET请求,那么在我看来,服务于这些请求的线程有覆盖彼此的“姓”,“名”等属性的风险。即使代码被正确编写以使用Person类的单独本地实例,这些属性在类级别定义的事实意味着它们由该类的所有实例共享。
我希望我的WSME或python的理解中有些东西缺乏,这会导致我不再担心。人们认为什么?这真的是一个问题,还是有我缺少的东西?