def memoize_slugs_for_tags(project_name)
      @slugs_for_tag[project_name] ||= {}
      tag_map = Parallel.map(tags(project_name)) do |tag|
        next if @slugs_for_tag[project_name][tag]
        file = nil
        begin
          file = bucket.files.get(tag_file_name(project_name, tag))
        rescue Excon::Errors::Forbidden
          # ignore 403's
        end
        slugs = file.nil? ? [] :  file.body.split("\n")
        [tag, slugs]
      end
      tag_map.each do |tag, slugs|
        @slugs_for_tag[project_name][tag] = slugs
      end
    end
def memoize_slugs_for_tags(project_name)
      @slugs_for_tag[project_name] ||= {}
      tag_map = Parallel.map(tags(project_name)) do |tag|
        next if @slugs_for_tag[project_name][tag]
        file = nil
        begin
          file = bucket.files.get(tag_file_name(project_name, tag))
        rescue Excon::Errors::Forbidden
          # ignore 403's
        end
        slugs = file.nil? ? [] :  file.body.split("\n")
        [tag, slugs]
      end
      tag_map.each do |tag, slugs|
        @slugs_for_tag[project_name][tag] = slugs
      end
    end
This method should be called before iterating over a large set of slugs and
 calling #tags_for_slug on them. By doing this you are able to query all the
 data from AWS in advance using parallelized threads, rather than in serial.