AtNotes Übersicht Willkommen Gast. Bitte einloggen oder registrieren.
20.09.20 - 10:09:31
Übersicht Hilfe Regeln Glossar Suche Einloggen Registrieren
News:
Schnellsuche:
+  Das Notes Forum
|-+  Lotus Notes / Domino 9
| |-+  ND9: Entwicklung (Moderatoren: Axel, eknori, Thomas Schulte, koehlerbv, m3)
| | |-+  Zeitgesteuerter Agent funktioniert nicht, bei manuellem Aufruf schon
« vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: Zeitgesteuerter Agent funktioniert nicht, bei manuellem Aufruf schon  (Gelesen 873 mal)
mark_us
Frischling
*
Offline Offline

Beiträge: 7


« am: 19.12.19 - 10:05:28 »

Hallo zusammen,

ich habe folgendes Skript welches die Dokumente in meiner DB durchsucht ob für den morgigen Tag ein Kontrolltermin ansteht:

Code:
Option Public
Option Declare
Use "SendMailDocLink"

Sub Initialize
End Sub
%REM
Sub check_deadline
Description: check documents for new deadlines and generate mail
%END REM
Public Sub check_deadline
'global vars
Dim session As New NotesSession
Dim dDoc As NotesDocument
Dim rtitem As NotesRichTextItem
Dim colAll As NotesDocumentCollection
Dim sSearch As String, sRec As string
Dim sTopic As String, sBearb As String, sIssue As String, sSubject As String
Dim iY As Integer, iM As integer, iD As Integer
Dim sDatTom As String

Set db = session.CurrentDatabase

iY = Year(Date$)
iM = Month(Date$)
iD = Day(Date$) + 1
sDatTom = DateNumber(iY,iM,iD)

sSearch = {SELECT A_Kontrolle=(@Date(} & iY & ";" & iM & ";" & iD & {))}
Set colAll = db.Search(sSearch,Nothing,0)
print "Gefundene Dokumente: " & colAll.Count

Set dDoc = colAll.GetFirstDocument()
While Not (dDoc Is Nothing)
sTopic = "Es steht ein Kontrolltermin für ein Teilprojekt an am " + sDatTom
sIssue = "Thema ist " + (dDoc.GetItemValue("A_Bez")(0))
sSubject = "Kontrolltermin steht morgen an!"
sRec = (dDoc.Getitemvalue("A_Verantwortl")(0))
SendNotice sTopic, sIssue, sRec, sRec,  sSubject, dDoc
Set dDoc = colAll.GetNextDocument(dDoc)
Wend


End Sub

Dieses Skript ruft ein Agent zeitgesteuert auf, laut Protokoll läuft er auch brav jeden Morgen um 6. Eine Mail wird jedoch nicht versendet. Rufe ich den Agent manuell auf, bekomme ich meine Benachrichtigung.

Jemand eine Idee woran es liegen könnte?
Gespeichert
eknori
@Notes Preisträger
Moderator
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 11455


« Antworten #1 am: 19.12.19 - 10:11:15 »

Was gibt denn

Code:
print "Gefundene Dokumente: " & colAll.Count

auf der Console aus?

Wenn > 0, dann solltest Du dir mal Deine "SendNotice" routine ansehen.

** ein bisschen error handling ist sicher auch nicht falsch ...
Gespeichert
Ralf_B
Junior Mitglied
**
Offline Offline

Geschlecht: Männlich
Beiträge: 90


« Antworten #2 am: 19.12.19 - 10:31:05 »

Bitte auch beachten, dass der Signer eine Mailbox haben muss wenn nicht entsprechend ein Notes.ini Parameter gesetzt ist.
Gespeichert
mark_us
Frischling
*
Offline Offline

Beiträge: 7


« Antworten #3 am: 19.12.19 - 14:13:24 »

Was gibt denn

Code:
print "Gefundene Dokumente: " & colAll.Count

auf der Console aus?

Wenn > 0, dann solltest Du dir mal Deine "SendNotice" routine ansehen.

** ein bisschen error handling ist sicher auch nicht falsch ...

Meinst du die Serverkonsole? Am Client jedenfalls werden die gefundenen Dokumente angezeigt, aber da funktioniert ja auch der Mailversand.
Gespeichert
mark_us
Frischling
*
Offline Offline

Beiträge: 7


« Antworten #4 am: 19.12.19 - 14:16:13 »

