我开始了一个使用龙卷风和电机的小项目,如果我想获得非阻塞访问,我对如何处理访问数据层感到有些困惑
通常我用这种结构分隔我的项目
root_project
-logic
-data
--UsersDao
-handlers
--Users
-main.py
但我不知道我是否做这样的事情连接将是非阻塞的
@gen.coroutine
@tornado.web.asynchronous
def get(self, id):
users = self.settings["User"]
result = yield from users.get(id)
self.write(json_encode(result))
self.finish()
'users' 这是我的 UsersDao 对象,看起来像
class UsersDao(object):
....
def get(self, user, callback=None):
try:
user = yield self._db["users"].find_one({'_id': user})
...create user object
return user
except ValueError:
pass
except OperationFailure:
pass
except Exception:
raise