diff --git a/plugin_runner/plugin_runner.py b/plugin_runner/plugin_runner.py index 8b580411..12d772cd 100644 --- a/plugin_runner/plugin_runner.py +++ b/plugin_runner/plugin_runner.py @@ -6,10 +6,10 @@ import signal import sys import traceback - from collections import defaultdict import grpc +from plugin_synchronizer import publish_message from sandbox import Sandbox from canvas_sdk.events import Event, EventResponse, EventType @@ -20,8 +20,6 @@ ) from logger import log -from plugin_synchronizer import publish_message - ENV = os.getenv("ENV", "development") IS_PRODUCTION = ENV == "production" @@ -62,7 +60,8 @@ async def HandleEvent(self, request: Event, context): protocol_class = plugin["class"] try: - effects = protocol_class(request, plugin.get("secrets", {})).compute() + protocol = protocol_class(request, plugin.get("secrets", {})) + effects = await asyncio.get_running_loop().run_in_executor(None, protocol.compute) except Exception as e: log.error(traceback.format_exception(e)) continue