[Twisted-Python] looping in a non-blocking way
Tommi Virtanen
tv at twistedmatrix.com
Thu Mar 24 12:20:54 MST 2005
Eugene Coetzee wrote:
> def importFromText(self,data):
> datalines=data.split("\r\n")
> for line in datalines:
> arrin=[]
> arrin.insert(0,line[0:10])
> etc....
from twisted.internet import reactor
CHUNKSIZE = 100
def _parseSome(lines):
for i in xrange(CHUNKSIZE):
try:
line = lines.pop(0)
except IndexError:
break
# parse line here, maybe mutate a data
# structured passed as an argument
if lines:
reactor.callLater(0, _parseSome, lines)
else:
# all done, probably should notify someone
def importFromText(self, data):
datalines=data.split("\r\n")
_parseSome(datalines)
More information about the Twisted-Python
mailing list