Skip to Main Content
InterSystems Ideas
We love hearing from our users. Tell us what you want to see next and upvote ideas from the community.
* Bugs and troubleshooting should as usual go through InterSystems support.
Status Community Opportunity
Categories InterSystems IRIS
Created by Alexey Maslov
Created on Jun 15, 2024

Distributed Work Manager

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.

  • ADMIN RESPONSE
    Nov 25, 2024

    Thank you for submitting the idea. The status has been changed to "Community Opportunity".

    Stay tuned!

  • Alexey Maslov
    Reply
    |
    Nov 22, 2024

    I disagree with a sentence that this functionality already exists because it differs from ShardWorkMgr in several ways.

    ShardWorkMgr:

    • works upon ECP, so can't offload the main database from extra payload,

    • provides unidirectional way of exchange data with to functions being remotely called.

    DWMgr:

    • works upon Mirroring, so can offload the main database,

    • can proceed on read only mirror members without <PROTECT> errors,

    • provides bidirectional way of exchange data with functions being remotely called; yes, it uses temporary globals, but this is not a problem even on read only members.

    Besides, why so many people voted for the idea despite its existence?

    Don't you think that changing its status to "Community opportunity" would be fair solution?


    2 replies
  • Admin
    Vadim Aniskin
    Reply
    |
    Aug 8, 2024

    This idea is the Experts Nomination🥇 2nd place winner of the 3rd InterSystems Ideas Contest