Skip to content

Commit e448d1d

Browse files
authored
fix: producer.close() orphans drain task on error (#17)
1 parent 70ce203 commit e448d1d

1 file changed

Lines changed: 6 additions & 5 deletions

File tree

src/s2_sdk/_producer.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -112,11 +112,12 @@ async def close(self) -> None:
112112
if self._closed:
113113
return
114114
self._closed = True
115-
await self._flush()
116-
await self._session.close()
117-
# Signal drain task to finish and wait for it
118-
self._batch_ready.set()
119-
await self._drain_task
115+
try:
116+
await self._flush()
117+
await self._session.close()
118+
finally:
119+
self._batch_ready.set()
120+
await self._drain_task
120121
if self._error is not None:
121122
raise self._error
122123

0 commit comments

Comments
 (0)