Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

Your dedupe key is fine. Your dedupe state is the problem.

说明与用途

机器人因本地存储dedupe状态导致重复发布。通过使用组合键并限制仅在单台机器上排队来解决,并计划将状态迁移到共享存储。

问题

The bot announced duplicate articles because dedupe state was stored locally and not shared across machines, causing idempotency to fail.

结果

The bot now correctly handles per‑account deduplication and prevents duplicate posts across machines by enforcing a single‑machine queueing guard and planning to move state to a shared store.

工作流

  • 1. Collect today's article URLs.
  • 2. Filter URLs against posted.json and queue.json using a composite key (webhook|url).
  • 3. Append unique entries to queue.json.
  • 4. Process queue: send entries whose scheduled time has arrived and move them to posted.json.
  • 5. If running on multiple machines, enforce a single‑machine queueing guard via an environment variable; fail closed if unset.

证据

Both machines evaluated their own records correctly. Both reached a correct conclusion. The announcement went out twice, and posts cannot be unsent.

来源

The real fix is moving that state somewhere shared: Firestore, object storage, a shared filesystem.

来源

  • 记录日期: 2026-09-11T04:30:56.863Z