docs: def bulk_invoke(func, args, nargs):
      """Bulk invoke a function via queues
  
      Uses internal implementation details of rq.
      """
      # for comparison, simplest thing that works
      # for i in nargs:
      #    argv = list(args)
      #    argv.append(i)
      #    func.delay(*argv)
  
      # some variances between cpy and pypy, sniff detect
      for closure in func.delay.func_closure:
          if getattr(closure.cell_contents, 'queue', None):
              ctx = closure.cell_contents
              break
      q = Queue(ctx.queue, connection=connection)
      argv = list(args)
      argv.append(None)
      job = Job.create(
          func, args=argv, connection=connection,
          description="bucket-%s" % func.func_name,
          origin=q.name, status=JobStatus.QUEUED, timeout=ctx.timeout,
          result_ttl=0, ttl=ctx.ttl)
  
      for n in chunks(nargs, 100):
          job.created_at = datetime.utcnow()
          with connection.pipeline() as pipe:
              for s in n:
                  argv[-1] = s
                  job._id = unicode(uuid4())
                  job.args = argv
                  q.enqueue_job(job, pipeline=pipe)
              pipe.execute()