summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/Multi/Maintenance.pm14
-rw-r--r--lib/VNDB/Handler/Chars.pm4
-rw-r--r--lib/VNDB/Handler/Traits.pm6
3 files changed, 11 insertions, 13 deletions
diff --git a/lib/Multi/Maintenance.pm b/lib/Multi/Maintenance.pm
index 44cb6552..fb0c336f 100644
--- a/lib/Multi/Maintenance.pm
+++ b/lib/Multi/Maintenance.pm
@@ -18,13 +18,13 @@ sub spawn {
package_states => [
$p => [qw|
_start shutdown set_daily daily set_monthly monthly log_stats
- vncache_inc tagcache vnpopularity vnrating cleangraphs cleansessions cleannotifications
+ vncache_inc tagcache traitcache vnpopularity vnrating cleangraphs cleansessions cleannotifications
vncache_full usercache statscache logrotate
vnsearch_check vnsearch_gettitles vnsearch_update
|],
],
heap => {
- daily => [qw|vncache_inc tagcache vnpopularity vnrating cleangraphs cleansessions cleannotifications|],
+ daily => [qw|vncache_inc tagcache traitcache vnpopularity vnrating cleangraphs cleansessions cleannotifications|],
monthly => [qw|vncache_full usercache statscache logrotate|],
vnsearch_checkdelay => 3600,
@_,
@@ -121,13 +121,19 @@ sub vncache_inc {
sub tagcache {
- # takes about 2 seconds max, still OK
+ # takes about 5 seconds max, still OK
$_[KERNEL]->post(pg => do => 'SELECT tag_vn_calc()', undef, 'log_stats', 'tagcache');
}
+sub traitcache {
+ # still takes less than a second
+ $_[KERNEL]->post(pg => do => 'SELECT traits_chars_calc()', undef, 'log_stats', 'traitcache');
+}
+
+
sub vnpopularity {
- # still takes at most 3 seconds. let's hope that doesn't increase...
+ # takes a bit more than 8 seconds, meh...
$_[KERNEL]->post(pg => do => 'SELECT update_vnpopularity()', undef, 'log_stats', 'vnpopularity');
}
diff --git a/lib/VNDB/Handler/Chars.pm b/lib/VNDB/Handler/Chars.pm
index 7968b66c..dfa289be 100644
--- a/lib/VNDB/Handler/Chars.pm
+++ b/lib/VNDB/Handler/Chars.pm
@@ -331,10 +331,6 @@ sub edit {
$frm->{vns} = \@vns;
my $nrev = $self->dbItemEdit(c => !$copy && $id ? $r->{cid} : undef, %$frm);
-
- # TEMPORARY SOLUTION! I'll investigate more efficient solutions and incremental updates whenever I have more data
- $self->dbExec('SELECT traits_chars_calc()');
-
return $self->resRedirect("/c$nrev->{iid}.$nrev->{rev}", 'post');
}
}
diff --git a/lib/VNDB/Handler/Traits.pm b/lib/VNDB/Handler/Traits.pm
index 1f3c2872..ea599ed1 100644
--- a/lib/VNDB/Handler/Traits.pm
+++ b/lib/VNDB/Handler/Traits.pm
@@ -104,8 +104,7 @@ sub traitpage {
if(!@$chars) {
p; br; br; txt mt '_traitp_nochars'; end;
}
- # not really cached at the moment
- # p; br; txt mt '_traitp_cached'; end;
+ p; br; txt mt '_traitp_cached'; end;
end 'div';
@$chars && $self->charBrowseTable($chars, $np, $f, "/i$trait?m=$f->{m}");
@@ -171,9 +170,6 @@ sub traitedit {
} else {
$self->dbTraitEdit($trait, %opts, upddate => $frm->{state} == 2 && $t->{state} != 2) if $trait;
_set_childs_group($self, $trait, $group||$trait) if ($group||0) != ($t->{group}||0);
-
- # TEMPORARY SOLUTION! I'll investigate more efficient solutions and incremental updates whenever I have more data
- $self->dbExec('SELECT traits_chars_calc()');
}
$self->resRedirect("/i$trait", 'post');
return;