Making a for loop ( or timer )

Hello, I am new to processing, but have been trying to figure out how to implement a for loop for my code below. I have only used while loops before, so i’m not used to for loops, but I’m told that they are efficient and more powerful. I want to use a for loop to run my program for only 15 seconds from the start, and once those 15 seconds have passed, then it starts over from the beginning, looping as such. I’m lost, because I used recursion, and don’t know how to make a for loop that works without errors. Please direct me in the right direction. Thanks.

float a = 5;
int x = 0;

void setup() {
  size(700,500);
  background(255,244,206);
  smooth();
  noStroke();
 
}
 
void draw() {
  drawCircle(width/2,height/2,200);
  if (x < 100) {
    x = x + 1;
  } else {
    noLoop();
  }
  // Saves each frame as line-000001.png, line-000002.png, etc.
  saveFrame("line-######.png");

  } 
 
 void drawCircle(float x, float y, float radius) {
  stroke(0);
  fill(247,80,91);
  rotate(a);
  ellipse(x, y, radius, radius);
  if(radius > 2) {
    a = a + 0.1;
    drawCircle(x + radius/2, y, radius/2);
    drawCircle(x - radius/2, y, radius/2);
    drawCircle(x, y + radius/2, radius/2);
    drawCircle(x, y - radius/2, radius/2);
  
  }
}

a simple timer only:

// ..
long startT, stopT=15000;

void setup() {
// ..
  startT = millis();
}

void draw() {
//...
  if ( millis() > startT + stopT ) {
    startT = millis();
    println("_next loop_");
    // do some reset her....
    background(255, 244, 206);
  }
}