Documentation ¶
Index ¶
Constants ¶
View Source
const ( // Buildbucket buckets used for try jobs. BUCKET_PRIMARY = "skia.primary" BUCKET_INTERNAL = "skia.internal" BUCKET_TESTING = "skia.testing" // How often to send updates to Buildbucket. UPDATE_INTERVAL = 30 * time.Second // We attempt to renew leases in batches. This is the batch size. LEASE_BATCH_SIZE = 200 // We lease a build for this amount of time, and if we don't renew the // lease before the time is up, the build resets to "scheduled" status // and becomes available for leasing again. LEASE_DURATION = time.Hour // We use a shorter initial lease duration in case we succeed in leasing // a build but fail to insert the associated Job into the DB, eg. // because the scheduler was interrupted. LEASE_DURATION_INITIAL = 30 * time.Minute // How many pending builds to read from the bucket at a time. PEEK_MAX_BUILDS = 50 // How often to poll Buildbucket for newly-scheduled builds. POLL_INTERVAL = 10 * time.Second // How often to run the Buildbucket cleanup loop. CLEANUP_INTERVAL = 15 * time.Minute // We'll attempt to clean up Buildbucket builds which are older than this. CLEANUP_AGE_THRESHOLD = 3 * time.Hour )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type TryJobIntegrator ¶
type TryJobIntegrator struct {
// contains filtered or unexported fields
}
TryJobIntegrator is responsible for communicating with Buildbucket to trigger try jobs and report their results.
func NewTryJobIntegrator ¶
func NewTryJobIntegrator(ctx context.Context, buildbucketProject, buildbucketTarget, buildbucketBucket, host string, c *http.Client, d db.JobDB, jCache cache.JobCache, projectRepoMapping map[string]string, rm repograph.Map, taskCfgCache task_cfg_cache.TaskCfgCache, chr cacher.Cacher, gerrit gerrit.GerritInterface, pubsubClient pubsub.Client) (*TryJobIntegrator, error)
NewTryJobIntegrator returns a TryJobIntegrator instance.
func (*TryJobIntegrator) Start ¶
func (t *TryJobIntegrator) Start(ctx context.Context)
Start initiates the TryJobIntegrator's heatbeat and polling loops. If the given Context is canceled, the loops stop.
Click to show internal directories.
Click to hide internal directories.