diff --git a/app/jobs/uri_collection_job.rb b/app/jobs/uri_collection_job.rb index a8c51d84..bab85d0d 100644 --- a/app/jobs/uri_collection_job.rb +++ b/app/jobs/uri_collection_job.rb @@ -28,6 +28,13 @@ class UriCollectionJob < PeriodicJob # Columnas a agrupar columns = Stat::COLUMNS.zip([nil]).to_h + # Las URIs son la fuente de verdad de las visitas, porque son las + # que indican las páginas y recursos descargables, el resto son + # imágenes, CSS, JS y tipografías que no nos aportan números + # significativos. + uri_dimensions = { host: site.hostnames, uri: uris } + host_dimensions = { host: site.hostnames } + # Recorremos todos los hostnames y uris posibles y luego agrupamos # recursivamente para no tener que recalcular, asumiendo que es más # rápido buscar en los rollups indexados que en la tabla en bruto. @@ -37,13 +44,6 @@ class UriCollectionJob < PeriodicJob columns[column] = AccessLog.where(**host_dimensions).distinct(column).pluck(column) end - # Las URIs son la fuente de verdad de las visitas, porque son las - # que indican las páginas y recursos descargables, el resto son - # imágenes, CSS, JS y tipografías que no nos aportan números - # significativos. - uri_dimensions = { host: site.hostnames, uri: uris } - host_dimensions = { host: site.hostnames } - # Cantidad de visitas por host rollup(name: 'host', dimensions: host_dimensions, filter: uri_dimensions) reduce_rollup(name: 'host', operation: :sum, dimensions: uri_dimensions)