summaryrefslogtreecommitdiff
path: root/prompts
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-04-07 11:19:57 +0300
committerPaul Buetow <paul@buetow.org>2026-04-07 11:19:57 +0300
commit26c1d0221a69d4ab3ea157b0e999e1a1f867b5ea (patch)
tree8f95ccaff00ae37723dd5d25a59489db5f2cabf9 /prompts
parentfddb90ca65cc49a6ee343dd242965aae6b7a594a (diff)
update prompts
Diffstat (limited to 'prompts')
-rw-r--r--prompts/skills/f3s/references/immich.md38
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.