docs: def scan_forever(queue, *args, **kwargs):
      """Return an infinite iterator over an fsq queue that blocks waiting
         for the queue trigger. Work is yielded as FSQWorkItem objects when
         available, assuming the default generator (FSQScanGenerator) is
         in use.
  
         Essentially, this function wraps fsq.scan() and blocks for more work.
  
         It takes all the same parameters as scan(), plus process_once_now,
         which is a boolean to determine if an initial .scan() is run before
         listening to the trigger. This argument defaults to True.
      """
      process_once_now = kwargs.get('process_once_now', True)
      if process_once_now:
          for work in scan(queue, *args, **kwargs):
              yield work
      while True:
          with open(fsq_path.trigger(queue), 'rb') as t:
              t.read(1)
          for work in scan(queue, *args, **kwargs):
              yield work