108,7 → 108,7 |
unset($criteres['colonnes']); |
|
$nb_observations = $chercheur_observations->compterObservations(null, $criteres); |
$limite_decoupage = $this->calculerNbLignesMaxParFichier(); |
$limite_decoupage = $this->calculerNbLignesMaxParFichier(explode(',', $colonnes)); |
|
$url_telechargements = array(); |
$intervalle = 0; |
128,8 → 128,12 |
$this->envoyerJson($url_telechargements); |
} |
|
private function calculerNbLignesMaxParFichier() { |
$limite = $this->limite_decoupage_defaut; |
private function calculerNbLignesMaxParFichier($colonnes) { |
$limite = $this->limite_decoupage_defaut; |
// TODO: gérer une réduction du nombre de ligne max différement suivant chaque colonne |
// demandée, car elles n'impactent pas toutes le temps de d'export de la même manière. |
$facteur_reduction = count($colonnes) <= 2 ? 1 : pow(0.85, count($colonnes) - 2); |
|
switch($this->format) { |
case 'csv': |
$limite = 20000; |
141,7 → 145,8 |
$limite = 300; |
break; |
} |
return $limite; |
|
return $limite * $facteur_reduction; |
} |
|
private function getExport() { |