Merge pull request #355 from shenchucheng/main

Set WindowsProactorEventLoopPolicy after importing sk_function
This commit is contained in:
Sirui Hong 2023-09-23 12:24:53 +08:00 committed by GitHub
commit 367b97a160
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -3,13 +3,18 @@ import sys
import warnings
if sys.implementation.name == "cpython" and platform.system() == "Windows" and sys.version_info[:2] == (3, 9):
# https://github.com/python/cpython/pull/92842
import asyncio
from asyncio.proactor_events import _ProactorBasePipeTransport
from semantic_kernel.orchestration import sk_function as _ # noqa: F401
# https://github.com/python/cpython/pull/92842
def pacth_del(self, _warn=warnings.warn):
if self._sock is not None:
_warn(f"unclosed transport {self!r}", ResourceWarning, source=self)
self._sock.close()
_ProactorBasePipeTransport.__del__ = pacth_del
# caused by https://github.com/microsoft/semantic-kernel/pull/1416
asyncio.set_event_loop_policy(asyncio.WindowsProactorEventLoopPolicy())