summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorGianni Ceccarelli <dakkar@thenautilus.net>2013-11-14 15:52:56 +0000
committerGianni Ceccarelli <dakkar@thenautilus.net>2013-11-14 15:52:56 +0000
commit0acef15c25d618db82643b52475dbbfc52b27a13 (patch)
treec45817b95fd2635817a8d6d8d51f238e9be2ed30 /lib
parentbrowser auto-refresh (diff)
downloadHomePanel-0acef15c25d618db82643b52475dbbfc52b27a13.tar.gz
HomePanel-0acef15c25d618db82643b52475dbbfc52b27a13.tar.bz2
HomePanel-0acef15c25d618db82643b52475dbbfc52b27a13.zip
trap errors and ignore
Diffstat (limited to 'lib')
-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);