Coment exécuter un agent instantanément

Coment exécuter un agent instantanément

Messagepar abertisch » 15 Fév 2008 à 07:41

Un petit code pour lancer immédiatement un agent en dehors du délai minimum de 5 minutes.

Petit copier/coller de l'aide du designer:

Tell Amgr Run: Runs the agents that you designate with these arguments:“db name” ‘agent name’ Example: Tell Amgr Run “DatabaseName.nsf” ‘AgentName’


Ok, l'dée est d'utiliser la commande "SendConsoleCommand()" de Notessession qui laisse envoyer une commande directement sur un serveur.

Ainsi il est possible de lancer un agent sans attendre les 5 minutes minimum obligatoires.

Code : Tout sélectionner
   Dim se As New notessession
   Dim sCmd As String
   
   sCmd = |tell amgr run "databasePath\file.nsf″ 'agentName'|
   Call se.SendConsoleCommand("yourServerName", sCmd)


Facile non ?!? :danse004:
Dernière édition par abertisch le 15 Fév 2008 à 10:33, édité 1 fois.
abertisch
Roi des posts
Roi des posts
 
Message(s) : 763
Inscrit(e) le : 25 Oct 2006 à 13:51
Localisation : Suisse

Messagepar Stephane Maillard » 15 Fév 2008 à 08:19

Salut,

Intéressant mais quand tu as des serveurs mutualisé est ce que tu peux être sur de tenir la qualité de service en faisant ça ?
Cordialement

Stéphane Maillard
Avatar de l’utilisateur
Stephane Maillard
Lord of DominoArea
Lord of DominoArea
 
Message(s) : 8695
Inscrit(e) le : 16 Déc 2004 à 01:10
Localisation : Bretagne

Messagepar abertisch » 15 Fév 2008 à 08:31

Stéphane Maillard a écrit:Salut,

Intéressant mais quand tu as des serveurs mutualisé est ce que tu peux être sur de tenir la qualité de service en faisant ça ?


Salut,

Nan je ne pense pas !

Cette astuce est plutôt pour faire du développements car je doute que le serveur tienne le coup si tous les agents sont appelés avec cette méthode.
abertisch
Roi des posts
Roi des posts
 
Message(s) : 763
Inscrit(e) le : 25 Oct 2006 à 13:51
Localisation : Suisse

Messagepar Michael DELIQUE » 15 Fév 2008 à 10:06

salut

génial, ça permet de faire un RunOnServer qui ne bloque pas le client... pour lancer un agent en dev c'est top !

j'en ai fait une fonction

Code : Tout sélectionner
Public Sub AgentTellRunOnServer(wDB As Notesdatabase, wAgent As String)
   
   Dim Session As NotesSession
   Dim DBAgent As NotesDatabase
   
   On Error Goto ErrorHandle
   
   If Trim(wAgent)="" Then
      Error 9999,"Pas de nom d'agent"
      Exit Sub
   End If
   
   Set Session = New NotesSession
   
   If wDB Is Nothing Then
      Set DBAgent = Session.CurrentDatabase
   Else   
      Set DBAgent = wDB
   End If
   
   If DBAgent.GetAgent(Trim(wAgent)) Is Nothing Then
      Error 9999, "Agent inconnu ("+DBAgent.FilePath+") => "+wAgent
   End If
   
   Call Session.SendConsoleCommand(DBAgent.Server, {Tell amgr run "}+DBAgent.FilePath+{" '}+Trim(wAgent)+{'})
   
   Set DBAgent = Nothing
   Exit Sub
ErrorHandle:
   Msgbox "("+Cstr(Getthreadinfo (1))+" Call by "+Cstr(Getthreadinfo(10))+")"+Chr(10)+"Erreur " + Str(Err) + " : "+Chr(10) + Cstr(Error)+". "+Chr(10)+"Ligne N° "+Cstr(Erl),16," ERREUR !"   
   Exit Sub
End Sub
Dernière édition par Michael DELIQUE le 15 Fév 2008 à 11:11, édité 1 fois.
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 abertisch » 15 Fév 2008 à 10:34

Salut Michael,

Merci .
abertisch
Roi des posts
Roi des posts
 
Message(s) : 763
Inscrit(e) le : 25 Oct 2006 à 13:51
Localisation : Suisse


Retour vers Agents