0xPlaygrounds / 0xPlaygrounds/subgrounds

How to close the SSL connection correctly?

Đang mở
#52 2 bình luận 0 reaction 0 người được giao Xem trên GitHub
bug question
Ngôn ngữ chính
Python
Star
73
Fork
12
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

Is there a method that I can close the SSL connection which is build by Subgrounds? I checked the API document which doesn't have a similar content.

I tried to close it with contextlib, but it also can't solve this problem.

```
# Import the Subgrounds library

from subgrounds import Subgrounds
from contextlib import closing
import os

def another_function():

# load_dotenv()
graph_api_key = ''
# Create a new Subgrounds object
with closing(Subgrounds()) as sg:

# Load the Uniswap v3 subgraph using a specific API endpoint
uni = sg.load_subgraph(
f'https://gateway.thegraph.com/api/{graph_api_key}/subgraphs/id/ELUcwgpm14LKPLrBRuVvPvNKHQ9HvwmtKgKSH6123cr7')
#
# Query the financialsDailySnapshots endpoint with a specified order, limit, and filter criteria
latest_snapshots = uni.Query.financialsDailySnapshots(
orderBy=uni.FinancialsDailySnapshot.timestamp,
orderDirection='desc',
first=1,
)

# Convert the query results to a Pandas dataframe and extract the first row
res = sg.query_df(latest_snapshots).squeeze()
pass
print("Another function")

another_function()
```

which would give me two error message:

> AttributeError: 'Subgrounds' object has no attribute 'close'
I can't close it like this.

> sys:1: ResourceWarning: unclosed

That's the real problem. When the program end, PY just simply terminate everything and trigger this error. I can read data from this, but how to safely close the connection?

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Look at the Subgrounds class in subgrounds/subgrounds.py to see how connections are managed. Check if there's a session or client that needs closing. The error mentions an unclosed ssl.SSLSocket, so examine the HTTP client used (likely requests or aiohttp). Find where the connection is established and ensure a proper cleanup method exists or can be added. Test by running the provided script after modifications.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
graphql, python
Lĩnh vực
api, backend
Loại issue
Lỗi
Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Đặc tả rõ ràng
Mức phù hợp với người mới
45/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.