code: def pulse(self, ms, item=True):
          
          @self.producer
          def _(sender):
              while True:
                  try:
                      self.sleep(ms)
                  except vanilla.exception.Halt:
                      break
                  sender.send(item)
              sender.close()
          return _
docs: Convenience to create a `Pipe`_ that will have *item* sent on it every
          *ms* milliseconds. The `Recver`_ end of the Pipe is returned.
  
          Note that since sends to a Pipe block until the Recver is ready, the
          pulses will be throttled if the Recver is unable to keep up::
  
              recver = h.pulse(500)
  
              for _ in recver:
                  log.info('hello') # logs 'hello' every half a second