Frontend now uses the async job queue for level 3/4 requests instead of a 120s blocking POST. Submits with ?async=true, gets job_id, then polls every 2.5s up to 90s. Button label reflects live server state: 'Queued...' while waiting, 'Generating...' while the model runs. - api.ts: RecipeJobStatus interface + suggestAsync/pollJob methods - store: jobStatus ref (null|queued|running|done|failed); suggest() branches on level >= 3 to _suggestAsync(); CLOUD_MODE sync fallback detected via 'suggestions' key on the response - RecipesView: button spinner text uses jobStatus; aria-live announcements updated for each phase (queued/running/finding) - compose.override.yml: cf-orch agent --node-id renamed kiwi -> sif for the upcoming Sif hardware node
30 lines
1.2 KiB
YAML
30 lines
1.2 KiB
YAML
# compose.override.yml — local dev additions (auto-merged by docker compose)
|
|
# Not used in cloud or demo stacks (those use compose.cloud.yml / compose.demo.yml directly).
|
|
|
|
services:
|
|
api:
|
|
volumes:
|
|
# Symlink /data/kiwi.db → /Library/Assets/kiwi/kiwi.db; mount the NAS path so
|
|
# Docker can follow the symlink inside the container.
|
|
- /Library/Assets/kiwi:/Library/Assets/kiwi:rw
|
|
|
|
# cf-orch agent sidecar: registers this machine as GPU node "sif" with the coordinator.
|
|
# The API scheduler uses COORDINATOR_URL to lease VRAM cooperatively; this
|
|
# agent makes the local VRAM usage visible on the orchestrator dashboard.
|
|
cf-orch-agent:
|
|
image: kiwi-api # reuse local api image — cf-core already installed there
|
|
network_mode: host
|
|
env_file: .env
|
|
environment:
|
|
# Override coordinator URL here or via .env
|
|
COORDINATOR_URL: ${COORDINATOR_URL:-http://10.1.10.71:7700}
|
|
command: >
|
|
conda run -n kiwi cf-orch agent
|
|
--coordinator ${COORDINATOR_URL:-http://10.1.10.71:7700}
|
|
--node-id sif
|
|
--host 0.0.0.0
|
|
--port 7702
|
|
--advertise-host ${CF_ORCH_ADVERTISE_HOST:-10.1.10.71}
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- api
|