Version: v0.0.35 Latest Latest

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

Go to latest
Published: Sep 14, 2021 License: Apache-2.0, MIT Imports: 32 Imported by: 0




View Source
const ErrNoDeleteInProgressTasks = errorString("can only delete tasks that are not-started or tasks that are scheduled")
View Source
const ErrNotAssigned = errorString("tasks must be acquired through pop task")
View Source
const ErrTaskNotFound = errorString("task does not exist")
View Source
const ErrWrongWorker = errorString("task already acquired by other worker")


This section is empty.


func WipeAndReset added in v0.0.21

func WipeAndReset(dbConn DBConnector, migrator Migrator) error


type DBConnector

type DBConnector interface {
	Connect() error
	Name() string
	RetryableError(error) bool
	SqlDB() *sql.DB

DBConnector provides an interface for working with the underlying DB implementations

func NewDBConnector added in v0.0.21

func NewDBConnector(driver string, conn string) (DBConnector, error)

type Migrator added in v0.0.21

type Migrator func(*sql.DB) error

func NewMigrator added in v0.0.21

func NewMigrator(driver string) (Migrator, error)

type RecordUpdateStatus added in v0.0.5

type RecordUpdateStatus int
const (
	LATEST_UPDATE     RecordUpdateStatus = 1
	PREVIOUS_UPDATE   RecordUpdateStatus = 2
	UNATTACHED_RECORD RecordUpdateStatus = 10
	ATTACHED_RECORD   RecordUpdateStatus = 11

type State

type State interface {
	AssignTask(ctx context.Context, req tasks.PopTask) (tasks.Task, error)
	Get(ctx context.Context, uuid string) (tasks.Task, error)
	GetAll(ctx context.Context) ([]tasks.Task, error)
	GetHead(ctx context.Context, walkback int) (tasks.RecordUpdate, error)
	Update(ctx context.Context, uuid string, req tasks.UpdateTask) (tasks.Task, error)
	NewStorageTask(ctx context.Context, storageTask tasks.StorageTask) (tasks.Task, error)
	NewRetrievalTask(ctx context.Context, retrievalTask tasks.RetrievalTask) (tasks.Task, error)
	DrainWorker(ctx context.Context, worker string) error
	UndrainWorker(ctx context.Context, worker string) error
	PublishRecordsFrom(ctx context.Context, worker string) error
	ResetWorkerTasks(ctx context.Context, worker string) error
	Delete(ctx context.Context, uuid string) error
	Store(ctx context.Context) Store

State provides an interface for presistence.

func NewStateDB

func NewStateDB(ctx context.Context, dbConn DBConnector, migrator Migrator, logfile string, identity crypto.PrivKey, recorder metrics.MetricsRecorder) (State, error)

NewStateDB creates a state instance with a given driver and identity

type Store added in v0.0.5

type Store interface {
	Head() (cid.Cid, error)
	Get(cid.Cid) (blockformat.Block, error)
	Set(cid.Cid, []byte) error


Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
t or T : Toggle theme light dark auto
y or Y : Canonical URL