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 NewAgentDeployJob(env evergreen.Environment, h host.Host, id string) amboy.Job
- func NewCloudHostReadyJob(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(env evergreen.Environment, distroID string, ts time.Time) amboy.Job
- func NewEventMetaJob(q amboy.Queue, ts string) amboy.Job
- func NewGithubStatusUpdateJobForBadConfig(intentID string) amboy.Job
- func NewGithubStatusUpdateJobForExternalPatch(patchID string) amboy.Job
- func NewGithubStatusUpdateJobForNewPatch(version string) amboy.Job
- func NewHostAlertingJob(h host.Host, ts string) amboy.Job
- func NewHostCreateJob(env evergreen.Environment, h host.Host, id string, CurrentAttempt int, ...) amboy.Job
- func NewHostMonitorContainerStateJob(env evergreen.Environment, h *host.Host, providerName, id string) amboy.Job
- func NewHostMonitorExternalStateJob(env evergreen.Environment, h *host.Host, id string) amboy.Job
- func NewHostSetupJob(env evergreen.Environment, h host.Host, id string) amboy.Job
- func NewHostStatsCollector(id string) amboy.Job
- func NewHostStatsJob(ts string) amboy.Job
- func NewHostTerminationJob(env evergreen.Environment, h host.Host) amboy.Job
- func NewIdleHostTerminationJob(env evergreen.Environment, h host.Host, id string) amboy.Job
- func NewLastContainerFinishTimeJob(id string) amboy.Job
- func NewLatencyStatsCollector(id string, duration time.Duration) amboy.Job
- func NewLegacyAlertsRunnerJob(env evergreen.Environment, id string) amboy.Job
- func NewLegacyMonitorRunnerJob(env evergreen.Environment, id string) amboy.Job
- func NewLocalAmboyStatsCollector(env evergreen.Environment, id string) amboy.Job
- func NewNotificationStatsCollector(id string) amboy.Job
- func NewParentDecommissionJob(id, d string, maxContainers int) amboy.Job
- func NewPatchIntentProcessor(patchID bson.ObjectId, intent patch.Intent) amboy.Job
- func NewQueueStatsCollector(id string) amboy.Job
- func NewRemoteAmboyStatsCollector(env evergreen.Environment, id string) amboy.Job
- func NewRepotrackerJob(msgID, projectID string) amboy.Job
- func NewSpawnhostExpirationWarningsJob(id string) amboy.Job
- func NewSpawnhostTerminationAlertJob(user, host string, id string) amboy.Job
- func NewStrandedTaskCleanupJob(id string) amboy.Job
- func NewSysInfoStatsCollector(id string) amboy.Job
- func NewTaskExecutionMonitorJob(id string) amboy.Job
- func NewTaskHostCreateJob(taskID string, createHost apimodels.CreateHost) 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 PopulateAgentDeployJobs(env evergreen.Environment) amboy.QueueOperation
- func PopulateBackgroundStatsJobs(env evergreen.Environment, part int) amboy.QueueOperation
- func PopulateCatchupJobs(part int) amboy.QueueOperation
- func PopulateContainerStateJobs(env evergreen.Environment) amboy.QueueOperation
- func PopulateEventAlertProcessing(parts int) amboy.QueueOperation
- func PopulateHostAlertJobs(parts int) amboy.QueueOperation
- func PopulateHostCreationJobs(env evergreen.Environment, part int) amboy.QueueOperation
- func PopulateHostMonitoring(env evergreen.Environment) amboy.QueueOperation
- func PopulateHostSetupJobs(env evergreen.Environment, part int) amboy.QueueOperation
- func PopulateHostTerminationJobs(env evergreen.Environment) amboy.QueueOperation
- func PopulateIdleHostJobs(env evergreen.Environment) amboy.QueueOperation
- func PopulateLastContainerFinishTimeJobs() amboy.QueueOperation
- func PopulateLegacyRunnerJobs(env evergreen.Environment, part int) amboy.QueueOperation
- func PopulateParentDecommissionJobs() amboy.QueueOperation
- func PopulatePeriodicNotificationJobs(parts int) amboy.QueueOperation
- func PopulateRepotrackerPollingJobs(part int) amboy.QueueOperation
- func PopulateSchedulerJobs(env evergreen.Environment) amboy.QueueOperation
- func PopulateTaskMonitoring() amboy.QueueOperation
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewAgentDeployJob ¶
func NewCloudHostReadyJob ¶
func NewCloudHostReadyJob(env evergreen.Environment, id string) amboy.Job
NewCloudHostReadyJob gets statuses for all jobs created by Cloud providers which the Cloud providers' APIs have not yet returned all running. It marks the hosts running in the database.
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 NewDistroSchedulerJob ¶
func NewGithubStatusUpdateJobForBadConfig ¶
NewGithubStatusUpdateJobForBadConfig marks a ref as failed because the evergreen configuration is bad
func NewGithubStatusUpdateJobForExternalPatch ¶
NewGithubStatusUpdateJobForExternalPatch prompts on Github for a user to manually authorize this patch
func NewGithubStatusUpdateJobForNewPatch ¶
NewGithubStatusUpdateJobForNewPatch creates a job to update github's API for a newly created patch, reporting it as pending, with description "preparing to run tasks"
func NewHostCreateJob ¶
func NewHostSetupJob ¶
func NewHostStatsCollector ¶
NewHostStatsCollector logs statistics about host utilization per distro to the default grip logger.
func NewHostStatsJob ¶
func NewHostTerminationJob ¶
func NewLatencyStatsCollector ¶
NewLatencyStatsCollector captures a single report of the latency of tasks that have started in the last minute.
func NewLegacyAlertsRunnerJob ¶
func NewLegacyAlertsRunnerJob(env evergreen.Environment, id string) amboy.Job
func NewLegacyMonitorRunnerJob ¶
func NewLegacyMonitorRunnerJob(env evergreen.Environment, id string) amboy.Job
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 NewQueueStatsCollector ¶
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 NewTaskHostCreateJob ¶
func NewTaskHostCreateJob(taskID string, createHost apimodels.CreateHost) amboy.Job
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 PopulateAgentDeployJobs ¶
func PopulateAgentDeployJobs(env evergreen.Environment) amboy.QueueOperation
func PopulateBackgroundStatsJobs ¶
func PopulateBackgroundStatsJobs(env evergreen.Environment, part int) amboy.QueueOperation
func PopulateCatchupJobs ¶
func PopulateCatchupJobs(part int) amboy.QueueOperation
func PopulateContainerStateJobs ¶
func PopulateContainerStateJobs(env evergreen.Environment) amboy.QueueOperation
func PopulateEventAlertProcessing ¶
func PopulateEventAlertProcessing(parts int) amboy.QueueOperation
func PopulateHostAlertJobs ¶
func PopulateHostAlertJobs(parts int) amboy.QueueOperation
PopulateHostAlertJobs adds alerting tasks infrequently for host utilization monitoring.
func PopulateHostCreationJobs ¶
func PopulateHostCreationJobs(env evergreen.Environment, part int) amboy.QueueOperation
func PopulateHostMonitoring ¶
func PopulateHostMonitoring(env evergreen.Environment) amboy.QueueOperation
func PopulateHostSetupJobs ¶
func PopulateHostSetupJobs(env evergreen.Environment, part int) amboy.QueueOperation
func PopulateHostTerminationJobs ¶
func PopulateHostTerminationJobs(env evergreen.Environment) amboy.QueueOperation
func PopulateIdleHostJobs ¶
func PopulateIdleHostJobs(env evergreen.Environment) amboy.QueueOperation
func PopulateLastContainerFinishTimeJobs ¶
func PopulateLastContainerFinishTimeJobs() amboy.QueueOperation
func PopulateLegacyRunnerJobs ¶
func PopulateLegacyRunnerJobs(env evergreen.Environment, part int) amboy.QueueOperation
func PopulateParentDecommissionJobs ¶
func PopulateParentDecommissionJobs() amboy.QueueOperation
func PopulatePeriodicNotificationJobs ¶
func PopulatePeriodicNotificationJobs(parts int) amboy.QueueOperation
func PopulateRepotrackerPollingJobs ¶
func PopulateRepotrackerPollingJobs(part int) amboy.QueueOperation
func PopulateSchedulerJobs ¶
func PopulateSchedulerJobs(env evergreen.Environment) amboy.QueueOperation
func PopulateTaskMonitoring ¶
func PopulateTaskMonitoring() amboy.QueueOperation
Types ¶
This section is empty.
Source Files
¶
- crons.go
- deco_host_notify.go
- doc.go
- event_metajob.go
- event_send.go
- github_status_api.go
- host_alerting.go
- host_monitoring_container_state.go
- host_monitoring_external_termination.go
- host_monitoring_idle_termination.go
- host_monitoring_last_container_finish_time.go
- host_monitoring_parent_decommission.go
- host_stats.go
- host_status.go
- host_termination.go
- legacy_alerts.go
- legacy_monitoring.go
- patch_intent.go
- provisioning_agent_deploy.go
- provisioning_create_host.go
- provisioning_setup_host.go
- repotracker.go
- repotracker_activation.go
- scheduler.go
- spawnhost_expiration_warning.go
- spawnhost_termination_alert.go
- stats_amboy.go
- stats_host.go
- stats_host_idle.go
- stats_latency.go
- stats_notifications.go
- stats_queue.go
- stats_sysinfo.go
- stats_task.go
- stats_task_end.go
- stats_task_start.go
- task_create_host.go
- task_monitor_execution_timeout.go
- task_stranded_cleanup.go
- tasks_restart.go