if ($startTime->format('i') == $previous->format('i')) {
//Sleep interval, first sleep will be long
sleep(isset($sleep) ? 1 : 60 - $startTime->format('i'));
unset($startTime);
//Next sleeps will be shorter
$sleep = true;
continue;
}
//Update previous start time with current
unset($previous);
$previous = $startTime;
try {
//Initializes task factory
$launcher = new Launcher($startTime);
//Performs health check at each start
Launcher::healthcheck();
$launcher->setLogger($logger)->launch();
} catch (ZMQException $e) {
if ($e->getCode() == 4) {
//Catches ETERM
$interrupt++;
usleep(1);
break;
}
$logger->fatal("Launcher error: %s", $e->getMessage());
}
//Release resources
unset($launcher);
unset($startTime);
unset($sleep);
if ($previous->format('i') % 5 === 0) {