diff options
-rw-r--r-- | lib/HomePanel/Driver.pm | 5 |
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); |