summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Buetow (europa) <paul@buetow.org>2015-05-17 10:11:18 +0100
committerPaul Buetow (europa) <paul@buetow.org>2015-05-17 10:11:18 +0100
commitf01a1b81735086acb446d5c4b67fbdb406e6e6f2 (patch)
tree1f38b0cdd3c2c2f4d884077c91a04a4e19f19acb
parentd6f78c532c2c23b1203b1c0332de89a8c8c53d04 (diff)
retab and restyle the source
-rwxr-xr-xcontrol88
-rw-r--r--lib/PerlDaemon/Logger.pm86
-rw-r--r--lib/PerlDaemon/PerlDaemon.pl246
-rw-r--r--lib/PerlDaemon/RunModules.pm147
-rw-r--r--lib/PerlDaemon/ThreadedLogger.pm34
-rw-r--r--lib/PerlDaemonModules/ExampleModule.pm24
-rw-r--r--lib/PerlDaemonModules/ExampleModule2.pm24
7 files changed, 324 insertions, 325 deletions
diff --git a/control b/control
index 11c1a7e..7589d15 100755
--- a/control
+++ b/control
@@ -1,74 +1,74 @@
-#!/usr/bin/env bash
-# PerlDaemon (c) 2010, 2011, Dipl.-Inform. (FH) Paul Buetow (http://perldaemon.buetow.org)
+#!/usr/bin/env bash
+# PerlDaemon (c) 2010, 2011, 2015 Dipl.-Inform. (FH) Paul Buetow (http://perldaemon.buetow.org)
declare -r ARG=$1
declare -a LIBPATHS=(./lib ../lib /lib /usr/lib /usr/local/lib /opt/lib)
for path in ${LIBPATHS[@]}; do
- if [ -f $path/PerlDaemon/PerlDaemon.pl ]; then
- LIBDIR=$path
- break
- fi
+ if [ -f $path/PerlDaemon/PerlDaemon.pl ]; then
+ LIBDIR=$path
+ break
+ fi
done
if [ -z "$LIBDIR" ]; then
- echo No PerlDaemon module path found
- exit 1
+ echo No PerlDaemon module path found
+ exit 1
fi
start () {
- echo Starting daemon now...
- perl -I$LIBDIR $LIBDIR/PerlDaemon/PerlDaemon.pl config=./conf/perldaemon.conf $@
+ echo Starting daemon now...
+ perl -I$LIBDIR $LIBDIR/PerlDaemon/PerlDaemon.pl config=./conf/perldaemon.conf $@
}
stop () {
- if [ -f ./run/perldaemon.pid ]; then
- echo Stopping daemon now...
- kill $(cat ./run/perldaemon.pid);
- else
- echo "No pidfile found (not running?) "
- fi
+ if [ -f ./run/perldaemon.pid ]; then
+ echo Stopping daemon now...
+ kill $(cat ./run/perldaemon.pid);
+ else
+ echo "No pidfile found (not running?) "
+ fi
}
logrotate () {
- echo Triggering a logrotate
- kill -HUP $(cat ./run/perldaemon.pid)
+ echo Triggering a logrotate
+ kill -HUP $(cat ./run/perldaemon.pid)
}
keys () {
- perl -I$LIBDIR $LIBDIR/PerlDaemon/PerlDaemon.pl config=./conf/perldaemon.conf keys=1 $@
+ perl -I$LIBDIR $LIBDIR/PerlDaemon/PerlDaemon.pl config=./conf/perldaemon.conf keys=1 $@
}
case $ARG in
- start)
- shift
- start $@
- ;;
+ start)
+ shift
+ start $@
+ ;;
- stop)
- stop
- ;;
+ stop)
+ stop
+ ;;
- restart)
- shift
- stop
- start $@
- ;;
+ restart)
+ shift
+ stop
+ start $@
+ ;;
- logrotate)
- logrotate
- ;;
+ logrotate)
+ logrotate
+ ;;
- foreground)
- start daemon.daemonize=no $@
- ;;
+ foreground)
+ start daemon.daemonize=no $@
+ ;;
- keys)
- keys $@
- ;;
+ keys)
+ keys $@
+ ;;
- *)
- echo "Usage: $0 <start|stop|restart|logrotate|foreground|keys> [key1=val1 [[key2=val2] ...]]"
- exit 1
- ;;
+ *)
+ echo "Usage: $0 <start|stop|restart|logrotate|foreground|keys> [key1=val1 [[key2=val2] ...]]"
+ exit 1
+ ;;
esac
diff --git a/lib/PerlDaemon/Logger.pm b/lib/PerlDaemon/Logger.pm
index 7cdafc6..52b5eb7 100644
--- a/lib/PerlDaemon/Logger.pm
+++ b/lib/PerlDaemon/Logger.pm
@@ -13,78 +13,78 @@ $| = 1;
our $SELF;
$SIG{'USR2'} = sub {
- $SELF->flushlogs();
+ $SELF->flushlogs();
};
sub new ($$) {
- my ($class, $conf) = @_;
+ my ($class, $conf) = @_;
- die "Instance already exists" if defined $SELF;
- $SELF = bless { conf => $conf }, $class;
+ die "Instance already exists" if defined $SELF;
+ $SELF = bless { conf => $conf }, $class;
- $SELF->{queue} = [];
- share $SELF->{queue};
+ $SELF->{queue} = [];
+ share $SELF->{queue};
- return $SELF;
+ return $SELF;
}
sub logmsg ($$) {
- my ($self, $msg) = @_;
- my $conf = $self->{conf};
- my $logline = localtime()." (PID $$): $msg\n";
+ my ($self, $msg) = @_;
+ my $conf = $self->{conf};
+ my $logline = localtime()." (PID $$): $msg\n";
- { lock $self->{queue};
- push @{$self->{queue}}, $logline;
- }
+ { lock $self->{queue};
+ push @{$self->{queue}}, $logline;
+ }
- $self->flushlogs();
+ $self->flushlogs();
- return undef;
+ return undef;
}
sub flushlogs ($$) {
- my ($self, $msg) = @_;
- my $conf = $self->{conf};
- my $logfile = $conf->{'daemon.logfile'};
-
- { lock $self->{queue};
- open my $fh, ">>$logfile" or die "Can't write logfile $logfile: $!\n";
- for my $logline (@{$self->{queue}}) {
- print $fh $logline;
- print $logline if $conf->{'daemon.daemonize'} ne 'yes';
- }
- close $fh;
- @{$self->{queue}} = ();
- }
-
- return undef;
+ my ($self, $msg) = @_;
+ my $conf = $self->{conf};
+ my $logfile = $conf->{'daemon.logfile'};
+
+ { lock $self->{queue};
+ open my $fh, ">>$logfile" or die "Can't write logfile $logfile: $!\n";
+ for my $logline (@{$self->{queue}}) {
+ print $fh $logline;
+ print $logline if $conf->{'daemon.daemonize'} ne 'yes';
+ }
+ close $fh;
+ @{$self->{queue}} = ();
+ }
+
+ return undef;
}
sub err ($$) {
- my ($self, $msg) = @_;
- $self->logmsg($msg);
- die "$msg\n";
+ my ($self, $msg) = @_;
+ $self->logmsg($msg);
+ die "$msg\n";
}
sub warn ($$) {
- my ($self, $msg) = @_;
- $self->logmsg("WARNING: $msg");
+ my ($self, $msg) = @_;
+ $self->logmsg("WARNING: $msg");
- return undef;
+ return undef;
}
sub rotatelog ($) {
- my $self = shift;
- my $conf = $self->{conf};
- my $logfile = $conf->{'daemon.logfile'};
+ my $self = shift;
+ my $conf = $self->{conf};
+ my $logfile = $conf->{'daemon.logfile'};
- $self->logmsg('Rotating logfile');
+ $self->logmsg('Rotating logfile');
- my $timestr = strftime "%Y%m%d-%H%M%S", localtime();
- mv($logfile, "$logfile.$timestr");
+ my $timestr = strftime "%Y%m%d-%H%M%S", localtime();
+ mv($logfile, "$logfile.$timestr");
- return undef;
+ return undef;
}
1;
diff --git a/lib/PerlDaemon/PerlDaemon.pl b/lib/PerlDaemon/PerlDaemon.pl
index 1c3d331..ac7e4d2 100644
--- a/lib/PerlDaemon/PerlDaemon.pl
+++ b/lib/PerlDaemon/PerlDaemon.pl
@@ -15,187 +15,187 @@ use PerlDaemon::RunModules;
$| = 1;
sub trimstr (@) {
- my @str =
- @_;
+ my @str =
+ @_;
- for (@str) {
- chomp;
- s/^[\t\s]+//;
- s/[\t\s]+$//;
- }
+ for (@str) {
+ chomp;
+ s/^[\t\s]+//;
+ s/[\t\s]+$//;
+ }
- return @str;
+ return @str;
}
sub trunc ($) {
- my $file = shift;
- open my $fh, ">$file" or die "Can't write $file: $!\n";
- print $fh '';
- close $fh;
+ my $file = shift;
+ open my $fh, ">$file" or die "Can't write $file: $!\n";
+ print $fh '';
+ close $fh;
}
sub checkpid ($) {
- my $conf = shift;
- my $pidfile = $conf->{'daemon.pidfile'};
- my $logger = $conf->{logger};
+ my $conf = shift;
+ my $pidfile = $conf->{'daemon.pidfile'};
+ my $logger = $conf->{logger};
- trunc $pidfile unless -f $pidfile;
+ trunc $pidfile unless -f $pidfile;
- open my $fh, $pidfile or $logger->err("Can't read pidfile $pidfile: $!");
- my ($pid) = <$fh>;
- close $fh;
+ open my $fh, $pidfile or $logger->err("Can't read pidfile $pidfile: $!");
+ my ($pid) = <$fh>;
+ close $fh;
- if (defined $pid) {
- chomp $pid;
- $logger->err("Process with pid $pid already running") if 0 < int $pid && kill 0, $pid;
- }
+ if (defined $pid) {
+ chomp $pid;
+ $logger->err("Process with pid $pid already running") if 0 < int $pid && kill 0, $pid;
+ }
}
sub writepid ($) {
- my $conf = shift;
- my $logger = $conf->{logger};
+ my $conf = shift;
+ my $logger = $conf->{logger};
- my $pidfile = $conf->{'daemon.pidfile'};
+ my $pidfile = $conf->{'daemon.pidfile'};
- open my $fh, ">$pidfile" or $logger->err("Can't write pidfile: $!");
- print $fh "$$\n";
- close $fh;
+ open my $fh, ">$pidfile" or $logger->err("Can't write pidfile: $!");
+ print $fh "$$\n";
+ close $fh;
}
sub readconf ($%) {
- my ($confile, %opts) = @_;
- my $desc;
+ my ($confile, %opts) = @_;
+ my $desc;
- open my $fh, $confile or
- die "Can't read config file $confile (specify using config=filepath)\n";
+ open my $fh, $confile or
+ die "Can't read config file $confile (specify using config=filepath)\n";
- my %conf;
- while (<$fh>) {
- if (/^#(.*)/) {
- $desc = $1;
- next;
- }
+ my %conf;
+ while (<$fh>) {
+ if (/^#(.*)/) {
+ $desc = $1;
+ next;
+ }
- next if /^[\t\w]+#/;
- s/#.*//;
+ next if /^[\t\w]+#/;
+ s/#.*//;
- my ($key, $val) = trimstr split '=', $_, 2;
- next unless defined $val;
+ my ($key, $val) = trimstr split '=', $_, 2;
+ next unless defined $val;
- $conf{$key} = $val;
+ $conf{$key} = $val;
- if (defined $desc) {
- $conf{"$key.desc"} = $desc;
- $desc = undef;
- }
- }
+ if (defined $desc) {
+ $conf{"$key.desc"} = $desc;
+ $desc = undef;
+ }
+ }
- close $fh;
+ close $fh;
- # Check
- my $msg = 'Missing property:';
+ # Check
+ my $msg = 'Missing property:';
- foreach (qw(wd loopinterval alivefile pidfile logfile daemonize)) {
- my $key = "daemon.$_";
- die "$msg $key\n" unless exists $conf{$key};
- }
+ foreach (qw(wd loopinterval alivefile pidfile logfile daemonize)) {
+ my $key = "daemon.$_";
+ die "$msg $key\n" unless exists $conf{$key};
+ }
- @conf{keys %opts} = values %opts;
- return \%conf;
+ @conf{keys %opts} = values %opts;
+ return \%conf;
}
sub daemonize ($) {
- my $conf = shift;
- my $logger = $conf->{logger};
- $logger->logmsg('Daemonizing...');
+ my $conf = shift;
+ my $logger = $conf->{logger};
+ $logger->logmsg('Daemonizing...');
- chdir $conf->{'daemon.wd'} or $logger->err("Can't chdir to wd: $!");
+ chdir $conf->{'daemon.wd'} or $logger->err("Can't chdir to wd: $!");
- my $msg = 'Can\'t read /dev/null:';
+ my $msg = 'Can\'t read /dev/null:';
- open STDIN, '>/dev/null' or $logger->err("$msg $!");
- open STDOUT, '>/dev/null' or $logger->err("$msg $!");
- open STDERR, '>/dev/null' or $logger->err("$msg $!");
+ open STDIN, '>/dev/null' or $logger->err("$msg $!");
+ open STDOUT, '>/dev/null' or $logger->err("$msg $!");
+ open STDERR, '>/dev/null' or $logger->err("$msg $!");
- defined (my $pid = fork) or $logger->err("Can't fork: $!");
- exit if $pid;
-
- setsid or $logger->err("Can't start a new session: $!");
+ defined (my $pid = fork) or $logger->err("Can't fork: $!");
+ exit if $pid;
- writepid $conf;
- $logger->logmsg('Daemonizing completed');
+ setsid or $logger->err("Can't start a new session: $!");
+
+ writepid $conf;
+ $logger->logmsg('Daemonizing completed');
}
sub sighandlers ($) {
- my $conf = shift;
- my $logger = $conf->{logger};
-
- $SIG{TERM} = sub {
- # On shutdown
- $logger->logmsg('Received SIGTERM. Shutting down....');
- unlink $conf->{'daemon.pidfile'} if -f $conf->{'daemon.pidfile'};
- exit 0;
- };
-
- $SIG{HUP} = sub {
- # On logrotate
- $logger->logmsg('Received SIGHUP.');
- $logger->rotatelog();
- };
+ my $conf = shift;
+ my $logger = $conf->{logger};
+
+ $SIG{TERM} = sub {
+ # On shutdown
+ $logger->logmsg('Received SIGTERM. Shutting down....');
+ unlink $conf->{'daemon.pidfile'} if -f $conf->{'daemon.pidfile'};
+ exit 0;
+ };
+
+ $SIG{HUP} = sub {
+ # On logrotate
+ $logger->logmsg('Received SIGHUP.');
+ $logger->rotatelog();
+ };
}
sub prestartup ($) {
- my $conf = shift;
- checkpid $conf;
+ my $conf = shift;
+ checkpid $conf;
}
sub alive ($) {
- my $conf = shift;
+ my $conf = shift;
}
sub daemonloop ($) {
- my $conf = shift;
- my $rmodule = PerlDaemon::RunModules->new($conf);
- my $loopinterval = $conf->{'daemon.loopinterval'};
+ my $conf = shift;
+ my $rmodule = PerlDaemon::RunModules->new($conf);
+ my $loopinterval = $conf->{'daemon.loopinterval'};
- my $loop = shift;
- my $lastrun = [0,0];
+ my $loop = shift;
+ my $lastrun = [0,0];
- for (;;) {
- my $now = [gettimeofday];
- my $timediff = tv_interval($lastrun, $now);
+ for (;;) {
+ my $now = [gettimeofday];
+ my $timediff = tv_interval($lastrun, $now);
- if ($timediff >= $loopinterval) {
- $lastrun = $now;
- $rmodule->do();
- alive $conf;
- }
+ if ($timediff >= $loopinterval) {
+ $lastrun = $now;
+ $rmodule->do();
+ alive $conf;
+ }
- sleep $loopinterval / 10;
- }
+ sleep $loopinterval / 10;
+ }
}
sub showkeys ($) {
- my $conf = shift;
- for my $key (grep !/(^keys$)|(^config$)|(\.desc$)/, keys %$conf) {
- print '#' . (exists $conf->{"$key.desc"}
- ? $conf->{"$key.desc"}
- : ' Undocumented property');
- print "\n$key=$conf->{$key}\n\n";
- }
+ my $conf = shift;
+ for my $key (grep !/(^keys$)|(^config$)|(\.desc$)/, keys %$conf) {
+ print '#' . (exists $conf->{"$key.desc"}
+ ? $conf->{"$key.desc"}
+ : ' Undocumented property');
+ print "\n$key=$conf->{$key}\n\n";
+ }
}
sub getopts (@) {
- my %opts;
+ my %opts;
- for my $opt (@_) {
- next unless $opt =~ /=/;
- my ($key, $val) = split '=', $opt, 2;
- $opts{$key} = $val;
- }
+ for my $opt (@_) {
+ next unless $opt =~ /=/;
+ my ($key, $val) = split '=', $opt, 2;
+ $opts{$key} = $val;
+ }
- return %opts;
+ return %opts;
}
my %opts = getopts @ARGV;
@@ -203,8 +203,8 @@ my %opts = getopts @ARGV;
my $conf = readconf $opts{config}, %opts;
if (exists $conf->{keys}) {
- showkeys($conf);
- exit 0;
+ showkeys($conf);
+ exit 0;
}
$conf->{logger} = PerlDaemon::Logger->new($conf);
@@ -212,9 +212,9 @@ $conf->{logger} = PerlDaemon::Logger->new($conf);
prestartup $conf;
if ($conf->{'daemon.daemonize'} ne 'yes') {
- print "Running in foreground...\n";
+ print "Running in foreground...\n";
} else {
- daemonize $conf;
+ daemonize $conf;
}
sighandlers $conf;
diff --git a/lib/PerlDaemon/RunModules.pm b/lib/PerlDaemon/RunModules.pm
index 6065c6a..1b6b486 100644
--- a/lib/PerlDaemon/RunModules.pm
+++ b/lib/PerlDaemon/RunModules.pm
@@ -1,4 +1,4 @@
-# PerlDaemon (c) 2010, 2011, Dipl.-Inform. (FH) Paul Buetow (http://perldaemon.buetow.org)
+# PerlDaemon (c) 2010, 2011, 2015, Dipl.-Inform. (FH) Paul Buetow (http://perldaemon.buetow.org)
package PerlDaemon::RunModules;
@@ -8,85 +8,84 @@ use threads qw(exit stringify);
use Time::HiRes qw(gettimeofday tv_interval);
sub new ($$) {
- my ($class, $conf) = @_;
-
- my $self = bless { conf => $conf }, $class;
-
- my $modulesdir = $conf->{'daemon.modules.dir'};
- my $logger = $conf->{logger};
- my %loadedmodules;
- my %scheduler;
-
- if (-d $modulesdir) {
- $logger->logmsg("Loading modules from $modulesdir");
-
- for my $module (<$modulesdir/*.pm>) {
- $logger->logmsg("Loading $module");
- eval "require '$module'";
- $logger->warn("Could not load module source file $module: $@")
- if defined $@ and length $@;
- }
-
- for my $name (grep /PerlDaemonModules/, keys %INC) {
- $name =~ s#.*(PerlDaemonModules)/(.*)\.pm$#$1::$2#;
- my $module = eval "${name}->new(\$conf)";
-
- if (defined $@ and length $@) {
- $logger->warn("Could not create module instance $name: $@");
-
- } else {
- $loadedmodules{$name} = $module;
- $scheduler{$name}{lastrun} = [0,0];
- $scheduler{$name}{carrysum} = 0;
- $scheduler{$name}{firstloop} = 1;
- $scheduler{$name}{interval} = $conf->{'daemon.modules.runinterval'};
- $logger->logmsg("Created module instance $name");
- }
- }
-
- } else {
- $logger->warn("Modules dir $modulesdir does not exist!");
- }
-
- $conf->{modules} = \%loadedmodules;
- $conf->{scheduler} = \%scheduler;
-
- return $self;
+ my ($class, $conf) = @_;
+
+ my $self = bless { conf => $conf }, $class;
+
+ my $modulesdir = $conf->{'daemon.modules.dir'};
+ my $logger = $conf->{logger};
+ my %loadedmodules;
+ my %scheduler;
+
+ if (-d $modulesdir) {
+ $logger->logmsg("Loading modules from $modulesdir");
+
+ for my $module (<$modulesdir/*.pm>) {
+ $logger->logmsg("Loading $module");
+ eval "require '$module'";
+ $logger->warn("Could not load module source file $module: $@")
+ if defined $@ and length $@;
+ }
+
+ for my $name (grep /PerlDaemonModules/, keys %INC) {
+ $name =~ s#.*(PerlDaemonModules)/(.*)\.pm$#$1::$2#;
+ my $module = eval "${name}->new(\$conf)";
+
+ if (defined $@ and length $@) {
+ $logger->warn("Could not create module instance $name: $@");
+
+ } else {
+ $loadedmodules{$name} = $module;
+ $scheduler{$name}{lastrun} = [0,0];
+ $scheduler{$name}{carrysum} = 0;
+ $scheduler{$name}{firstloop} = 1;
+ $scheduler{$name}{interval} = $conf->{'daemon.modules.runinterval'};
+ $logger->logmsg("Created module instance $name");
+ }
+ }
+
+ } else {
+ $logger->warn("Modules dir $modulesdir does not exist!");
+ }
+
+ $conf->{modules} = \%loadedmodules;
+ $conf->{scheduler} = \%scheduler;
+
+ return $self;
}
sub do ($) {
- my $self = shift;
- my $conf = $self->{conf}; my $logger = $conf->{logger};
- my $modules = $conf->{modules};
- my $scheduler = $conf->{scheduler};
-
- unless (%$modules) {
- $logger->warn("No modules are loaded!");
-
+ my $self = shift;
+ my $conf = $self->{conf}; my $logger = $conf->{logger};
+ my $modules = $conf->{modules};
+ my $scheduler = $conf->{scheduler};
+
+ unless (%$modules) {
+ $logger->warn("No modules are loaded!");
+
+ } else {
+ while (my ($k, $v) = each %$modules) {
+ my $now = [gettimeofday];
+ my $timediff = tv_interval($scheduler->{$k}{lastrun}, $now);
+ my $interval = $scheduler->{$k}{interval};
+ my $carrytimediff = $timediff + $scheduler->{$k}{carrysum};
+
+ if ($carrytimediff >= $interval) {
+ my $carry = $carrytimediff - $interval;
+ $logger->logmsg("Triggering $k (last triggered before ${timediff}s; carry: ${carry}s; wanted interval: ${interval}s)");
+
+ if ($scheduler->{$k}{firstloop} == 0) {
+ $scheduler->{$k}{carrysum} = $carry;
} else {
- while (my ($k, $v) = each %$modules) {
- my $now = [gettimeofday];
- my $timediff = tv_interval($scheduler->{$k}{lastrun}, $now);
- my $interval = $scheduler->{$k}{interval};
- my $carrytimediff = $timediff + $scheduler->{$k}{carrysum};
-
- if ($carrytimediff >= $interval) {
- my $carry = $carrytimediff - $interval;
- $logger->logmsg("Triggering $k (last triggered before ${timediff}s; carry: ${carry}s; wanted interval: ${interval}s)");
-
- if ($scheduler->{$k}{firstloop} == 0) {
- $scheduler->{$k}{carrysum} = $carry;
- } else {
- $scheduler->{$k}{firstloop} = 0;
- }
-
- $scheduler->{$k}{lastrun} = $now;
- $v->do();
+ $scheduler->{$k}{firstloop} = 0;
+ }
- }
- }
+ $scheduler->{$k}{lastrun} = $now;
+ $v->do();
- }
+ }
+ }
+ }
}
1;
diff --git a/lib/PerlDaemon/ThreadedLogger.pm b/lib/PerlDaemon/ThreadedLogger.pm
index a5a7776..f773640 100644
--- a/lib/PerlDaemon/ThreadedLogger.pm
+++ b/lib/PerlDaemon/ThreadedLogger.pm
@@ -6,40 +6,40 @@ use warnings;
$| = 1;
sub new ($$) {
- my ($class, $conf) = @_;
- my $self = $SELF = bless { conf => $conf }, $class;
+ my ($class, $conf) = @_;
+ my $self = $SELF = bless { conf => $conf }, $class;
- return $self;
+ return $self;
}
sub _pushmsg ($$) {
- my ($self, $msg) = @_;
- my $conf = $self->{conf};
- my $msgqueue = $conf->{msgqueue};
+ my ($self, $msg) = @_;
+ my $conf = $self->{conf};
+ my $msgqueue = $conf->{msgqueue};
- push @$msgqueue, $msg;
+ push @$msgqueue, $msg;
}
sub logmsg ($$) {
- my ($self, $msg) = @_;
+ my ($self, $msg) = @_;
- my $logline = localtime()." (PID $$): $msg\n";
- $self->_pushmsg($logline);
+ my $logline = localtime()." (PID $$): $msg\n";
+ $self->_pushmsg($logline);
- return undef;
+ return undef;
}
sub err ($$) {
- my ($self, $msg) = @_;
- $self->logmsg($msg);
- die "$msg\n";
+ my ($self, $msg) = @_;
+ $self->logmsg($msg);
+ die "$msg\n";
}
sub warn ($$) {
- my ($self, $msg) = @_;
- $self->logmsg("WARNING: $msg");
+ my ($self, $msg) = @_;
+ $self->logmsg("WARNING: $msg");
- return undef;
+ return undef;
}
1;
diff --git a/lib/PerlDaemonModules/ExampleModule.pm b/lib/PerlDaemonModules/ExampleModule.pm
index e9cf4b8..4e7d1c4 100644
--- a/lib/PerlDaemonModules/ExampleModule.pm
+++ b/lib/PerlDaemonModules/ExampleModule.pm
@@ -1,4 +1,4 @@
-# PerlDaemon (c) 2010, 2011, Dipl.-Inform. (FH) Paul Buetow (http://perldaemon.buetow.org)
+# PerlDaemon (c) 2010, 2011, 2015, Dipl.-Inform. (FH) Paul Buetow (http://perldaemon.buetow.org)
package PerlDaemonModules::ExampleModule;
@@ -6,26 +6,26 @@ use strict;
use warnings;
sub new ($$$) {
- my ($class, $conf) = @_;
+ my ($class, $conf) = @_;
- my $self = bless { conf => $conf }, $class;
+ my $self = bless { conf => $conf }, $class;
- # Store some private module stuff
- $self->{counter} = 0;
+ # Store some private module stuff
+ $self->{counter} = 0;
- return $self;
+ return $self;
}
# Runs periodically in a loop (set interval in perldaemon.conf)
sub do ($) {
- my $self = shift;
- my $conf = $self->{conf};
- my $logger = $conf->{logger};
+ my $self = shift;
+ my $conf = $self->{conf};
+ my $logger = $conf->{logger};
- # Calculate some private module stuff
- my $count = ++$self->{counter};
+ # Calculate some private module stuff
+ my $count = ++$self->{counter};
- $logger->logmsg("ExampleModule Test $count");
+ $logger->logmsg("ExampleModule Test $count");
}
1;
diff --git a/lib/PerlDaemonModules/ExampleModule2.pm b/lib/PerlDaemonModules/ExampleModule2.pm
index 74fdd05..2acf221 100644
--- a/lib/PerlDaemonModules/ExampleModule2.pm
+++ b/lib/PerlDaemonModules/ExampleModule2.pm
@@ -1,4 +1,4 @@
-# PerlDaemon (c) 2010, 2011, Dipl.-Inform. (FH) Paul Buetow (http://perldaemon.buetow.org)
+# PerlDaemon (c) 2010, 2011, 2015, Dipl.-Inform. (FH) Paul Buetow (http://perldaemon.buetow.org)
package PerlDaemonModules::ExampleModule2;
@@ -6,26 +6,26 @@ use strict;
use warnings;
sub new ($$$) {
- my ($class, $conf) = @_;
+ my ($class, $conf) = @_;
- my $self = bless { conf => $conf }, $class;
+ my $self = bless { conf => $conf }, $class;
- # Store some private module stuff
- $self->{counter} = 0;
+ # Store some private module stuff
+ $self->{counter} = 0;
- return $self;
+ return $self;
}
# Runs periodically in a loop (set interval in perldaemon.conf)
sub do ($) {
- my $self = shift;
- my $conf = $self->{conf};
- my $logger = $conf->{logger};
+ my $self = shift;
+ my $conf = $self->{conf};
+ my $logger = $conf->{logger};
- # Calculate some private module stuff
- my $count = ++$self->{counter};
+ # Calculate some private module stuff
+ my $count = ++$self->{counter};
- $logger->logmsg("ExampleModule2 Test $count");
+ $logger->logmsg("ExampleModule2 Test $count");
}
1;