Das Notes Forum

Domino 9 und frühere Versionen => ND9: Entwicklung => Thema gestartet von: Captain_Future am 28.08.17 - 16:18:57

Titel: Nach Eingang neuer Mail Agent - läuft, tut aber nix
Beitrag von: Captain_Future am 28.08.17 - 16:18:57
Hi,
nach einer Ewigkeit nicht mehr aktiv programmieren, wollte ich mich wieder einarbeiten und einen Agenten schreiben, der den Maileingang auswerten soll.
Zur Übung hab ich erstmal nur den Rumpf erstellt, um durch Logging zu schauen, ob der Agent auch so startet wie gewünscht.
Die Datenbank (MailR9) habe ich mit einem "Nach Eingang neuer Mail"-Agenten versehen. Signiert ist er mit der Server-ID.

Code
Dim session As New NotesSession
Dim db As NotesDatabase
Dim mdoc As NotesDocument
Dim mdoccol As NotesDocumentCollection
Dim mailcount As Long
Dim profile As NotesDocument
	
Set db = session.currentdatabase
Set mdoccol = db.Unprocesseddocuments
Set profile = db.Getprofiledocument("_profilenewmail")
	
mailcount = mdoccol.Count
call profile.Replaceitemvalue("dbs_letztemail", Now())
Call profile.save(True,False)
Call LogEvent(mailcount & " mails to proceed", SEVERITY_LOW, Nothing)
Print mailcount & " mails to proceed"
Set mdoc = mdoccol.Getfirstdocument()
While Not mdoc Is Nothing
	'Do some magic things
	Print "Hurra! Neue Mail bekommen!"
	Call LogEvent("Hurra! Neue Mail bekommen!", SEVERITY_LOW, Nothing)
	Set mdoc = mdoccol.Getnextdocument(mdoc)
Wend
Das ist nur zu Testzwecken so schnell mal geschrieben. LogEvents und Prints habe ich nur rein, damit ich etwas Output auf der Console bzw. in einer LogDB habe.

Das Log sagt dazu:
Code
28.08.2017 13:54:20   AMgr: Received new mail event from Router for 'mailin\Testdb.nsf'
28.08.2017 13:55:21   AMgr: Start executing agent 'Neues Mail|newmail' in 'mailin\Testdb.nsf' by Executive '1'
28.08.2017 13:55:21   AMgr: 'xxx/yyy' is the agent signer of agent 'Neues Mail|newmail' in 'mailin\Testdb.nsf'
28.08.2017 13:55:21   AMgr: 'Agent 'Neues Mail|newmail' in 'mailin\Testdb.nsf' will run on behalf of 'xxx/yyy'
28.08.2017 13:56:20   AMgr: Agent 'Neues Mail|newmail' in 'mailin\Testdb.nsf' ran successfully; elapsed time was '0' ticks

Aber weder in der Logdatenbank wird etwas geschrieben, noch erscheinen die Prints in der Console.

Wenn ich den Agenten direkt im Designer starte, dann schreibt er in die Logdatenbank.

Bin etwas ratlos.

Gruß
CF
Titel: Re: Nach Eingang neuer Mail Agent - läuft, tut aber nix
Beitrag von: jBubbleBoy am 28.08.17 - 16:40:20
"LogEvent" kenne ich nicht als Stand-alone Funktion, kenne ich nur als Funktion der Klasse NotesLog.
Es fehlt also noch Code deines Agenten, um deine Frage korrekt zu beantworten.
Titel: Re: Nach Eingang neuer Mail Agent - läuft, tut aber nix
Beitrag von: Captain_Future am 28.08.17 - 17:14:26
Hallo Erik,

das LogEvent kommt von der ScriptLib OpenLog von OpenNTF. Aber Danke - ich hab die Funktion mal aus dem Agenten entfernt und jetzt kommen die Prints auf der Console durch.

Jetzt kann ich weiter debuggen. Irgendwo hat er noch ein Probelm mit dem Profildokument. Er schreibt nichts rein.

Mühsam ernährt sich das Eichhörnchen. Danach schau ich mir mal das OpenLog an. Ich hatte das früher immer in Anwendungen benutzt vor allem in Agenten die auf dem Server laufen.

