원클릭으로
ensemble-production
Manage and observe IRIS Interoperability productions — lifecycle, logs, queues, and message tracing
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Manage and observe IRIS Interoperability productions — lifecycle, logs, queues, and message tracing
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Use when creating or modifying InterSystems IRIS interoperability production components in Python — Business Services, Business Processes, Business Operations, Adapters, Messages, or Production definitions.
Measure ObjectScript line coverage using %Monitor.System.LineByLine. Wraps a %UnitTest.Manager.RunTest() call, collects per-class hit/total counts, prints a coverage table. Prerequisite: iris-coverage-setup (bbsiz=4096, IRIS restarted).
Measure ObjectScript line coverage using iris_coverage. Use when a user asks about test coverage, coverage reports, or wants to know how well their test suite exercises their code.
InterSystems AI Hub EAP (Early Access Program) — accurate API patterns for builds 158/159/161/162 (current). Covers %AI.Agent declarative Parameters, %AI.Provider.Create, ConfigStore/GetProviderForConfig, @{env/config/wallet} substitution, session management, streaming, tool sets, and known breaking changes from build 141. Load when helping EAP participants set up, build, or debug AI Hub projects.
Use after writing or editing any ObjectScript .cls file, after applying a fix to a compile error, or before declaring a task done — uploads the class to IRIS via Atelier REST, compiles it, and returns structured errors for immediate fixing.
Step-by-step guide for setting up .iris-agentic-dev.toml — diagnose the connection problem first, then generate the right config block for the user's scenario.
| author | tleavitt |
| benchmark_date | 2026-04-02 |
| benchmark_iris_version | 2025.1 |
| benchmark_tasks | ["jira-001","jira-002","jira-003","jira-004","jira-005","jira-006","jira-007","jira-008","jira-009","jira-010","jira-011","jira-012","jira-013","jira-014","jira-015","jira-016","jira-017","jira-018","jira-019","jira-020","jira-021","jira-056"] |
| description | Manage and observe IRIS Interoperability productions — lifecycle, logs, queues, and message tracing |
| iris_version | >=2024.1 |
| name | ensemble-production |
| pass_rate | 0.5909090909090909 |
| state | draft |
| tags | ["ensemble","interoperability","production"] |
| trigger | When asked about a production status, to start/stop/restart a production, investigate message failures, or check queue backlogs |
Operate IRIS Interoperability (Ensemble) productions safely: check status before touching anything, use targeted tools for each operation type, and always verify after a change.
Check status first — call interop_production_status with full_status=true
to see which components are running, faulted, or disabled.
Check queues — call interop_queues if you suspect backlog or blocked messages.
High queue depth on a specific component indicates a bottleneck or fault in that component.
Search messages — call interop_message_search to find specific messages by body
content, session ID, sender, or time range. This is the fastest way to trace a failed
transaction end-to-end.
Check logs — call interop_logs filtered to the component and time window of interest.
Look for ERROR or WARNING severity entries.
interop_production_needs_update — if it returns false, no action needed.interop_production_update (hot-apply, no downtime).interop_production_status that all components are still running.Only restart if status shows the production is stopped or stuck:
# Graceful stop (waits for in-flight messages)
interop_production_stop(timeout=30, force=false)
# Start with the production class name
interop_production_start(production="MyApp.Productions.Main", namespace="MYNS")
# Confirm
interop_production_status(full_status=true)
If the production is in an error state (stuck, partially started), call interop_production_recover.
This performs the equivalent of the Management Portal "Recover" button.
| Tool | When to use |
|---|---|
interop_production_status | Always first — baseline state before any action |
interop_production_start | Start a stopped production |
interop_production_stop | Graceful or forced stop |
interop_production_update | Hot-apply config changes (no restart needed) |
interop_production_needs_update | Check before deciding whether to update |
interop_production_recover | Un-stick a faulted/partially-started production |
interop_logs | Component-level log entries (filter by component + severity) |
interop_queues | Queue depth per component — spot bottlenecks |
interop_message_search | Trace specific messages by content, session, or time |
Production must be running before HS.FHIRServer.Tools.DataLoader.SubmitResourceFiles().
Without a running production, DataLoader silently does nothing — no error, no resources loaded.
// Always start the production before loading FHIR data
Do ##class(Ens.Director).StartProduction("HS.FHIRServer.Production")
// Then load
Do ##class(HS.FHIRServer.Tools.DataLoader).SubmitResourceFiles(
"/tmp/ndjson", "FHIRServer", "/csp/healthshare/READYAI/fhir/r4", 1)
force=true) unless graceful stop has timed out. Force-stop drops
in-flight messages.interop_production_needs_update before interop_production_update — calling
update when not needed is a no-op, but it's good hygiene to confirm first.namespace parameter. Default is USER.
Productions in HSCUSTOM or application-specific namespaces require the correct namespace.update instead. Restart loses in-flight messages.When reporting production state:
Production:
MyApp.Productions.Main— RUNNING Components: 12 running, 0 faulted, 2 disabled Queue depth: BusinessProcess.OrderHandler: 0, BusinessOperation.SendHL7: 3
When tracing a message failure:
Session
12345: Failed atBusinessOperation.SendHL7— ERROR: Connection refused Fix: Check the outbound adapter host/port configuration for SendHL7