competition-queue-worker-drift

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Competition Queue Worker Drift

竞赛队列Worker配置漂移

Use this skill only as a downstream specialization after
$ctf-sandbox-orchestrator
is already active and has established sandbox assumptions, node ownership, and evidence priorities. If that has not happened yet, return to
$ctf-sandbox-orchestrator
first.
Use this skill when the decisive effect happens after enqueue, inside a worker, or only under async runtime state that differs from the request path.
Reply in Simplified Chinese unless the user explicitly requests English.
本技能仅可作为下游专项技能,在
$ctf-sandbox-orchestrator
已激活且完成沙箱假设、节点归属和证据优先级确认后使用。如果还未完成上述步骤,请先返回
$ctf-sandbox-orchestrator
流程。
当关键影响发生在入队之后、worker内部,或是仅出现在与请求路径不同的异步运行时状态下时,使用本技能。
除非用户明确要求英文回复,否则请使用简体中文回复。

Quick Start

快速开始

  1. Map the async chain first: enqueue point, queue payload, worker consumer, retries, and final side effect.
  2. Keep request-time state separate from worker-time state.
  3. Record queue name, message shape, worker config, retry policy, and downstream store in one chain.
  4. Compare synchronous path and async path when behavior diverges.
  5. Reproduce the smallest enqueue-to-side-effect flow that proves the decisive async drift.
  1. 首先梳理异步链路:入位点、队列负载、worker消费者、重试逻辑、最终副作用。
  2. 将请求时状态与worker运行时状态分开处理。
  3. 把队列名称、消息结构、worker配置、重试策略和下游存储关联到同一条链路中记录。
  4. 当行为出现差异时,对比同步路径和异步路径的区别。
  5. 复现最小的「入队到副作用」流程,用以证明关键的异步漂移问题。

Workflow

工作流

1. Map Enqueue And Worker Identity

1. 梳理入队与Worker身份信息

  • Record queue names, topics, cron schedules, delayed jobs, dead-letter queues, worker processes, and consumer groups.
  • Note which config, env vars, feature flags, or credentials exist only in the worker environment.
  • Keep enqueue request, stored payload, and worker identity tied together.
  • 记录队列名称、主题、cron调度规则、延迟任务、死信队列、worker进程和消费者组。
  • 标注哪些配置、环境变量、功能开关或凭证仅存在于worker环境中。
  • 将入队请求、存储的负载、worker身份三者绑定关联。

2. Trace Worker-Only State And Retries

2. 追踪仅Worker侧状态与重试逻辑

  • Show how worker runtime differs from the request path: different env, files, mounts, caches, permissions, or clocks.
  • Record retry count, backoff, dedupe keys, failure handling, dead-letter flow, and idempotency behavior.
  • Distinguish immediate request success from eventual worker success or failure.
  • 说明worker运行时与请求路径的差异:不同的环境、文件、挂载、缓存、权限或时钟。
  • 记录重试次数、退避策略、去重键、失败处理、死信流转和幂等行为。
  • 区分请求即时成功与worker最终成功/失败的不同情况。

3. Reduce To The Decisive Async Chain

3. 收敛到核心异步链路

  • Compress the result to the smallest sequence: enqueue -> worker runtime -> retry or branch -> resulting effect.
  • State clearly whether the decisive difference lives in payload shape, worker config, retry path, or downstream consumer.
  • If the issue is really about the file parser invoked by the worker, switch back to the tighter file-parser skill.
  • 将结果压缩为最小序列:入队 -> worker运行时 -> 重试或分支 -> 最终影响。
  • 明确说明核心差异是出现在负载结构、worker配置、重试路径还是下游消费者中。
  • 如果问题实际是worker调用的文件解析器导致的,请切换到更适配的file-parser技能。

Read This Reference

参考文档

  • Load
    references/queue-worker-drift.md
    for the queue checklist, retry checklist, and evidence packaging.
  • 加载
    references/queue-worker-drift.md
    获取队列检查清单、重试检查清单和证据打包规则。

What To Preserve

需要留存的信息

  • Queue names, payloads, worker identities, retry metadata, dead-letter edges, and downstream effects
  • The exact worker-only config or state that changes behavior
  • One minimal enqueue-to-side-effect reproduction chain
  • 队列名称、负载、worker身份、重试元数据、死信链路、下游副作用
  • 会改变行为的、仅存在于worker侧的准确配置或状态
  • 一条最小可复现的「入队到副作用」链路