From 4bc5cb3b387322543bf2b579408ac819c3efb4e0 Mon Sep 17 00:00:00 2001 From: Shuchang Zheng Date: Fri, 8 Aug 2025 15:46:49 -0700 Subject: [PATCH] fix get active browser sessions (#3055) --- skyvern/forge/sdk/db/client.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/skyvern/forge/sdk/db/client.py b/skyvern/forge/sdk/db/client.py index 1742b31e..f758bda7 100644 --- a/skyvern/forge/sdk/db/client.py +++ b/skyvern/forge/sdk/db/client.py @@ -2982,7 +2982,11 @@ class AgentDB: for workflow_run_block in workflow_run_blocks ] - async def get_active_persistent_browser_sessions(self, organization_id: str) -> list[PersistentBrowserSession]: + async def get_active_persistent_browser_sessions( + self, + organization_id: str, + active_hours: int = 24, + ) -> list[PersistentBrowserSession]: """Get all active persistent browser sessions for an organization.""" try: async with self.Session() as session: @@ -2990,6 +2994,10 @@ class AgentDB: select(PersistentBrowserSessionModel) .filter_by(organization_id=organization_id) .filter_by(deleted_at=None) + .filter_by(completed_at=None) + .filter( + PersistentBrowserSessionModel.created_at > datetime.utcnow() - timedelta(hours=active_hours) + ) ) sessions = result.scalars().all() return [PersistentBrowserSession.model_validate(session) for session in sessions]