[us-commits] [ehb54/us3lims_gridctl] c50e86: jobmonitor: finalize COMPLETE jobs without relying...

emre brookes noreply at github.com
Thu Jul 16 09:58:26 MDT 2026


  Branch: refs/heads/ehb54-issue-969
  Home:   https://github.com/ehb54/us3lims_gridctl
  Commit: c50e86c1a89d96fa8bf2522f1420f903090a8974
      https://github.com/ehb54/us3lims_gridctl/commit/c50e86c1a89d96fa8bf2522f1420f903090a8974
  Author: ehb54 <brookes at uthscsa.edu>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    M jobmonitor/cleanup.php
    M jobmonitor/cleanup_gfac.php
    M jobmonitor/gridctl.php

  Log Message:
  -----------
  jobmonitor: finalize COMPLETE jobs without relying on UDP 'Finished'

check_job()'s COMPLETE case exited the per-job monitor even when
gfac_cleanup() returned 0 ("not yet finalizable, retry later"), which
orphaned the job until a manual uslims_jobs.php --restart. Separately, the
finalize fallback compared time() to strtotime(queue_messages.time), so a
timezone/clock skew (observed ~7h at zentriforce) made the delta negative
and the fallback never fired.

- check_job() COMPLETE case now retries (returns false, keeps polling) when
  complete() returns 0; stops on 1 (finalized) or -1 (terminal).
- cleanup()/complete() propagate the gfac_cleanup()/aira_cleanup() result;
  contract: -1 terminal, 0 retry, 1 finalized.
- gfac_cleanup() times the finalize grace on the jobmonitor's own epoch clock
  via a per-job marker file ($lock_dir/complete_seen), immune to tz/clock
  skew, with a hard ceiling. Grace/ceiling read from
  $global_complete_grace_seconds / $global_complete_max_seconds (default
  600 / 21600) when defined.

Refs ehb54/ultrascan-tickets#969

Co-Authored-By: Claude Fable 5 <noreply at anthropic.com>



To unsubscribe from these emails, change your notification settings at https://github.com/ehb54/us3lims_gridctl/settings/notifications


More information about the us-commits mailing list