@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".
  • Вопрос задан
  • 65 просмотров
Решения вопроса 1
Как минимум можно обрамить try catch, в catch корректно обработать ошибку и запустить цикл дальше ( continue;)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
20 июн. 2021, в 01:12
2000 руб./в час
20 июн. 2021, в 00:20
120000 руб./за проект
19 июн. 2021, в 23:35
4000 руб./за проект