code: def runner(queue, parallel):
      
      def run(fn_name, items):
          logger.info("clusterk: %s" % fn_name)
          assert "wrapper" in parallel, "Clusterk requires bcbio-nextgen-vm wrapper"
          fn = getattr(__import__("{base}.clusterktasks".format(base=parallel["module"]),
                                  fromlist=["clusterktasks"]),
                       parallel["wrapper"])
          wrap_parallel = {k: v for k, v in parallel.items() if k in set(["fresources", "pack"])}
          out = []
          for data in [fn(fn_name, queue, parallel.get("wrapper_args"), wrap_parallel, x) for x in items]:
              if data:
                  out.extend(data)
          return out
      return run
docs: Run individual jobs on an existing queue.