self communication pattern
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 30/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- python
- Área
- backend, distributed-systems
Línea de trabajo
No se nombran archivos ni pruebas. Empieza siguiendo los métodos de envío de nivel inferior, la lógica de gestión de solicitudes y la ruta del broker; después, determina en qué se diferencian las solicitudes y respuestas locales de las remotas. Se considera terminado cuando el diseño elegido gestiona las llamadas locales sin bloquear, sigue entregando solicitudes y respuestas a consumidores remotos y define el comportamiento de las llamadas recursivas.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
It is currently the case that an object in a dripline-python service cannot send requests to an endpoint in the same service. This is because the call stack send the request stops any python functions from processing the incoming request. There are a few pieces to resolving this:
- We should re-evaluate the potential use of async, it may be possible to resolve blocking with those patterns (probably requires across the board refactoring to make everything async compatible)
- The lower-level send methods should check if the target of the request is local, if so it should pass the request object to the request handling logic stack directly (rather than making a round trip to the broker). This places the resolution logic in the same call stack and avoid blocking.
There are some possible concerns:
- The above could result in an infinitely recursive loop (which should be stopped by the python recursion depth limit). It is not clear superficially if this is something we need to detect and protect against, or just document and "let it fail" for a user to fix.
- There could be cases where both a local and a remote consumer are expecting to receive a request, we need to make sure that the remote also gets it (for example, if I am running dl-mon to see all requests coming into some endpoint).
- If the request is sent locally, the reply needs to also be processed locally such that the original caller receives the reply in the expected type and format. This also has the same concern as 2, namely that there could also be a non-local client expecting to receive the result.
- Lenguaje dominante
- Python
- Estrellas
- 3
- Forks
- 6
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una plantilla de pull request
- Sin 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 driplineorg/dripline-python
-
Log on set delayAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 38/100
driplineorg/dripline-python#222 · 1 comentario ·
-
Create Logging WrapperAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
driplineorg/dripline-python#221 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 50/100
driplineorg/dripline-python#214 · 2 comentarios ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
driplineorg/dripline-python#207 ·
-
Inconsistent response behavior with a 'values' arrayQuizá libre de nuevo @pkolbeck la tomó hace 484 días y no hay ningún pull request abierto. Abierto
driplineorg/dripline-python#204 · 1 comentario · 2 asignados ·
Todos los issues de driplineorg/dripline-python
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
huggingface/sentence-transformers#4186 ·
Los mantenedores suelen responder en 5 días
-
documentation good first issue
Dificultad 2/5 Medio día Aptitud para principiantes 72/100
sujithputta02/Esapay#13 ·
-
bot-triaged module: correctness (silent) module: mps module: NaNs and Infs triage review
Dificultad 2/5 Medio día Aptitud para principiantes 62/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
README: CI link/badge checkAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
SCIInstitute/SCIRun#2842 ·
Los mantenedores suelen responder en 3 días