Improved job and log handling/endpoints in CUBE #676
rudolphpienaar
started this conversation in
Ideas
Replies: 1 comment
|
@rudolphpienaar Point I guess point |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Proposal: Job Handling Enhancements for CUBE
Context
ChRIS “jobs” are PluginInstances. Today there is no explicit job control surface: clients list/filter plugin instances, poll
status, and can cancel viaPUT status=cancelled. Logs are embedded/truncated insummaryand the full pfcon response is stored zipped inraw; there is no clean log/tail API. The UX would benefit from OS-like affordances (ps/top, tail, /proc).Proposal (three pillars)
Active filter on existing plugin instance endpoint
active=true|falsetoPluginInstanceFilterand honor it on/api/v1/plugins/instances/search/(and optionally/api/v1/plugins/instances/).created,waiting,scheduled,started,registeringFiles), terminal =finishedSuccessfully,finishedWithError,cancelled.Per-instance logs endpoint (chunked, tail-friendly)
GET /api/v1/plugins/instances/<id>/logs/offset/limitortailhelper. Optionally add SSE/WebSocket for live tailing.summaryas a lightweight status snapshot; keeprawfor archival pfcon payload; stop relying onsummarytruncation for logs.tail/view stdout-like logs cleanly without parsingsummary/raw./proc-style virtual view (active-only)
/proc/jobs) that lists active plugin instances with subentries such asstatus,logs(chunked),output(link),parent/descendants,compute_resource.Optional complementary ideas
Rationale
Scope/compatibility
Open questions for discussion
{finishedSuccessfully, finishedWithError, cancelled}.tailhelper; SSE/WebSocket necessity in first iteration?All reactions