#!/usr/bin/perl -w
use strict;
+use vars qw( $log_file $sigterm $sigint );
+use subs qw( _die _logmsg );
use Fcntl qw(:flock);
use POSIX qw(setsid);
+use Date::Format;
+use IO::File;
use FS::UID qw(adminsuidsetup);
use FS::Record qw(qsearchs);
use FS::queue;
# no autoloading just yet
use FS::cust_main;
+use FS::svc_acct;
+use Net::SSH;
my $pid_file = '/var/run/freeside-queued.pid';
$SIG{CHLD} = sub { wait }; #zombie prevention
-my $sigterm = 0;
-my $sigint = 0;
-$SIG{INT} = sub { warn "SIGINT received; shutting down\n"; $sigint++; };
-$SIG{TERM} = sub { warn "SIGTERM received; shutting down\n"; $sigterm++; };
-
my $user = shift or die &usage;
&daemonize;
-my $log_file = "/usr/local/etc/freeside/queuelog.";
+ $sigterm = 0;
+ $sigint = 0;
+$SIG{INT} = sub { warn "SIGINT received; shutting down\n"; $sigint++; };
+$SIG{TERM} = sub { warn "SIGTERM received; shutting down\n"; $sigterm++; };
$> = $FS::UID::freeside_uid unless $>;
adminsuidsetup $user;
$SIG{__DIE__} = \&_die;
$SIG{__WARN__} = \&_logmsg;
+warn "freesied-queued starting\n";
while (1) {
eval $eval;
if ( $@ ) {
warn "job $eval failed";
- my $hash = $ljob->hash;
+ my %hash = $ljob->hash;
$hash{'status'} = 'failed';
my $fjob = new FS::queue( \%hash );
my $error = $fjob->replace($ljob);
}
}
-
-sub datestamp {
- time2str("%m%d%Y", time);
+sub usage {
+ die "Usage:\n\n freeside-queued user\n";
}
sub _die {
seek($log, 0, 2);
print $log "[". time2str("%a %b %e %T %Y",time). "] [$$] $msg\n";
flock($log, LOCK_UN);
+ close $log;
}
sub daemonize {