Hi Luis, thank you for the appreciation.
Regarding your question, as I mentioned in another comment;
Checking if a refresh is already running might also be possible come to think of it. You could create a second TimeStamp table and make sure it runs at the start of the refresh (by referencing it in the other tables). That way, you can check if that timestamp changes and if it does it means the refresh has started.This is just an idea that I have not tested, but I do not see why it wouldn't work.
Hope this helps.