Запуск фоновых процессов на веб-сайтах

Мне интересно запускать фоновые процессы, когда пользователи заходят на сайт. У меня очень широкий вопрос, но, например, я хотел бы опрашивать JSON API каждую минуту или около того и отправлять пользователю веб-уведомление каждый раз, когда меняется ответ от JSON API. Возможно ли это с работниками сферы обслуживания? Как я могу сделать это?

Если это возможно, то возможно ли запустить файл WebAssembly в работнике службы, чтобы приложение работало, даже если веб-сайт не открыт?

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

1 ответ

Невозможно зарегистрировать постоянный фоновый процесс, который продолжается бесконечно после того, как пользователь заходит на веб-сайт.

Можно зарегистрировать работника службы при посещении веб-сайта. Работник службы не будет работать большую часть времени, но его может "разбудить" событие, такое как входящее push-уведомление, даже если у пользователя в данный момент нет открытой страницы, связанной с вашим веб-приложением.

По замыслу, когда работник службы просыпается подобным образом, он будет работать только в течение короткого периода времени, прежде чем его завершат. Также ожидается, что он покажет пользователю уведомление о том, что что-то происходит. Служащие, которые проснулись через push события, которые не показывают уведомления, могут оказаться отключенными браузером.

Другие вопросы по тегам