🔄 synced local 'skyvern/' with remote 'skyvern/' (#2005)
This commit is contained in:
@@ -211,26 +211,9 @@ class Block(BaseModel, abc.ABC):
|
|||||||
) -> BlockResult:
|
) -> BlockResult:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
async def execute_safe(
|
async def _generate_workflow_run_block_description(
|
||||||
self,
|
self, workflow_run_block_id: str, organization_id: str | None = None
|
||||||
workflow_run_id: str,
|
) -> None:
|
||||||
parent_workflow_run_block_id: str | None = None,
|
|
||||||
organization_id: str | None = None,
|
|
||||||
browser_session_id: str | None = None,
|
|
||||||
**kwargs: dict,
|
|
||||||
) -> BlockResult:
|
|
||||||
workflow_run_block_id = None
|
|
||||||
try:
|
|
||||||
workflow_run_block = await app.DATABASE.create_workflow_run_block(
|
|
||||||
workflow_run_id=workflow_run_id,
|
|
||||||
organization_id=organization_id,
|
|
||||||
parent_workflow_run_block_id=parent_workflow_run_block_id,
|
|
||||||
label=self.label,
|
|
||||||
block_type=self.block_type,
|
|
||||||
continue_on_failure=self.continue_on_failure,
|
|
||||||
)
|
|
||||||
workflow_run_block_id = workflow_run_block.workflow_run_block_id
|
|
||||||
|
|
||||||
description = None
|
description = None
|
||||||
try:
|
try:
|
||||||
block_data = self.model_dump(
|
block_data = self.model_dump(
|
||||||
@@ -262,18 +245,41 @@ class Block(BaseModel, abc.ABC):
|
|||||||
LOG.info(
|
LOG.info(
|
||||||
"Generated description for the workflow run block",
|
"Generated description for the workflow run block",
|
||||||
description=description,
|
description=description,
|
||||||
workflow_run_block_id=workflow_run_block.workflow_run_block_id,
|
workflow_run_block_id=workflow_run_block_id,
|
||||||
)
|
)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
LOG.exception("Failed to generate description for the workflow run block", error=e)
|
LOG.exception("Failed to generate description for the workflow run block", error=e)
|
||||||
|
|
||||||
if description:
|
if description:
|
||||||
workflow_run_block = await app.DATABASE.update_workflow_run_block(
|
await app.DATABASE.update_workflow_run_block(
|
||||||
workflow_run_block_id=workflow_run_block.workflow_run_block_id,
|
workflow_run_block_id=workflow_run_block_id,
|
||||||
description=description,
|
description=description,
|
||||||
organization_id=organization_id,
|
organization_id=organization_id,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
async def execute_safe(
|
||||||
|
self,
|
||||||
|
workflow_run_id: str,
|
||||||
|
parent_workflow_run_block_id: str | None = None,
|
||||||
|
organization_id: str | None = None,
|
||||||
|
browser_session_id: str | None = None,
|
||||||
|
**kwargs: dict,
|
||||||
|
) -> BlockResult:
|
||||||
|
workflow_run_block_id = None
|
||||||
|
try:
|
||||||
|
workflow_run_block = await app.DATABASE.create_workflow_run_block(
|
||||||
|
workflow_run_id=workflow_run_id,
|
||||||
|
organization_id=organization_id,
|
||||||
|
parent_workflow_run_block_id=parent_workflow_run_block_id,
|
||||||
|
label=self.label,
|
||||||
|
block_type=self.block_type,
|
||||||
|
continue_on_failure=self.continue_on_failure,
|
||||||
|
)
|
||||||
|
workflow_run_block_id = workflow_run_block.workflow_run_block_id
|
||||||
|
|
||||||
|
# generate the description for the workflow run block asynchronously
|
||||||
|
asyncio.create_task(self._generate_workflow_run_block_description(workflow_run_block_id, organization_id))
|
||||||
|
|
||||||
# create a screenshot
|
# create a screenshot
|
||||||
browser_state = app.BROWSER_MANAGER.get_for_workflow_run(workflow_run_id)
|
browser_state = app.BROWSER_MANAGER.get_for_workflow_run(workflow_run_id)
|
||||||
if not browser_state:
|
if not browser_state:
|
||||||
|
|||||||
Reference in New Issue
Block a user