Autor Thema: Periodischer Agent (LotusScript) wird nicht beendet  (Gelesen 1997 mal)

Offline Skorpi

  • Junior Mitglied
  • **
  • Beiträge: 79
  • Geschlecht: Männlich
Hallo LoNo-Gemeinde,

wie die Überschrift schon sagt, habe ich ein Problem mit einem periodischen LotusScript Agenten. Der Agent läuft täglich und hat alle Dokumente der Datenbank als Ziel. Hier der Code:

Code

'(Options)

Option Declare
Use "VCAuswertungsLib"

Code

'(Declarations)

Private session As NotesSession
Private agent As NotesAgent
Private db As NotesDatabase
Private dtStart As NotesDateTime
Private dtEnde As NotesDateTime

Code

'(Initialize)

Sub Initialize
	On Error Goto Fehlerbehandlung
	
	Set session = New NotesSession	
	Set agent = session.CurrentAgent
	Call logIt(LOG_ACTION, "(Agent: " + agent.Name + " ) Der Agent wurde gestartet.")	
	
	Set db = session.CurrentDatabase	
	Set dtStart = New NotesDateTime("01.01." + Cstr(Year(Now)))	
	Set dtEnde = New NotesDateTime(Today)
	'Set dtEnde = New NotesDateTime("26.02.2008")
	Call GeschaeftsAuswertung(dtStart, dtEnde, "geschaeftsjahresauswertung")
	'Call VeraenderungsbasierteGSA(dtStart, dtEnde, "geschaeftsjahresauswertung")
	
	Call logIt(LOG_ACTION, "(Agent: " + agent.Name + " ) Der Agent wurde erfolgreich ausgeführt.") '
<-- Diese Nachricht ist im Protokoll ersichtlich, aber beendet wird der Agent nicht
	End
	Exit Sub
	
Fehlerbehandlung:		
	Call ErrorHandling("Agent: " + agent.Name + "'")
	Exit Sub
End Sub

Code

'(Terminate)

Sub Terminate
	If Not session Is Nothing Then		
		Delete session		
	End If	
	If Not agent Is Nothing Then				
		Delete agent		
	End If	
	If Not db Is Nothing Then
		Delete db		
	End If
	If Not dtEnde Is Nothing Then
		Delete dtEnde		
	End If
	If Not dtStart Is Nothing Then
		Delete dtStart		
	End If
End Sub


Der Agent funktioniert sonst einwandfrei. Das letzte was ich im Protokoll sehe, ist das er erfolgreich ausgeführt wurde (siehe Initialize des Agenten). Trotzdem kann ich im Domino Adminstrator unter Server - Status - Tasks sehen, dass der Agent noch läuft... und zwar mit 99% CPU Auslastung.

Hat jemand vielleicht eine Idee woran das liegen könnte?
« Letzte Änderung: 08.04.08 - 15:32:36 von Skorpi »
Gruß

Fabian

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Periodischer Agent (LotusScript) wird nicht beendet
« Antwort #1 am: 08.04.08 - 14:34:46 »
Das Geraffel im Terminate ist vollkommen überflüssig und könnte m.E. sogar zu einer endlosen Geschichte werden, wenn Du dem Agent das ParentObject (session) weghauen möchtest oder den Agent selber (das führt ja zum Terminate).

HTH,
Bernhard

Offline Skorpi

  • Junior Mitglied
  • **
  • Beiträge: 79
  • Geschlecht: Männlich
Re: Periodischer Agent (LotusScript) wird nicht beendet
« Antwort #2 am: 08.04.08 - 14:49:21 »
Vielen Dank für die schnelle Antwort. Ich werde es gleich mal ausprobieren. Hatte das 'Geraffel' hinzugefügt, da ich anfänglich noch Speicherprobleme hatte und dachte ich könnte es damit irgendiwe beheben (Verzweiflungstat). Allerdings konnte ich das Speicherproblem bereits lösen. Habe nur vergessen den Quatsch wieder raus zu nehmen. Ich will gar nicht wissen wieviel Code-Leichen auf diese Art und Weise entstehen.
Gruß

Fabian

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Periodischer Agent (LotusScript) wird nicht beendet
« Antwort #3 am: 08.04.08 - 14:54:05 »
Um solche "Leichen" zu minmieren, mache ich bestimmte Änderungen, deren Sinnhaftigkeit noch nicht feststeht, generell in Kopien der eigentlichen Entwicklungs-DB und teste. Wenn sich das dann bewährt, wird dieser Code-Teil überkopiert und die Test-DB sofort in den Orkus gekippt (nicht, damit man später etwas ausprobiert, was aber zum aktuellen Code gar nicht mehr passt).

HTH,
Bernhard

Offline Skorpi

  • Junior Mitglied
  • **
  • Beiträge: 79
  • Geschlecht: Männlich
Re: Periodischer Agent (LotusScript) wird nicht beendet
« Antwort #4 am: 08.04.08 - 16:08:43 »
Vielen Dank! Es lag tatsächlich an der "Leiche"!
Gruß

Fabian

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Periodischer Agent (LotusScript) wird nicht beendet
« Antwort #5 am: 08.04.08 - 16:09:48 »
Das freut mich, dass es sich so einfach lösen liess, Fabian.

Bernhard

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz