diff options
| author | Paul Buetow <paul@buetow.org> | 2026-04-07 11:19:57 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-04-07 11:19:57 +0300 |
| commit | 26c1d0221a69d4ab3ea157b0e999e1a1f867b5ea (patch) | |
| tree | 8f95ccaff00ae37723dd5d25a59489db5f2cabf9 /prompts | |
| parent | fddb90ca65cc49a6ee343dd242965aae6b7a594a (diff) | |
update prompts
Diffstat (limited to 'prompts')
| -rw-r--r-- | prompts/skills/f3s/references/immich.md | 38 |
1 files changed, 35 insertions, 3 deletions
diff --git a/prompts/skills/f3s/references/immich.md b/prompts/skills/f3s/references/immich.md index fac27e7..848d4a9 100644 --- a/prompts/skills/f3s/references/immich.md +++ b/prompts/skills/f3s/references/immich.md @@ -28,20 +28,52 @@ done ## Saving and Comparing Snapshots -Save a snapshot to `/tmp/immich-queues-<timestamp>.txt`: +Save a snapshot to the conf repo (persistent, not `/tmp`): ```sh -kubectl exec -n services deploy/immich-valkey -- sh -c '...' > /tmp/immich-queues-$(date +%Y%m%d-%H%M%S).txt +kubectl exec -n services deploy/immich-valkey -- sh -c '...' > ~/git/conf/f3s/immich/snapshots/immich-queues-$(date +%Y%m%d-%H%M%S).txt ``` To compare a previous snapshot with current state, re-run the command and diff: ```sh -diff /tmp/immich-queues-<old>.txt /tmp/immich-queues-<new>.txt +diff ~/git/conf/f3s/immich/snapshots/immich-queues-<old>.txt ~/git/conf/f3s/immich/snapshots/immich-queues-<new>.txt ``` Decreasing `waiting` and stable/zero `failed` means healthy progress. +## Job Control via API + +The API key is stored at `~/.immich_paul_key`. Use it to pause/resume jobs: + +```sh +API_KEY=$(cat ~/.immich_paul_key) + +# Get all job statuses +kubectl exec -n services deploy/immich-server -- curl -s \ + -H "x-api-key: $API_KEY" http://localhost:2283/api/jobs + +# Pause a job (e.g. faceDetection) +kubectl exec -n services deploy/immich-server -- curl -s -X PUT \ + -H "x-api-key: $API_KEY" -H "Content-Type: application/json" \ + -d '{"command":"pause","force":false}' \ + http://localhost:2283/api/jobs/faceDetection + +# Resume a job +kubectl exec -n services deploy/immich-server -- curl -s -X PUT \ + -H "x-api-key: $API_KEY" -H "Content-Type: application/json" \ + -d '{"command":"resume","force":false}' \ + http://localhost:2283/api/jobs/faceDetection +``` + +### Throughput Optimization Strategy + +On the N100 (4-core) nodes, ML jobs compete for CPU. To speed up slow queues: + +1. **Pause faceDetection** (largest queue) to free CPU for OCR and smartSearch +2. Resume faceDetection once OCR and smartSearch finish +3. The anti-affinity in `values.yaml` prefers ML on a different node than both server and postgres + ## Troubleshooting - **Postgres crash loop**: Usually caused by liveness probe killing postgres during WAL recovery. Check `kubectl describe pod` for probe failures and postgres logs for "database system was interrupted while in recovery". Fix by relaxing probe timeouts/thresholds and adding resource limits. |
