summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/HomePanel/Driver.pm5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/HomePanel/Driver.pm b/lib/HomePanel/Driver.pm
index 20847d9..4cce5ee 100644
--- a/lib/HomePanel/Driver.pm
+++ b/lib/HomePanel/Driver.pm
@@ -10,6 +10,7 @@ use WebService::TFL::Bus::Request;
use WebService::TFL::TubeStatus;
use HomePanel::Render;
use Types::Path::Tiny qw(AbsFile AbsPath);
+use Try::Tiny;
use namespace::autoclean;
has loop => ( is => 'lazy' );
@@ -126,7 +127,9 @@ sub _new_timer {
my $timer = IO::Async::Timer::Periodic->new(
interval => $interval,
first_interval => 0,
- on_tick => $code,
+ on_tick => sub {
+ try { $code->(); } catch { warn "Problem: $_; ignoring" }
+ },
reschedule => 'drift',
);
$self->loop->add($timer);