about summary refs log tree commit homepage
path: root/lib/PublicInbox/Config.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/PublicInbox/Config.pm')
-rw-r--r--lib/PublicInbox/Config.pm7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/PublicInbox/Config.pm b/lib/PublicInbox/Config.pm
index c18c9c75..19535beb 100644
--- a/lib/PublicInbox/Config.pm
+++ b/lib/PublicInbox/Config.pm
@@ -105,13 +105,16 @@ sub iterate_start {
         $self->{-iter} = [ \$i, $cb, $arg ];
 }
 
-# for PublicInbox::DS::next_tick
+# for PublicInbox::DS::next_tick, we only call this is if
+# PublicInbox::DS is already loaded
 sub event_step {
         my ($self) = @_;
         my ($i, $cb, $arg) = @{$self->{-iter}};
         my $section = $self->{-section_order}->[$$i++];
         delete($self->{-iter}) unless defined($section);
-        $cb->($self, $section, $arg);
+        eval { $cb->($self, $section, $arg) };
+        warn "E: $@ in ${self}::event_step" if $@;
+        PublicInbox::DS::requeue($self) if defined($section);
 }
 
 sub lookup_newsgroup {