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

emre brookes noreply at github.com
Fri Jul 17 11:44:04 MDT 2026


  Branch: refs/heads/main
  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>


  Commit: 060dbce49b93f5858119c2c584693a55cdec320a
      https://github.com/ehb54/us3lims_gridctl/commit/060dbce49b93f5858119c2c584693a55cdec320a
  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:
  -----------
  address SonarCloud: drop return() parens, brace single-statement ifs

Clears 7 of the 8 new-code smells on PR #30:
- S6600: return( expr ) -> return expr (new returns only)
- S121: added braces to the new single-statement if bodies

The remaining S1142 (cleanup() has 5 returns) is accepted separately.

Refs ehb54/ultrascan-tickets#969

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


  Commit: fdb69dc880499d8d05e439355288d06eafedb212
      https://github.com/ehb54/us3lims_gridctl/commit/fdb69dc880499d8d05e439355288d06eafedb212
  Author: emre brookes <ehb54 at users.noreply.github.com>
  Date:   2026-07-17 (Fri, 17 Jul 2026)

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

  Log Message:
  -----------
  Merge pull request #30 from ehb54/ehb54-issue-969

jobmonitor: finalize COMPLETE jobs robustly (issue #969)


Compare: https://github.com/ehb54/us3lims_gridctl/compare/b0acd2f3bb3a...fdb69dc88049

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