Azure Runbook Asyncio 오류

6088 단어 azuredevopspython
최근에 Azure Runbook을 사용해야 하는 프로젝트가 있었습니다. Python 코드가 예상대로 작동하지 않는 것을 발견했습니다. 로컬에서는 작동하지만 Azure Runbook에서는 작동하지 않습니다.

디버깅 후 문제가 Asyncio와 관련되어 있음을 발견했습니다. 다음 샘플 코드를 실행해도 여전히 오류가 발생합니다.

import asyncio
loop = asyncio.get_event_loop()


오류 메시지:

**Traceback (most recent call last):  File "C:\Temp\vls2h0kl.4gk\04a596c9-5b8c-4a2d-828b-2bb185668277", line 53, in <module>    loop = asyncio.ProactorEventLoop()  File "C:\WPy64-3800\python-3.8.0.amd64\lib\asyncio\windows_events.py", line 310, in __init__    super().__init__(proactor)  File "C:\WPy64-3800\python-3.8.0.amd64\lib\asyncio\proactor_events.py", line 629, in __init__    self._make_self_pipe()  File "C:\WPy64-3800\python-3.8.0.amd64\lib\asyncio\proactor_events.py", line 760, in _make_self_pipe    self._ssock, self._csock = socket.socketpair()  File "C:\WPy64-3800\python-3.8.0.amd64\lib\socket.py", line 597, in socketpair    lsock.listen()OSError: [WinError 10050] A socket operation encountered a dead networkException ignored in: <function BaseEventLoop.__del__ at 0x0000000784F8C310>Traceback (most recent call last):  File "C:\WPy64-3800\python-3.8.0.amd64\lib\asyncio\base_events.py", line 648, in __del__  File "C:\WPy64-3800\python-3.8.0.amd64\lib\asyncio\proactor_events.py", line 684, in close  File "C:\WPy64-3800\python-3.8.0.amd64\lib\asyncio\proactor_events.py", line 752, in _close_self_pipeAttributeError: 'ProactorEventLoop' object has no attribute '_ssock'**


Azure 팀에 티켓을 제출했습니다. 나는 Azure Runbook이 31개의 커널 호출만 허용하고 이 모듈이 이 범위를 벗어난 것을 사용하는 것 같아서 이 오류가 발생하기 때문이라고 들었습니다.

그들의 제품 팀은 Azure Runbook에서 OS 호출의 전체 스택을 활성화하기 위해 노력하고 있지만 2022년 말까지 Python용으로 제공될 예정입니다.

따라서 임시 해결 방법은 고객이 현재 Hybrid Runbook Worker를 사용할 수 있다는 것입니다.

Azure Automation Hybrid Runbook Worker overview

좋은 웹페이지 즐겨찾기