Progress Indicators

Jobs can now report user-defined progress indicators using a done / total model. Track units that describe your workload, such as scenes processed or files uploaded, rather than using the number of completed tasks as a proxy.
Call add() to increase the total work and done() to increase the completed work. Updates are reported by individual tasks and summed across the job, so a parent can register the total and its subtasks can report completion:
python
# In the parent task, before submitting one subtask per scene:
context.progress("scenes").add(len(scene_ids))
# In each subtask, after successfully processing its scene:
context.progress("scenes").done(1)These are increments, not absolute counter values. Use the same indicator name in the parent and subtasks to aggregate their updates. Separate names, such as "scenes" and "uploads", create independent indicators; context.progress() selects the default indicator.