[FR] Complex database queries should support realtime updates
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 45/100
Piste de recherche
Commencez dans la classe Query et examinez le chemin d’écoute existant, notamment _listen_with_session et create_listener_session. Comparez la manière dont les paramètres de requête sont transmis à l’API REST, puis vérifiez que listen() fournit des mises à jour en temps réel pour order_by_child() et les autres requêtes complexes sans interrompre les listeners existants.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Is your feature request related to a problem? Please describe.
There is currently no listen() function for complex queries. This means that you for example cannot listen for realtime updates on the result of order_by_child().
This feature is supported by the underlying REST API, and also in the pyrebase Python client library.
Describe the solution you'd like
A listen() function in the Query class.
Describe alternatives you've considered
- Use pyrebase
- Do sorting and filtering client-side
Additional context
Adding the following code into the Query class seems to be enough to implement this feature:
def listen(self, callback):
return self._listen_with_session(callback)
def _listen_with_session(self, callback, session=None):
url = self._client.base_url + self._pathurl
if not session:
session = self._client.create_listener_session()
try:
sse = _sseclient.SSEClient(url, session, params=self._querystr)
return ListenerRegistration(callback, sse)
except requests.exceptions.RequestException as error:
raise _Client.handle_rtdb_error(error)
- Langage dominant
- Python
- Étoiles
- 1.2k
- Forks
- 359
- Merge moyen
- 3 j 9 h
- PR mergées (30 j)
- 3
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de firebase/firebase-admin-python
-
api: remoteconfig
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
firebase/firebase-admin-python#957 · 1 commentaire ·
-
api: database type: feature request
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
-
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
firebase/firebase-admin-python#978 · 1 commentaire ·
-
[FR] Support VERIFY_AND_CHANGE_EMAIL in generate_email_action_link (parity with firebase-admin-node) Ouverteapi: auth
firebase/firebase-admin-python#949 · 2 commentaires · 1 réaction · 1 personne assignée ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 43/100
firebase/firebase-admin-python#945 · 1 commentaire · 1 réaction ·
Toutes les issues de firebase/firebase-admin-python
Issues similaires
-
essnmx good first issue
Difficulté 1/5 Moins d'une heure Accessibilité débutants 95/100
-
[Feature] 奇物选择添加优先级 Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
syfoud/Simulated_Scepter#174 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
Giskard-AI/giskard-oss#2840 · 1 commentaire ·
-
A claim comment carrying the issue number is silently declined while the workflow reports success Ouvertearea: repo bug perceived difficulty: 2
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
yeti-platform/yeti#1380 ·