units

package
v0.0.0-...-ee3d319 Latest Latest
Warning

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

Go to latest
Published: Apr 16, 2018 License: Apache-2.0 Imports: 42 Imported by: 0

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

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 NewCollectHostIdleDataJob

func NewCollectHostIdleDataJob(h *host.Host, t *task.Task, startTime, finishTime time.Time) amboy.Job

func NewCollectTaskEndDataJob

func NewCollectTaskEndDataJob(t *task.Task, h *host.Host) amboy.Job

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 NewDecoHostNotifyJob(env evergreen.Environment, h *host.Host, err error, message string) amboy.Job

func NewDistroSchedulerJob

func NewDistroSchedulerJob(distroID string, ts time.Time) amboy.Job

func NewGithubStatusUpdateJobForBadConfig

func NewGithubStatusUpdateJobForBadConfig(intentID string) amboy.Job

func NewGithubStatusUpdateJobForBuild

func NewGithubStatusUpdateJobForBuild(buildID string) amboy.Job

NewGithubStatusUpdateJobForBuild creates a job to update github's API from a Build. Status will be reported as 'evergreen-[build variant name]'

func NewGithubStatusUpdateJobForExternalPatch

func NewGithubStatusUpdateJobForExternalPatch(patchID string) amboy.Job

NewGithubStatusUpdateJobForExternalPatch prompts on Github for a user to manually authorize this patch

func NewGithubStatusUpdateJobForPatchWithVersion

func NewGithubStatusUpdateJobForPatchWithVersion(version string) amboy.Job

NewGithubStatusUpdateJobForPatchWithVersion creates a job to update github's API from a Patch with specified version. Status will be reported as 'evergreen'

func NewHostMonitorExternalStateJob

func NewHostMonitorExternalStateJob(env evergreen.Environment, h *host.Host, id string) amboy.Job

func NewHostStatsCollector

func NewHostStatsCollector(id string) amboy.Job

NewHostStatsCollector logs statistics about host utilization per distro to the default grip logger.

func NewHostTerminationJob

func NewHostTerminationJob(env evergreen.Environment, h host.Host) amboy.Job

func NewLatencyStatsCollector

func NewLatencyStatsCollector(id string, duration time.Duration) amboy.Job

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

func NewPatchIntentProcessor(patchID bson.ObjectId, intent patch.Intent) amboy.Job

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

func NewRepotrackerJob(msgID, projectID string) amboy.Job

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

func NewSysInfoStatsCollector(id string) amboy.Job

NewSysInfoStatsCollector reports basic system information and a report of the go runtime information, as provided by grip.

func NewTaskExecutionMonitorJob

func NewTaskExecutionMonitorJob(id string) amboy.Job

func NewTaskStatsCollector

func NewTaskStatsCollector(id string) amboy.Job

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 NewVersionActiationJob

func NewVersionActiationJob(project string, id string) amboy.Job

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL