chore: round-4 polish + standardize on module-level loggers

Round-4 review (non-blocking) items:
- get_procrastinate_conninfo: warn on an empty connect_timeout= value (it falls
  back to the 10s default); preserve an explicit connect_timeout=0.
- Document the _doc_queueing_lock user_id invariant (NC rejects ':' in usernames).
- docs/configuration.md: note that `db downgrade` leaves procrastinate's tables
  in place and how to drop them on a full teardown.
- reclaim_stalled_ingest_jobs: debug heartbeat log when nothing is stalled.
- Drop the redundant list() wrap in the integration stalled-jobs assertion.

Logging pattern: define a module-level `logger = logging.getLogger(__name__)`
and use it instead of function-local or inline getLogger(__name__) calls
(config.py, config_validators.py, tests/.../test_scope_authorization.py). The
test file's dev-only `scripts.*` import gets a ty: ignore since it resolves via
sys.path at runtime, not as an installed package.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Chris Coutinho
2026-06-03 15:44:59 +02:00
co-authored by Claude Opus 4.8
parent b10ce15032
commit 704a537847
6 changed files with 44 additions and 34 deletions
+7
View File
@@ -834,6 +834,13 @@ Notes:
- KEDA scales the worker on
`SELECT count(*) FROM procrastinate_jobs WHERE queue_name='ingest' AND status='todo'`.
- `INGEST_QUEUE=postgres` with a SQLite `DATABASE_URL` is rejected at startup.
- **Teardown:** because procrastinate's schema is a separate lineage,
`nextcloud-mcp-server db downgrade` (Alembic) does **not** drop the
`procrastinate_*` tables. To fully revert (e.g. back to NATS or SQLite-only),
drop them manually after downgrading:
`DROP TABLE IF EXISTS procrastinate_jobs, procrastinate_events,
procrastinate_periodic_defers, procrastinate_workers CASCADE;` (plus the
`procrastinate_*` types/functions if removing the extension entirely).
---