Hi Dmitrii,

From the discussion in the comments it seems like you're trying to use "Workers", but did you try to use the Event mechanism for your use-case?

See also this related article (and this one as well).

By the way here's a Docs reference of using this from Python.

I don't have a wider context of this, but in the IRIS Interoperability functionality, behind the scenes of the Interoperability components, and the Messages and Queues managed there, this Event mechanism is used. So perhaps if you are already using IRIS's Interoperability capabilities, you can implement this in the higher level of the Business Components in your Interoperability Production, rather than with the lower level code using the Event class.

The Workers mechanism you tried to use is intended more for distributing parallel work, and the Event API is more for messaging and queuing scenarios, which sounds more like your use-case.

This article might also be of interest to you as it discusses moving from "Workers" to "Events".

You might also find this HL7 benchmark post by @Mark Bolinsky useful, specifically the section titled "Disk Configuration", and the related "Table 2" there.

For convenience I'm pasting this table here (but read the original post for the full context, for example your scenario sounds more like the "T2 Workload" described there, rather than the "T4" one) -

Table 2: Disk Requirement per inbound HL7 T4 Message  

Contributor Data Requirement
Segment Data 4.5 KB
HL7 Message Object 2 KB
Message Header 1.0 KB
Routing Rule Log 0.5 KB
Transaction Journals 42 KB
Total 50 KB

This might not be exactly what you’re looking for, as it requires an actual working interface to perform the estimation, and not just a "concept/design" of the interface, but worth checking it out. It indeed takes into account for example also the Event Log, as well as Journals which you didn't mention above but might be important for you as well.

https://community.intersystems.com/post/ensemble-interfaces-disk-space-u...