Gestion des Thread

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

Gestion des Thread

Messagepar seroa » 09 Mars 2010 à 15:57

Bonjour à tous,

Comment gérer la synchronisation des agents ? Lorsque le serveur Domino est paramétré sur Enabled pour Run Web Agent.

J'ai un bouton qui lance un agent, si je clique 2 fois dessus, il exécute 2 fois l'agent sans attendre la fin de la première exécution. Donc 2 exécutions en même temps.

Je ne vois pas trop comment gérer ça. Vous avez une idée ?
seroa
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 304
Inscrit(e) le : 08 Nov 2007 à 08:36
Localisation : Mâcon

Messagepar Michael DELIQUE » 09 Mars 2010 à 15:59

salut

en web ?
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar seroa » 09 Mars 2010 à 16:23

oui en web
seroa
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 304
Inscrit(e) le : 08 Nov 2007 à 08:36
Localisation : Mâcon

Messagepar Michael DELIQUE » 09 Mars 2010 à 16:30

Passe par de l'ajax

tant que ton agent n'as pa renvoyé un code de fin ton bouton est grisé
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar seroa » 09 Mars 2010 à 16:40

Ok je vois. Mais si mon appli est multi utilisateur, que deux utilisateurs clique sur le bouton en même temps. Je voudrais que les actions s'exécutent une après l'autre et pas en même temps.
C'est ce qui se passe lorsque le paramètre Run Web Agent est sur Disable sur le serveur.
Sauf qu'actuellement ce paramètre est sur Enabled et je voudrais contourner cela.
seroa
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 304
Inscrit(e) le : 08 Nov 2007 à 08:36
Localisation : Mâcon

Messagepar Gob0 » 10 Mars 2010 à 20:43

c'est quoi l'interet de la manoeuvre? parce que 1 agent web à la fois, ca va vite rendre toutes les applis lentes à mourir... :shock:
tes utilisateurs devront prendre un ticket (style "la poste" quoi) pour pouvoir changer de page :mrgreen:
Avatar de l’utilisateur
Gob0
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 378
Inscrit(e) le : 23 Août 2006 à 09:19
Localisation : Lausanne

Messagepar seroa » 11 Mars 2010 à 09:12

En fait, j'ai des thread synchronisés dans mes classes Java. Tout va bien si je clique une fois sur le bouton qui lance mon agent, mais si je clique 2 fois, ils se lancent en parallèle et du coup les thread s'exécutent en même temps et c'est ce que je ne souhaite pas.

Si le serveur a l'option Run Web agents and web services concurrently sur "Disabled", pas de problème, et je n'est pas de problèmes de lenteur.

Sauf que sur le serveur est défini sur Enabled pour cette option. Mais peut etre qu'il y'a un moyen de contourner cela ?
seroa
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 304
Inscrit(e) le : 08 Nov 2007 à 08:36
Localisation : Mâcon

Messagepar Michael DELIQUE » 11 Mars 2010 à 09:26

hormis avec du code et des jetons non
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar amahi » 11 Mars 2010 à 09:56

tu c'est c'est quoi un Singleton? et mettre ta classe java synchronized ?
@Novaliance
amahi
Empereur des posts
Empereur des posts
 
Message(s) : 1032
Inscrit(e) le : 08 Jan 2007 à 16:57
Localisation : Region parisienne

Messagepar seroa » 11 Mars 2010 à 10:44

Ma methode java est déja synchronized. Mes thread sont synchro. Mais si ce meme agent est lancé 2 fois en parallèle, la synchro ne tient plus.

Je vais voir pour Singleton, je connais pas.
seroa
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 304
Inscrit(e) le : 08 Nov 2007 à 08:36
Localisation : Mâcon

Messagepar stloje » 11 Mars 2010 à 10:50

Vue que tu es sur Internet, pourquoi tu ne crées pas un jeton en JavaScript?

Nous, pour éviter que le client soumette intempestivement son document au serveur, on a crée une variable qui prend la valeur de vrai si le document est soumis. Le bouton vérifie cette variable et soumet la demande si elle est fausse.
Et vive le cambouis! Si t'en as jusque sous les bras, c'est parce que tu as cherché longuement la solution ou tout simplement parce que tu t'es vautré!
Avatar de l’utilisateur
stloje
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 335
Inscrit(e) le : 09 Sep 2008 à 13:18
Localisation : Orléans

Messagepar amahi » 11 Mars 2010 à 10:52

Dans ton cas ce devrait etre le plus approprié, avec un singleton tu n'aura que une et une seule instance de ta classe à la fois.
amahi
Empereur des posts
Empereur des posts
 
Message(s) : 1032
Inscrit(e) le : 08 Jan 2007 à 16:57
Localisation : Region parisienne


Retour vers Développement

cron