Tehtävien ajoittaminen Alarms API:lla
Suorita säännöllisiä ja viivästettyjä taustatehtäviä luotettavasti Manifest V3:n service workerissa käyttämällä chrome.alarmsia.
Tehtävien ajoittaminen Alarms API:lla on ilmainen Selainlaajennusten kehittäminen (Chrome ja Edge)-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Selainlaajennusten kehittäminen (Chrome ja Edge)-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Selainlaajennusten kehittäminen (Chrome ja Edge)-kurssilla on yhteensä 4 oppituntia.
Miksi setIntervalia ei käytetä
Manifest V3:ssa service worker poistuu käytöstä ollessaan joutilaana, joten setTimeout ja setInterval eivät ole luotettavia ajastettuun työhön. alarms-API ratkaisee tämän herättämällä workerin, kun tehtävä on aika suorittaa.
Käyttöoikeuden ilmoittaminen
Lisätkää manifestiin alarms-käyttöoikeus ennen API:n käyttämistä.
{
"permissions": ["alarms"]
}Kertaluonteisen hälytyksen luominen
Käyttäkää yhden viivästetyn tehtävän suorittamiseen alarms.create-metodia yhdessä delayInMinutes-asetuksen kanssa.
chrome.alarms.create('cleanup', { delayInMinutes: 5 })Toistuvan hälytyksen luominen
Lisätkää periodInMinutes, jotta hälytys laukeaa toistuvasti aikataulun mukaan.
chrome.alarms.create('sync', { periodInMinutes: 30 })Hälytyksen käsitteleminen
Kuunnelkaa onAlarm-tapahtumaa service workerin ylätasolla. Hälytysobjekti kertoo, mikä hälytys laukesi.
chrome.alarms.onAlarm.addListener((alarm) => {
if (alarm.name === 'sync') {
doSync()
}
})Kuuntelijoiden rekisteröiminen ylätasolla
Koska worker käynnistyy uudelleen, rekisteröikää onAlarm synkronisesti heti komentosarjan ensimmäisellä suorituskerralla, älkääkä async-callbackin sisällä, sillä herätystapahtuma saattaa muuten jäädä huomaamatta.
// top of background.js, runs on every wake
chrome.alarms.onAlarm.addListener(handleAlarm)Vähimmäisjakso
Pakatuissa laajennuksissa pienin toistuva jakso on noin yksi minuutti. Lyhyemmät välit pyöristetään tähän arvoon, joten älkää luottako sekuntitason ajoitukseen.
chrome.alarms.create('tick', { periodInMinutes: 1 })Hälytysten tarkasteleminen
Tarkistakaa ajastetut hälytykset alarms.get- tai alarms.getAll-metodilla. Näin voitte välttää kaksoiskappaleet.
const a = await chrome.alarms.get('sync')
if (!a) chrome.alarms.create('sync', { periodInMinutes: 30 })Hälytysten tyhjentäminen
Poistakaa yksittäinen hälytys clear-metodilla tai kaikki hälytykset clearAll-metodilla, kun ominaisuus poistetaan käytöstä.
chrome.alarms.clear('sync')
chrome.alarms.clearAll()Uudelleenluominen asennuksen yhteydessä
Määrittäkää hälytykset onInstalled-tapahtumassa, jotta ne ovat käytettävissä heti laajennuksen asennuksen tai päivityksen jälkeen.
chrome.runtime.onInstalled.addListener(() => {
chrome.alarms.create('sync', { periodInMinutes: 30 })
})Työn pitäminen lyhyenä
Worker saattaa poistua käytöstä pian hälytyksen jälkeen. Pitäkää tehtävä lyhyenä, tallentakaa tila storageen ja välttäkää pitkäkestoisia silmukoita, jotka saatetaan keskeyttää.
Pikatesti
Testatkaa alarms-API:a koskevat tietonne.
Kertaus
Opitte luotettavan ajastuksen perusteet:
- Käyttäkää
alarms.create-metodia viiveen tai jakson kanssa - Käsitelkää ylätasolla rekisteröityä
onAlarm-tapahtumaa - Huomioikaa noin yhden minuutin vähimmäisjakso
- Tarkastelkaa, tyhjentäkää ja luokaa hälytykset uudelleen
- Pitäkää hälytyksen suorittama työ lyhyenä
alarms-API tekee taustalla tapahtuvasta ajastuksesta luotettavaa Manifest V3:ssa.
Opi JavaScript tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 12
- Oppitunnit
- 48
Usein kysytyt kysymykset
Onko oppitunti ”Tehtävien ajoittaminen Alarms API:lla” ilmainen?
Kyllä – oppitunnin ”Tehtävien ajoittaminen Alarms API:lla” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Selainlaajennusten kehittäminen (Chrome ja Edge)-kurssin, päivitä CoddyKit PROhon. Selainlaajennusten kehittäminen (Chrome ja Edge)-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Tehtävien ajoittaminen Alarms API:lla”?
Suorita säännöllisiä ja viivästettyjä taustatehtäviä luotettavasti Manifest V3:n service workerissa käyttämällä chrome.alarmsia. Harjoittelet Selainlaajennusten kehittäminen (Chrome ja Edge)-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Selainlaajennusten kehittäminen (Chrome ja Edge)-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Selainlaajennusten kehittäminen (Chrome ja Edge)-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.
Kuinka kauan ”Tehtävien ajoittaminen Alarms API:lla”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Selainlaajennusten kehittäminen (Chrome ja Edge)-oppitunnilla?
Kyllä. Jokainen Selainlaajennusten kehittäminen (Chrome ja Edge)-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Välilehtien hallinta ja ohjaus
- Lomakkeiden lähettäminen ohjelmallisesti
- Käyttäjän vuorovaikutuksen automatisointi
- Tehtävien ajoittaminen Alarms API:lla