Split WebCRT and API startup; default collectors to worker process.

Extract channel/session modules and CLI guard, move UME sidebands out of main, and default NETX_RUN_INLINE_SCHEDULERS off so ops run python -m netx_api.worker.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
oliver 2026-08-02 16:50:52 +08:00
parent 57b3faf9fb
commit 136f40cdae
16 changed files with 2269 additions and 2150 deletions

View file

@ -38,12 +38,13 @@ class SchemaPatchesTests(unittest.TestCase):
apply_domain_schema_patches(conn)
apply_domain_schema_patches(conn)
def test_alembic_auto_defaults(self) -> None:
def test_worker_default_off_inline(self) -> None:
from netx_api.config import Settings
s = Settings(_env_file=None)
self.assertFalse(s.run_inline_schedulers)
self.assertTrue(s.alembic_upgrade_on_start)
self.assertTrue(s.skip_legacy_startup_ddl)
versions = Path(__file__).resolve().parents[1] / "alembic" / "versions"
files = sorted(p.name for p in versions.glob("*.py") if p.name != "__init__.py")
self.assertIn("20260802_scopes.py", files)