our %lx_office_conf;
+sub debug {
+ return if !$lx_office_conf{task_server}->{debug};
+ $::lxdebug->message(0, @_);
+}
+
sub lxinit {
- my $login = $lx_office_conf{task_server}->{login};
+ my $login = $lx_office_conf{task_server}->{login};
+ my $client = $lx_office_conf{task_server}->{client};
package main;
$::locale = Locale->new($::lx_office_conf{system}->{language});
$::form = Form->new;
$::auth = SL::Auth->new;
+ die "No client configured or no client found with the name/ID '$client'" unless $::auth->set_client($client);
$::instance_conf = SL::InstanceConfiguration->new;
$::request = { cgi => CGI->new({}) };
SL::LxOfficeConf->read($self->{configfile});
- die "Missing section [task_server] in config file" unless $lx_office_conf{task_server};
- die "Missing key 'login' in section [task_server] in config file" unless $lx_office_conf{task_server}->{login};
+ die "Missing section [task_server] in config file" unless $lx_office_conf{task_server};
+ die "Missing key 'login' in section [task_server] in config file" unless $lx_office_conf{task_server}->{login};
+ die "Missing key 'client' in section [task_server] in config file" unless $lx_office_conf{task_server}->{client};
drop_privileges();
lxinit();
sub gd_run {
while (1) {
my $ok = eval {
- $::lxdebug->message(0, "Retrieving jobs") if $lx_office_conf{task_server}->{debug};
+ debug("Retrieving jobs");
my $jobs = SL::DB::Manager::BackgroundJob->get_all_need_to_run;
- $::lxdebug->message(0, " Found: " . join(' ', map { $_->package_name } @{ $jobs })) if $lx_office_conf{task_server}->{debug} && @{ $jobs };
+ debug(" Found: " . join(' ', map { $_->package_name } @{ $jobs })) if @{ $jobs };
foreach my $job (@{ $jobs }) {
# Provide fresh global variables in case legacy code modifies
1;
};
- if ($lx_office_conf{task_server}->{debug}) {
- $::lxdebug->message(0, "Exception during execution: ${EVAL_ERROR}") if !$ok;
- $::lxdebug->message(0, "Sleeping");
- }
+ debug("Exception during execution: ${EVAL_ERROR}") if !$ok;
+ debug("Sleeping");
my $seconds = 60 - (localtime)[0];
if (!eval {
local $SIG{'ALRM'} = sub {
- $::lxdebug->message(0, "Got woken up by SIGALRM") if $lx_office_conf{task_server}->{debug};
+ debug("Got woken up by SIGALRM");
die "Alarm!\n"
};
sleep($seconds < 30 ? $seconds + 60 : $seconds);
$file = File::Spec->abs2rel(Cwd::abs_path($file), Cwd::abs_path($exe_dir));
newdaemon(configfile => $file,
- progname => 'kivitendo-task-server',
+ progname => 'kivitendo-background-jobs',
pidbase => SL::System::TaskServer::PID_BASE() . '/',
);