Как оптимизировать цикл FOR (PHP)
Хочу оптимизировать цикл, который выполняет функцию списание средств с карты клиента для этого нужно выполнить два запроса. На данный момент все работает, но боюсь что код сломается когда клиентов станет больше. В php я полный нуль, пожалуйста подскажите как я мог бы оптимизировать данный цикл, чтобы избежать нагрузки на сервер. На данный момент возникают идеи с интервалами, но не знаю как их можно реализовать.
В count($set) лежат данные которые я получил из БД: id и RebillId.
for($i = 0, $size = count($set); $i < $size; ++$i) {
$id = $set[$i]['id'];
$RebillId = $set[$i]['RebillId'];
$TerminalKey = "1652780585356";
$Password = "dbcjaacyvnr5";
$OrderId = $id. $time;
$Description = "Основная оплата подписки";
$Amount = "100000";
$array = array(
'TerminalKey' => $TerminalKey,
'pass' => $pass,
'Amount' => $Amount,
'OrderId' => $OrderId,
'Description' => $Description
);
$array = json_encode($array, JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://securepay.tinkoff.ru/v2/Init');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json','charset=UTF-8'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $array);
$res = curl_exec($ch);
curl_close($ch);
$res = json_decode($res, true);
print_r($res);
$PaymentId = $res["PaymentId"];
$PaymentURL = $res["PaymentURL"];
$token = array(
'Password' => "$Password",
'PaymentId' => "$PaymentId",
'RebillId' => "$RebillId",
'TerminalKey' => "$TerminalKey"
);
$token = $token["Password"]. $token["PaymentId"]. $token["RebillId"]. $token["TerminalKey"];
$token = hash('sha256', $token);
$token = mb_strtolower($token);
$data = array(
'TerminalKey' => $TerminalKey,
'PaymentId' => $PaymentId,
'RebillId' => $RebillId,
'Token' => $token
);
$data = json_encode($data, JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://securepay.tinkoff.ru/v2/Charge');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json','charset=UTF-8'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$res = curl_exec($ch);
curl_close($ch);
$res = json_decode($res, true);
print_r($res);
}