offline

package
v1.40.0-alpha.5 Latest Latest
Warning

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

Go to latest
Published: Apr 14, 2022 License: BSD-3-Clause Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (

	// SendLimit is the maximum number of heartbeats, which will be sent at once
	// to the WakaTime API.
	SendLimit = 25
	// SyncMaxDefault is the default maximum number of heartbeats from the
	// offline queue, which will be synced upon sending heartbeats to the API.
	SyncMaxDefault = 1000
)

Variables

This section is empty.

Functions

func CountHeartbeats added in v1.18.1

func CountHeartbeats(filepath string) (int, error)

CountHeartbeats returns the total number of heartbeats in the offline db.

func QueueFilepath

func QueueFilepath() (string, error)

QueueFilepath returns the path for offline queue db file. If the user's $HOME folder cannot be detected, it defaults to the current directory.

func Sync added in v1.18.1

func Sync(filepath string, syncLimit int) func(next heartbeat.Handle) error

Sync returns a function to send queued heartbeats to the WakaTime API.

func WithQueue

func WithQueue(filepath string) heartbeat.HandleOption

WithQueue initializes and returns a heartbeat handle option, which can be used in a heartbeat processing pipeline for automatic handling of failures of heartbeat sending to the API. Upon inability to send due to missing or failing connection to API, failed sending or errors returned by API, the heartbeats will be temporarily stored in a DB and sending will be retried at next usages of the wakatime cli.

func WithSync added in v1.42.1

func WithSync(filepath string, syncLimit int) heartbeat.HandleOption

WithSync initializes and returns a heartbeat handle option, which can be used in a heartbeat processing pipeline to pop heartbeats from offline queue and send the heartbeats to WakaTime API.

Types

type ErrOfflineEnqueue added in v1.18.11

type ErrOfflineEnqueue string

ErrOfflineEnqueue represents an enqueue to offline db error.

func (ErrOfflineEnqueue) Error added in v1.18.11

func (e ErrOfflineEnqueue) Error() string

Error method to implement error interface.

type Queue

type Queue struct {
	Bucket string
	// contains filtered or unexported fields
}

Queue is a db client to temporarily store heartbeats in bolt db, in case heartbeat sending to wakatime api is not possible. Transaction handling is left to the user via the passed in transaction.

func NewQueue

func NewQueue(tx *bolt.Tx) *Queue

NewQueue creates a new instance of Queue.

func (*Queue) Count added in v1.18.1

func (q *Queue) Count() (int, error)

Count returns the total number of heartbeats in the offline db.

func (*Queue) PopMany

func (q *Queue) PopMany(limit int) ([]heartbeat.Heartbeat, error)

PopMany retrieves heartbeats with the specified ids from db.

func (*Queue) PushMany

func (q *Queue) PushMany(hh []heartbeat.Heartbeat) error

PushMany stores the provided heartbeats in the db.

type Sender added in v1.28.3

type Sender struct{}

Sender is a noop api client, used by offline.SaveHeartbeats.

func (Sender) SendHeartbeats added in v1.28.3

func (Sender) SendHeartbeats(_ []heartbeat.Heartbeat) ([]heartbeat.Result, error)

SendHeartbeats always returns an error.

Jump to

Keyboard shortcuts

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