Canister Periodic Tasks

Actor {

  var resultArray: [Nat] = [];

  system func heartbeat() : async () {
    let result = await ring(); // await another canister func
    resultArray := Array.append(resultArray, [result]);
  }
  
}

If await ring() trapped or it return result wait a long time,
what will happen on my canister ?