-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Is your feature request related to a problem? Please describe.
I've observed multiple users become confused due to long running experiments (from explore opertations) as ado can appear to "hang" with default logging. They may believable something is wrong and CTRL^C to early etc. If log-level is increased logs may appear that allow deducing what is happening. However the log-level to set to get sufficient information in unknown and there may trigger a large number of unrelated logs burying the information sought.
Rich live element (spinners/progress bars) provide a way to indicate to a user a long running task is underway. The issue is it (a) can only be used from the main process, as only one rich context should manage a console otherwise output is not rendered properly (b) rich.Console output in the actors will be serialised and transmitted to main process stdout by ray loosing any "rich" meaning.
Describe the solution you'd like
A clear and concise description of what you want to happen.
- A single grouped Live context in the main process - leveraging the existing Live table but adding a second group for actor progress messages
- i.e. live table at Bottom, and above progress indicators for active tasks from operator/actuators
- An actor e.g. RichConsoleQueue, where actors can put messages for rendering in the progress segment
- In the main process Live context, messages can be pulled from RichConsoleQueue and either (1) add a element (spinner/progress-bar) to the progress group (2) progress an element in the group (3) remove an element from the group.
- Messages would have an identifier so the update can determine what to do
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Considered other implementations for consuming messages but in the end the main restriction is that there can be only one Live context connected to the console for all the messages to render correctly.