(:~ : 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) )