register_worker({
phase
=>
'check'
,
driver
=>
'direct'
},
sub
{
my
(
$job
,
$workerconf
) =
@_
;
my
$action
=
$job
->action or
return
;
# if the job is running at CLI it may need a BACKEND setting
return
unless
scalar
grep
{
$_
eq
$action
} @{ setting(
'deferrable_actions'
) }
and not setting(
'workers'
)->{
'BACKEND'
};
# this can take a few seconds - only do it once
info
'resolving backend hostname...'
;
setting(
'workers'
)->{
'BACKEND'
} ||= (hostfqdn ||
'fqdn-undefined'
);
debug
sprintf
'Backend identity set to %s'
, setting(
'workers'
)->{
'BACKEND'
};
});
true;