Всем здравствуйте! Я начинающий разработчик, стаж с мая 20-ого, поэтому если ошибка глупая не ругайте сильно)
Есть сервис Dadata который служит для стандартизации адресов. Он платный, но есть 10.000 бесплатных запросов в день. Моя задача взять адреса из базы и стандартизировать их. В базе около 80.000 адресов. Для обращения к Dadate я использовал API (
https://github.com/hflabs/dadata-php ) класс взял отсюда (
https://dadata.ru/api/clean/address/ ). Dadata требует 2 ключа для работы через API. Поэтому мы собрали ключи у всех сотрудников нашей фирмы и закинули их в массив ( $key ). Теперь сама суть проблемы. Мне нужно чтобы скрипт в том моменте когда 10.000 запросов кончатся подменял старый ключ на новый и продолжал работу. В том случае если все ключи кончились прекращал свою работу.
Вот код который у меня получился. Он работает, но когда заканчивается 10.000( хотя записывает он только по 3000) скрпит останвливает работу, а не подменяет ключ. Что делать?
$key = dadataKey($file);
$n = 0;
$token = $key[$n]['api'];
$secret = $key[$n]['secret'];
$dadata = new Dadata($token, $secret);
$dadata->init();
foreach($itog as $dates){
$result = $dadata->clean("address", $dates['ADDRESS']);
if($result['error'] != false) {
if($n <= $maxKey) {
for($i = $n;$n<=$maxKey;$i++){
$dadata->close();
$n++;
$token = changeToken($key, $n);
$secret = changeSecret($key, $n);
$dadata = new Dadata($token, $secret);
$dadata->init();
$result = $dadata->clean("address", $dates['ADDRESS']);
if($result['error'] != false){
continue;
} else {
break;
}
}
}else {
return;
}