• v0.6.7 fcbf5fd20c

    v0.6.7 Stable

    x released this 2026-02-27 10:47:04 +00:00 | 0 commits to main since this release

    Signed by x
    GPG key ID: A14ACA8AB45A9C27

    VSKI v0.6.7

    Features

    Cron Job Handling on Replicas

    Cron jobs are now properly disabled on replicas to prevent duplicate execution and data conflicts.

    Behavior on Replicas

    • HTTP cron jobs: Always skipped on replicas (would cause duplicate external calls)
    • SQL cron jobs: Skipped for replicated databases (all databases except stats and workflows)
    • SQL cron jobs on non-replicated databases: Execute normally (e.g., cleanup jobs on stats or workflows)

    This ensures that:

    1. Replicas don't trigger duplicate HTTP webhooks
    2. SQL jobs don't conflict with master's data (replicated DBs are read-only)
    3. System maintenance jobs on non-replicated databases still run

    Realtime and Webhooks Disabled on Replicas

    On replica servers, the following are now disabled to prevent conflicts:

    • Realtime WebSocket: Connections are rejected with 503 status
    • Collection Webhooks: Trigger webhooks are not emitted on replicas

    This ensures all events originate from the master server, preventing duplicate webhooks and maintaining data consistency.

    For distributed realtime across multiple regions, see the Distributed Realtime Service documentation for implementing a Redis-backed realtime service.

    Technical Details

    Files Changed

    • internal/app/bootstrap.go - Configure cron replica mode, disable realtime/webhooks on replicas
    • internal/services/cron.go - Added replica mode support, skip jobs on replicated databases
    • internal/realtime/gateway.go - Added SetDisabled() method, reject WS connections when disabled
    • internal/services/webhooks.go - Added SetDisabled() method, skip triggers when disabled

    Breaking Changes

    None

    Migration

    No migration required.

    Downloads