MCPcopy Create free account
hub / github.com/cloudbase/garm / SetScaleSetLastMessageID

Method SetScaleSetLastMessageID

database/sql/scalesets.go:459–494  ·  view source on GitHub ↗
(_ context.Context, scaleSetID uint, lastMessageID int64)

Source from the content-addressed store, hash-verified

457}
458
459func (s *sqlDatabase) SetScaleSetLastMessageID(_ context.Context, scaleSetID uint, lastMessageID int64) (err error) {
460 var scaleSet params.ScaleSet
461 var rowsAffected int64
462 defer func() {
463 if err == nil && scaleSet.ID != 0 && rowsAffected > 0 {
464 s.sendNotify(common.ScaleSetEntityType, common.UpdateOperation, scaleSet)
465 }
466 }()
467 if err := s.conn.Transaction(func(tx *gorm.DB) error {
468 dbSet, err := s.getScaleSetByID(tx, scaleSetID, "Instances", "Enterprise", "Organization", "Repository")
469 if err != nil {
470 return fmt.Errorf("error fetching scale set: %w", err)
471 }
472 result := tx.Model(&dbSet).Updates(map[string]interface{}{
473 "last_message_id": lastMessageID,
474 })
475 if result.Error != nil {
476 return fmt.Errorf("error saving database entry: %w", result.Error)
477 }
478 rowsAffected = result.RowsAffected
479
480 // Reload to get the updated value
481 dbSet, err = s.getScaleSetByID(tx, scaleSetID, "Instances", "Enterprise", "Organization", "Repository")
482 if err != nil {
483 return fmt.Errorf("error reloading scale set: %w", err)
484 }
485 scaleSet, err = s.sqlToCommonScaleSet(dbSet)
486 if err != nil {
487 return fmt.Errorf("error converting scale set: %w", err)
488 }
489 return nil
490 }); err != nil {
491 return fmt.Errorf("error setting last message ID: %w", err)
492 }
493 return nil
494}
495
496func (s *sqlDatabase) SetScaleSetDesiredRunnerCount(_ context.Context, scaleSetID uint, desiredRunnerCount int) (err error) {
497 var scaleSet params.ScaleSet

Callers

nothing calls this directly

Calls 3

sendNotifyMethod · 0.95
getScaleSetByIDMethod · 0.95
sqlToCommonScaleSetMethod · 0.95

Tested by

no test coverage detected