2012-06-19 59 views

回答

2

有幾種方法可以執行另一個.xqy,但最明顯的可能是使用xdmp:invoke。這就是調用.xqy,等待它的結果並在代碼中當場返回。您也可以使用組合xdmp:functionxdmp:apply調用單個函數。你也可以與xdmp:eval混淆,但這通常是最後的手段。

另一種策略可能是使用xdmp:http-get,但然後執行運行在不同的事務中,所以總是會提交。您還需要知道其他.xqy的url,它需要了解是否以及如何在應用程序服務器中重寫url(不是默認情況下)。

運行其他.xqy而不等待結果也可以使用xdmp:spawn。特別適用於調度例如內容處理的重負載。調度批量爲100到1000個文檔是很常見的。注意任務隊列的大小雖然..

HTH!

+1

如果確實進入'xdmp:spawn'領域,https://github.com/mblakele/presta提供了一些可能有用的實用函數。 – mblakele

+0

不要忘記xdmp:redirect-response()將簡單的HTTP重定向到另一個URL。 –

相關問題