Hi Scott,

Check mirror monitor if all databases are caught up on the backup. Or is there one database that is stuck on dejournaling because of that journal file?

Usually happens if the the backup is out of sync for a long time and the file got corrupted/deleted and is no longer available on the Primary or other mirror members.

Two option that i know of here is to 1. restore that file from backup and supply it in the folder that BACKUP complains about. Or rebuild the backup from your primary.

You might want to look into Work queue Manager. It can be configured to use multiple agents to process anything in a queue. This approach is best if the queue is fixed at the start and during the run of the processing, i.e. no items added to be processed.

If you are more for a spooling type setup. You can use Integrations to monitor a spool global and start jobs based on poolsize etc.


ref: Using the Work Queue Manager | Using the Work Queue Manager | InterSystems IRIS Data Platform 2025.1
 

Hi Dmitrii,

The automated export of changed files can be handled by %Studio.SourceControl.File, this would export any changed file on save and import the latest from disk on checkout.

To automate import on a target system you can create a scheduled task that executes $system.OBJ.LoadDir regularly, this also per default compiles on load.

Hi, without knowing a bit more about what you are trying to achieve its difficult to advise.

To export and reinstate a data structure including content you would need to export the storage class definition.

After that you then can export the Global data and index storage defined by the storage class.
To export you can use $system.OBJ.Export from a terminal/iris session. Then reimport using $system.OBJ.Load

Hi Marykutty,

depending on your use case. Usually, I would suggest going with Primary and BACKUP mirror plus arbiter for the optimal HA resilience. A webgateway on a dedicated IIS can serve both your application and the SMP. I usually would though consider having 2 webservers running so your single webserver is not the single point of failure.
Also just to be aware webgateway is mirror aware and does not need a VIP to automatic redirect connections to the correct mirror. (refer documentation on mirroring )

Completely silent install an application can only happen during IRIS upgrade/install or by being creative with scheduled tasks.

First step would be to automate installation of you application using a %Installer script refer to Documentation

Fully automating it could involve a scheduled task checking a folder on the filesystem for the installer manifest and importing it.

The better approach here, if you don't want to use SystemDefaults.

Is to add a global mapping for your global config variable ^ehrIP to the %ALL namespace pointing it to a config database. This will point the ^ehrIP global in each namespace to the same storage location.

Then you can access this global via ^ehrIP as usual. I would not use % globals as they are saved in the %SYS namespace and application code/data should not be living in the %SYS namespace.

couple of options:

1. $order the global checking the list content as others have already mentioned

2. if there is a SQLIndex defined for the field. You can check the index location directly via objectscript, this would save you ordering through possibly billions of lines of data
3. define the SQL column to for Reference to use columnar storage, also single global retrieve to get a $list of rowids.

ahh now your question is getting a bit clearer.

If you look for a better management for your API endpoints might be worth looking into ISC API manager: InterSystems API Manager | InterSystems Components and Tools

Else you can use delegated auth to validate incoming IP addresses, also you can make use of Apache's virtual server config to server different content on different ports using Apache access controls for additional filtering and redirecting, which is essentially what you suggest here.