runIn(), runOnce(), pause(msec) which one to use in this example

How about something like this:

arm() {
    //some HTTP call
    attempt()               
}

def attempt() {
    def metaData = panelMetaData(token, locationId) // Get AlarmCode
    if ( metaData.alarmCode != 10201 ) { 
      runIn(2, attempt)
    }
    else {
      sendPush("Home is now Armed successfully")
    }
}