1 # Copyright (C) 2016 all contributors <meta@public-inbox.org>
2 # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
4 # event cleanups (currently for Danga::Socket)
5 package PublicInbox::EvCleanup;
9 my $asapq = { queue => [], timer => undef };
10 my $laterq = { queue => [], timer => undef };
15 my $run = $q->{queue};
21 sub _run_asap () { _run_all($asapq) }
22 sub _run_later () { _run_all($laterq) }
26 push @{$asapq->{queue}}, $cb;
27 $asapq->{timer} ||= Danga::Socket->AddTimer(0, *_run_asap);
32 push @{$laterq->{queue}}, $cb;
33 $laterq->{timer} ||= Danga::Socket->AddTimer(60, *_run_later);