Job ETA: estimated time left from the average of all completed frames #27

Closed
opened 2026-10-23 13:48:50 +00:00 by jerry · 0 comments
Contributor

Show an estimated time remaining for each render job in the manager UI (job list and job page), plus an ETA clock time.

Calculate it from every frame the job has completed so far. Use the average time per frame (completed render time divided by completed frames) times the frames left. Divide by the number of runners working on the job if there's more than one. Recompute every time a frame finishes.

Why: job 1 on the trial (1308 frames at about 1m53s each) needed someone to dig through the logs to estimate its finish. A running average across all completed frames also handles scenes where the frame time changes partway through.

Details:

  • Show "Estimating..." until at least one frame has completed.
  • Exclude failed or retried attempts from the average, and don't count time the job was paused or queued.
  • Also show the average time per frame and the elapsed time.
  • Expose these fields in the job API JSON too (eta_seconds, avg_frame_seconds).

Done means: the job page and the list show the time remaining and the ETA, the API returns the fields, and the numbers match a hand calculation on a real job. Requested by Justin; filed by Jerry.

Show an estimated time remaining for each render job in the manager UI (job list and job page), plus an ETA clock time. Calculate it from every frame the job has completed so far. Use the average time per frame (completed render time divided by completed frames) times the frames left. Divide by the number of runners working on the job if there's more than one. Recompute every time a frame finishes. Why: job 1 on the trial (1308 frames at about 1m53s each) needed someone to dig through the logs to estimate its finish. A running average across all completed frames also handles scenes where the frame time changes partway through. Details: - Show "Estimating..." until at least one frame has completed. - Exclude failed or retried attempts from the average, and don't count time the job was paused or queued. - Also show the average time per frame and the elapsed time. - Expose these fields in the job API JSON too (eta_seconds, avg_frame_seconds). Done means: the job page and the list show the time remaining and the ETA, the API returns the fields, and the numbers match a hand calculation on a real job. Requested by Justin; filed by Jerry.
linus closed this issue 2026-10-24 07:43:11 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
s1d3sw1ped/jiggablend#27
No description provided.