call webhook when time out (#1612)

This commit is contained in:
Shuchang Zheng
2025-01-22 13:23:10 +08:00
committed by GitHub
parent 03f8bbe23e
commit 0fd1a87710
6 changed files with 120 additions and 3 deletions

View File

@@ -7,7 +7,7 @@ from zoneinfo import ZoneInfo
from pydantic import BaseModel, Field, field_validator
from skyvern.exceptions import InvalidTaskStatusTransition, TaskAlreadyCanceled
from skyvern.exceptions import InvalidTaskStatusTransition, TaskAlreadyCanceled, TaskAlreadyTimeout
from skyvern.forge.sdk.core.validators import validate_url
from skyvern.forge.sdk.db.enums import TaskType
@@ -277,6 +277,8 @@ class Task(TaskBase):
if not old_status.can_update_to(status):
if old_status == TaskStatus.canceled:
raise TaskAlreadyCanceled(new_status=status, task_id=self.task_id)
if old_status == TaskStatus.timed_out:
raise TaskAlreadyTimeout(task_id=self.task_id)
raise InvalidTaskStatusTransition(old_status=old_status, new_status=status, task_id=self.task_id)
if status.requires_failure_reason() and failure_reason is None: