<commit_before>module CacheServices

  # REVISADO: Actualiza todos los servicios concernientes a un taxon, se empaqueto para que no estuviera en Especie
  def servicios
    suma_visita_servicio
    cuantas_especies_inferiores_servicio(estadistica_id: 2)  # Servicio para poner el numero totales de especies del taxon
    cuantas_especies_inferiores_servicio(estadistica_id: 3)  # Servicio para poner el numero totales de especies o inferiores del taxon
    cuantas_especies_inferiores_servicio({estadistica_id: 22, validas: true})  # Servicio para poner el numero totales de especies o inferiores validas del taxon
    cuantas_especies_inferiores_servicio({estadistica_id: 23, validas: true})  # Servicio para poner el numero totales de especies o inferiores validas del taxon
    guarda_observaciones_naturalista_servicio
    guarda_ejemplares_snib_servicio
    guarda_redis_servicio
    guarda_pez_servicios
  end

  # REVISADO: Guarda los datos más importantes en el redis
  def guarda_redis_servicio(opc={})
    if Rails.env.production?
      delay(queue: 'redis').guarda_redis(opc)
    else
      guarda_redis(opc)
    end
  end

  # REVISADO: Guarda la información asociada al pez
  def guarda_pez_servicios
    if Rails.env.production?
      pez.delay(queue: 'peces').save if pez
    else
      pez.save if pez
    end
  end

  # REVISADO: Suma una visita a la estadisticas
  def suma_visita_servicio
    if Rails.env.production?
      delay(queue: 'estadisticas').suma_visita
    else
      suma_visita
    end
  end

  # REVISADO: Cuenta en numero de especies o el numero de especies mas las inferiores de una taxon, depende del argumento
  def cuantas_especies_inferiores_servicio(opc = {})
    if !existe_cache?("estadisticas_cuantas_especies_inferiores_#{opc[:estadistica_id]}")
      if Rails.env.production?
        delay(queue: 'estadisticas').cuantas_especies_inferiores(opc)
      else
        cuantas_especies_inferiores(opc)
      end

      escribe_cache("estadisticas_cuantas_especies_inferiores_#{opc[:estadistica_id]}", CONFIG.cache.cuantas_especies_inferiores) if Rails.env.production?
    end
  end

  # REVISADO: Guarda las observaciones desde la pagina de naturalista
  def guarda_observaciones_naturalista_servicio
    if !existe_cache?('observaciones_naturalista')
      if p = proveedor
        if Rails.env.production?
          p.delay(queue: 'observaciones_naturalista').guarda_observaciones_naturalista
        else
          p.guarda_observaciones_naturalista
        end
      end

      escribe_cache('observaciones_naturalista', CONFIG.cache.observaciones_naturalista) if Rails.env.production?
    end
  end

  # REVISADO: Guarda los ejemplares del SNIB
  def guarda_ejemplares_snib_servicio
    if !existe_cache?('ejemplares_snib')
      if p = proveedor
        if Rails.env.production?
          p.delay(queue: 'ejemplares_snib').guarda_ejemplares_snib
        else
          p.guarda_ejemplares_snib
        end
      end

      escribe_cache('ejemplares_snib', CONFIG.cache.ejemplares_snib) if Rails.env.production?
    end
  end

  # REVISADO: Es un metodo que no depende del la tabla proveedor, puesto que consulta naturalista sin el ID
  def ficha_naturalista_por_nombre<commit_msg>error garrafal en como se mandan a llamar los caches de naturalista y del snib ¬¬ (bug solo ocurre en produccion)<commit_after>module CacheServices

  # REVISADO: Actualiza todos los servicios concernientes a un taxon, se empaqueto para que no estuviera en Especie
  def servicios
    suma_visita_servicio
    cuantas_especies_inferiores_servicio(estadistica_id: 2)  # Servicio para poner el numero totales de especies del taxon
    cuantas_especies_inferiores_servicio(estadistica_id: 3)  # Servicio para poner el numero totales de especies o inferiores del taxon
    cuantas_especies_inferiores_servicio({estadistica_id: 22, validas: true})  # Servicio para poner el numero totales de especies o inferiores validas del taxon
    cuantas_especies_inferiores_servicio({estadistica_id: 23, validas: true})  # Servicio para poner el numero totales de especies o inferiores validas del taxon
    guarda_observaciones_naturalista_servicio
    guarda_ejemplares_snib_servicio
    guarda_redis_servicio
    guarda_pez_servicios
  end

  # REVISADO: Guarda los datos más importantes en el redis
  def guarda_redis_servicio(opc={})
    if Rails.env.production?
      delay(queue: 'redis').guarda_redis(opc)
    else
      guarda_redis(opc)
    end
  end

  # REVISADO: Guarda la información asociada al pez
  def guarda_pez_servicios
    if Rails.env.production?
      pez.delay(queue: 'peces').save if pez
    else
      pez.save if pez
    end
  end

  # REVISADO: Suma una visita a la estadisticas
  def suma_visita_servicio
    if Rails.env.production?
      delay(queue: 'estadisticas').suma_visita
    else
      suma_visita
    end
  end

  # REVISADO: Cuenta en numero de especies o el numero de especies mas las inferiores de una taxon, depende del argumento
  def cuantas_especies_inferiores_servicio(opc = {})
    if !existe_cache?("estadisticas_cuantas_especies_inferiores_#{opc[:estadistica_id]}")
      if Rails.env.production?
        delay(queue: 'estadisticas').cuantas_especies_inferiores(opc)
      else
        cuantas_especies_inferiores(opc)
      end

      escribe_cache("estadisticas_cuantas_especies_inferiores_#{opc[:estadistica_id]}", CONFIG.cache.cuantas_especies_inferiores) if Rails.env.production?
    end
  end

  # REVISADO: Guarda las observaciones desde la pagina de naturalista
  def guarda_observaciones_naturalista_servicio
    if !existe_cache?('observaciones_naturalista')
      if p = proveedor
        if Rails.env.production?
          p.guarda_observaciones_naturalista.delay(queue: 'observaciones_naturalista')
        else
          p.guarda_observaciones_naturalista
        end
      end

      escribe_cache('observaciones_naturalista', CONFIG.cache.observaciones_naturalista) if Rails.env.production?
    end
  end

  # REVISADO: Guarda los ejemplares del SNIB
  def guarda_ejemplares_snib_servicio
    if !existe_cache?('ejemplares_snib')
      if p = proveedor
        if Rails.env.production?
          p.guarda_ejemplares_snib.delay(queue: 'ejemplares_snib')
        else
          p.guarda_ejemplares_snib
        end
      end

      escribe_cache('ejemplares_snib', CONFIG.cache.ejemplares_snib) if Rails.env.production?
    end
  end

  # REVISADO: Es un metodo que no depende del la tabla proveedor, puesto que consulta naturalista sin el ID
  def ficha_naturalista_por_nombre
{'fraction_non_alphanumeric': 0.05735204392922514, 'fraction_numerical': 0.0018303843807199512, 'mean_word_length': 3.8462675535846267, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5409558', 'n_tokens_mistral': 2270, 'n_tokens_neox': 2266, 'n_words': 535}