Skip to content
Extraits de code Groupes Projets
Valider 8a94628c rédigé par Alexandre Morignot's avatar Alexandre Morignot
Parcourir les fichiers

Set a timeout to a query (6h)

parent 37192712
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -59,6 +59,14 @@ has 'id' => ( ...@@ -59,6 +59,14 @@ has 'id' => (
init_arg => undef init_arg => undef
); );
has 'date' => (
is => 'ro',
isa => 'Int',
lazy => 0,
builder => '_build_date',
init_arg => undef,
);
sub _build_is_global { sub _build_is_global {
my $self = shift; my $self = shift;
...@@ -109,6 +117,10 @@ sub _build_id { ...@@ -109,6 +117,10 @@ sub _build_id {
} }
} }
sub _build_date {
return time;
}
sub _equals { sub _equals {
my ($self, $query) = @_; my ($self, $query) = @_;
......
...@@ -36,14 +36,21 @@ sub get { ...@@ -36,14 +36,21 @@ sub get {
my $result; my $result;
if (defined $self->_queries->{$chan} and $self->_queries->{$chan} ~~ $query) { if (defined $self->_queries->{$chan} and $self->_queries->{$chan} ~~ $query) {
$result = $self->_get_next($query); if ($self->_queries->{$chan}->date < time - 3600*6) {
$self->_clean($chan);
$self->_init($query);
$self->_queries->{$chan} = $query;
}
$query = $self->_queries->{$chan};
} }
else { else {
$self->_init($query); $self->_init($query);
$self->_queries->{$chan} = $query; $self->_queries->{$chan} = $query;
$result = $self->_get_next($query);
} }
$result = $self->_get_next($query);
# if id was precised, we (and so the user) know there is no more results # if id was precised, we (and so the user) know there is no more results
$self->_clean($chan) if ($query->id >= 0); $self->_clean($chan) if ($query->id >= 0);
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter