- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
恐怕我发现在twisted中使用sqlite3 ConnectionPools的adbapi接口(interface)很困难。
我已经在名为 db.py 的文件中像这样初始化了我的池:
from twisted.enterprise import adbapi
pool = adbapi.ConnectionPool("sqlite3", db=config.db_file)
pool.start()
def last(datatype, n):
cmd = "SELECT * FROM %s ORDER BY Timestamp DESC LIMIT %i" % (datatype, n)
return pool.runQuery(cmd)
然后,我导入 db.py 并在特定的路由处理程序中使用它。不幸的是,回调似乎从未被触发。 datatype
被打印,但 response
从未被打印。
class DataHandler(tornado.web.RequestHandler):
@tornado.web.asynchronous
def get(self, datatype):
print datatype
data = db.last(datatype, 500)
data.addCallback(self.on_response)
def on_response(self, response):
print response
self.write(json.dumps(response))
self.finish()
有什么想法吗?
最佳答案
混合 Tornado 和 Twisted 需要特别注意。试试这个,作为整个程序中执行的第一行:
import tornado.platform.twisted
tornado.platform.twisted.install()
然后,启动您的服务器:
tornado.ioloop.IOLoop.current().start()
现在发生的情况是,您启动了 Tornado IOLoop,但从未启动过 Twisted Reactor。当您运行查询时,您的 Twisted SQLite 连接开始 IO 操作,但由于 Reactor 未运行,因此该操作永远不会完成。为了让 IOLoop 和 Reactor 共享您的进程,您必须在其中一个之上运行其中一个。 Tornado 提供了一个兼容性层,允许您做到这一点。
关于python - Tornado adbapi 回调未运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22309183/
我正在使用 twisted 和使用 adbapi 连接池的 MySQL。我只插入到我的数据库中(尽管速度非常快)。 如果连接池因为所有连接都忙而用完连接会怎样?在繁忙的连接池上调用 runintera
我在旋风网络服务器中使用 adbapi。首先,我的处理程序将一些内容写入 SQL 数据库,然后向另一个 Web 服务器发出 HTTP 请求。如果该 HTTP 请求失败,我希望数据库事务回滚。但是,我没
恐怕我发现在twisted中使用sqlite3 ConnectionPools的adbapi接口(interface)很困难。 我已经在名为 db.py 的文件中像这样初始化了我的池: from tw
我正在尝试弄清楚事务在 twisted 的 adbapi 模块中是如何工作的。我目前正在使用 runOperation() 来执行 INSERT 和 UPDATE 语句。我将在下面链接到的文档使它看起
我插入了很多行,但似乎 postgress 跟不上。我用谷歌搜索了一下,建议您可以关闭自动提交。我不需要立即提交这些值。如果出现问题,我可以再次获取这些数据。 现在,当我搜索关闭自动提交时,我找不到我
我正在使用一个 python 扭曲的应用程序,该应用程序最初是使用阻塞数据库调用编写的。我正在将其更改为使用 adbapi,以便数据库调用变得非阻塞。我想我已经弄明白了,我只是想确保我没有遗漏任何东西
class MySQL(object): def __init__(self): self.dbpool = adbapi.ConnectionPool(
我有一个与 MySQL 数据库对话的 Cyclone Web 服务。当有一段时间没有事件时(我猜超过 8 小时),我收到以下错误,直到我重新启动 Web 服务: _mysql_exceptions.O
有什么方法可以将adbapi查询的字典结果返回给MySQL吗? [name: 'Bob', phone_number: '9123 4567'] 默认返回元组。 ['Bob', '9123 4567'
我是 python 新手,目前正在研究将其用作 SOAP 服务器的可行性。我目前有一个非常粗糙的应用程序,使用 mysql 阻塞 api,但想尝试扭曲的 adbapi。我已经使用 react 器在常规
概览 上下文 我正在为一些依赖于写入 SQLite3 数据库的高阶逻辑编写单元测试。为此,我使用了 twisted.trial.unittest 和 twisted.enterprise.adbapi
我正在尝试使用 MySQLdb 接口(interface)从 Twisted adbapi 调用 MySQL 存储过程,但无法使其正常工作。看到mysqldb中有调用存储过程的特殊方式(callpro
我正在使用this scrapy管道。如果insert_record函数中的sql有任何错误,它会默默地失败。例如,如果列名拼写错误,如下所示 def _insert_record(self, tx,
我可以使用以下方法插入 mySQL 数据, from twisted.enterprise.adbapi import ConnectionPool . . self.factory.pool.run
我有一个 CrawlSpider,我设置了一个项目管道,我试图通过 MySQLdb 坚持下去。我到处搜索,发现的大多数样本至少有 6 个月的历史,所有样本都以相同的方式使用 adbapi。当我尝试使用
我正在使用带有 sqlite3 数据库适配器和“runInteraction()”的 twisted.enterprise.adbapi。 我不断收到“sqlite3.OperationalError
我在 Twisted .tac 插件中使用 twisted.enterprise.adbapi,发现延迟对象返回用于 aConnectionPool 等函数。除非调用 reactor.(run),否则
在 twisted 中,我是一个永久的事件循环,它总是在寻找要运行的新查询它轮询一个 SQS 队列,并且是查询之间的时间足够长以致超时的时间,这是我在新的查询时得到的错误查询到达... MySQLdb
我是一名优秀的程序员,十分优秀!