I guess you can try this:
As all the data in a singleton should be the same in all nodes. You can just use some flag inside you singleton and if this flag shows that action has been already executed today you can simply skip it on the other nodes.
Does it work for you?