Documentation ¶
Index ¶
- Variables
- type JobStore
- func (m *JobStore) AcquireJobLock(ctx context.Context, jobID string) (lockID string, err error)
- func (m *JobStore) CheckInProgressJob(ctx context.Context) error
- func (m *JobStore) Checker(ctx context.Context, state *healthcheck.CheckState) error
- func (m *JobStore) Close(ctx context.Context) error
- func (m *JobStore) CreateJob(ctx context.Context, job models.Job) error
- func (m *JobStore) GetJob(ctx context.Context, id string) (*models.Job, error)
- func (m *JobStore) GetJobs(ctx context.Context, option Options) (*models.Jobs, error)
- func (m *JobStore) GetTask(ctx context.Context, jobID, taskName string) (*models.Task, error)
- func (m *JobStore) GetTasks(ctx context.Context, jobID string, options Options) (*models.Tasks, error)
- func (m *JobStore) Init(ctx context.Context, cfg *config.Config) (err error)
- func (m *JobStore) UnlockJob(ctx context.Context, lockID string)
- func (m *JobStore) UpdateJob(ctx context.Context, id string, updates bson.M) error
- func (m *JobStore) UpsertTask(ctx context.Context, jobID, taskName string, task models.Task) error
- type Options
Constants ¶
This section is empty.
Variables ¶
var ( ErrJobNotFound = errors.New("the job id could not be found in the jobs collection") ErrEmptyIDProvided = errors.New("id must not be an empty string") ErrDuplicateIDProvided = errors.New("id must be unique") ErrExistingJobInProgress = errors.New("there is an existing job currently in progress") ErrTaskNotFound = errors.New("the task name could not be found for the job id in the search database") ErrEmptyTaskNameProvided = errors.New("task name must not be an empty string") )
A list of error messages for Mongo
Functions ¶
This section is empty.
Types ¶
type JobStore ¶
type JobStore struct { Session *mgo.Session URI string Database string JobsCollection string LocksCollection string TasksCollection string // contains filtered or unexported fields }
JobStore is a type that contains an implementation of the MongoJobStorer interface, which can be used for creating and getting Job resources. It also represents a simplistic MongoDB configuration, with session, health and lock clients
func (*JobStore) AcquireJobLock ¶
AcquireJobLock tries to lock the provided jobID. If the job is already locked, this function will block until it's released, at which point we acquire the lock and return.
func (*JobStore) CheckInProgressJob ¶ added in v0.21.0
CheckInProgressJob checks if a new reindex job can be created depending on if a reindex job is currently in progress between cfg.MaxReindexJobRuntime before now and now It returns an error if a reindex job already exists which is in_progress state
func (*JobStore) Checker ¶
func (m *JobStore) Checker(ctx context.Context, state *healthcheck.CheckState) error
Checker is called by the healthcheck library to check the health state of this mongoDB instance
func (*JobStore) CreateJob ¶
CreateJob creates a new job, with the given search index name, in the collection, and assigns default values to its attributes
func (*JobStore) GetJob ¶
GetJob retrieves the details of a particular job, from the collection, specified by its id
func (*JobStore) GetJobs ¶
GetJobs retrieves all the jobs, from the collection, and lists them in order of last_updated
func (*JobStore) GetTask ¶ added in v0.10.0
GetTask retrieves the details of a particular task, from the collection, specified by its task name and associated job id
func (*JobStore) GetTasks ¶ added in v0.12.0
func (m *JobStore) GetTasks(ctx context.Context, jobID string, options Options) (*models.Tasks, error)
GetTasks retrieves all the tasks, from the collection, and lists them in order of last_updated
func (*JobStore) Init ¶
Init creates a new mgo.Session with a strong consistency and a write mode of "majority".
func (*JobStore) UnlockJob ¶
UnlockJob releases an exclusive mongoDB lock for the provided lockId (if it exists)