Bitte auch beachten, dass der Signer eine Mailbox haben muss wenn nicht entsprechend ein Notes.ini Parameter gesetzt ist.

Der Signer bin momentan ich selber, also sollte das kein Problem sein!
Gespeichert
Bastel123
Senior Mitglied
****
Offline Offline

Geschlecht: Männlich
Beiträge: 331


« Antworten #5 am: 19.12.19 - 15:04:59 »

Bau mal ein Meldungen für den Agenten ein:

'DE steht für DesignElement   
Dim dtDEStart As NotesDateTime
Dim dtDEEnde As NotesDateTime
Dim strDEName As String
   
strDEName = "So heisst der Agent"
Set dtDEStart = New NotesDateTime(Now)   
Print "Start " & strDEName + " " & Format(Now, "yyyy-mm-dd hh:nn:ss")

Hier kommen dann weitere Ausgaben   

ende:
Set dtDEEnde = New NotesDateTime(Now)
Print "Laufzeit: " & CStr(dtDEEnde.TimeDifferenceDouble(dtDEStart))
Print "Ende " & strDEName & "  "  & Format(Now, "yyyy-mm-dd hh:nn:ss")
Exit Sub

Die "Print"-Ausgaben siehst du dann im Serverlog.
Gespeichert

Gruß Sebastian
-----------------------------------------------------
Kaum macht man's richtig, schon funktioniert's.
maxritti
Senior Mitglied
****
Offline Offline

Beiträge: 394


« Antworten #6 am: 19.12.19 - 15:42:00 »

Was gibt denn

Code:
print "Gefundene Dokumente: " & colAll.Count

auf der Console aus?

Wenn > 0, dann solltest Du dir mal Deine "SendNotice" routine ansehen.

** ein bisschen error handling ist sicher auch nicht falsch ...

Meinst du die Serverkonsole? Am Client jedenfalls werden die gefundenen Dokumente angezeigt, aber da funktioniert ja auch der Mailversand.

Genau das meint eknori. Denn da besteht ja auch das Problem oder?
Zumindest das Print ... sollte auf der Konsole auftauchen. Wenn nicht, hast du eventuell ein anderes Problem dass der Agent gar nicht startet.
„Irgendetwas“ sollte zumindest auf der Konsole vom Server zu sehen sein, zu dem Zeitpunkt, wo der Agent rennen soll.
Da solltest du mal schauen.
Gespeichert
mark_us
Frischling
*
Offline Offline

Beiträge: 7


« Antworten #7 am: 20.12.19 - 14:22:00 »

Also da hab ich wieder was gelernt, an die Serverkonsole hat ich gar nicht gedacht. Der relevante Teil sieht nun so aus:

Code:
[15C0:0002-15C4] 20.12.2019 14:10:34   AMgr: Start executing agent 'check_schedule' in '***\PKMF.nsf' by Executive '3'
[15C0:0002-15C4] 20.12.2019 14:10:34   AMgr: 'Markus ***/***/**' is the agent signer of agent 'check_schedule' in '***\PKMF.nsf'
[15C0:0002-15C4] 20.12.2019 14:10:34   AMgr: 'Agent 'check_schedule' in '***\PKMF.nsf' will run on behalf of 'Markus ***/***/**'
[15C0:0002-15C4] 20.12.2019 14:10:34   AMgr: Agent ('check_schedule' in '***\PKMF.nsf') error message: Error creating product object

Ich habe in einem Skript einige Verweise auf ui Elemente drin, die muss ich nun noch eleminieren. Dann sollte es laufen, hoffe ich.........
Ansonsten melde ich mich  nochmal  Wink

Vielen Dank!
Gespeichert
maxritti
Senior Mitglied
****
Offline Offline

Beiträge: 394


« Antworten #8 am: 20.12.19 - 14:28:12 »

Genau.
Wenn die weg sind klappt es.
Ui geht halt nicht im Hintergrund.
Gespeichert
mark_us
Frischling
*
Offline Offline

Beiträge: 7


« Antworten #9 am: 20.12.19 - 14:42:24 »

Genau.
Wenn die weg sind klappt es.
Ui geht halt nicht im Hintergrund.

So ist es  Grin

Gerade ein Mail bekommen  Smiley

Vielen Dank an alle!
Gespeichert
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS
Impressum Atnotes.de - Powered by Syslords Solutions - Datenschutz | Partner: