textual.worker
This module contains the Worker class and related objects.
See the guide for how to use workers.
            WorkType
  
      module-attribute
  
¶
WorkType = Union[
    Callable[[], Coroutine[None, None, ResultType]],
    Callable[[], ResultType],
    Awaitable[ResultType],
]
Type used for workers.
            active_worker
  
      module-attribute
  
¶
active_worker = ContextVar('active_worker')
Currently active worker context var.
            DeadlockError
¶
    
              Bases: WorkerError
The operation would result in a deadlock.
            Worker
¶
Worker(
    node,
    work,
    *,
    name="",
    group="default",
    description="",
    exit_on_error=True,
    thread=False
)
              Bases: Generic[ResultType]
A class to manage concurrent work (either a task or a thread).
Parameters:
| Name | Type | Description | Default | 
|---|---|---|---|
                               | 
            
                  DOMNode
             | 
            
               The widget, screen, or App that initiated the work.  | 
            required | 
                               | 
            
                  WorkType
             | 
            
               A callable, coroutine, or other awaitable object to run in the worker.  | 
            required | 
                               | 
            
                  str
             | 
            
               Name of the worker (short string to help identify when debugging).  | 
            
                  ''
             | 
          
                               | 
            
                  str
             | 
            
               The worker group.  | 
            
                  'default'
             | 
          
                               | 
            
                  str
             | 
            
               Description of the worker (longer string with more details).  | 
            
                  ''
             | 
          
                               | 
            
                  bool
             | 
            
               Exit the app if the worker raises an error. Set to   | 
            
                  True
             | 
          
                               | 
            
                  bool
             | 
            
               Mark the worker as a thread worker.  | 
            
                  False
             | 
          
            cancelled_event
  
      instance-attribute
  
¶
cancelled_event = Event()
A threading event set when the worker is cancelled.
            is_cancelled
  
      property
  
¶
    Has the work been cancelled?
Note that cancelled work may still be running.
            progress
  
      property
  
¶
    Progress as a percentage.
If the total steps is None, then this will return 0. The percentage will be clamped between 0 and 100.
            StateChanged
¶
    
              Bases: Message
The worker state changed.
Parameters:
| Name | Type | Description | Default | 
|---|---|---|---|
                               | 
            
                  Worker
             | 
            
               The worker object.  | 
            required | 
                               | 
            
                  WorkerState
             | 
            
               New state.  | 
            required | 
            run
  
      async
  
¶
    Run the work.
Implement this method in a subclass, or pass a callable to the constructor.
Returns:
| Type | Description | 
|---|---|
                  ResultType
             | 
            
               Return value of the work.  | 
          
            update
¶
update(completed_steps=None, total_steps=-1)
            wait
  
      async
  
¶
    Wait for the work to complete.
Raises:
| Type | Description | 
|---|---|
                  WorkerFailed
             | 
            
               If the Worker raised an exception.  | 
          
                  WorkerCancelled
             | 
            
               If the Worker was cancelled before it completed.  | 
          
Returns:
| Type | Description | 
|---|---|
                  ResultType
             | 
            
               The return value of the work.  | 
          
            WorkerCancelled
¶
    
              Bases: WorkerError
The worker was cancelled and did not complete.
            WorkerFailed
¶
    
            WorkerState
¶
    
              Bases: Enum
A description of the worker's current state.
            get_current_worker
¶
    Get the currently active worker.
Raises:
| Type | Description | 
|---|---|
                  NoActiveWorker
             | 
            
               If there is no active worker.  | 
          
Returns:
| Type | Description | 
|---|---|
                  Worker
             | 
            
               A Worker instance.  |