Documentation ¶
Index ¶
- Constants
- Variables
- func GenerateETagForJob(ctx context.Context, updatedJob Job) (eTag string, err error)
- func GenerateETagForJobs(ctx context.Context, jobs Jobs) (eTag string, err error)
- func GenerateETagForTask(ctx context.Context, task Task) (eTag string, err error)
- func GenerateETagForTasks(ctx context.Context, tasks Tasks) (eTag string, err error)
- func ParseTaskName(taskName string, taskNames map[string]bool) error
- type Job
- type JobLinks
- type Jobs
- type ReindexRequested
- type Task
- type TaskLinks
- type TaskToCreate
- type Tasks
Constants ¶
const ( JobNoOfTasksPath = "/number-of-tasks" JobStatePath = "/state" JobTotalSearchDocumentsPath = "/total_search_documents" JobURLExtractionCompletedStatusPath = "/url_extraction_completed" )
Paths of fields in a job resource
const ( JobETagKey = "e_tag" JobIDJSONKey = "id" JobLastUpdatedKey = "last_updated" JobNoOfTasksKey = "number_of_tasks" JobReindexCompletedKey = "reindex_completed" JobReindexFailedKey = "reindex_failed" JobReindexStartedKey = "reindex_started" JobSearchIndexNameKey = "search_index_name" JobStateKey = "state" JobTotalSearchDocumentsKey = "total_search_documents" JobTotalInsertedSearchDocumentsKey = "total_inserted_search_documents" JobURLExtractionCompletedKey = "url_extraction_completed" )
BSON and JSON keys for each field in the job resource
const ( JobLinksTasksKey = "links: tasks" JobLinksSelfKey = "links: self" )
Reference keys for each field in the JobLinks resource for component testing
const ( JobStateCreated = "created" // this is the default value of state in a new job JobStateCompleted = "completed" JobStateFailed = "failed" JobStateInProgress = "in-progress" )
JOB STATE - Possible values of a job's state
Variables ¶
var ( JobUUID = func() string { return uuid.NewV4().String() } NewJobID = JobUUID )
NewJobID returns a unique UUID for a job resource and this can be used to mock the ID in tests
var ( // ValidJobStates is used for logging available job states ValidJobStates = []string{ JobStateCreated, JobStateCompleted, JobStateFailed, JobStateInProgress, } // ValidJobStatesMap is used for searching available job states ValidJobStatesMap = map[string]bool{ JobStateCreated: true, JobStateCompleted: true, JobStateFailed: true, JobStateInProgress: true, } )
Functions ¶
func GenerateETagForJob ¶ added in v0.16.0
GenerateETagForJob generates a new eTag for a job resource
func GenerateETagForJobs ¶ added in v0.21.0
GenerateETagForJobs generates a new eTag for a jobs resource
func GenerateETagForTask ¶ added in v0.18.0
GenerateETagForTask generates a new eTag for a task resource
func GenerateETagForTasks ¶ added in v0.21.0
GenerateETagForTasks generates a new eTag for a tasks resource
Types ¶
type Job ¶
type Job struct { ETag string `bson:"e_tag" json:"-"` ID string `bson:"_id" json:"id"` LastUpdated time.Time `bson:"last_updated" json:"last_updated"` Links *JobLinks `bson:"links" json:"links"` NumberOfTasks int `bson:"number_of_tasks" json:"number_of_tasks"` ReindexCompleted time.Time `bson:"reindex_completed" json:"reindex_completed"` ReindexFailed time.Time `bson:"reindex_failed" json:"reindex_failed"` ReindexStarted time.Time `bson:"reindex_started" json:"reindex_started"` SearchIndexName string `bson:"search_index_name" json:"search_index_name"` State string `bson:"state" json:"state"` TotalSearchDocuments int `bson:"total_search_documents" json:"total_search_documents"` TotalInsertedSearchDocuments int `bson:"total_inserted_search_documents" json:"total_inserted_search_documents"` URLExtractionCompleted bool `bson:"url_extraction_completed" json:"url_extraction_completed"` }
Job represents a job metadata model and json representation for API
type JobLinks ¶
JobLinks is a type that contains links to the endpoints for returning a specific job (self), and the tasks that it contains (tasks), respectively.
type Jobs ¶ added in v0.4.0
type Jobs struct { Count int `bson:"count,omitempty" json:"count"` JobList []Job `bson:"jobs,omitempty" json:"jobs"` Limit int `bson:"limit,omitempty" json:"limit"` Offset int `bson:"offset,omitempty" json:"offset"` TotalCount int `bson:"total_count,omitempty" json:"total_count"` }
Jobs represents an array of Job resources and json representation for API
type ReindexRequested ¶ added in v0.15.0
type ReindexRequested struct { JobID string `avro:"job_id"` SearchIndex string `avro:"search_index"` TraceID string `avro:"trace_id"` }
ReindexRequested provides an avro structure for a Reindex Requested event
type Task ¶ added in v0.9.0
type Task struct { JobID string `bson:"job_id" json:"job_id"` LastUpdated time.Time `bson:"last_updated" json:"last_updated"` Links *TaskLinks `bson:"links" json:"links"` NumberOfDocuments int `bson:"number_of_documents" json:"number_of_documents"` TaskName string `bson:"task_name" json:"task_name"` ETag string `bson:"e_tag" json:"-"` }
Task represents a job metadata model and json representation for API
type TaskLinks ¶ added in v0.9.0
TaskLinks is a type that contains links to the endpoints for returning a specific task (self), and the job that it is part of (job), respectively.
type TaskToCreate ¶ added in v0.9.0
type TaskToCreate struct { TaskName string `json:"task_name"` NumberOfDocuments int `json:"number_of_documents"` }
TaskToCreate is a type that contains the details required for creating a Task type.
type Tasks ¶ added in v0.12.0
type Tasks struct { Count int `bson:"count,omitempty" json:"count"` TaskList []Task `bson:"jobs,omitempty" json:"tasks"` Limit int `bson:"limit,omitempty" json:"limit"` Offset int `bson:"offset,omitempty" json:"offset"` TotalCount int `bson:"total_count,omitempty" json:"total_count"` }
Tasks represents an array of Task resources and json representation for API