Вопрос

Я пытаюсь выполнить некоторые вычисления на сервере. Для этого клиент изначально вводит некоторые данные, которые я собираю через Javascript. Теперь я, возможно, сделал бы запрос XMLHttpRequest на сервер для отправки этих данных. Допустим, вычисление занимает час, и клиент покидает систему или выключает систему.

На практике я мог бы использовать опрос со стороны клиента, чтобы определить, доступен ли результат. Но есть ли какой-нибудь способ, которым я мог бы реализовать это в форме обратного вызова, например, при следующем входе клиента в систему, я бы просто связался с Javascript на стороне клиента, чтобы передать результат ... Есть предложения? Я думаю, что для всего этого нужен какой-то веб-сервер, расположенный на стороне клиента, но мне было интересно, есть ли лучший подход для этого.

Это было полезно?

Решение

Лучше всего просто опросить, когда пользователь попадет на веб-страницу.

То, что я делал в подобном, было постепенно менять время опроса, поэтому я начинал с нескольких секунд, а затем постепенно увеличивал интервал. В вашем случае просто выполните опрос через 15 минут, а затем увеличьте его каждые 5 минут, если он не работает, и если пользователь закрывает браузер, вы можете просто начать опрос снова.

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top