
=== 2026-06-01 14:37:37 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/pipeline.py /srv/music-files-platform-next/pipeline/batch-20260601-143737-07c6fe/_input.json -o /srv/music-files-platform-next/pipeline/batch-20260601-143737-07c6fe -cg 2 -cs 2 --skip-feishu --profile __runtime_batch-20260601-143737-07c6fe --target-language zh --step1-only ===
[profile] ✅ Loaded profile '__runtime_batch-20260601-143737-07c6fe' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/__runtime_batch-20260601-143737-07c6fe.yaml
[step075] cache hit: song_pgc.mp3 → 1cafc1a247ac

======================================================================
music-pipeline3000 v2 | 1 songs
======================================================================
Gemini concurrency: 2 | Suno concurrency: 2
Output: /srv/music-files-platform-next/pipeline/batch-20260601-143737-07c6fe
Skip Suno: False | Step1 only: True | Version: v4
======================================================================

[14:37:39] 🏥 Health check...
[14:37:41] ✅ qishui: OK
[14:37:41] ✅ netease: OK
[14:37:41] ✅ qq: OK

[14:37:41] 🔍 [01_半壶纱_20260601] Step 0: Fetching...
[14:37:50] ✅ [01_半壶纱_20260601] Step 0: qq | 411c lyrics
[14:37:50] ⬇️  [01_半壶纱_20260601] Step 0.5: Download from qq...
[14:37:57] ✅ [01_半壶纱_20260601] Step 0.5: 5248472 bytes | 222.0s
[14:37:57] 🔬 [01_半壶纱_20260601] Step 0.75: Audio features...
[14:37:57] ✅ [01_半壶纱_20260601] Step 0.75: BPM=154.81 Key=A minor (46.8s)
[14:37:57] 🧠 [01_半壶纱_20260601] Step 1: Gemini (queuing)...
{"__trace__": true, "ts": "2026-06-01T06:37:57.740Z", "trace_id": "batch-20260601-143737-07c6fe", "song_key": "01_半壶纱_20260601", "step": "step1", "type": "step_start", "inputs": {"audio": "/srv/music-files-platform-next/pipeline/batch-20260601-143737-07c6fe/01_半壶纱_20260601/song_pgc.mp3", "has_features": true}}
[14:37:57] 🌐 Step 1: target_language=zh (injecting override directive)
  ⚠️ Gemini official 503 on key #1/5, will retry...
  🔄 Retry 1/4 in 3s...
  ⚠️ Gemini official 503 on key #2/5, will retry...
  🔄 Retry 2/4 in 3s...
  ⚠️ Gemini official 503 on key #3/5, will retry...
  🔄 Retry 3/4 in 3s...
  ⚠️ Gemini official 503 on key #4/5, will retry...
  🔄 Retry 4/4 in 3s...
  ⚠️ Gemini official 503 on key #5/5, will retry...
{"__trace__": true, "ts": "2026-06-01T06:38:34.672Z", "trace_id": "batch-20260601-143737-07c6fe", "song_key": "01_半壶纱_20260601", "step": "step1", "type": "api_call", "provider": "gemini", "model": "gemini-2.5-pro", "duration_sec": 2.7, "cost_usd": null, "status": "http_503"}
{"__trace__": true, "ts": "2026-06-01T06:38:34.672Z", "trace_id": "batch-20260601-143737-07c6fe", "song_key": "01_半壶纱_20260601", "step": "step1", "type": "step_end", "status": "success", "duration_sec": 36.933}
[14:38:34] ❌ [01_半壶纱_20260601] Step 1: http_503 (2.7s)

======================================================================
SUMMARY | 53s (0.9min)
======================================================================
✅ Done: 0 | ⏳ Awaiting Step 2: 0 | ❌ Failed: 1
[exit 0]

=== 2026-06-01 14:38:34 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/orchestrate_phase2.py /srv/music-files-platform-next/pipeline/batch-20260601-143737-07c6fe --profile __runtime_batch-20260601-143737-07c6fe --resume-mode end --skip-feishu --target-language zh ===
{"timestamp": "2026-06-01T14:38:35.152146+08:00", "batch_dir": "/srv/music-files-platform-next/pipeline/batch-20260601-143737-07c6fe", "profile": "__runtime_batch-20260601-143737-07c6fe", "concurrency": 3, "resume_mode": "end", "pending_song_count": 0, "groups": [], "status": "noop", "resume": null}
[exit 0]

=== 2026-06-01 14:38:35 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/steps/step5_feishu.py /srv/music-files-platform-next/pipeline/batch-20260601-143737-07c6fe ===
[Feishu] No successful songs to export.
[exit 0]
