Заставить PHP отвечать на запрос cURL ответом 200 во время обработки

#php #curl

#php #curl

Вопрос:

У меня есть PHP-скрипт, который необходимо вызвать с запросом cURL, однако в скрипте есть несколько таймаутов, и для завершения обработки требуется некоторое время.

Есть ли способ ответить на первоначальный запрос cURL, пока скрипт все еще обрабатывает, чтобы запрос cURL мог закрыться, но данные все еще обрабатываются, и пользователю не остается огромного времени ожидания?

Редактировать

По сути, мой скрипт представлял собой задание cron, которое вызывало API для обновления моей БД, задание cron можно было запускать только каждую минуту, и нам нужно было, чтобы оно выполнялось более регулярно, поэтому мы установили в нем тайм-аут следующим образом:

 $expireTime = time()   59;
while (time() < $expireTime) {
    // make cURL request to API
    sleep(5);
}
  

Мы пытаемся перейти на AWS и снизить затраты, поэтому мы не хотим выделять процессор. мы пытаемся выяснить, можем ли мы использовать лямбда-функцию для выполнения запроса cURL, но если с нас взимается плата за время обработки лямбда-функций, и это должно подождать завершения php-скрипта.обработка каждый раз, когда это не вариант.

Я хочу, чтобы мой php-скрипт мог отвечать ответом 200, чтобы лямбда-выражение не ждало, и мой php-скрипт мог завершить то, что ему нужно сделать.

Комментарии:

1. Можете ли вы поделиться своим кодом?

2. вы пробовали мой ответ? Даже после вашего редактирования это все равно звучит так, как вы ищете. Поместите код перед любой «тяжелой» обработкой.

Ответ №1:

Это похоже на то, что вы ищете…..

 http_response_code(200);
  

Если нет, вы должны показать часть своего кода и дать понять, в чем заключается проблема.