GoogleCloudPlatform / GoogleCloudPlatform/functions-framework-python

support of async views

Aperta
#192 3 commenti 11 reazioni 1 assegnatario Rivendicata da @jama22 Vedi su GitHub
enhancement
Lingua principale
Python
Stelle
968
Fork
128
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Similarly to Flask, the framework should support `async` function for a view - see https://flask.palletsprojects.com/en/2.1.x/async-await/
Under the hood, Flask executes `asyncio.run()` and returns the resulting value to the client.

When trying to define the view function with `async`, one gets `TypeError: The view function did not return a valid response. The return type must be a string, dict, tuple, Response instance, or WSGI callable, but it was a coroutine.`

Workaround is simply to create a "regular" sync function that executes (`asyncio.run()`) a separate async function but it could be simpler and match Flask functionality.

Our use case: use Google Cloud Functions from BigQuery Remote Function to call external APIs concurrently (using `aiohttp`).

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.