push data slowly to one mqqt server, fast on another

I Frankenstein'd/script kiddied several pieces of code together to push data from my ammeter circuit to 2 (two) different mqqt-ish servers - Adafruit IO and my local Blynk server. Because of Adafruit IO's 30 data points per 60 second limit (free account) my sketch is set up to push data to both servers every 5 seconds (so only 24 data points are pushed per 60 seconds). Since I don't have that limitation for my local Blynk server, how do I push data instantly to it and continue pushing data to AIO every 5 seconds?

loop() part of sketch is below

void loop() {

  // ping adafruit io a few times to make sure we remain connected
  if (! mqtt.ping(3)) {
    // reconnect to adafruit io
    if (! mqtt.connected())
      connect();
  }

  // LED ALTERNATE
  digitalWrite(2, HIGH);
  digitalWrite(16, LOW);

  // Measure
  current_mA = measureCurrent();
  voltage_V = measureVoltage();
  power_mW = measurePower();

  // Publish current data to Adafruit IO
  if (! current.publish(current_mA)) {
    Serial.println(F("Publishing current data to Adafruit IO has failed."));
  } else {
    Serial.println(F("Publishing current data to Adafruit IO was successful!"));
    Serial.println(" ");
  }

  // Publish voltage data to Adafruit IO
  if (! voltage.publish(voltage_V)) {
    Serial.println(F("Publishing voltage data to Adafruit IO has failed."));
  } else {
    Serial.println(F("Publishing voltage data to Adafruit IO was successful!"));
    Serial.println(" ");
  }
  
  // Publish current data to Blynk
  Blynk.virtualWrite(V0, String(current_mA, 0));
  
  // Publish voltage data to Blynk
  Blynk.virtualWrite(V1, String(voltage_V, 2));

  time_t now = time(nullptr);
  Serial.println(ctime(&now));

  // Display data
  displayData(current_mA, voltage_V, power_mW);
  delay(5000); // 5 (five) seconds

  // LED ALTERNATE
  digitalWrite(2, LOW);
  digitalWrite(16, HIGH);

  // Measure
  current_mA = measureCurrent();
  voltage_V = measureVoltage();
  power_mW = measurePower();

  // Publish current data to Adafruit IO
  if (! current.publish(current_mA)) {
    Serial.println(F("Publishing current data to Adafruit IO has failed."));
  } else {
    Serial.println(F("Publishing current data to Adafruit IO was successful!"));
    Serial.println(" ");
  }

  // Publish voltage data to Adafruit IO
  if (! voltage.publish(voltage_V)) {
    Serial.println(F("Publishing voltage data to Adafruit IO has failed."));
  } else {
    Serial.println(F("Publishing voltage data to Adafruit IO was successful!"));
    Serial.println(" ");
  }
  
  // Publish current data to Blynk
  Blynk.virtualWrite(V0, String(current_mA, 0));
  
  // Publish voltage data to Blynk
  Blynk.virtualWrite(V1, String(voltage_V, 2));

  // Display data
  displayData(current_mA, voltage_V, power_mW);
  delay(5000);

}

Since I don't have that limitation for my local Blynk server, how do I push data instantly to it and continue pushing data to AIO every 5 seconds?

If you want to continue using delay() (not the best idea) then push to the remote server every 12 times that you push to the local server.

A better way would be to use milllis() timing to allow separate timing for each.

See Using millis() for timing. A beginners guide, Several things at the same time and look at the BlinkWithoutDelay example in the IDE.

Basically, use 2 BWoD timing periods in loop(), each with different periods