Я просто пытаюсь показать элементы некоторой базы данных один за другим:
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-server #42-Ubuntu SMP Mon 11 Apr 03:49:04 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux)
Я получил следующее:
root@localhost:~# python zen.py
Bus error
Единственная разница между двумя серверами, о которой я думаю (помимо x32/x64), заключается в том, что на втором сервере есть аналогичный закрученный процесс. Этот процесс делает что-то важное, и я действительно не хочу прерывать или каким-либо другим образом вмешиваться в него, просто чтобы проверить, работает ли мой тестовый код.
run
, потому что Бог ненавидит программистов, а это значит, что в установке Python есть изъян; переустановить. Однако, если повезет, он будет в вызове базы данных, и вы сможете продолжить расследование там. - person Malvolio   schedule 18.02.2012