MagicStack / MagicStack/asyncpg
How to remove log listeners for a pool:ed connections.
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 8.1k
- Forks
- 468
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
According to the documentation the setup callback is where you should do stuff like add log listeners to the connection. It works fine but when the connection is release back to the pool I get a warning that it still have a active log listener, which is correct but misleading.
- How/where should I remove the log listener?
- Is there a
releasecallback somewhere that I have missed? - I see that the warning is made using the
warningspython api. I can just silence it but that might hide actual errors.
Example code:
pool = await asyncpg.create_pool(
user='postgres',
setup=lambda conn: conn.add_log_listener(_log_test),
)
After I have checked out a connection and released it back this gets printed to stdout/err:
/opt/python3.7/lib/python3.7/site-packages/asyncpg/connection.py:1295: InterfaceWarning: <wild.database.LeaderConnection object at 0x7f006d4e1208> is being released to the pool but has 1 active log listener
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
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.
Piste de recherche
Commencez par la documentation du pool de connexions et le comportement du callback de configuration décrit dans l’issue. Inspectez asyncpg/connection.py autour de la ligne 1295 pour comprendre l’avertissement concernant les listeners actifs et suivez la manière dont les connexions sont libérées. Le travail est terminé lorsque le cycle de vie des listeners est clair et que l’avertissement trompeur ou le mécanisme de libération manquant est corrigé, sans masquer les avertissements sans rapport.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- postgresql, python
- Domaine
- databases
- Type d'issue
- Fonctionnalité
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100