rar
[freeside.git] / FS / bin / freeside-queued
index 5acffb5..d8af198 100644 (file)
@@ -1,29 +1,33 @@
 #!/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;
@@ -33,6 +37,7 @@ $log_file = "/usr/local/etc/freeside/queuelog.". $FS::UID::datasrc;
 $SIG{__DIE__} = \&_die;
 $SIG{__WARN__} = \&_logmsg;
 
+warn "freesied-queued starting\n";
 
 while (1) {
 
@@ -62,7 +67,7 @@ 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);
@@ -82,11 +87,6 @@ while (1) {
   }
 }
 
-
-sub datestamp {
-  time2str("%m%d%Y", time);
-}
-
 sub _die {
   my $msg = shift;
   unlink $pid_file if -e $pid_file;
@@ -100,6 +100,7 @@ sub _logmsg {
   seek($log, 0, 2);
   print $log "[". time2str("%a %b %e %T %Y",time). "] [$$] $msg\n";
   flock($log, LOCK_UN);
+  close $log;
 }
 
 sub daemonize {