You need a boolean to set 'true' when the worker starts repairing one of the buildings and set 'false' when the worker stops repairing..
Then pick every building, and add 0.60(i think that's the HP repaired but im not very sure) to their HP every 1.50(the rate of repair) seconds IF the boolean above is true...
I'm not sure if this is the best method, I'm not using my PC right now.... but I'm sure it won't cause any bugs, just keep in mind that the repair abilities of every race are different, and that there is a cost for the repair, you need to decide if it is going to be multiplied by the buildings repaired..