diff --git a/skyvern/config.py b/skyvern/config.py index 918d5ed4..4cc859c4 100644 --- a/skyvern/config.py +++ b/skyvern/config.py @@ -41,6 +41,7 @@ class Settings(BaseSettings): TEMP_PATH: str = "./temp" DOWNLOAD_PATH: str = f"{REPO_ROOT_DIR}/downloads" BROWSER_ACTION_TIMEOUT_MS: int = 5000 + CACHED_ACTION_DELAY_SECONDS: float = 1.0 BROWSER_SCREENSHOT_TIMEOUT_MS: int = 20000 BROWSER_LOADING_TIMEOUT_MS: int = 60000 BROWSER_SCRAPING_BUILDING_ELEMENT_TREE_TIMEOUT_MS: int = 60 * 1000 # 1 minute diff --git a/skyvern/core/script_generations/script_skyvern_page.py b/skyvern/core/script_generations/script_skyvern_page.py index 798a8574..d545cdc8 100644 --- a/skyvern/core/script_generations/script_skyvern_page.py +++ b/skyvern/core/script_generations/script_skyvern_page.py @@ -211,6 +211,10 @@ class ScriptSkyvernPage(SkyvernPage): # Auto-create screenshot artifact after execution await self._create_screenshot_after_execution() + # Add a small buffer between cached actions to give slow pages time to settle + if settings.CACHED_ACTION_DELAY_SECONDS > 0: + await asyncio.sleep(settings.CACHED_ACTION_DELAY_SECONDS) + async def _update_action_reasoning( self, action_id: str,