syncer

package
v1.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 3, 2026 License: MIT Imports: 3 Imported by: 0

Documentation

Overview

Package syncer provides a reusable background sync goroutine. It runs a sync function immediately on start, then periodically.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Syncer

type Syncer struct {
	// contains filtered or unexported fields
}

Syncer runs a function on a periodic interval in the background.

func New

func New(interval time.Duration, fn func()) *Syncer

New creates a Syncer that calls fn every interval.

func (*Syncer) ForceSync

func (s *Syncer) ForceSync()

ForceSync runs the sync function immediately (blocks until complete).

func (*Syncer) Start

func (s *Syncer) Start(ctx context.Context)

Start launches a background goroutine that calls fn immediately, then every interval until ctx is canceled or Stop is called. The initial call runs asynchronously so the caller is not blocked.

func (*Syncer) Stop

func (s *Syncer) Stop()

Stop cancels the background goroutine and waits for it to exit.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL