@vladislav997

Цикл обрывается при получении одного из ответов 500 по апи, как это пропускать и идти дальше?

Есть foreach, в котором отправляются данные по апи, и если хотябы один ответ неудачный (500), то цикл обрывается и дальше не идет. Как можно это пропускать? Для отправки данных используется либа.

Вот пробовал рабочий пример, локально все хорошо, но он не работает с апачем на сервере, тк функция pcntl_fork работает только под CGI
foreach ($chats as $chat) {
                        $chatId = $chat->getChatId();
                        $messageText = $group->getPhrase();

                        switch ($pid = pcntl_fork()) {
                            case -1:
                                error_log('Failed to create child process');
                                break;

                            case 0:
                                $bot->sendMessage($chatId, $messageText);
                                posix_kill(getmypid(), SIGKILL);
                    }
                }


Ошибка на сервере такая:
Attempted to call function "pcntl_fork" from namespace "App\Controller".
  • Вопрос задан
  • 83 просмотра
Решения вопроса 1
Как минимум можно обрамить try catch, в catch корректно обработать ошибку и запустить цикл дальше ( continue;)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
25 апр. 2024, в 15:31
70000 руб./за проект
25 апр. 2024, в 15:26
15000 руб./за проект
25 апр. 2024, в 15:13
3000 руб./за проект