こんにちは私は摂取と検証を行っていますが、取り込みと検証の開始時間と終了時間を記録したいと思います。私のコードは以下の通りです。タスク開始時間とタスク終了時間をBaseXに記録する方法
let $pipelineXml :=
<pipeline id='a111' name='ACH-export' xmlns='http://cms.bloomsbury.com/pipeline'>
<transform href='/transforms/docbook2xml.xsl'/>
<validate href='/validation/taxonomy.sch' failOnError='true'/>
</pipeline>
let $reportChunk := <report>
<info>
<id>{$pipelineXml//@id}</id>
<name>{$pipelineXml//@name}</name>
<submitted-on>{fn:current-dateTime()}</submitted-on>
<user>{user:current()}</user>
</info>
<ingestion-report>
<steps/>
</ingestion-report>
</report>
let $startTime := fn:current-dateTime()
let $validate := validate:rng-report($pipelineXml, bin:decode-string(db:retrieve($config:Database, fn:concat($config:ValidationDir,$config:PipelineRelaxNG)),'UTF-8'), fn:true())
return
if($validate/status='valid')
then
(
admin:write-log("[" || "][Pipeline is valid as per Relax NG : " || $pipelineXml//@id || "]")
,
let $appendReport := let $updateReport := <step>
<type>RELAX NG Validation</type>
<started-on>{$startTime,prof:sleep(20000)}</started-on>
<completed-on>{fn:current-dateTime()}</completed-on>
<status>Pass</status>
<error></error>
</step>
return
copy $target := $reportChunk
modify insert node $updateReport as last into $target/ingestion-report/steps
return $target
return $appendReport
)
else "error"
おかげでフォーマットで時間を格納する2017-09-04T17である14.989 + 05:30 <完成オン> 2017-09-04T17:17:14.989 + 05:あなたはこれを大いに助けてくれるならば、私は現在のコードでこれを実装することができます –
私はガイドのためのソリューション感謝を得ましたMichael:私はfn:current-date-timeをreplaceと置き換えました。 -dateTime-to-timezone(変換:integer-to-dateTime(prof:current-ms())) –
素晴らしい:-)有用であれば、私の答えを受け入れることを検討するかもしれないhttps://meta.stackexchange.com/questions/5234 /答えを受け入れる方法 – michael