diff --git a/STRUCTURE.md b/STRUCTURE.md index 266030d934..66be292905 100644 --- a/STRUCTURE.md +++ b/STRUCTURE.md @@ -257,7 +257,6 @@ cloud/ ├── workers/ # Cloudflare Workers (queues/cron/polling) │ ├── clickhouseQueueConsumer.ts # Queue consumer for outbox sync │ ├── clickhouseCron.ts # Cron trigger for re-enqueue -│ ├── clickhouseSyncLocal.ts # Local polling worker │ └── outboxProcessor.ts # Shared processing logic ├── tests/ # Test utilities │ ├── api.ts # API test utilities @@ -298,7 +297,7 @@ PostgreSQL (OLTP) 1) spans_outbox row is created when a span is inserted (db/traces.ts) 2) Worker picks up the outbox row: - Production: Cloudflare Queue -> clickhouseQueueConsumer.ts - - Local dev: polling loop -> clickhouseSyncLocal.ts + - Local dev: run Queue Consumer via `bun run dev` (Workers) 3) processOutboxMessages (outboxProcessor.ts): - lock row (status=processing, lockedAt/lockedBy) - load span + trace from Postgres diff --git a/cloud/workers/clickhouseQueueConsumer.ts b/cloud/workers/clickhouseQueueConsumer.ts index de282cdfc2..c478d8fe9a 100644 --- a/cloud/workers/clickhouseQueueConsumer.ts +++ b/cloud/workers/clickhouseQueueConsumer.ts @@ -97,7 +97,6 @@ export interface QueueConsumerEnvironment extends CloudflareEnvironment { * - uuid8: First 8 characters of a UUID for uniqueness * * Note: In Workers environment, os.hostname() and process.pid are not available. - * This format is consistent with clickhouseSyncLocal.ts but adapted for Workers. */ const generateWorkerId = (queueName: string): string => { const uuid = crypto.randomUUID().slice(0, 8); diff --git a/cloud/workers/outboxProcessor.ts b/cloud/workers/outboxProcessor.ts index f7c8f5a975..26822a4874 100644 --- a/cloud/workers/outboxProcessor.ts +++ b/cloud/workers/outboxProcessor.ts @@ -1,7 +1,7 @@ /** * @fileoverview Outbox processor for ClickHouse sync. * - * Shared processing logic for both Queue Consumer and local polling worker. + * Shared processing logic for the Queue Consumer. * Handles span extraction from PostgreSQL, transformation to ClickHouse format, * and batch insertion with retry logic. */ @@ -247,7 +247,7 @@ export const transformSpanForClickHouse = ( /** * Process a batch of outbox messages. * - * Shared between Queue Consumer and local polling worker. + * Shared between Queue Consumer and outbox handling utilities. * Handles locking, transformation, ClickHouse insertion, and status updates. * * @param messages - Array of outbox messages to process