go-srvc / mods / tickermod

github.com/go-srvc/mods/tickermod

pkg.go.dev source
go get github.com/go-srvc/mods/tickermod@v0.1.2

Overview

Package tickermod provides ticker functionality as a module.

Constants

const (
	ErrMissingInterval = errStr("interval not set")
	ErrMissingTickFunc = errStr("tick function not set")
)
const ID = "tickermod"

Types

type Opt

type Opt func(*Ticker) error

type Ticker

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

func (*Ticker) ID

func (t *Ticker) ID() string

func (*Ticker) Init

func (t *Ticker) Init() error

func (*Ticker) Run

func (t *Ticker) Run() error

func (*Ticker) Stop

func (t *Ticker) Stop() error

Examples

ExampleNew

package main

import (
	"errors"
	"log/slog"
	"time"

	"github.com/go-srvc/mods/tickermod"
	"github.com/go-srvc/srvc"
)

func main() {
	srvc.RunAndExit(
		tickermod.New(
			tickermod.WithInterval(time.Second),
			tickermod.WithFunc(func() error {
				slog.Info("Hello from ticker")
				return errors.New("ticker error")
			}),
		),
	)
}