Skip to content

Commit 95b96f5

Browse files
authored
Merge pull request #207 from opentensor/fix/thewhaleking/finally-found-the=subscription-exception
2 parents 4ebeaa0 + 28a5b54 commit 95b96f5

File tree

2 files changed

+15
-4
lines changed

2 files changed

+15
-4
lines changed

.github/workflows/check-sdk-tests.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,16 @@ jobs:
6262
- name: Check out repository
6363
uses: actions/checkout@v4
6464

65-
- name: Get labels from PR
65+
- name: Skip label check for manual runs
6666
id: get-labels
67+
if: ${{ github.event_name == 'workflow_dispatch' }}
68+
run: |
69+
echo "Manual workflow dispatch detected, skipping PR label check."
70+
echo "run-sdk-tests=true" >> $GITHUB_OUTPUT
71+
72+
- name: Get labels from PR
73+
id: get-labels-pr
74+
if: ${{ github.event_name == 'pull_request' }}
6775
run: |
6876
sleep 5
6977
LABELS=$(gh api repos/${{ github.repository }}/issues/${{ github.event.pull_request.number }}/labels --jq '.[].name')

async_substrate_interface/async_substrate.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -561,7 +561,7 @@ def __init__(
561561
self._received: dict[str, asyncio.Future] = {}
562562
self._received_subscriptions: dict[str, asyncio.Queue] = {}
563563
self._sending: Optional[asyncio.Queue] = None
564-
self._send_recv_task = None
564+
self._send_recv_task: Optional[asyncio.Task] = None
565565
self._inflight: dict[str, str] = {}
566566
self._attempts = 0
567567
self._lock = asyncio.Lock()
@@ -747,7 +747,7 @@ async def _start_receiving(self, ws: ClientConnection) -> Exception:
747747
elif isinstance(e, websockets.exceptions.ConnectionClosedOK):
748748
logger.debug("Websocket connection closed.")
749749
else:
750-
logger.debug(f"Timeout occurred. Reconnecting.")
750+
logger.debug(f"Timeout occurred.")
751751
return e
752752

753753
async def _start_sending(self, ws) -> Exception:
@@ -780,7 +780,7 @@ async def _start_sending(self, ws) -> Exception:
780780
elif isinstance(e, websockets.exceptions.ConnectionClosedOK):
781781
logger.debug("Websocket connection closed.")
782782
else:
783-
logger.debug("Timeout occurred. Reconnecting.")
783+
logger.debug("Timeout occurred.")
784784
return e
785785

786786
async def send(self, payload: dict) -> str:
@@ -859,6 +859,9 @@ async def retrieve(self, item_id: str) -> Optional[dict]:
859859
if isinstance((e := self._send_recv_task.exception()), Exception):
860860
logger.exception(f"Websocket sending exception: {e}")
861861
raise e
862+
elif isinstance((e := self._send_recv_task.result()), Exception):
863+
logger.exception(f"Websocket sending exception: {e}")
864+
raise e
862865
await asyncio.sleep(0.1)
863866
return None
864867

0 commit comments

Comments
 (0)