diff options
author | Gianni Ceccarelli <dakkar@thenautilus.net> | 2013-11-14 15:52:56 +0000 |
---|---|---|
committer | Gianni Ceccarelli <dakkar@thenautilus.net> | 2013-11-14 15:52:56 +0000 |
commit | 0acef15c25d618db82643b52475dbbfc52b27a13 (patch) | |
tree | c45817b95fd2635817a8d6d8d51f238e9be2ed30 /lib | |
parent | browser auto-refresh (diff) | |
download | HomePanel-0acef15c25d618db82643b52475dbbfc52b27a13.tar.gz HomePanel-0acef15c25d618db82643b52475dbbfc52b27a13.tar.bz2 HomePanel-0acef15c25d618db82643b52475dbbfc52b27a13.zip |
trap errors and ignore
Diffstat (limited to 'lib')
-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); |