code: func (m *Migrator) sendProgress(op string, done, total int) {
  	update := ProgressUpdate{op, (float64(done) / float64(total)) * 100}
  	select {
  	case m.ProgressCh <- &update:
  	default:
  	}
  }
docs: // sendProgress is used to send a progress update message to the progress
  // channel. Sending is a non-blocking operation. It is the responsibility
  // of the caller to ensure they drain the queue promptly to avoid missing
  // progress update messages.