xmlstream: fix slow tasks scheduling
- wrong attribute used - some mistakes in the slow tasks function
This commit is contained in:
parent
ee671dfb29
commit
8b90cdd73f
1 changed files with 8 additions and 4 deletions
|
@ -1007,11 +1007,13 @@ class XMLStream(asyncio.BaseProtocol):
|
|||
"""
|
||||
data = await task
|
||||
self.__slow_tasks.remove(task)
|
||||
for filter in self.__filters['out']:
|
||||
if data is None:
|
||||
return
|
||||
for filter in self.__filters['out'][:]:
|
||||
if filter in already_used:
|
||||
continue
|
||||
if iscoroutinefunction(filter):
|
||||
data = await task
|
||||
data = await filter(data)
|
||||
else:
|
||||
data = filter(data)
|
||||
if data is None:
|
||||
|
@ -1047,7 +1049,7 @@ class XMLStream(asyncio.BaseProtocol):
|
|||
timeout=1,
|
||||
)
|
||||
if pending:
|
||||
self.slow_tasks.append(task)
|
||||
self.__slow_tasks.append(task)
|
||||
asyncio.ensure_future(
|
||||
self._continue_slow_send(
|
||||
task,
|
||||
|
@ -1055,7 +1057,9 @@ class XMLStream(asyncio.BaseProtocol):
|
|||
),
|
||||
loop=self.loop,
|
||||
)
|
||||
raise Exception("Slow coro, rescheduling")
|
||||
raise ContinueQueue(
|
||||
"Slow coroutine, rescheduling filters"
|
||||
)
|
||||
data = task.result()
|
||||
else:
|
||||
data = filter(data)
|
||||
|
|
Loading…
Reference in a new issue