Collect does not allow awaitable sinks
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 48/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- python
- Área
- stream-processing
Línea de trabajo
Start by locating the Python collect stream class and its flush method, then run the issue's awaitable-sink example. Check how flush propagates results to downstream sinks and compare that with regular synchronous sinks. Done means awaitable sinks complete correctly without breaking existing collection and flush behavior, with tests covering both cases.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
The collect class does not allow for awaitable sinks.
Small example:
async def sink_to_something(x):
print(x)
return await asyncio.sleep(1)
source = streamz.Source()
collector = source.collect()
collector.sink(sink_to_something)
for i in range(10):
source.emit(i)
collector.flush()
Changing def flush in the collect class from:
@Stream.register_api()
class collect(Stream):
...
def flush(self, _=None):
out = tuple(self.cache)
metadata = list(self.metadata_cache)
self._emit(out, metadata)
...
To:
@Stream.register_api()
class collect(Stream):
...
def flush(self, _=None):
out = tuple(self.cache)
metadata = list(self.metadata_cache)
# change self._emit to self.emit (self.emit waits for awaitable results from downstream)
self.emit(out, metadata=metadata)
...
Fixed this problem, but I'm not sure if this has any drawbacks.
- Lenguaje dominante
- Python
- Estrellas
- 1.3k
- Forks
- 149
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de python-streamz/streamz
-
pkg_resources warning Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
python-streamz/streamz#481 · 4 comentarios ·
-
Combining the streamz.Stream.filenames() and streamz.Stream.from_textfile() using dask scatter? Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
python-streamz/streamz#480 · 2 comentarios ·
-
Compile the code into c++ Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
python-streamz/streamz#479 · 1 comentario ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
python-streamz/streamz#478 · 6 comentarios ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 10/100
python-streamz/streamz#476 · 17 comentarios · 2 reacciones ·
Todos los issues de python-streamz/streamz
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
use-agent-os/agent-os#3314 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
BasedHardware/omi#15662 · 1 comentario ·
-
documentation help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
AiursoftWeb/AnduinOS-2#19 ·