Basically what I am trying to understand is how functions like assign.user() interact with the alarm queue. From my experimentation what I think is happening is assign.user() is injecting a request into the nas queue that the nas processes in it's own good time. What I had hoped for was that the opeation would happen synchronously in cases of functions that modified the queue...
The reason it causes me some level of grief is I am having problems with a lua script that has the role of assigning users based on various alarm criteria. This script has fall through statement to handle alarms that did not meet any of the prior assignement criteria. What seems to happen is alarms randomly hit the fall through condition. Dropping in some debug statements led me to the conclusion that the functions that modify alarm queue entries are asynchronous.
If this is the way it's operating I'm not sure what to do since even setting up specific ordering in my lua scripts won't provide me with any guarantees of consistency of the alarm queue with respect to modifications made by a higher priority lua script.