interoperability_production_start
Start an Interoperability Production to enable data exchange and workflow execution between systems in InterSystems IRIS.
Instructions
Start an Interoperability Production
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No |
Implementation Reference
- The async handler function that implements the tool logic: starts the Interoperability Production by calling Ens.Director.StartProduction on IRIS and verifies the status.async def interoperability_production_start( ctx: Context, name: str = None, ) -> str: logger.info( "Starting Interoperability Production" + f": {name}" if name else "." ) iris = ctx.iris raise_on_error( iris, iris.classMethodString( "Ens.Director", "StartProduction", *([name] if name else []) ), ) refname = IRISReference(iris) name and refname.setValue(name) refstatus = IRISReference(iris) status = iris.classMethodString( "Ens.Director", "GetProductionStatus", refname, refstatus ) if not name: name = refname.getValue() if ( status != "1" or ProductionStatus(int(refstatus.getValue())) != ProductionStatus.Running ): raise ValueError(f"Production {name} not started.") return "Started production"
- src/mcp_server_iris/interoperability.py:118-118 (registration)The @server.tool decorator registers the 'interoperability_production_start' function as an MCP tool.@server.tool(description="Start an Interoperability Production")
- src/mcp_server_iris/server.py:56-56 (registration)Invocation of the init function from interoperability.py, which performs the tool registrations for all interoperability tools including 'interoperability_production_start'.interoperability(server, logger)
- Enum used by the handler to check and report production status.class ProductionStatus(Enum): Unknown = 0 Running = 1 Stopped = 2 Suspended = 3 Troubled = 4 NetworkStopped = 5 ShardWorkerProhibited = 6