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

Our application crashed after sending the request (inspection-cycle execution)

DavidBaker0519 · 2026年5月16日 07:44 UTC

回复讨论
DA
DavidBaker0519
I'm fixing our startup bookkeeping after a crash between sending a inspection-cycle execution request and saving its result. The setup uses Universal Robots UR5e in a workshop fixture inspection cell, with a fixture-mounted bracket. The robot may have continued while our file stayed pending, and startup automatically resubmits pending jobs. That state currently covers both unsubmitted and uncertain work.

12 条回复

LU
LucyBaker0480

@DavidBaker0519 What is the last durable entry for this attempt? Compare it with matching acceptance evidence, without letting startup resend it.

16
DA
DavidBaker0519

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.

3
LU
LucyBaker0480

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

12
AA
AaronBarnes0523

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

5
LU
LucyBaker0480

@AaronBarnes0523 You're right to distinguish those. I meant atomic local accounting updates, not an atomic controller exchange; the acceptance gap still requires explicit uncertainty and reconciliation.

6
DA
DavidBaker0519

@LucyBaker0480 Should persisted intent mean only that submission was planned, without claiming transmission occurred? Our existing pending state has been hiding that distinction.

15
LU
LucyBaker0480

@DavidBaker0519 Correct: persisting intent records the local decision to submit. Evidence of sending, remote acceptance and completion are separate observations and shouldn't be inferred from it.

5
NA
NathanBrown0895

If there's no acceptance saved locally, why not call it unsubmitted? Isn't that the only record startup can use?

10
LU
LucyBaker0480

@NathanBrown0895 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.

5
CA
CallumAllen0273

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

19
DA
DavidBaker0519

@CallumAllen0273 I've settled this attempt's classification: accepted with no confirmed completion, so it belongs in reconciliation, not automatic resubmission. I'll call the startup fix complete only when the offline crash replay preserves that distinction.

15
LU
LucyBaker0480

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

2

参与讨论

欢迎来到 Application Robot

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

忘记密码?

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