Как на сервере(php) прервать обработку, прерванного AJAX запроса?

Сервер apache, на пыхе.
Я новичок, плиз не кидайтесь камнями.

Как на сервере прервать обработку AJAX запроса, прерванного со стороны клиента.
Со стороны клиента прерываю так :
ajax_request.abort();
На сервере пытался прервать таким образом, но ничего не выходит, тк я не оч понимаю подноготную процесса.
//Первый метод (не работает)
ignore_user_abort(false);
//Второй метод (не работает)
if(connection_aborted()){
	exit;
}
  • Вопрос задан
  • 1082 просмотра
Решения вопроса 1
Никак. abort отменяет ожидание ответа от сервера, на сам сервер это не влияет никак. Это как если бы вы отправили письмо и пока оно идет, решили переехать в другую квартиру. Письмо все равно будет прочитано адресатом.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@l0vefist
Сервер поймет что соединение разорвано, только когда попытается отправить что-то клиенту.
Подробнее: www.php.su/phphttp/?connhandling
Ответ написан
Комментировать
@fregate
Пишу, думаю
Смотря, конечно, какой запрос и сколько выполняется.
Например, на сервере создается пул задач и какой-нить PoolWorker берет оттуда задачи и выполняет в порядке очереди.
Что-то отправило с сайта задачу, которую поместили в пул. Потом что-то отменяет эту задачу.
Получаем запрос на отмену, проверям пул, если есть - удаляем задачу, если нет - то смотрим в уже запущенных задачах (потоках), если есть - закрываем поток.
Понятно, что это все асинхроно, иногда задача будет успевать исполнится. Как сделать синхронно, не очень понятно.
Ответ написан
Комментировать
PafNutY
@PafNutY
Люблю кодить в своё удовольствие
Послать ещё один ajax запрос на прерывание выполнения операции.
Но тут возникнет вопрос, какую именно операцию следует прервать.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
28 мар. 2024, в 21:25
2000 руб./за проект
28 мар. 2024, в 21:17
5000 руб./за проект
28 мар. 2024, в 20:46
150000 руб./за проект