Client Notes qui se plante pendant un agent

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

Client Notes qui se plante pendant un agent

Messagepar mike76 » 11 Mars 2010 à 09:35

Bonjour,

Pour un client j'ai fait un morceau de code qui permet de déchiffrer les mails.
Ca fonctionne pas mal, sauf qu'à un moment s'il y a trop de mails le client Notes plante.
J'ai esssayé de mettre un YIELD dans ma boucle, mais toujours idem.
Auriez-vous une idée comme faire pour que le client ne plante pas ???

Code : Tout sélectionner
Dim ws As New NotesUIWorkspace
       Dim uidoc As NotesUIDocument
       Dim session As New NotesSession
       Dim db As NotesDatabase
       Dim view As NotesView
       Dim doc As NotesDocument
       Dim docCourant As NotesDocument
       Dim i As Integer
       Dim j As Integer
       
       i=0
       Set db=session.CurrentDatabase
       
       Set view=db.GetView("($all)")
       j=view.EntryCount
       
       view.AutoUpdate=False
       Set doc=view.GetFirstDocument
       While Not (doc Is Nothing)
               If doc.HasItem("Encrypt") Then
                       If doc.GetItemValue("Encrypt")(0)="1" Then
                               Set uidoc=ws.EditDocument(True,doc)
                               Set docCourant=uidoc.Document
                               Call docCourant.RemoveItem("Encrypt")
                               Call docCourant.Replaceitemvalue("ActionInProgress","4096")
                               Call uidoc.Save
                               Call docCourant.Save(True,False)
                               Call uidoc.Close(True)
                               YIELD
                               i=i+1
                               Print i
                       End If
               End If
               j=j-1
               Print "Il reste " & j & " mails à traiter. " & i & " ont été déchiffrés"
               Set doc=view.GetNextDocument(doc)
       Wend
       view.AutoUpdate=True
Dernière édition par mike76 le 15 Mars 2010 à 14:44, édité 1 fois.
mike76
V.I.P.
V.I.P.
 
Message(s) : 2122
Inscrit(e) le : 12 Oct 2006 à 13:14
Localisation : ROUEN

Messagepar stloje » 11 Mars 2010 à 09:42

C'est peut-être du à un trop grand nombre de UIDoc ouvert dans l'espace de travail. Tu as besoin de travailler avec le Front End?

Je me souvient qu'il y a un "post" où une personne avait des soucis d'exécution d'agent à cause d'un grand nombre de documents Front End ouvert. Je vais chercher le lien.
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 mike76 » 11 Mars 2010 à 09:43

salut,

merci pour ton aide
oui j'ai besoin d'ouvrir le doc en front end car pour moi c'est le seul moyen pour déchiffrer un mail
si tu retrouves ton lien ça serait cool
merci d'avance
mike76
V.I.P.
V.I.P.
 
Message(s) : 2122
Inscrit(e) le : 12 Oct 2006 à 13:14
Localisation : ROUEN

Messagepar stloje » 11 Mars 2010 à 10:10

J'ai perdu toute ma réponse parce qu'il a fallut que je me reconnecte!!! Grr!

Bon, je me demandais pourquoi tu passes du back-end au front-end pour ensuite revenir sur un autre back-end qui pointe déjà sur le premier, faire les modifs en front et back-end et exécuter une sauvegarde sur les deux niveaux?

Ca aurait pas été plus simple de faire les modifs en back-end et exécuter un ComputeWithForm par la suite?
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 mike76 » 11 Mars 2010 à 10:25

oui mais en back-end, il n'y a pas de déchiffrage du mail
il se fait uniquement en front-end
c'est pour ça que j'utilise du front
mike76
V.I.P.
V.I.P.
 
Message(s) : 2122
Inscrit(e) le : 12 Oct 2006 à 13:14
Localisation : ROUEN

Messagepar stloje » 11 Mars 2010 à 10:31

Je pense que je viens de comprendre. Tu parles du chiffrement des données?
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 Michael DELIQUE » 11 Mars 2010 à 10:31

tu peux pas faire un changement de form tamporaire qui aurrais un close dans le postopen ?
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 mike76 » 11 Mars 2010 à 10:36

@stolje :
Oui c'est bien ça le but est de déchiffré les mails de chaque utilisateur

@Michaël :
je ne comprends pas trop ce que tu veux me dire
en fait, le but de mon agent qui est installé sur chaque base courrier (qui en ont besoin) est de déchiffrer l'ensemble des mails d'une base courrier
mike76
V.I.P.
V.I.P.
 
Message(s) : 2122
Inscrit(e) le : 12 Oct 2006 à 13:14
Localisation : ROUEN

Messagepar stloje » 11 Mars 2010 à 10:43

Je viens de me souvenir de la partie de réponse qui me manquait, avant déconnexion.

Bon, oui, j'ai retrouvé le lien, mais tu appliques déjà la solution : le Yield et l'option true du uiDoc.Close (true)
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 mike76 » 11 Mars 2010 à 11:54

et ouais je pensais que ça suffisait, dommage
mike76
V.I.P.
V.I.P.
 
Message(s) : 2122
Inscrit(e) le : 12 Oct 2006 à 13:14
Localisation : ROUEN

Messagepar Michael DELIQUE » 11 Mars 2010 à 12:27

et bien si le traitement est trop long

peut etre peut tu l'accelerer en forcement la fermeture (le save) du document a sont ouverture dans le postopen du masque

c'est une technique que 'jutilise pour l'impression d'un doc avec un masque dédié.
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 stloje » 11 Mars 2010 à 13:56

Michael DELIQUE a écrit:tu peux pas faire un changement de form tamporaire qui aurrais un close dans le postopen ?


L'idée semble bonne. En créant un masque temporaire, tu n'es plus dépendant des événements du masque, du coup il est plus rapide à fermer.

Sinon, tu as essayé de mettre un sleep pour forcer Notes à ralentir, le temps qu'il ferme les uiDoc?
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 mike76 » 11 Mars 2010 à 15:08

pas bête l'idée Michaël
je vais tester le sleep de stloje pour commencer qui me fera faire moins de modif dans mon code, sinon après je prendrais ton idée Michaël
je vous tiens au courant
mike76
V.I.P.
V.I.P.
 
Message(s) : 2122
Inscrit(e) le : 12 Oct 2006 à 13:14
Localisation : ROUEN

Messagepar mike76 » 11 Mars 2010 à 17:06

pour le sleep c'est mort, ça plante toujours

Michaël,
Comment tu fais en ls pour ouvrir un document avec un autre masque ??
en formule je sais faire @Command([ViewSwitchForm]) mais pas d'équivalent en ls

merci d'avance
mike76
V.I.P.
V.I.P.
 
Message(s) : 2122
Inscrit(e) le : 12 Oct 2006 à 13:14
Localisation : ROUEN

Messagepar Michael DELIQUE » 11 Mars 2010 à 17:08

salut

soit avant l'édition (Set uidoc=ws.EditDocument(True,doc) ) tu change le nom du form

soit tu passe par notesuiworkspace.dialogbox
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

Suivant

Retour vers Développement

cron