MagicStack / MagicStack/asyncpg
How to remove log listeners for a pool:ed connections.
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- Python
- Star
- 8.1k
- Fork
- 468
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
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
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Bắt đầu với tài liệu về connection pool và hành vi của setup callback được mô tả trong issue. Kiểm tra asyncpg/connection.py quanh dòng 1295 để hiểu cảnh báo về active listener và theo dõi cách các kết nối được giải phóng. Được xem là hoàn tất khi vòng đời của listener đã rõ ràng và cảnh báo gây hiểu lầm hoặc cơ chế giải phóng còn thiếu đã được xử lý mà không che giấu các cảnh báo không liên quan.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- postgresql, python
- Lĩnh vực
- databases
- Loại issue
- Tính năng
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 35/100