Transaction Group and Redundant Servers

I have several transaction groups that are schedules to run at 3:00 AM. We have a redundant system and for the past several days after I updated to 7.6.1 I get two entries in the table for the same data. One at 2:59 and the other at 3:00 AM. Is this each of the servers adding them or is there something else going on?



On the gateway status screen, do both systems show up, with one active and the other warm/cold? If the two servers can’t see each other, it’s possible that they’re both currently active.

However, the other thing to look at would be the execution stats of the group. What is the server uptime (can be found under config>status in the gateway), and how many executions does the group have? We’ve had some difficulties with the accuracy of the scheduled mode, and it’s possible that it’s executing early, and then executing again at 3.


Yes one is warm and one is cold. The time stamps are typically 2:59 and 3:00 so what you are describing makes sense. Is the one shot being reset too soon :slight_smile:

Uptime: 9 days, 19 hours, 5 minutes, 25 seconds

So would it be safe to say that using a timer script on the gateway to set a tag and then trigger the group off that tag and reset it would be a safer way to go?

A timer script, etc., is way too complicated. Instead, if you want to change the way it triggers, just make an expression item in the group, set it to “run always”, and make the expression something like dateExtract(now(), "hour")

Then you could just trigger “on change” of that, and have the group run every minute or something.

However, how is it currently set up to execute? Are you using the scheduled mode like I guessed?


Yes I am - it was currently scheduled to fire once a day at 3:00 AM.

Not sure I follow that expression code - how would I make it be 10AM or 11AM everyday?

If you want a specific hour, then you could test against what the dateExtract() returns.dateExtract(now(), "hour")=10 || dateExtract(now(), "hour")=11

When I try to use that in an expression item it keeps giving me a config error - I have this exact text in for testing:

dateExtract(now(), “min”)=52

I tried wrapping an if around it for the sake of it. Anything I am missing?

You shouldn’t have to wrap it in an “if”. Try dropping a new text label on the window and binding the text property to an expression and use the following:

dateExtract(now(), "min")=30

What is displayed in the label? I’m just trying to determine if it is merely the expression item that is having the problem.

Got it to work - I actually had an error elsewhere and thought it was in that syntax. Thanks!