Ich bekomme einen seltsamen AssertionError, wenn ich meinen Listener starte. Der if
Teil der Logik in dieser Klasse arbeitet und ich nahm den verdrehten Code aus diesem Tutorial: http://krondo.com/our-eye-beams-begin-to-twist/Verdrehter Fehler beim Versuch, sich selbst anzurufen
class controlListener(object):
counter = 20
def count(self):
if self.counter == 0:
print "Killing Process"
reactor.stop()
else:
print self.counter, '...'
self.counter -= 1
reactor.callLater(1, self.counter)
Der Fehler
--- <exception caught here> ---
File "/usr/lib/python2.7/dist-packages/twisted/internet/base.py", line 429, in _continueFiring
callable(*args, **kwargs)
File "sponzyTwisted.py", line 17, in count
reactor.callLater(1, self.counter)
File "/usr/lib/python2.7/dist-packages/twisted/internet/base.py", line 705, in callLater
assert callable(_f), "%s is not callable" % _f
exceptions.AssertionError: 19 is not callable
Das ist genial es funktioniert, aber die controlListener tun Pass Priorität des printStuff Reaktor. Benutze ich den falschen Rückruf? ID wie Kontroll-Listener, um einen Bericht zu machen und dann an etwas anderes weiterzuleiten. Welchen Anruf sollte ich verwenden? –
Der Rückruf scheint für mich korrekt zu sein, aber ich habe keine Erfahrung mit Twisted. Rufen Sie einfach 'reactor.callWhenRunning (controlListener(). Count)' auf – miradulo