refactor: split config.py into the beaver_agent package (vault, prompts, skills, policy, hands, agents, frontends, texts, memory, jobs)
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
"""`POST /hooks/deploy`: дождаться тишины в мастере и попросить Komodo передеплоить."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import logging
|
||||
import os
|
||||
from datetime import timedelta
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
from beaver_agent.hands import KOMODO
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from beaver_gateway.jobs.scheduler import JobRun
|
||||
|
||||
_log = logging.getLogger(__name__)
|
||||
|
||||
STACK = os.environ.get("KOMODO_STACK", "beaver-agent")
|
||||
|
||||
|
||||
async def deploy(run: JobRun) -> None:
|
||||
master = await run.master()
|
||||
if master is not None and await run.conversations.busy(master):
|
||||
await run.retry_in(timedelta(seconds=60))
|
||||
return
|
||||
run.background(_deploy())
|
||||
|
||||
|
||||
async def _deploy() -> None:
|
||||
if KOMODO is None:
|
||||
_log.warning("deploy hook: KOMODO_URL/KEY/SECRET are not set, nothing deployed")
|
||||
return
|
||||
receipt = await KOMODO.execute("DeployStack", {"stack": STACK, "services": []})
|
||||
_log.info("deploy hook: komodo accepted %s", receipt.get("id"))
|
||||
Reference in New Issue
Block a user