
=== 2026-05-06 14:59:13 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/pipeline.py /srv/music-files-platform-next/pipeline/batch-20260506-145913-0db9b0/_input.json -o /srv/music-files-platform-next/pipeline/batch-20260506-145913-0db9b0 -cg 2 -cs 2 --skip-feishu --profile __runtime_batch-20260506-145913-0db9b0 --step1-only ===
[profile] ✅ Loaded profile '__runtime_batch-20260506-145913-0db9b0' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/__runtime_batch-20260506-145913-0db9b0.yaml
[step075] cache hit: song_pgc.mp3 → 82cd6cf562e8

======================================================================
music-pipeline3000 v2 | 1 songs
======================================================================
Gemini concurrency: 2 | Suno concurrency: 2
Output: /srv/music-files-platform-next/pipeline/batch-20260506-145913-0db9b0
Skip Suno: False | Step1 only: True | Version: v4
======================================================================

[14:59:15] 🏥 Health check...
[14:59:16] ✅ qishui: OK
[14:59:16] ✅ netease: OK
[14:59:16] ✅ qq: OK

[14:59:16] 🔍 [01_青衣 (DJ我为你唱一曲如游丝的气息)_20260506] Step 0: Fetching...
[14:59:18] ✅ [01_青衣 (DJ我为你唱一曲如游丝的气息)_20260506] Step 0: netease | 293c
[14:59:18] ⬇️  [01_青衣 (DJ我为你唱一曲如游丝的气息)_20260506] Step 0.5: Download from netease...
[14:59:24] ✅ [01_青衣 (DJ我为你唱一曲如游丝的气息)_20260506] Step 0.5: 3808432 bytes | 187.5s
[14:59:24] 🔬 [01_青衣 (DJ我为你唱一曲如游丝的气息)_20260506] Step 0.75: Audio features...
[14:59:24] ✅ [01_青衣 (DJ我为你唱一曲如游丝的气息)_20260506] Step 0.75: BPM=128.0 Key=F# minor (28.3s)
[14:59:24] 🧠 [01_青衣 (DJ我为你唱一曲如游丝的气息)_20260506] Step 1: Gemini (queuing)...
{"__trace__": true, "ts": "2026-05-06T06:59:24.040Z", "trace_id": "batch-20260506-145913-0db9b0", "song_key": "01_青衣 (DJ我为你唱一曲如游丝的气息)_20260506", "step": "step1", "type": "step_start", "inputs": {"audio": "/srv/music-files-platform-next/pipeline/batch-20260506-145913-0db9b0/01_青衣 (DJ我为你唱一曲如游丝的气息)_20260506/song_pgc.mp3", "has_features": true}}
  ⚠️ 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-05-06T06:59:51.917Z", "trace_id": "batch-20260506-145913-0db9b0", "song_key": "01_青衣 (DJ我为你唱一曲如游丝的气息)_20260506", "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-05-06T06:59:51.917Z", "trace_id": "batch-20260506-145913-0db9b0", "song_key": "01_青衣 (DJ我为你唱一曲如游丝的气息)_20260506", "step": "step1", "type": "step_end", "status": "success", "duration_sec": 27.876}
[14:59:51] ❌ [01_青衣 (DJ我为你唱一曲如游丝的气息)_20260506] Step 1: http_503 (2.7s)

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

=== 2026-05-06 14:59:52 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/orchestrate_phase2.py /srv/music-files-platform-next/pipeline/batch-20260506-145913-0db9b0 --profile __runtime_batch-20260506-145913-0db9b0 --resume-mode each --skip-feishu ===
{"timestamp": "2026-05-06T14:59:52.296225+08:00", "batch_dir": "/srv/music-files-platform-next/pipeline/batch-20260506-145913-0db9b0", "profile": "__runtime_batch-20260506-145913-0db9b0", "concurrency": 3, "resume_mode": "each", "pending_song_count": 0, "groups": [], "status": "noop", "resume": null}
[exit 0]

=== 2026-05-06 14:59:52 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/steps/step5_feishu.py /srv/music-files-platform-next/pipeline/batch-20260506-145913-0db9b0 ===
[Feishu] No successful songs to export.
[exit 0]

=== 2026-05-06 15:03:14 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/pipeline.py /srv/music-files-platform-next/pipeline/batch-20260506-145913-0db9b0/_input.json -o /srv/music-files-platform-next/pipeline/batch-20260506-145913-0db9b0 -cg 2 -cs 2 --skip-feishu --profile __runtime_batch-20260506-145913-0db9b0 --resume /srv/music-files-platform-next/pipeline/batch-20260506-145913-0db9b0 ===
[profile] ✅ Loaded profile '__runtime_batch-20260506-145913-0db9b0' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/__runtime_batch-20260506-145913-0db9b0.yaml

======================================================================
music-pipeline3000 v2 | 1 songs
======================================================================
Gemini concurrency: 2 | Suno concurrency: 2
Output: /srv/music-files-platform-next/pipeline/batch-20260506-145913-0db9b0
Skip Suno: False | Step1 only: False | Version: v4
======================================================================

[15:03:15] 🏥 Health check...
[15:03:16] ✅ qishui: OK
[15:03:16] ✅ netease: OK
[15:03:16] ✅ qq: OK

[15:03:16] 🧠 [01_青衣 (DJ我为你唱一曲如游丝的气息)_20260506] Step 1: Gemini (queuing)...
{"__trace__": true, "ts": "2026-05-06T07:03:16.762Z", "trace_id": "batch-20260506-145913-0db9b0", "song_key": "01_青衣 (DJ我为你唱一曲如游丝的气息)_20260506", "step": "step1", "type": "step_start", "inputs": {"audio": "/srv/music-files-platform-next/pipeline/batch-20260506-145913-0db9b0/01_青衣 (DJ我为你唱一曲如游丝的气息)_20260506/song_pgc.mp3", "has_features": true}}
  ⚠️ 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-05-06T07:03:51.033Z", "trace_id": "batch-20260506-145913-0db9b0", "song_key": "01_青衣 (DJ我为你唱一曲如游丝的气息)_20260506", "step": "step1", "type": "api_call", "provider": "gemini", "model": "gemini-2.5-pro", "duration_sec": 2.6, "cost_usd": null, "status": "http_503"}
{"__trace__": true, "ts": "2026-05-06T07:03:51.033Z", "trace_id": "batch-20260506-145913-0db9b0", "song_key": "01_青衣 (DJ我为你唱一曲如游丝的气息)_20260506", "step": "step1", "type": "step_end", "status": "success", "duration_sec": 34.271}
[15:03:51] ❌ [01_青衣 (DJ我为你唱一曲如游丝的气息)_20260506] Step 1: http_503 (2.6s)

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

=== 2026-05-06 15:03:51 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/steps/step5_feishu.py /srv/music-files-platform-next/pipeline/batch-20260506-145913-0db9b0 ===
[Feishu] No successful songs to export.
[exit 0]
