You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Make audio separator async with Firestore + GCS (#280)
* feat: add Firestore-backed job status store
Introduces FirestoreJobStore to replace the in-memory job_status_store dict,
enabling any Cloud Run instance to read/write job status for multi-instance GPU scaling.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Add GCS output store for cross-instance file serving
Implements GCSOutputStore to upload separation results to GCS so any
Cloud Run instance can serve download requests, replacing local disk storage.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Make /separate endpoint async with GPU semaphore and external stores
Convert the /separate endpoint from synchronous (await) to fire-and-forget
pattern so it returns immediately while separation runs in background.
Replace in-memory job_status_store with Firestore reads/writes and local
file downloads with GCS, enabling cross-instance status polling and file
serving. Add GPU semaphore to serialize concurrent separation requests on
a single instance.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* cleanup: remove dead job_status_store dict
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* feat: reduce POST timeout from 300s to 60s (server is now async)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* feat: add google-cloud-firestore to Dockerfile for async job store
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: lazy imports + add GCP test deps for CI compatibility
Move google.cloud imports inside __init__ methods so modules can be
imported without the packages installed. Add google-cloud-firestore and
google-cloud-storage to dev dependencies so CI has them available.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: update poetry.lock for GCP test dependencies
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: skip deploy_cloudrun tests when uvicorn not installed
The TestLazyInit tests import deploy_cloudrun.py which requires uvicorn
and fastapi - server-only dependencies not in the test environment.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
0 commit comments