start method

void start()

Starts startup and periodic timers.

Implementation

void start() {
  _startupTimer?.cancel();
  _intervalTimer?.cancel();

  if (_runOnStartup) {
    if (_startupDelay <= Duration.zero) {
      unawaited(runNow(reason: 'startup'));
    } else {
      _startupTimer = Timer(
        _startupDelay,
        () => unawaited(runNow(reason: 'startup')),
      );
    }
  }

  if (_interval > Duration.zero) {
    _intervalTimer = Timer.periodic(
      _interval,
      (_) => unawaited(runNow(reason: 'interval')),
    );
  }
}