juk*_*juk 2 python postgresql facebook tornado
我正在使用facebook的龙卷风演示
但我不想使用MySQL并尝试用PG替换它所以我继续进行修改,如下所示:
define("port", default=8888, help="run on the given port", type=int)
define("pgsql_host", default="127.0.0.1:5432", help="blog database host")
define("pgsql_database", default="pgdb", help="blog database name")
define("pgsql_user", default="admin", help="blog database user")
define("pgsql_password", default="pgpass", help="blog database password")
Run Code Online (Sandbox Code Playgroud)
和
# Have one global connection to the blog DB across all handlers
self.db = tornado.database.Connection(
host=options.pgsql_host, database=options.pgsql_database,
user=options.pgsql_user, password=options.pgsql_password)
Run Code Online (Sandbox Code Playgroud)
但是当我运行它时,应用程序会挂起,如何正确地将其迁移到PG?
实际上我在一段时间后得到错误:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/tornado-2.4.1-py2.7.egg/tornado/database.py", line 84, in __init__
self.reconnect()
File "/usr/local/lib/python2.7/dist-packages/tornado-2.4.1-py2.7.egg/tornado/database.py", line 101, in reconnect
self._db = MySQLdb.connect(**self._db_args)
File "/usr/lib/pymodules/python2.7/MySQLdb/__init__.py", line 81, in Connect
return Connection(*args, **kwargs)
File "/usr/lib/pymodules/python2.7/MySQLdb/connections.py", line 187, in __init__
super(Connection, self).__init__(*args, **kwargs2)
OperationalError: (2013, "Lost connection to MySQL server at 'reading initial communication packet', system error: 0")
Run Code Online (Sandbox Code Playgroud)
为什么连接到MySQL?
您确定可以将它与不同的RDBMS一起使用,包括PostgreSQL吗?它使用torndb包,它被编写为与MySQL一起使用.
所以我认为如果你想在PostgreSQL中使用它,你应该为postgresql编写自己的torndb包.
编辑:正如你在Tornado Wiki上看到的,你必须有postgresql包装器(momoko或psycopg),有一些链接可供进一步研究.
EDIT2:Momoko描述:
"Tornado的异步Psycopg2包装器."
| 归档时间: |
|
| 查看次数: |
10065 次 |
| 最近记录: |