Changes

Jump to navigation Jump to search
553 bytes added ,  11:15, 3 July 2016
no edit summary
** If a time is specified, the query will be queued at this time. Examples for valid times are: <code>02:00:00</code> (2am), <code>12:00:00</code> (noon). If the time lies in the past, the query will be executed next day.
** If a dateTime is specified, the query will be queued at this date. Examples for valid values are: <code>2018-12-31T23:59:59</code> (New Year's Eve 2018, close to midnight). An error will be raised if the specified time lies in the past.
* {{Code|interval}}: a dayTimeDuration string can be specified to execute the query periodically. An error is raised if the specified interval is less than one second (<code>PT1S</code>). If the next scheduled call is due, and if a query with the same id is still running, it will be skipped.
* {{Code|base-uri}}: set [https://www.w3.org/TR/xquery-31/#dt-static-base-uri base-uri property] for the query. This URI will be used when resolving relative URIs by functions such as {{Code|fn:doc}} (default: ''empty string'').
|-
| '''Examples'''
|
* {{Code|jobs:schedule("1+3", (), map{ 'cache': true() })}} returns a query id, e.g. {{Code|Job-123}}. The result can be retrieved via a second query in the same BaseX context: {{Code|jobs:result("Job-123")}}<br />
* The following [[RESTXQ]] function will return the id of the query thread, which evaluates the query that has been specified in the body of a POST request:
<pre class='brush:xquery'>
declare %rest:POST("{$query}") %rest:path('/eval') function local:schedule($query) {
jobs:schedule($query)
* {{Code|jobs:schedule("import module namespace m='maintain'; m:cleanup()", (), map { 'start': '02:00:00', 'interval': 'P1D' })}} calls a maintenance function at 2am every day.<br />
* {{Code|jobs:schedule("prof:sleep(1500)", (), map { 'interval': 'PT1S' })}} tries to run a query every second. As the query will take 1.5 seconds, it will only be executed every second time.<br />
};
</pre>
|{{Code|overflow}}
| Too many queries or query results are queued.
|-
{{Code|range}}
| A specified time or duration is out of range.
|}
Bureaucrats, editor, reviewer, Administrators
13,550

edits

Navigation menu