2026-08-01T15:00:42.124Z
AI агент Наблюдаемость: доказательство отсутствия принятой работы исчез
Примирение из шести сценариев обнаруживает пропавшую работу, противоречивые состояния, истекшие сроки аренды и призрачные результаты, которые не дают общего количества счетчиков.
Агентская очередь может сообщить о ожидаемой глубине, работники могут продолжать выпускать затягивания, а счетчики завершенной работы могут продолжать расти, пока одна принятая работа исчезла. Практический ответ заключается в том, чтобы перестать сравнивать общее количество и согласовывать идентичности. При одном ограниченном отсечении записывайте каждый принятый work id и требуйте, чтобы он занимал точно одну текущую ведро: ⊎ имеет значение: это несовместимый союз, а не обычное дополнение. Идентификация, найденная в двух ведрах, противоречит. Принятое удостоверение личности, найденное ни в одном, отсутствует. Терминал или активный идентификатор, который никогда не был принят, это призрак. Эта проверка сохранности работы не обещает точное однократное выполнение, но может доказать более узкий и полезный факт: доказательства контрольного плана объясняют каждую принятую единицу работы точно один раз. Одинаковые суммы могут скрыть отсутствующую работу Предположим, в книге принятия есть 1000 удостоверений личности. В очереди, лизинговой таблице и терминальном регистре также содержится 1000 записей в общей сложности. Дисборная панель, основанная на подсчете, становится зеленой. Эта арифметика позволяет неправильную замену: принятый work 417 отсутствует, в то время как появился терминальный рекорд ghost 92 . Число по прежнему совпадает. Идентификационные наборы не имеют. Определить доказательства при отречении t0 : A : Идентификаторы, подтвержденные в течение длительного времени, как принятые на t0 или раньше; Q : признанные идентификаторы, видимые в очереди на снимок отключения; L : признанные удостоверения личности с арендным договором, срок действия которых истекает позже t0 ; T : принятые идентификаторы с одним признанным терминальным записью. Тогда проверьте оба направления: Терминал требует четкой политики. completed терминал. cancelled может быть терминальным, когда отмена разрешена и длительна. dead lettered также может быть терминалом в целях сохранения, хотя это неудачный результат, который все еще требует внимания. Строй с мертвыми буквами полезен именно потому, что он изолирует работу, которая не была успешно обработана для диагностики, и возможный перевод, как объясняет Документация очереди с мертвыми буквами Amazon SQS. Не обращайтесь с leased как с бесвременным состоянием. В SQS, получение сообщения не удаляет его; сообщение становится временно невидимым и должно снова становиться видимым, если оно не удаляется до истечения срока видимости. Стандартные очереди также используют как минимум один раз доставки, так что окно видимости не является точно один раз замок. Задокументированные семантика видимости времени являются причиной использования инвариантом valid lease , а не каждой строки аренды, когда либо написанной. Запустить примирение в шести сценариях Сопроводительное устройство делает правильное решение проверяемым, не требуя посредника. Он содержит шесть мгновенных снимков на 2026 07 27T00:00:00Z : Сценарий Доказательства Ожидаемый приговор Состояние смешанного тока один очередь, один невыполненный договор аренды, один завершенный CONSERVED Умер после принятия Принятое удостоверение личности без текущего ведра MISSING В очереди и заполненные один и тот же удостоверение личности в двух ветках DUPLICATE STATE Срок аренды истек арендная плата закончилась до отсрочки, никаких доказательств возвращения EXPIRED LEASE Призрачный терминал неизвестный заполненный идентификатор сбалансирует количество PHANTOM Явная отмена Принятый идентификационный номер имеет длительную аннулированную запись CONSERVED Загрузить work conservation fixture.json и audit work conservation.mjs из пакета доказательств статей или воспроизвести их поля в местном каталоге, а затем запустить: Точные наблюдения были: PASS означает, что аудитор классифицировал все шесть устройств как ожидалось; это не означает, что каждый устройство был здоровым. Были обнаружены четыре случая намеренно нездоровых случаев. Призрачный случай важная ловушка. У него есть один принятый идентификатор и две наблюдаемые записи: реальный идентификатор остается в очереди, в то время как неизвестный идентификатор требует завершения. Наивная проверка равенства может выглядеть сбалансированной, выбирая один агрегат из каждой подсистемы. Вместо этого настройка согласования сообщает о неприемлемом идентификаторе терминала. Дело о дублированном состоянии выявляет обратную проблему: каждый идентификатор известен, но та же работа, кажется, готова к другой попытке и уже завершена. Именно поэтому только следы сообщений недостаточны. Открытые телеметрические конференции по передаче сообщений отличает прием, обработку и расчет и описывает контекст создания для корреляции производителей с потребителями. Этот контекст является ценным доказательством. Однако протяженность процесса сама по себе не устанавливает текущего состояния очереди или долгосрочного терминального результата. Сделайте один последовательный отрез жизненного цикла Инвариант становится вводящим в заблуждение, когда его вводы описывают разные моменты. Представьте, что вы читаете учетную запись в 12:00, очередь в 12:03, и итоги в 12:08. Работа может законно перемещаться между этими чтениями и выглядеть отсутствующей или дублированной. Используйте самый сильный механизм согласованности , который поддерживает ваш стек: 1. присваивать неизменный work id , квалифицированный в пространстве имен, перед признанием принятия; 2. записывать запись о принятии в течение длительного времени в той же сделке, что и записывание, или сохранять взаимоотношение с выигрышным расчетом; 3. записывать состояние очереди и аренды на названной водной марке, оффсете, снимке базы данных или коротком барьере наблюдения; 4. включают lease expires at , а не только leased=true ; 5. добавлять терминальные результаты с тем же work id , типа результатов, и долговечной временной печати; 6. согласование только записей, правила видимости которых помещают их на одну сторону t0 . Если системы не могут обеспечить согласованный рез, верните UNVERIFIABLE , а не придумайте здоровый результат. Краткий период тишины может уменьшить напряженность, но не заменит договор согласования. Документируйте максимальное искажение мгновенного снимка и отложите уведомление до тех пор, пока рабочий элемент не останется аномальным за этой границей. Устойчивые удостоверения личности столь же важны. В случае повторной попытки обычно следует сохранить логический work id и получить отдельный attempt id . Если каждая попытка получает новую идентичность работы, аудит не может отличить повторную попытку от новой работы. Если удостоверения личности используются в очереди или на арендаторе, то законный терминал может выглядеть как привидение или ложно удовлетворять другую работу. Срок действия договора аренды заслуживает собственного вердикта. Это уже может быть видно в брокере, но старый ряд аренды не может доказать этот переход. Требуйте свежие доказательства очереди или новое поколение аренды, прежде чем называть его активным. Это делает ожидание отдельным от загрузки: действительный арендный договор может представлять работу; работа в очереди может представлять законное ожидание; срок действия арендной сделки без наблюдаемого возврата не решен. Каждый приговор должен быть ограниченным ответом. Аудит должен подготовить расследование, а не начать широкое повторение. Для MISSING сначала проверьте наклонность снимков, затем проверьте границу приема запроса и любую транзакционную исходящую коробку. Сохрани доказательства, прежде чем попробовать снова. Воспроизведение работы из неполных записей может повторить внешний эффект. Для DUPLICATE STATE приостановить автоматический подъем для указанного идентификатора, если очередь позволяет обратиться в обратную сторону. Сравните окончательные доказательства с любыми полученными результатами, прежде чем решить, устарела ли копия в очереди. Только терминальная этикетка может быть ошибочной; еще видимый элемент очереди может также быть задержанной копией. Для EXPIRED LEASE попросите брокера о свежей видимости и проверьте поколение рабочих. Ограниченная перепродажа может быть безопасной только после того, как предыдущий владелец будет огражден или доказано мертвым. Аудит сохранения обнаруживает неразрешенное состояние; он не разрешает восстановление. Для PHANTOM проверьте пространство имен идентификатора, ошибки приема и происхождение терминальной книги. Не удаляйте неизвестную запись только для того, чтобы сбалансировать уравнение. Это может быть действительная работа от другого арендатора, очереди или окна наблюдения. Наконец, сохранение не является качеством результатов. Запись completed все еще может указывать на отсутствующую или неправильную доставку. Следуйте этому тесту жизненного цикла с детерминистической проверкой результатов, когда это возможно. Эти две проверки отвечают на разные вопросы: Все принятые работы учитываются ли? и Дела ли работа результат? Sidewisp сейчас находится на этапе закрытого предварительного доступа. В целом не отправляется сбор продуктов, адаптеры очереди и восстановление в режиме работы. Сохранение труда является примером доказательств, которые может оценить будущий уровень здоровья; это не утверждение о том, что Sidewisp в настоящее время собирает эти записи или действует на живых агентов. Полезный в ближайшее время шаг заключается в установлении стабильных идентификаторов работы и тестировании инварианта на местном уровне перед добавлением автоматического ответа.