Files
wyndham-ARR/.project-docs/50-evidence/topics/2026-08-03-daily-monthly-worker-pending.md
2026-08-03 16:08:14 +08:00

2.8 KiB
Raw Blame History

Daily commit waiting for monthly worker

User question

The operator reported that a Daily Report upload appeared complete but the monthly report did not update.

Read-only checks

  • Port 8766 returned ready; the active process list showed the ARR Web service but no independent monthly_reports.worker / arr-monthly-worker process.
  • The newest opera_daily processing run is run 39. It finished at 2026-08-03 10:49:01 +08 with accepted status and no failure code.
  • Finance daily version 14 is active for business date 2026-08-01 and contains 111 retained rows. Its retained ARRIVAL scope is 2026-08-01, so the automatic worker would derive an August 2026 monthly request.
  • Outbox event 20 (processing-run:39:accepted, arr.daily_version_committed) is still pending, has zero publish attempts and no error code, and has been available since 2026-08-03 10:49:01 +08.
  • reporting.monthly_runs contains only July versions. July V04 is active with as_of_date=2026-07-27; no August version is present.
  • A second read-only check found a backlog of five daily-commit events, IDs 1620, all pending with zero attempts and no error. Events 1619 derive the July request through 2026-07-27; event 20 derives the August request through 2026-08-01. Recovery should let the worker consume them in order and retain its idempotent publication behavior.
  • The controlled database file, Python runtime, Node binary and artifact-tool module pass preflight checks. The focused monthly suite passes 27 tests with two optional skips. No worker was started and no monthly publication or database write was performed.
  • The monthly page polls every four seconds only while its tab is visible. That can delay page display, but it cannot explain the missing database row because event 20 has not been consumed.

Recovery

  • The user authorized recovery. A detached arr2-monthly-worker Screen session was started with the controlled booking_test configuration and the verified Node/artifact-tool paths.
  • The worker consumed outbox events 1520 in order. Each is now published with one attempt and no error code.
  • July V05 is active at as_of_date=2026-07-27 with 987 rows; older July V04 is superseded. August V01 is active at as_of_date=2026-08-01 with 111 rows.
  • The August registered workbook/result pair exists under the controlled project output, the XLSX passes ZIP integrity, the result JSON reports success, and Web /healthz remains ready.

Conclusion

The Daily Report was correct; the missing monthly update was caused by the absent worker process. The report is now updated without re-uploading the source. The remaining operational gap is reboot-persistent supervision of the detached worker, which is intentionally separate from this recovery and from the later logging work.