Async support
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
Línea de trabajo
No se nombran archivos fuente, pruebas ni puntos de entrada. Empieza por mapear los puntos de entrada actuales de los manejadores de eventos síncronos y revisar el trabajo asíncrono citado de Starlette y firebase-admin-python. Se considera completado cuando haya un modelo definido de manejadores asíncronos, su integración en el runtime y una cobertura documentada de los casos de uso secuenciales y concurrentes descritos.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Would it make sense to support async functions here, so that the event handlers could be called in an async manner and consequently call async libraries?
This way a single instance could be handling more requests in parallel, for example if the cloud function calls several external APIs in a sequence to complete a process, and spends most of the time just waiting for responses, and uses only a little memory and CPU in general.
It is possible to call async code from the current sync functions, but it does not help with scalability, as the cloud function itself still blocks during the whole operation. This can help to do things in parallel in a cloud function, but not with sequential operations, which are common at least in our use case.
The original JS runtime is async, like all things Node, but also Python has standard async in version 3. Consequently, firebase-admin-python has worked on adding async support, since google-auth added async support in 2021. https://github.com/firebase/firebase-admin-python/issues/104
Hey Folks, We just released v5.3.0 which added async support for the Cloud Firestore API. This is the first step into fulfilling this FR so please give it a try and let us know what you think!
Starlette is a popular, lightweight ASGI framework which could maybe used for this, the same way Flask is for the sync version? https://www.starlette.io/
- Lenguaje dominante
- Python
- Estrellas
- 167
- Forks
- 36
- Merge medio
- 4 d 3 h
- PR fusionados (30 d)
- 1
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la 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 firebase/firebase-functions-python
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
-
HttpsError.__init__ does not pass message to super().__init__()Posiblemente ocupada @Aayush99910 la tomó hace 1 día. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
firebase/firebase-functions-python#314 · 1 comentario ·
-
Add support for VPC direct connectPosiblemente ocupada @IzaakGough la tomó hace 106 días. Abiertofeature-request
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
firebase/firebase-functions-python#275 · 1 comentario · 1 reacción ·
-
feature-request
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
firebase/firebase-functions-python#271 · 3 comentarios ·
-
[Bug] stability_digest_payload_from_ce_payload fails with AttributeError: 'dict' object has no attribute 'split'Quizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abiertobug unable to reproduce
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
firebase/firebase-functions-python#260 · 6 comentarios ·
Todos los issues de firebase/firebase-functions-python
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
Los mantenedores suelen responder en 1 día
-
SR_SECURITY_DESCRIPTOR.fromString drops the SACL when no DACL is presentPosiblemente ocupada @paul7436 la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
equinor/fmu-sumo-uploader#302 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
modelscope/evalscope#1821 ·
Los mantenedores suelen responder en 1 día
-
Sanity on ansible-core devel fails: ignore-2.23.txt references the removed import-3.9 testPosiblemente ocupada @yurnov la tomó hoy. Abiertoneeds_triage
Dificultad 1/5 Menos de una hora Aptitud para principiantes 91/100
ansible-collections/kubernetes.core#1275 ·
Los mantenedores suelen responder en 1 día