summaryrefslogtreecommitdiff
path: root/FS/bin
diff options
context:
space:
mode:
Diffstat (limited to 'FS/bin')
-rw-r--r--FS/bin/freeside-pingd13
1 files changed, 12 insertions, 1 deletions
diff --git a/FS/bin/freeside-pingd b/FS/bin/freeside-pingd
index 8cfb26a5f..fc9f8a378 100644
--- a/FS/bin/freeside-pingd
+++ b/FS/bin/freeside-pingd
@@ -5,6 +5,7 @@ use FS::Daemon ':all';
use FS::UID qw(dbh adminsuidsetup);
use FS::Record qw( dbh qsearch qsearchs );
use FS::addr_status;
+use FS::Conf;
use Getopt::Std;
use Net::Ping;
@@ -14,12 +15,13 @@ my @TARGETS = (
# could add others here
);
-my $interval = 300; # seconds
my $timeout = 5.0; # seconds
# useful opts: scan interval, timeout, verbose, max forks
# maybe useful opts: interface, protocol, packet size, no-fork
+my $interval;
+
our %opt;
getopts('vxi:', \%opt);
my $user = shift or die usage();
@@ -41,6 +43,15 @@ sub debug {
adminsuidsetup($user);
$FS::UID::AutoCommit = 1;
+if ( !$interval ) {
+ my $conf = FS::Conf->new;
+ $interval = $conf->config('pingd-interval');
+ if ( !$interval ) {
+ debug("no pingd-interval configured; exiting");
+ exit(0);
+ }
+}
+
while(1) {
daemon_reconnect();
my @addrs_to_scan;