Documentation ¶
Overview ¶
Package units contains amboy.Job definiteness for Evergreen tasks.
Loading the units package registers all jobs in the amboy Job Registry.
By convention the implementations of these jobs are: private with public constructors that return the amboy.Job type, they use amboy/job.Base for core implementation, implementing only Run and whatever additional methods or functions are required. The units package prefers a one-to-one mapping of files to job implementations. Additionally all jobs must be capable of marshiling to either JSON/BSON/YAML (depending on the amoby.JobType format.)
Index ¶
- func NewAmboyStatsCollector(env evergreen.Environment, id string) amboy.Job
- func NewCollectHostIdleDataJob(h *host.Host, t *task.Task, startTime, finishTime time.Time) amboy.Job
- func NewCollectTaskEndDataJob(t *task.Task, h *host.Host) amboy.Job
- func NewDecoHostNotifyJob(env evergreen.Environment, h *host.Host, err error, message string) amboy.Job
- func NewDistroSchedulerJob(distroID string, ts time.Time) amboy.Job
- func NewGithubStatusUpdateJobForBadConfig(intentID string) amboy.Job
- func NewGithubStatusUpdateJobForBuild(buildID string) amboy.Job
- func NewGithubStatusUpdateJobForExternalPatch(patchID string) amboy.Job
- func NewGithubStatusUpdateJobForPatchWithVersion(version string) amboy.Job
- func NewHostMonitorExternalStateJob(env evergreen.Environment, h *host.Host, id string) amboy.Job
- func NewHostStatsCollector(id string) amboy.Job
- func NewHostTerminationJob(env evergreen.Environment, h host.Host) amboy.Job
- func NewLatencyStatsCollector(id string, duration time.Duration) amboy.Job
- func NewLocalAmboyStatsCollector(env evergreen.Environment, id string) amboy.Job
- func NewPatchIntentProcessor(patchID bson.ObjectId, intent patch.Intent) amboy.Job
- func NewRemoteAmboyStatsCollector(env evergreen.Environment, id string) amboy.Job
- func NewRepotrackerJob(msgID, projectID string) amboy.Job
- func NewSysInfoStatsCollector(id string) amboy.Job
- func NewTaskExecutionMonitorJob(id string) amboy.Job
- func NewTaskStatsCollector(id string) amboy.Job
- func NewTasksRestartJob(opts model.RestartTaskOptions) amboy.Job
- func NewVersionActiationJob(project string, id string) amboy.Job
- func PopulateActivationJobs(part int) amboy.QueueOperation
- func PopulateCatchupJobs(part int) amboy.QueueOperation
- func PopulateHostMonitoring(env evergreen.Environment) amboy.QueueOperation
- func PopulateHostTerminationJobs(env evergreen.Environment) amboy.QueueOperation
- func PopulateRepotrackerPollingJobs(part int) amboy.QueueOperation
- func PopulateSchedulerJobs() amboy.QueueOperation
- func PopulateTaskMonitoring() amboy.QueueOperation
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewAmboyStatsCollector ¶
func NewAmboyStatsCollector(env evergreen.Environment, id string) amboy.Job
NewAmboyStatsCollector reports the status of the local and remote queues registered in the evergreen service Environment.
func NewCollectTaskEndDataJob ¶
NewCollectTaskEndDataJob determines a task's cost based on the host it ran on. Hosts that are unable to calculate their own costs will not set a task's Cost field. Errors are logged but not returned, since any number of API failures could happen and we shouldn't sacrifice a task's status for them.
It also logs historic task timing information.
func NewDecoHostNotifyJob ¶
func NewGithubStatusUpdateJobForBuild ¶
NewGithubStatusUpdateJobForBuild creates a job to update github's API from a Build. Status will be reported as 'evergreen-[build variant name]'
func NewGithubStatusUpdateJobForExternalPatch ¶
NewGithubStatusUpdateJobForExternalPatch prompts on Github for a user to manually authorize this patch
func NewGithubStatusUpdateJobForPatchWithVersion ¶
NewGithubStatusUpdateJobForPatchWithVersion creates a job to update github's API from a Patch with specified version. Status will be reported as 'evergreen'
func NewHostStatsCollector ¶
NewHostStatsCollector logs statistics about host utilization per distro to the default grip logger.
func NewHostTerminationJob ¶
func NewLatencyStatsCollector ¶
NewLatencyStatsCollector captures a single report of the latency of tasks that have started in the last minute.
func NewLocalAmboyStatsCollector ¶
func NewLocalAmboyStatsCollector(env evergreen.Environment, id string) amboy.Job
NewLocalAmboyStatsCollector reports the status of only the local queue registered in the evergreen service Environment.
func NewPatchIntentProcessor ¶
NewPatchIntentProcessor creates an amboy job to create a patch from the given patch intent with the given object ID for the patch
func NewRemoteAmboyStatsCollector ¶
func NewRemoteAmboyStatsCollector(env evergreen.Environment, id string) amboy.Job
NewRemoteAmboyStatsCollector reports the status of only the remote queue registered in the evergreen service Environment.
func NewRepotrackerJob ¶
NewRepotrackerJob creates a job to run repotracker against a repository. The code creating this job is responsible for verifying that the project should track push events
func NewSysInfoStatsCollector ¶
NewSysInfoStatsCollector reports basic system information and a report of the go runtime information, as provided by grip.
func NewTaskStatsCollector ¶
NewTaskStatsCollector captures a single report of the status of tasks that have completed in the last minute.
func NewTasksRestartJob ¶
func NewTasksRestartJob(opts model.RestartTaskOptions) amboy.Job
NewTasksRestartJob creates a job to restart failed tasks in a time range
func PopulateActivationJobs ¶
func PopulateActivationJobs(part int) amboy.QueueOperation
func PopulateCatchupJobs ¶
func PopulateCatchupJobs(part int) amboy.QueueOperation
func PopulateHostMonitoring ¶
func PopulateHostMonitoring(env evergreen.Environment) amboy.QueueOperation
func PopulateHostTerminationJobs ¶
func PopulateHostTerminationJobs(env evergreen.Environment) amboy.QueueOperation
func PopulateRepotrackerPollingJobs ¶
func PopulateRepotrackerPollingJobs(part int) amboy.QueueOperation
func PopulateSchedulerJobs ¶
func PopulateSchedulerJobs() amboy.QueueOperation
func PopulateTaskMonitoring ¶
func PopulateTaskMonitoring() amboy.QueueOperation
Types ¶
This section is empty.
Source Files ¶
- crons.go
- deco_host_notify.go
- doc.go
- github_status_api.go
- host_monitoring_external_termination.go
- host_termination.go
- patch_intent.go
- repotracker.go
- repotracker_activation.go
- scheduler.go
- stats_amboy.go
- stats_host.go
- stats_host_idle.go
- stats_latency.go
- stats_sysinfo.go
- stats_task.go
- stats_task_end.go
- stats_task_start.go
- task_monitor_execution_timeout.go
- tasks_restart.go