Gruß
CF
Titel: Re: Nach Eingang neuer Mail Agent - läuft, tut aber nix
Beitrag von: jBubbleBoy am 28.08.17 - 18:10:59
OpenLog von OpenNTF hat doch seine eigene Log-Datenbank, mit Log-Maske, Ansichten usw., vielleicht hast du nur in der falschen Log-DB nachgeschaut.
Titel: Re: Nach Eingang neuer Mail Agent - läuft, tut aber nix
Beitrag von: Tode am 28.08.17 - 18:34:49
Nur so nebenbei: OpenLog hat sehr lange veraltete Funktionen verwendet, die als Deprecated gelten (LSI_Info). Eine Weile Lang hat IBM bei der Verwendung der Funktion nur auf der Console gewarnt, dass die Funktion zum Serverabsturz führen kann, aber ich meine mit einem der letzten Fixpacks / Featurepacks wurde die Funktion komplett deaktiviert und müsste per ini- Eintrag reaktiviert werden...
Titel: Re: Nach Eingang neuer Mail Agent - läuft, tut aber nix
Beitrag von: Captain_Future am 28.08.17 - 20:21:48
@Erik: Wäre eine Möglichkeit, wenn ich nicht nur eine LogDB hätte und wenn ich den Agenten im Designer manuell starte, dann schreibt die LogEvent-Funktion in die LogDB rein.

@Torsten: Ich verwende die angepasste Version, die die besagte LSI-Methode nicht mehr verwendet. Da mein Testaufbau unter FP9 läuft und ich eine alte Datenbank mal testweise drauf kopiert habe, die noch die alte OpenLog verwendet, kann ich sagen, auch unter FP9 erscheint bei mir die Warnung. Wüsste jetzt nicht, dass ich irgendwo bewusst in der notes.ini einen Eintrag gemacht habe, damit die Warnung weiterhin kommt.

Ich finde die OpenLog halt einfach genial und verwendete die in jeder Anwendung die ich bisher erstellt habe. Dass die nun Probleme bereitet finde ich schade. Aber ich teste mal noch ein bischen rum. Ist wie gesagt zum Wiedereinstieg. Mit Entwicklung unter Domino/Notes habe ich eigentlich nichts (mehr) zu tun, betreibe nur meine Unternehmensplattform damit. Aber als Chef muss man sich ja mit irgendwas die Zeit vertreiben :-)

Vielen Dank euch beiden.

Gruß
CF
Titel: Re: Nach Eingang neuer Mail Agent - läuft, tut aber nix
Beitrag von: eknori am 28.08.17 - 20:25:32
Wenn das sie angepasste Veraion ist, dann ist die auch stabil. Setze die selber unter FP9 ein und habe keine Fehlermeldung oder Warnung.
Titel: Re: Nach Eingang neuer Mail Agent - läuft, tut aber nix
Beitrag von: MacSpudik am 20.10.17 - 12:49:12
Hallo allerseits,

bin gerade zufällig über diesen Thread gestolpert (habe eigentlich etwas anderes gesucht, wie das immer so ist ;D )

Es gibt eine angepasste Openlog Version? Irgendwie lebe ich hinterm Mond  ::)
Auf OpenNTF gibts ja nur die alte 2009´er Version zum herunterladen. Wo kann man die angepasste Version finden oder auch anders: was muss angepasst werden?

Grüße von
Sebastian
Titel: Re: Nach Eingang neuer Mail Agent - läuft, tut aber nix
Beitrag von: Captain_Future am 20.10.17 - 13:38:30
Hallo Sebastian,

war etwas unglücklich ausgedrückt. Die Version die ich nutze ist die Version 20070321a und das ist die mit der Option die LSI_Info Funktionen zu deaktivieren.

Gruß
CF
Titel: Re: Nach Eingang neuer Mail Agent - läuft, tut aber nix
Beitrag von: MacSpudik am 23.10.17 - 08:30:17
Hallo CF,

achso, da bin ich ja beruhigt nicht ganz hinterm Mond zu leben  ::)

Na dann noch einen guten Start in die Arbeitswoche allerseits  O0

Grüße von
Sebastian