mirror of
https://github.com/Skyvern-AI/skyvern.git
synced 2025-09-16 18:29:40 +00:00
fix task workflow cancel issue (#1111)
This commit is contained in:
parent
d03ad38630
commit
ad0bd0b4f5
6 changed files with 204 additions and 111 deletions
|
@ -24,6 +24,7 @@ from skyvern.exceptions import (
|
|||
ContextParameterValueNotFound,
|
||||
DisabledBlockExecutionError,
|
||||
FailedToNavigateToUrl,
|
||||
MissingBrowserState,
|
||||
MissingBrowserStatePage,
|
||||
TaskNotFound,
|
||||
UnexpectedTaskStatus,
|
||||
|
@ -53,6 +54,7 @@ from skyvern.forge.sdk.workflow.models.parameter import (
|
|||
OutputParameter,
|
||||
WorkflowParameter,
|
||||
)
|
||||
from skyvern.webeye.browser_factory import BrowserState
|
||||
|
||||
LOG = structlog.get_logger()
|
||||
|
||||
|
@ -272,6 +274,7 @@ class TaskBlock(Block):
|
|||
# non-retryable terminations
|
||||
while will_retry:
|
||||
task_order, task_retry = await self.get_task_order(workflow_run_id, current_retry)
|
||||
is_first_task = task_order == 0
|
||||
task, step = await app.agent.create_task_and_step_from_block(
|
||||
task_block=self,
|
||||
workflow=workflow,
|
||||
|
@ -283,9 +286,17 @@ class TaskBlock(Block):
|
|||
organization = await app.DATABASE.get_organization(organization_id=workflow.organization_id)
|
||||
if not organization:
|
||||
raise Exception(f"Organization is missing organization_id={workflow.organization_id}")
|
||||
browser_state = await app.BROWSER_MANAGER.get_or_create_for_workflow_run(
|
||||
workflow_run=workflow_run, url=self.url
|
||||
)
|
||||
|
||||
browser_state: BrowserState | None = None
|
||||
if is_first_task:
|
||||
browser_state = await app.BROWSER_MANAGER.get_or_create_for_workflow_run(
|
||||
workflow_run=workflow_run, url=self.url
|
||||
)
|
||||
else:
|
||||
browser_state = app.BROWSER_MANAGER.get_for_workflow_run(workflow_run_id=workflow_run_id)
|
||||
if browser_state is None:
|
||||
raise MissingBrowserState(task_id=task.task_id, workflow_run_id=workflow_run_id)
|
||||
|
||||
working_page = await browser_state.get_working_page()
|
||||
if not working_page:
|
||||
LOG.error(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue