renat-sagut commented on code in PR #65622:
URL: https://github.com/apache/airflow/pull/65622#discussion_r3140176627
##########
airflow-core/src/airflow/jobs/triggerer_job_runner.py:
##########
@@ -912,14 +912,20 @@ async def _aget_response(self, expect_id: int) ->
ToTriggerRunner | None:
raise RuntimeError(f"Response read out of order! Got {frame.id=},
{expect_id=}")
return self._from_frame(frame)
- async def asend(self, msg: ToTriggerSupervisor) -> ToTriggerRunner | None:
+ async def _asend(self, msg: ToTriggerSupervisor) -> ToTriggerRunner | None:
frame = _RequestFrame(id=next(self.id_counter), body=msg.model_dump())
bytes = frame.as_bytes()
+ self._async_writer.write(bytes)
+ return await self._aget_response(frame.id)
+ async def asend(self, msg: ToTriggerSupervisor) -> ToTriggerRunner | None:
Review Comment:
@dabla do you mean something like this?
```
@asynccontextmanager
async def _socket_protection(self):
async with self._async_lock:
loop = asyncio.get_running_loop()
await loop.run_in_executor(None, self._thread_lock.acquire)
try:
yield
finally:
self._thread_lock.release()
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]