0xPlaygrounds / 0xPlaygrounds/subgrounds

How to close the SSL connection correctly?

Offen
#52 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
bug question
Vorherrschende Sprache
Python
Sterne
73
Forks
12
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

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?

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

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.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
graphql, python
Bereich
api, backend
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.