(:~
: Execute jobs
:
: @author Rave Technologies, https://www.rave-tech.com/, 2017
:)
import module namespace cpsrv = 'http://www.rave-tech.com/bloomsbury/config-psrv' at 'config-psrv.xqm';
import module namespace jpsrv = 'http://www.rave-tech.com/bloomsbury/jobs-psrv' at 'jobs-psrv.xqm';
let $httpTarget := admin:write-log('--------job invoke --------')
let $httpTarget := fn:concat(fn:substring-before($cpsrv:DataServer,'/rest/'),'/data/jobs')
let $file := fn:string(convert:dateTime-to-integer(fn:adjust-dateTime-to-timezone(convert:integer-to-dateTime(prof:current-ms()))))
let $job := (http:send-request(
)
)[2]
return
if($job/job[.='NONE'])
then admin:write-log('============= No job to process ==================')
else
(
let $jobID := $job/job/job-info/id/text()
let $httpTarget := fn:concat(fn:substring-before($cpsrv:DataServer,'/rest/'),'/data/job/update')
let $file := fn:string(convert:dateTime-to-integer(fn:adjust-dateTime-to-timezone(convert:integer-to-dateTime(prof:current-ms()))))
let $jobUpdate := (http:send-request(
{$jobID}
)
)
return jpsrv:run-job($job)
)