added new CLi to stof skyvern sever (#2549)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
4fd8f5fdad
commit
642994eaae
@@ -8,6 +8,7 @@ __all__ = [
|
||||
"tasks_app",
|
||||
"docs_app",
|
||||
"status_app",
|
||||
"stop_app",
|
||||
"init_app",
|
||||
]
|
||||
|
||||
@@ -16,5 +17,6 @@ from .docs import docs_app
|
||||
from .quickstart import quickstart_app
|
||||
from .run_commands import run_app
|
||||
from .status import status_app
|
||||
from .stop_commands import stop_app
|
||||
from .tasks import tasks_app
|
||||
from .workflow import workflow_app
|
||||
|
||||
@@ -6,6 +6,7 @@ from .init_command import init, init_browser
|
||||
from .quickstart import quickstart_app
|
||||
from .run_commands import run_app
|
||||
from .status import status_app
|
||||
from .stop_commands import stop_app
|
||||
from .tasks import tasks_app
|
||||
from .workflow import workflow_app
|
||||
|
||||
@@ -23,6 +24,7 @@ cli_app.add_typer(workflow_app, name="workflow", help="Workflow management comma
|
||||
cli_app.add_typer(tasks_app, name="tasks", help="Task management commands.")
|
||||
cli_app.add_typer(docs_app, name="docs", help="Open Skyvern documentation.")
|
||||
cli_app.add_typer(status_app, name="status", help="Check if Skyvern services are running.")
|
||||
cli_app.add_typer(stop_app, name="stop", help="Stop Skyvern services like the API server.")
|
||||
init_app = typer.Typer(
|
||||
invoke_without_command=True,
|
||||
help="Interactively configure Skyvern and its dependencies.",
|
||||
|
||||
31
skyvern/cli/stop_commands.py
Normal file
31
skyvern/cli/stop_commands.py
Normal file
@@ -0,0 +1,31 @@
|
||||
import typer
|
||||
from rich.panel import Panel
|
||||
from rich.prompt import Confirm
|
||||
|
||||
from skyvern.config import settings
|
||||
|
||||
from .console import console
|
||||
from .run_commands import get_pids_on_port, kill_pids
|
||||
|
||||
stop_app = typer.Typer(help="Stop Skyvern services like the API server.")
|
||||
|
||||
|
||||
@stop_app.command(name="server")
|
||||
def stop_server(
|
||||
force: bool = typer.Option(False, "--force", "-f", help="Force kill without confirmation"),
|
||||
) -> None:
|
||||
"""Stop the Skyvern API server running on the configured port."""
|
||||
port = settings.PORT
|
||||
console.print(f"[bold green]Checking for process on port {port}...[/bold green]")
|
||||
pids = get_pids_on_port(port)
|
||||
if not pids:
|
||||
console.print(f"[yellow]No process found running on port {port}.[/yellow]")
|
||||
return
|
||||
if not force:
|
||||
prompt = f"Process{'es' if len(pids) > 1 else ''} running on port {port}. Kill them?"
|
||||
confirm = Confirm.ask(prompt)
|
||||
if not confirm:
|
||||
console.print("[yellow]Server not stopped.[/yellow]")
|
||||
return
|
||||
kill_pids(pids)
|
||||
console.print(Panel(f"Stopped server on port {port}", border_style="red"))
|
||||
Reference in New Issue
Block a user