@Leo Bao​  here is documentation on how to create a support ticket. Here's some code --- it should do what you are looking for. Please tweak the wait time as you like, I've set it to 10 mins.

def numWorkers: Int = sc.getExecutorMemoryStatus.size - 1
 
def waitForWorkers(requiredWorkers: Int, tries: Int) : Unit = {
  for (i <- 0 to (tries-1)) {
    if (numWorkers >= requiredWorkers) {
      println(s"Waited ${i}s. for $numWorkers/$targetWorkers workers to be ready")
      return
    }
    if (i % 60 == 0) println(s"Waiting ${i}s. for workers to be ready, got only $numWorkers/$targetWorkers workers")
    Thread sleep 1000
  }
  throw new Exception(s"Timed out waiting for workers to be ready after ${tries}s.")
}
 
waitForWorkers(targetWorkers, 600) //wait up to 10m