[FR] Complex database queries should support realtime updates
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 45/100
Direção de pesquisa
Comece na classe Query e inspecione o caminho existente do listener, incluindo _listen_with_session e create_listener_session. Compare como os parâmetros de consulta são passados para a REST API e, em seguida, verifique se listen() entrega atualizações em tempo real para order_by_child() e outras consultas complexas sem quebrar os listeners existentes.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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)
- Linguagem predominante
- Python
- Estrelas
- 1.2k
- Forks
- 359
- Merge médio
- 3d 9h
- PRs com merge (30d)
- 3
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de firebase/firebase-admin-python
-
api: remoteconfig
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
firebase/firebase-admin-python#957 · 1 comentário ·
-
api: database type: feature request
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 45/100
firebase/firebase-admin-python#978 · 1 comentário ·
-
[FR] Support VERIFY_AND_CHANGE_EMAIL in generate_email_action_link (parity with firebase-admin-node) Abertaapi: auth
firebase/firebase-admin-python#949 · 2 comentários · 1 reação · 1 responsável ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 43/100
firebase/firebase-admin-python#945 · 1 comentário · 1 reação ·
Todas as issues de firebase/firebase-admin-python
Issues semelhantes
-
essnmx good first issue
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 95/100
-
[Feature] 奇物选择添加优先级 Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
syfoud/Simulated_Scepter#174 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
Giskard-AI/giskard-oss#2840 · 1 comentário ·
-
A claim comment carrying the issue number is silently declined while the workflow reports success Abertaarea: repo bug perceived difficulty: 2
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
yeti-platform/yeti#1380 ·