AsyncOperation: support for running asynchronous jobs while the agent is running (#111)

This commit is contained in:
Kerem Yilmaz
2024-03-19 09:12:28 -07:00
committed by GitHub
parent a5e84187e2
commit 1e933b703f
5 changed files with 163 additions and 1 deletions

View File

@@ -1,12 +1,18 @@
from typing import Callable
from ddtrace import tracer
from ddtrace.filters import FilterRequestsOnUrl
from playwright.async_api import Page
from skyvern.forge.agent import ForgeAgent
from skyvern.forge.async_operations import AsyncOperation
from skyvern.forge.sdk.api.llm.api_handler_factory import LLMAPIHandlerFactory
from skyvern.forge.sdk.artifact.manager import ArtifactManager
from skyvern.forge.sdk.artifact.storage.factory import StorageFactory
from skyvern.forge.sdk.db.client import AgentDB
from skyvern.forge.sdk.forge_log import setup_logger
from skyvern.forge.sdk.models import Organization
from skyvern.forge.sdk.schemas.tasks import Task
from skyvern.forge.sdk.settings_manager import SettingsManager
from skyvern.forge.sdk.workflow.context_manager import WorkflowContextManager
from skyvern.forge.sdk.workflow.service import WorkflowService
@@ -31,6 +37,8 @@ BROWSER_MANAGER = BrowserManager()
LLM_API_HANDLER = LLMAPIHandlerFactory.get_llm_api_handler(SettingsManager.get_settings().LLM_KEY)
WORKFLOW_CONTEXT_MANAGER = WorkflowContextManager()
WORKFLOW_SERVICE = WorkflowService()
generate_async_operations: Callable[[Organization, Task, Page], list[AsyncOperation]] | None = None
agent = ForgeAgent()
app = agent.get_agent_app()