Fix chrome user data dir problem (#2503)

This commit is contained in:
Shuchang Zheng
2025-05-28 22:41:06 -07:00
committed by GitHub
parent 869757398a
commit cf08ca951e
11 changed files with 283 additions and 85 deletions

40
skyvern/cli/utils.py Normal file
View File

@@ -0,0 +1,40 @@
import asyncio
import sys
import typer
from skyvern.cli.console import console
async def start_services(server_only: bool = False) -> None:
"""Start Skyvern services in the background.
Args:
server_only: If True, only start the server, not the UI.
"""
try:
# Start server in the background
server_process = await asyncio.create_subprocess_exec(
sys.executable, "-m", "skyvern.cli.commands", "run", "server"
)
# Give server a moment to start
await asyncio.sleep(2)
if not server_only:
# Start UI in the background
ui_process = await asyncio.create_subprocess_exec(sys.executable, "-m", "skyvern.cli.commands", "run", "ui")
console.print("\n🎉 [bold green]Skyvern is now running![/bold green]")
console.print("🌐 [bold]Access the UI at:[/bold] [cyan]http://localhost:8080[/cyan]")
console.print("🔑 [bold]Your API key is in your .env file as SKYVERN_API_KEY[/bold]")
# Wait for processes to complete (they won't unless killed)
if not server_only:
await asyncio.gather(server_process.wait(), ui_process.wait())
else:
await server_process.wait()
except Exception as e:
console.print(f"[bold red]Error starting services: {str(e)}[/bold red]")
raise typer.Exit(1)