Я просто пытаюсь показать элементы какой-то базы данных, одну за другой:
from twisted.web import server, resource
from twisted.internet import reactor
from pymongo import Connection
import time
import pprint
class ZenResource(resource.Resource):
isLeaf = True
connection = Connection('...', 27017)
db = connection.data
db.authenticate("...","...")
iter = db.index.find()
def render_GET(self, request):
item = self.iter.next()
# ... simple processing, skipped some simple strings manipulations:
htmlLines = []
for textLine in pprint.pformat(item).splitlines():
htmlLines.append('<br/>%s' % textLine)
htmlText = '\n'.join(htmlLines)
request.setHeader("Content-type", 'text/html; charset=UTF-8')
return htmlText.encode("utf8")
reactor.listenTCP(48088, server.Site(ZenResource()))
reactor.run()
В одной системе (Linux hh 3.0.0-16-generic-pae # 28-Ubuntu SMP пт 27 января 19:24:01 UTC 2012 i686 i686 i386 GNU / Linux) все работает отлично.
В другой системе (Linux localhost 2.6.38-8-сервер # 42-Ubuntu SMP Пн 11 апреля 03:49:04 UTC 2011 x86_64 x86_64 x86_64 GNU / Linux)
Я получил следующее:
root@localhost:~# python zen.py
Bus error
Единственное различие между двумя серверами, о котором я думаю (кроме формы x32 / x64), заключается в том, что на втором сервере существует похожий витой процесс. Этот процесс делает что-то важное и действительно не хочет завершаться или каким-либо другим образом мешать ему, просто чтобы проверить, работает ли мой тестовый код.