Documentation ¶
Index ¶
Constants ¶
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")
Variables ¶
This section is empty.
Functions ¶
func WipeAndReset ¶ added in v0.0.21
func WipeAndReset(dbConn DBConnector, migrator Migrator) error
Types ¶
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
func NewMigrator ¶ added in v0.0.21
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, addrs []multiaddr.Multiaddr, recorder metrics.MetricsRecorder) (State, error)
NewStateDB creates a state instance with a given driver and identity
Source Files ¶
Click to show internal directories.
Click to hide internal directories.