2016-07-15 2 views
0

Lorsque j'essaie d'exécuter une requête, j'ai l'erreur suivante: Time limit exceeded. J'ai essayé d'augmenter la limite de temps de demande de en utilisant le code suivant:XQuery: Définition des privilèges pour résoudre l'erreur "Délai de requête dépasse le maximum autorisé"

for ..... 
return (xdmp:set-request-time-limit(8000), myquery) 

J'ai l'erreur suivante XDMP-TIMELIMIT: xdmp:set-request-time-limit(8000) -- Request time limit exceeds the maximum allowed.

La fonction xdmp:set-request-time-limit nécessite une des priviliges suivantes:

http://marklogic.com/xdmp/privileges/xdmp-set-request-time-limit-any 

Ou

http://marklogic.com/xdmp/privileges/xdmp-set-request-time-limit-my 

Je suis face à un problème dans la définition de ces privilèges. C'est là que je les déclare:

for ..... 
return (xdmp:set-request-time-limit(8000), xdmp:privilege("http://marklogic.com/xdmp/privileges/xdmp-set-request-time-limit-any","execute"), myquery) 

Mais je reçois toujours l'erreur Request time limit exceeds the maximum allowed. Je suppose que je les déclare au mauvais endroit. Toute aide

NOTES:

  • La capture d'écran montre mes paramètres du serveur http. server settings
  • L'utilisateur par défaut est nobody
  • J'utilise Qqonsole pour exécuter la requête

Répondre

2

Je soupçonne que le serveur d'applications dont le tir écran vous partagez est pas le serveur d'applications pour le port QConsole.

+0

Non, j'ai sélectionné le même serveur dans la liste déroulante Source du contenu de QConsole. –

+0

QConsole est une application web. Il fonctionne sur son propre port HTTP (8000). Et les paramètres de délai d'attente qui s'appliquent aux requêtes émises dans QConsole seront ceux configurés pour le port QConsole (8000). – hunterhacker