From cc71376c39df0c95949ee981e757c03dc05f2cc8 Mon Sep 17 00:00:00 2001 From: vahid torkaman Date: Thu, 4 Sep 2025 10:27:13 +0200 Subject: [PATCH] remove tail worker --- confidence-cloudflare-resolver/src/lib.rs | 24 ++++++---- .../tail/src/index.js | 47 ------------------- .../tail/wrangler.toml | 12 ----- confidence-cloudflare-resolver/wrangler.toml | 5 +- 4 files changed, 20 insertions(+), 68 deletions(-) delete mode 100644 confidence-cloudflare-resolver/tail/src/index.js delete mode 100644 confidence-cloudflare-resolver/tail/wrangler.toml diff --git a/confidence-cloudflare-resolver/src/lib.rs b/confidence-cloudflare-resolver/src/lib.rs index b881f9a..fea063f 100644 --- a/confidence-cloudflare-resolver/src/lib.rs +++ b/confidence-cloudflare-resolver/src/lib.rs @@ -208,14 +208,22 @@ pub async fn main(req: Request, env: Env, _ctx: Context) -> Result { .run(req, env) .await; - let aggregated = FLAG_LOGGER.pop_flag_log_batch(); - if !(aggregated.flag_assigned.is_empty() - && aggregated.flag_resolve_info.is_empty() - && aggregated.client_resolve_info.is_empty()) - { - let converted = serde_json::to_string(&aggregated)?; - console_log!("FLAGS_LOGS_QUEUE:{}", converted); - } + wasm_bindgen_futures::spawn_local(async move { + let aggregated = FLAG_LOGGER.pop_flag_log_batch(); + if !(aggregated.flag_assigned.is_empty() + && aggregated.flag_resolve_info.is_empty() + && aggregated.client_resolve_info.is_empty()) + { + if let Ok(converted) = serde_json::to_string(&aggregated) { + FLAGS_LOGS_QUEUE + .get() + .unwrap() + .send(converted) + .await + .unwrap(); + } + } + }); response } diff --git a/confidence-cloudflare-resolver/tail/src/index.js b/confidence-cloudflare-resolver/tail/src/index.js deleted file mode 100644 index c29eedd..0000000 --- a/confidence-cloudflare-resolver/tail/src/index.js +++ /dev/null @@ -1,47 +0,0 @@ -export default { - async tail(events, env, ctx) { - // Retrieve the queue binding - const queue = env.flag_logs_queue; - if (!queue) { - console.error("LOG_QUEUE binding is missing"); - return; - } - - for (const event of events) { - try { - // Filter events from confidence-cloudflare-resolver only - if (event.scriptName !== "confidence-cloudflare-resolver") { - continue; - } - - // Process each log entry in the event - for (const logEntry of event.logs || []) { - try { - // Check if the log message starts with FLAGS_LOGS_QUEUE: - const messageStr = Array.isArray(logEntry.message) - ? logEntry.message.join(' ') - : String(logEntry.message || ''); - - if (messageStr.startsWith('FLAGS_LOGS_QUEUE:')) { - // Remove the FLAGS_LOGS_QUEUE: prefix - const cleanedMessage = messageStr.substring('FLAGS_LOGS_QUEUE:'.length).trim(); - - try { - // Parse the JSON payload to validate it's valid JSON - JSON.parse(cleanedMessage); - await queue.send(cleanedMessage); - } catch (parseErr) { - console.error("Failed to parse JSON payload:", parseErr); - console.error("Raw message was:", cleanedMessage); - } - } - } catch (logErr) { - console.error("Failed to process log entry:", logErr); - } - } - } catch (err) { - console.error("Failed to process event:", err); - } - } - } -}; diff --git a/confidence-cloudflare-resolver/tail/wrangler.toml b/confidence-cloudflare-resolver/tail/wrangler.toml deleted file mode 100644 index 62c7589..0000000 --- a/confidence-cloudflare-resolver/tail/wrangler.toml +++ /dev/null @@ -1,12 +0,0 @@ -name = "confidence-resolver-tail" -type = "javascript" -compatibility_date = "2025-01-28" -workers_dev = true -main = "src/index.js" - -[observability] -enabled = true - -[[queues.producers]] -queue = "flag-logs-queue" -binding = "flag_logs_queue" \ No newline at end of file diff --git a/confidence-cloudflare-resolver/wrangler.toml b/confidence-cloudflare-resolver/wrangler.toml index f20ea03..f732e5d 100644 --- a/confidence-cloudflare-resolver/wrangler.toml +++ b/confidence-cloudflare-resolver/wrangler.toml @@ -1,7 +1,6 @@ name = "confidence-cloudflare-resolver" main = "build/worker/shim.mjs" compatibility_date = "2025-01-28" -tail_consumers = [{service = "confidence-resolver-tail"}] [observability] enabled = true @@ -11,6 +10,10 @@ queue = "flag-logs-queue" max_batch_size = 100 # max number of messages in a batch max_batch_timeout = 10 # seconds +[[queues.producers]] +queue = "flag-logs-queue" +binding = "flag_logs_queue" + [vars] CONFIDENCE_CLIENT_ID = "ID" CONFIDENCE_CLIENT_SECRET = "SECRET"