code: func NewScheduler(desiredState DesiredState, executor Executor, lw LogWriter, now int64, opts ...TickSchedulerOption) *TickScheduler {
  	o := &TickScheduler{
  		desiredState:   desiredState,
  		executor:       executor,
  		logWriter:      lw,
  		now:            now,
  		taskSchedulers: make(map[platform.ID]*taskScheduler),
  		logger:         zap.NewNop(),
  		wg:             &sync.WaitGroup{},
  		metrics:        newSchedulerMetrics(),
  	}
  
  	for _, opt := range opts {
  		opt(o)
  	}
  
  	return o
  }
docs: // NewScheduler returns a new scheduler with the given desired state and the given now UTC timestamp.