code: def start(self):
          
          if self.greenlet:
              raise RuntimeError(f'Greenlet {self.greenlet!r} already started')
          pristine = (
              not self.greenlet.dead and
              tuple(self.greenlet.args) == tuple(self.args) and
              self.greenlet.kwargs == self.kwargs
          )
          if not pristine:
              self.greenlet = Greenlet(self._run, *self.args, **self.kwargs)
              self.greenlet.name = f'{self.__class__.__name__}|{self.greenlet.name}'
          self.greenlet.start()
docs: Synchronously start task
  
          Reimplements in children an call super().start() at end to start _run()
          Start-time exceptions may be raised