Не напрямую. Вам нужно будет настроить схему, в которой работа выгружается во внешний (на веб-сервер) процесс, и у этого процесса есть канал связи с настроенным веб-сервером, который позволяет ему проверять, должен ли он отбрасывать все свои действия. так часто (например, простая, но не идеальная схема будет проверять время последнего изменения «файла блокировки»; если прошло более X секунд, отменить задачу).
Затем ваша веб-страница будет вызывать скрипт, который затем соответствующим образом «сохранит» фоновую задачу (например, прикоснувшись к файлу блокировки предыдущего примера).
Таким образом, когда задача инициируется с помощью AJAX-запроса, клиент начинает отправлять запросы «keep-alive» на сервер, а сервер перенаправляет сообщение «keep-alive» внешнему процессу. Если пользователь перезагружает страницу, запросы «keep-alive» останавливаются, и рабочий процесс прерывается, когда истекает порог keep-alive. Если все пойдет хорошо и работа завершится, ваш сервер обнаружит это по каналу связи, который он имеет с рабочим процессом, и сообщит об этом клиенту при следующей проверке "ping".