Лучше всего просто опросить, когда пользователь попадет на веб-страницу.
Что-то подобное я сделал, чтобы постепенно изменить время опроса, чтобы я начинал с нескольких секунд, а затем постепенно увеличивал интервал. В вашем случае просто выполните опрос через 15 минут, затем увеличивайте его каждые 5 минут, если он не работает, и если пользователь закрывает браузер, вы можете просто начать опрос снова.
Если вам нужен обратный вызов, вы можете просто отправить электронное письмо, когда оно будет завершено, чтобы сообщить пользователю.
Кроме того, пока вы выполняете обработку, постарайтесь дать некоторую обратную связь о том, как далеко вы продвинулись, сколько времени это может занять, что-либо, чтобы показать, что прогресс достигнут, что браузер не заблокирован. Если не более того, покажите время, которое длится обработка, чтобы дать пользователю некоторое ощущение прогресса.