@bitrixweb
Вечно молодой, вечно пьяный

PHP Почему выполнение cURL-запроса блокирует все другие запросы cURL?

Всем привет!
Дано: некая страница на php с формой, куда пользователи могут авторизоваться. Форма частично использует cURL для получения данных, которые может выбрать пользователь. При отправке этой формы инициируются запрос к стороннему API (так же через cURL) и ожидается ответ API. Запросы обрабатываются около минуты.

Проблема: когда Пользователь #1 создает задачу инициируется запрос cURL к стороннему API, и пока этот запрос не получит ответ, задачи всех остальных пользователей висят и ждут. С учетом того, что форма для подгрузки возможных значений также использует курл, то активный запрос вешает даже формирование формы у других пользователей.

Я попробовал использовать curl_multi_*, но это не дало ожидаемого результата. Как это решить? Можно ли заставить cURL отрабатывать изолированно, т.е. не блокировать работу другим пользователям сервиса?
  • Вопрос задан
  • 200 просмотров
Пригласить эксперта
Ответы на вопрос 1
NikFaraday
@NikFaraday
Student full-stack Developer
Где ты вы с асинхронностью проиграли) Скорее всего, вы выполняете запрос синхронно что приводит к блокировке основного потока выполнения программы
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы