()
| 403 | } |
| 404 | |
| 405 | func (c *ClusterChecker) migrationLoop() { |
| 406 | defer c.wg.Done() |
| 407 | |
| 408 | ticker := time.NewTicker(time.Second) |
| 409 | defer ticker.Stop() |
| 410 | for { |
| 411 | select { |
| 412 | case <-c.ctx.Done(): |
| 413 | return |
| 414 | case <-ticker.C: |
| 415 | c.clusterMu.Lock() |
| 416 | if c.cluster == nil { |
| 417 | c.clusterMu.Unlock() |
| 418 | continue |
| 419 | } |
| 420 | clonedCluster := c.cluster.Clone() |
| 421 | c.clusterMu.Unlock() |
| 422 | if clonedCluster == nil { |
| 423 | continue |
| 424 | } |
| 425 | c.tryUpdateMigrationStatus(c.ctx, clonedCluster) |
| 426 | } |
| 427 | } |
| 428 | } |
| 429 | |
| 430 | func (c *ClusterChecker) Close() { |
| 431 | c.cancelFn() |
no test coverage detected