I disagree with the use of threading in such a situation. Use the time module in a more respectful way. I'm very tired at the moment, so I won't do the code for you. But you could store the current epoch time (get this value by using time() of the time module, the return value is a float, so convert it to an integer by instead doing int(time()). The return value now as an integer is also in seconds, you can run a while loop and do a continuous check to see if the value has increased by 2. I hope you get the idea.

More into detail of what I saw saying. You can use the time module to read the current seconds, wait until it has increased by 2, do something, wait until it increases by 2, do something, and so on. Surely you understand it better now?