Create a backgroud task to register static list of machines.

Fix #2181
Do we want it to be a forever loop?  As it's a static list, I think it should just be a one-off registration here.  I assumed here we only want to register the set of machines at startup, that's what we previously do.  The problem it solves is to makes sure the startup order doesn't matter.