Question
· Dec 4, 2023

Storage %SYSTEM.Event

Hello, How are you doing?

I'm currently developing a proyect in wich I want to use %SYSTEM.Event to process queues. I realized that if a queue has events pending to be sent to the listeners, when I restart the cube the queue with all its events are deleted.

Is there a way to store the queue with their messages in a Global?

I've checked the documentation but I can't find any option for this prupose.

 

https://docs.intersystems.com/supplychainlatest/csp/documatic/%25CSP.Doc...

 

Thank you!

Product version: Caché 2018.1
$ZV: Cache for Windows (x86-64) 2018.1.4 (Build 505_1) Thu May 28 2020 10:12:49 EDT
Discussion (10)4
Log in or sign up to continue

I don't have details of your project but when you say  "I want to use %SYSTEM.Event to process queues" and ask "Is there a way to store the queue with their messages in a Global?" I think that what you describe is exactly what an IRIS interoperability production does.

In fact, an IRIS interoperability production internally use %SYSTEM.Event to process queues and messages are indeed queued and persisted (in globals).
Within an IRIS interoperability production queued messages are preserved across system restart (and crash!), in addition messages are traced, can be resent etc etc.

So my question is, given your requirements, why not using an interoperability production instead of reinventing (or reimplementing) the wheel?

Enrico