From: Eric Wong Date: Wed, 18 Jan 2017 19:13:09 +0000 (+0000) Subject: watchmaildir: limit live importer processes X-Git-Tag: v1.0.0~92 X-Git-Url: http://www.git.stargrave.org/?p=public-inbox.git;a=commitdiff_plain;h=c265481528208a832c5731b8da597554f2a8f693 watchmaildir: limit live importer processes We don't want to be triggering OOM or swapping on weaker systems when we have dozens of inboxes as potential targets. --- diff --git a/lib/PublicInbox/WatchMaildir.pm b/lib/PublicInbox/WatchMaildir.pm index d08f2297..0b284bdb 100644 --- a/lib/PublicInbox/WatchMaildir.pm +++ b/lib/PublicInbox/WatchMaildir.pm @@ -224,7 +224,14 @@ sub _importer_for { my $addr = $inbox->{-primary_address}; PublicInbox::Import->new($git, $name, $addr, $inbox); }; - $self->{importers}->{"$im"} = $im; + + my $importers = $self->{importers}; + if (scalar(keys(%$importers)) > 2) { + delete $importers->{"$im"}; + _done_for_now($self); + } + + $importers->{"$im"} = $im; } sub _scrubber_for {