files/en-us/web/api/serviceworkerglobalscope/periodicsync_event/index.md
{{APIRef("Periodic Background Sync")}}{{SeeCompatTable}}{{SecureContext_Header}}{{AvailableInWorkers("service")}}
The periodicsync event of the {{domxref("ServiceWorkerGlobalScope")}} interface is fired at timed intervals, specified when registering a {{domxref('PeriodicSyncManager')}}.
This event is not cancelable and does not bubble.
Use the event name in methods like {{domxref("EventTarget.addEventListener", "addEventListener()")}}, or set an event handler property.
addEventListener("periodicsync", (event) => { })
onperiodicsync = (event) => { }
A {{domxref("PeriodicSyncEvent")}}. Inherits from {{domxref("Event")}}.
{{InheritanceDiagram("PeriodicSyncEvent")}}
Inherits properties from its ancestor, {{domxref("Event")}}.
PeriodicSyncEvent. Multiple tags can be used by the web app to run different periodic tasks at different frequencies.The following example shows how to respond to a periodic sync event in the service worker.
self.addEventListener("periodicsync", (event) => {
if (event.tag === "get-latest-news") {
event.waitUntil(fetchAndCacheLatestNews());
}
});
You can also set up the event handler using the onperiodicsync property:
self.onperiodicsync = (event) => {
// …
};
{{Specifications}}
{{Compat}}