From 2edacce3054ba6f27945525bc15d2d814db3d08c Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Mon, 18 Dec 2023 10:50:01 -0300 Subject: [PATCH] Add traceback property to AnyIOTaskResult class --- src/backend/langflow/services/task/backends/anyio.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/backend/langflow/services/task/backends/anyio.py b/src/backend/langflow/services/task/backends/anyio.py index 49c9c0e4f..04309b8df 100644 --- a/src/backend/langflow/services/task/backends/anyio.py +++ b/src/backend/langflow/services/task/backends/anyio.py @@ -1,8 +1,11 @@ +import traceback from typing import Any, Callable, Optional, Tuple + import anyio -from langflow.services.task.backends.base import TaskBackend from loguru import logger +from langflow.services.task.backends.base import TaskBackend + class AnyIOTaskResult: def __init__(self, scope): @@ -17,6 +20,12 @@ class AnyIOTaskResult: return "FAILURE" if self._exception is not None else "SUCCESS" return self._status + @property + def traceback(self) -> str: + if self._traceback is not None: + return "".join(traceback.format_tb(self._traceback)) + return "" + @property def result(self) -> Any: return self._result @@ -29,6 +38,7 @@ class AnyIOTaskResult: self._result = await func(*args, **kwargs) except Exception as e: self._exception = e + self._traceback = e.__traceback__ finally: self._status = "DONE"