Skip to content

status/wait: surface EC and termination reason for finished PJM jobs #37

Description

@ultimatile

Since #22, PJM EXT classification uses EC/SN, so wait correctly distinguishes success from abnormal exit. The user-facing output still shows only the state label: status prints Job <id>: FAILED and wait prints Job finished: FAILED, while the decisive post-mortem facts — exit code, termination reason (pjstat -H -v REASON, e.g. ELAPSE LIMIT EXC), and elapsed time vs limit — require dropping to raw pjstat over ssh.

A motivating scenario: distinguishing "died after 4 seconds with EC=1" from "ran the full 30-minute limit and was killed" is the difference between an application bug and an undersized elapse request; both render identically as FAILED today.

Proposal

For terminal jobs, extend status (and wait's final line) with EC and, when available, REASON and ELAPSE_TIM / ELAPSE_LIM from the history query. Slurm has the analogous surface (DerivedExitCode / Reason) if cross-scheduler symmetry is wanted, but the PJM half alone already closes the debugging loop.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions