feat(cleaner): add outer-level retry on fatal crash with execution ID
When CleanerService hits a fatal error (browser crash, timeout), the outer catch now sets result.crashed=true. CleanerApplicationService detects this, closes the dead browser session, re-logs into ERP, and re-runs all orders once. An execution ID (CLN-yyyyMMddHHmmss-XXXX) generated at startup ensures report files are deduplicated across retries. Reports now display execution ID and app version. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -35,7 +35,7 @@ export interface CleanerProgress {
|
||||
currentMaterialIndex: number
|
||||
totalMaterialsInOrder: number
|
||||
currentOrderNumber?: string
|
||||
phase: 'login' | 'processing' | 'complete'
|
||||
phase: 'login' | 'processing' | 'complete' | 'retry'
|
||||
}
|
||||
|
||||
export interface CleanerReportData {
|
||||
@@ -47,6 +47,7 @@ export interface CleanerReportData {
|
||||
successfulRetries?: number
|
||||
materialsFailed?: number
|
||||
uncertainDeletions?: number
|
||||
crashed?: boolean
|
||||
}
|
||||
|
||||
export interface CleanerInitializationResult {
|
||||
|
||||
Reference in New Issue
Block a user