Ночные Работники Службы | Алгоритм «Запланировать Задание» (Schedule Job)

Ночные Работники Службы | Алгоритм «Запланировать Задание» (Schedule Job)

Вход

job, задание

 

Выход

ничего

1. Пусть jobQueue будет null.
2. Пусть jobScope будет сериализованным URL-адресом области задания.
3. Если область видимости для карты очереди заданий[jobScope] не существует, установите для области видимость карты очереди заданий[jobScope] для новой очереди заданий.
4. Задайте для jobQueue область видимости карты очереди заданий[jobScope].
5. Если jobQueue пуст, то:
  5.1 Установите очередь, содержащую задание job, в jobQueue, а job поставьте в очередь в jobQueue.
  5.2 Вызвать "Выполнения Задания" (Run Job) с помощью jobQueue.
6. Иначе:
  6.1 Пусть lastJob будет элементом позади jobQueue.
  6.2 Если job эквивалентен lastJob и обещание задания lastJob не выполнено, добавьте job в список эквивалентных заданий lastJob.
  6.3 В противном случае установите содержащую очередь задания job, в jobQueue, а job поставьте в очередь в jobQueue.

 

Информационные ссылки

Стандарт Service Workers Nightlyhttps://w3c.github.io/ServiceWorker/#schedule-job-algorithm