Imagine Distributed Work Manager (DWMgr) that can:
Call methods or $$-functions in background on any reachable IRIS server (e.g. on Asynchronous or Failover Mirror Member), so called target server,
pushing all necessary input data in local or global variables,
checking status and progress of such work items.
getting results from the work items, be it in local or global variables, in one of two different ways:
by checking execution status and getting the results explicitly,
by calling callback methods.
Manage the status of any configured target server:
get or set its status (online or offline)
evaluate its load by getting the execution queue length, etc.
Possible use cases of DWMgr can be:
Freeing resources of Primary database server by running reports and other resource consuming jobs on a target server
with full control on such a job and
getting their results into the primary database.
Querying remote servers that can respond with noticeable delays, so it's better to run such requests asynchronously.
Thank you for posting the idea. According to information from experts, this functionality already exists.
This idea is the Experts Nomination🥇 2nd place winner of the 3rd InterSystems Ideas Contest
Would sharding not address same use cases? (refer: https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=GSCALE_sharding#GSCALE_sharding_oview_benefits)