func BuildLRPAuctions(start auctioneer.LRPStartRequest, queueTime time.Time) []auctiontypes.LRPAuction { auctions := make([]auctiontypes.LRPAuction, 0, len(start.Indices)) for _, index := range start.Indices { lrpKey := models.NewActualLRPKey(start.ProcessGuid, int32(index), start.Domain) auctions = append(auctions, auctiontypes.NewLRPAuction(rep.NewLRP(lrpKey, start.Resource), queueTime)) } return auctions }
func (a *AuctionRunner) ScheduleLRPsForAuctions(lrpStarts []auctioneer.LRPStartRequest) { a.lock.Lock() defer a.lock.Unlock() now := a.clock.Now() for _, start := range lrpStarts { log.Infof("+lrp auction posted: %v: %v\n", start.ProcessGuid, start.Indices) for _, i := range start.Indices { lrpKey := models.NewActualLRPKey(start.ProcessGuid, int32(i), start.Domain) auction := auctiontypes.NewLRPAuction(rep.NewLRP(lrpKey, start.Resource), now) a.lrpAuctions = append(a.lrpAuctions, auction) } } a.claimToHaveWork() }
func (b *Batch) AddLRPStarts(starts []auctioneer.LRPStartRequest) { auctions := make([]auctiontypes.LRPAuction, 0, len(starts)) now := b.clock.Now() for i := range starts { start := &starts[i] for _, index := range start.Indices { lrpKey := models.NewActualLRPKey(start.ProcessGuid, int32(index), start.Domain) auction := auctiontypes.NewLRPAuction(rep.NewLRP(lrpKey, start.Resource), now) auctions = append(auctions, auction) } } b.lock.Lock() b.lrpAuctions = append(b.lrpAuctions, auctions...) b.claimToHaveWork() b.lock.Unlock() }
func BuildLRPAuctionWithPlacementError(processGuid, domain string, index int, rootFS string, memoryMB, diskMB int32, queueTime time.Time, placementError string) auctiontypes.LRPAuction { lrpKey := models.NewActualLRPKey(processGuid, int32(index), domain) a := auctiontypes.NewLRPAuction(rep.NewLRP(lrpKey, rep.NewResource(memoryMB, diskMB, rootFS)), queueTime) a.PlacementError = placementError return a }
func BuildLRPAuction(processGuid, domain string, index int, rootFS string, memoryMB, diskMB int32, queueTime time.Time) auctiontypes.LRPAuction { lrpKey := models.NewActualLRPKey(processGuid, int32(index), domain) return auctiontypes.NewLRPAuction(rep.NewLRP(lrpKey, rep.NewResource(memoryMB, diskMB, rootFS)), queueTime) }