|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() Inscription : septembre 2005 Messages : 114 ![]() |
hello,
XMLRAD 2005, Delphi, SQLServer, XP oui, encore moi... Je suis entrain de créer un petit exemple, au cas où ce soit nécessaire, mais j'expose quand même déjà mon problème : j'ai un xsl avec une meta refresh. C'est une page de logs, en fait, qui va faire une requête dans ma table de logs. Le refresh a été fixé à 30s mais ça peut changer...ce n'est pas très grave. Cette page qu'on va appeler logs.xsl est appelée dans une iframe située dans une autre page, qu'on va appeler main.xsl. Au passage, j'ai une 2de iframe dans cette page pour l'affichage des progress bar (progress.xsl ? ;-) ) La page principale fait des écritures, effacements, mises à jour...etc...avec pas mal de code Delphi en plus (des vérifications, du parsing, etc...). Sur la même base que les logs (mais pas la même table évidemment) ET sur une autre base. Le problème est que si je mets ces refresh, log.xsl plante avec l'erreur que j'ai mise en sujet de ce post : TDacQuery.Open - Expiration du délai J'ai mis 4 threads users dans mon projet. sqlserver a l'air capable de gérer différentes connexion avec le user sur ma (mes bases : 1 user par base). Pourquoi xmlrad plante t il ? Visiblement, ce sont les accès concurrentiels qui ne lui plaisent pas. Merci :-) Johan |
|
|
00
|
|
|
#2 |
|
Membre régulier
![]() Inscription : septembre 2005 Messages : 114 ![]() |
au fait, précision (après recherche sur google lecture d'un vieux post effacé depuis, sur le même sujet, ici) : la requête qui expire ne prend rien comme temps. Normalement. C'est le traitement en parallèle qui lui en prend (et qui n'expire pas puisque ce sont plusieurs requêtes, des traitements, etc...).
Donc, elle expire. Mais je pensais que la requête devrait se faire "en parallèle"...on est pas limités à 1 connection par user quand même :-( |
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() |
une erreur comme celle signifie clairement que qie SQLServer n'arrive pas a terminer la requête en 30 secondes qui est le timeout par défaut.
j'ai un peu de mal a comprendre tes traitements parallèles, mais sache, que ca ne sert a rien de multiplier les threads user dans le projet. normalement c'est un thread par processeur + 1. donc sur un monoprocesseur c'est 2 threads maxi ! je compte d'ailleurs faire un article sur les statisitiques/montée en charge et parallèlisation avec XMLRAD dans les prochaines semaines
__________________
RDM Tout Est Relatif Rubrique XMLRAD: http://xmlrad.developpez.com FAQ XMLRAD: http://xmlrad.developpez.com/faq/ |
|
|
00
|
|
|
#4 | |
|
Membre régulier
![]() |
Citation:
1) Comment augmenter ce timeout ? j'ai pensé à un paramètre dans datasources mais je ne me souviens plus lequel est-ce ? 2) Comment faire pour faire un process un peu long ? et avoir un refresh d'une partie d'un écran ? Merci pour les infos Michel |
|
|
|
00
|
|
|
#5 | |||
|
Membre Expert
![]() |
Citation:
une requête qui prend 30 secondes il y à mon avis un soucis, et il faut regarder de près pourquoi elle prend 30 secondes (index, produits cartésiens, etc...). Modifier le timeout, c'est pas forcément la solution... Citation:
http://xmlrad.com/DelosBin/Delos.dll/ServePage?URL=Manual/Appendix03/index.htm&WEB_ID=101001015 autre lien: http://xmlrad.developpez.com/faq/?page=Generalites#OuTrouverAideXMLRAD Citation:
__________________
RDM Tout Est Relatif Rubrique XMLRAD: http://xmlrad.developpez.com FAQ XMLRAD: http://xmlrad.developpez.com/faq/ |
|||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com