Operator Intervention

Overview

This section covers the ways in which an operator can interact with, and intervene during, a workflow running on a given workcell, and how these methods can be configured and planned for in a workflow definition.

Operator Instrument

An operator instrument allows manual intervention during a workflow, pausing the process until the operator completes their task and resumes the workflow.

When the workflow reaches the operator task, it halts until the operator reports having performed the required manual tasks, such as inspecting samples. The operator can indicate tasks are complete by clicking “resume” on LINQ Cloud or via a runtime command - see Workflow Execution - and the workflow continues.

The operator instrument must be defined as part of the workcell with the automata_operator driver.

Defining Operator interventions in the workflow

To define an operator intervention, you need to create an ActionTask where the action is set to "pause".

Operator_action1 = ActionTask(
    id = "Operator_action1",
    action = "pause",
    description = "Operator action: check liquid handler deck",
    instrument_type = "operator",
    labware_sources = [], # Needs to be left empty
    labware_outputs = [], # Needs to be left empty
    time_estimate = 20,
    inputs = {
        "pause_time": 20,
        "action_required": True, #Prompt an Action Required with a Message
        "message": "Please check the Hamilton", #Action Required Message
        "check_response_time": True #Check if any Time constraints might break
    }
)

Use linq driver list for information about the operator driver, and any driver. See Instruments and Drivers for more information.

Attention

Moving labware between instruments manually during an operator pause is not yet supported in the SDK.

Run Instructions

Run instructions are a list of instructions to guide the operator on what to do during different phases of the workflow. These are displayed on LINQ Cloud.

To define run instructions, use the RunInstruction class to specify each command. Here’s an example of how to define a pre-run instruction:

instruction_1 = RunInstruction(
    description="Check if tip box is loaded!",
    phase="pre",
)
class linq.workflow.RunInstruction(*, description: str, phase: Literal['pre', 'mid', 'post'])

Instructions for running a workflow.