X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2Fbin%2Ffreeside-queued;h=a6a7576a12691bd082386826b9105e44f2f7dc82;hb=29511cc57e60f40a231aa8e1dc3239869ea14410;hp=f5284e7082fc592981d5810eaa68e71dfacf4a5d;hpb=b4aea58e0d04ff1930397e0f96ecdc50748b748b;p=freeside.git diff --git a/FS/bin/freeside-queued b/FS/bin/freeside-queued index f5284e708..a6a7576a1 100644 --- a/FS/bin/freeside-queued +++ b/FS/bin/freeside-queued @@ -219,7 +219,11 @@ while (1) { $log->info('starting job ('.$ljob->job.')'); warn 'running "&'. $ljob->job. '('. join(', ', @args). ")\n" if $DEBUG; local $FS::UID::AutoCommit = 0; # so that we can clean up failures - eval $eval; #throw away return value? suppose so + do { + # switch user only if a job user is available + local $FS::CurrentUser::CurrentUser = $ljob->access_user || $FS::CurrentUser::CurrentUser; + eval $eval; #throw away return value? suppose so + }; if ( $@ ) { dbh->rollback; my %hash = $ljob->hash;