Bug 14207: Improving circulation performance

by caching yaml file This patch improve circulation performance by caching yaml file With this patch we saved between 300ms and 500ms on circulation page.

Following Comment #3 :
No useless warn
No tidy

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Less lines, same result.
Comments were useful on testing :)
No errors

Signed-off-by: Jonathan Druart <jonathan.druart@koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
This commit is contained in:
Julian FIOL 2015-05-26 14:49:20 +02:00 committed by Tomas Cohen Arazi
parent 9f008a1024
commit 52814a9fa0
1 changed files with 12 additions and 6 deletions

View File

@ -5,14 +5,20 @@ use List::Util qw( first );
use YAML;
use C4::Context;
use Koha::Database;
use Koha::Cache;
sub get_yaml {
my $yml_path =
C4::Context->config('intranetdir') . '/admin/columns_settings.yml';
my $yaml = eval { YAML::LoadFile($yml_path) };
warn
"ERROR: the yaml file for DT::ColumnsSettings is not correctly formatted: $@"
if $@;
my $yml_path = C4::Context->config('intranetdir') . '/admin/columns_settings.yml';
my $cache = Koha::Cache->get_instance();
my $yaml = $cache->get_from_cache('ColumnsSettingsYaml');
unless ($yaml) {
$yaml = eval { YAML::LoadFile($yml_path) };
warn "ERROR: the yaml file for DT::ColumnsSettings is not correctly formated: $@"
if $@;
$cache->set_in_cache( 'ColumnsSettingsYaml', $yaml, { expiry => 3600 } );
}
return $yaml;
}