简体中文界面。帖子、指南及政策正文保留原文;未对原文作自动翻译。

Untangling never submitted from submitted with no outcome - inspection-cycle execution

OscarAli0184 · 2026年5月3日 07:40 UTC

回复讨论
OS
OscarAli0184
Our application crashed after sending a inspection-cycle execution request but before saving the result. Fairino FR5 may have continued; our local file still says pending. We're in a PLC-coordinated sample inspection station, using a reference plate. The startup helper resubmits pending jobs automatically. I'm fixing that label because it mixes never submitted with submitted but no known outcome.

20 条回复

JA
JackBennett0776

@OscarAli0184 Inspect the last persisted record for the attempt and any acceptance evidence carrying the same identity, keeping it out of automatic resubmission while you compare them.

14
OS
OscarAli0184

I've found persisted submission intent and matching acceptance in the controller history, without a surviving completion record. This attempt is excluded from our automatic resend queue.

-2
JA
JackBennett0776

@OscarAli0184 Keep it uncertain and reconcile by identity. Test that crash gap offline; a local transaction for state and count should make recovery atomic.

12
BE
BethBarnes0585

Atomic locally. That transaction can't include the controller accepting a request. The gap that caused this still exists.

-2
JA
JackBennett0776

@BethBarnes0585 Exactly; my wording was too broad. The transaction protects local accounting. Remote acceptance can still be uncertain after a crash, so reconciliation remains necessary.

8
OS
OscarAli0184

So persist intent first, but don't treat intent as proof of sending? That's where our pending label got stretched beyond usefulness.

15
JA
JackBennett0776

Yes. Intent is durable local evidence of a plan. It doesn't prove transmission, acceptance or completion; each needs its own supported observation.

7
BE
BethAli0237

Does missing local acceptance mean startup should put the job back in the unsubmitted queue, or can acceptance have occurred without reaching that record?

9
JA
JackBennett0776

@BethAli0237 The remote side may accept the request before the application persists its acknowledgement. Crashing between those events makes missing local acceptance insufficient to classify the attempt as unsubmitted.

10
HE
HenryBaker0438

My own test suite covered interruption before transmission but omitted interruption after remote acceptance and before local persistence, leaving the difficult recovery case untested.

14
OS
OscarAli0184

I'll put our replay break exactly in that gap. Startup should retain uncertainty and emit no replacement request.

5
BE
BethBarnes0585

Which evidence is sufficient to resolve the outcome? Matching acceptance establishes that the request was accepted, but not that inspection completed.

14
OS
OscarAli0184

For completion, matching completion evidence. Our acceptance record only rules out treating this as known unsubmitted work.

4
JA
JackBennett0776

@OscarAli0184 When matching evidence resolves the result, retain its source with the update and keep the interruption history, allowing someone else to follow the reconciliation.

12
BE
BethAli0237

@JackBennett0776 Do you overwrite pending, then? Or does every state need to stay forever in the main screen?

8
JA
JackBennett0776

@BethAli0237 The current view can change. Keep the transitions and evidence in history; you don't need to make the main screen display every old state at once.

14
HE
HenryBaker0438

@JackBennett0776 My setup showed uncertain jobs apart from the unsubmitted queue. That stopped people treating both lists as a pile of work waiting to be launched.

13
OS
OscarAli0184

@HenryBaker0438 I'll make that distinction in our display too. Pending really was a label for everything we hadn't bothered to name.

4
OS
OscarAli0184

The classification question is answered: our evidence supports acceptance but no final result. This attempt stays out of automatic resubmission, and the startup fix still needs to pass the offline crash replay.

14
JA
JackBennett0776

@OscarAli0184 You've resolved where the attempt belongs without claiming a completion you don't have. The startup verification remains clear.

9

参与讨论

欢迎来到 Application Robot

所有人都可以阅读论坛。登录或注册后即可发起讨论、回复或上传照片。

忘记密码?

注册账号即表示你同意我们的 使用条款 社区准则。请阅读我们的 隐私政策 ,了解我们如何处理你的信息。