0Pricing
Browser Extensions Development (Chrome & Edge) · Урок

Планирование задач с API Alarms

Надёжно выполняйте периодические и отложенные фоновые задачи в сервисном обработчике Manifest V3 с помощью chrome.alarms.

«Планирование задач с API Alarms» — бесплатный урок Browser Extensions Development (Chrome & Edge) на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Browser Extensions Development (Chrome & Edge), и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Browser Extensions Development (Chrome & Edge) содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

Why Not setInterval

In Manifest V3 the service worker unloads when idle, so setTimeout and setInterval are unreliable for scheduled work. The alarms API survives this by waking the worker when it is time to run.

Declaring the Permission

Add the alarms permission to the manifest before using the API.

{
  "permissions": ["alarms"]
}

Creating a One-Time Alarm

Use alarms.create with delayInMinutes for a single delayed task.

chrome.alarms.create('cleanup', { delayInMinutes: 5 })

Creating a Repeating Alarm

Add periodInMinutes to make the alarm fire again and again on a schedule.

chrome.alarms.create('sync', { periodInMinutes: 30 })

Handling the Alarm

Listen for onAlarm at the top level of your service worker. The alarm object tells you which one fired.

chrome.alarms.onAlarm.addListener((alarm) => {
  if (alarm.name === 'sync') {
    doSync()
  }
})

Register Listeners at the Top Level

Because the worker restarts, register onAlarm synchronously when the script first runs, not inside an async callback, or the wake-up may be missed.

// top of background.js, runs on every wake
chrome.alarms.onAlarm.addListener(handleAlarm)

Minimum Period

For packed extensions the smallest repeating period is about one minute. Shorter intervals are clamped, so do not rely on second-level timing.

chrome.alarms.create('tick', { periodInMinutes: 1 })

Inspecting Alarms

Use alarms.get or alarms.getAll to check what is scheduled, useful for avoiding duplicates.

const a = await chrome.alarms.get('sync')
if (!a) chrome.alarms.create('sync', { periodInMinutes: 30 })

Clearing Alarms

Remove a single alarm with clear or all of them with clearAll when a feature is turned off.

chrome.alarms.clear('sync')
chrome.alarms.clearAll()

Recreating on Install

Set up your alarms in the onInstalled event so they exist from the moment the extension is installed or updated.

chrome.runtime.onInstalled.addListener(() => {
  chrome.alarms.create('sync', { periodInMinutes: 30 })
})

Keeping Work Short

The worker may unload soon after the alarm. Keep the task quick, persist state to storage, and avoid long-running loops that could be cut off.

Quick Check

Test your alarms knowledge.

Recap

You learned reliable scheduling:

  • Use alarms.create with delay or period
  • Handle onAlarm registered at the top level
  • Respect the ~1 minute minimum period
  • Inspect, clear, and recreate alarms
  • Keep alarm work short

The alarms API makes background scheduling dependable under Manifest V3.

Часто задаваемые вопросы

Урок «Планирование задач с API Alarms» бесплатный?

Да — полный текст урока «Планирование задач с API Alarms» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Browser Extensions Development (Chrome & Edge), подпишись на CoddyKit PRO. Курс Browser Extensions Development (Chrome & Edge) содержит 4 уроков всего.

Чему я научусь в уроке «Планирование задач с API Alarms»?

Надёжно выполняйте периодические и отложенные фоновые задачи в сервисном обработчике Manifest V3 с помощью chrome.alarms. Ты практикуешь Browser Extensions Development (Chrome & Edge) с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Browser Extensions Development (Chrome & Edge)?

Предыдущий опыт не требуется. Browser Extensions Development (Chrome & Edge) на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Планирование задач с API Alarms»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Browser Extensions Development (Chrome & Edge)?

Да. Каждый урок Browser Extensions Development (Chrome & Edge) включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Управление вкладками
  2. Программная отправка форм
  3. Автоматизация взаимодействия с пользователем
  4. Планирование задач с API Alarms
← Назад к Browser Extensions Development (Chrome & Edge)