redis

package
v0.0.0-...-9b45353 Latest Latest
Warning

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

Go to latest
Published: Sep 30, 2018 License: MIT Imports: 7 Imported by: 1

Documentation

Overview

package redis implements a lightweight queue on top of RPOPLPUSH for hydrocarbon to use

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Queue

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

Queue implements discollect.Queue using a redis reliable queue

func NewQueue

func NewQueue(redisAddr string, redisDBIndex int) (*Queue, error)

NewQueue instantiates a queue, checks redis, and returns

func (*Queue) CompleteScrape

func (q *Queue) CompleteScrape(ctx context.Context, scrapeID uuid.UUID) error

DELETE scrapeid FROM active_scrape_ids

func (*Queue) Error

func (q *Queue) Error(ctx context.Context, task *discollect.QueuedTask) error

Error retries a given task INCR retries_counter LREM inflight-tasks DECR inflight_counter LPUSH tasks

func (*Queue) Finish

func (q *Queue) Finish(ctx context.Context, task *discollect.QueuedTask) error

Finish marks a task as fully complete INCR scrapeid_complete LREM from scrapeid_inflight_tasks

func (*Queue) Pop

func (q *Queue) Pop(ctx context.Context) (*discollect.QueuedTask, error)

Pop pops a task off any active queue SRANDMEMBER active_scrape_ids RPOPLPUSH from scrapeid_tasks to scrapeid_inflight_tasks INCR scrapeid_inflight

func (*Queue) Push

func (q *Queue) Push(ctx context.Context, tasks []*discollect.QueuedTask) error

Push adds a slice of tasks onto the queue SADD scrapeid to active_scrape_ids INCR scrapeid_total LPUSH onto 'scrapeid_tasks'

func (*Queue) Status

func (q *Queue) Status(ctx context.Context, scrapeID uuid.UUID) (*discollect.ScrapeStatus, error)

Status returns the status of a given scrape

Jump to

Keyboard shortcuts

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