Domino 9 und frühere Versionen > ND8: Administration & Userprobleme
Agent ändert auszuführender Server jeden morgen
googleschreiber:
Hallo zusammen,
habe wieder ein kleines Problem mit einem Agenten in einer Datenbank.
Wir haben 2 Server (nennen wir diese Server1 und Server2) die zusammen ein Cluster bilden.
Wenn ich nun in der Datenbank bei dem besagten Agent in den Eigenschaften (Zeitplan) den Wert "Ausführen auf" in "Server2" änder, ist am anderen Tag der Wert wieder auf "Server1" und dort ist der Agent auch gelaufen.
Der Agent läuft jeden Tag morgens um 5 Uhr. Auf einem Laufwerk werden txt-Dateien angelegt die sich der Agent "krallt" und den Empfänger und Inhalt aus diesen Dateien ausliest und die Mails versendet.
Das Problem an der ganzen Sache wäre nicht, dass der Agent immer auf den Server1 wechselt, sondern eher dass dann der komplette Inhalt der Mail untereinander geschrieben steht. Also sprich fast unlesbar. Wenn der Agent manuell dann auf dem Server2 angestartet wird, dann passt die Formatierung der Mail.
Es gibt nun 2 Möglichkeiten mit denen ich zufrieden wäre:
- Agent läuft dauerhaft auf dem Server2
- Agent läuft auf beiden Servern fehlerfrei
Wobei mir Möglichkeit 2 besser gefallen würde ;-)
Leider weiß ich nicht wo ich ansetzen muss um den Fehler einzugrenzen. Die Entwickler bei uns haben mir versichert, dass der Code keine Auswirkungen hat, dass dieses verhalten auftritt. Ob ich mich darauf verlassen kann ist leider fraglich und mit Programmieren kenne ich mich in Notes leider nicht aus.
Nun hoffe ich auf euch :-)
Gruß Ralf
koehlerbv:
Ohne den Code zu kennen, wird ein Beantworten aber sehr schwierig bis unmöglich. Der Code könnte ja sogar den ausführenden Server ändern ...
Bernhard
googleschreiber:
Wäre durchaus möglich. Nur dann sollte aber doch die Formatierung trotzdem gleich bleiben oder?
edit:
hier noch der Code:
Option Public
Option Explicit
Sub Initialize
Dim ss As New notessession
Dim db As notesdatabase
Dim view As notesview
Dim para As notesdocument
Dim doc As notesdocument
Dim root As String
Dim SendTo As Variant
Dim file As Variant
Set db = ss.currentdatabase
Set view = db.getview("all_rud")
Set doc = view.getFirstDocument
Set para = db.getProfileDocument("(Parameter)")
root = para.RootDir(0)
Do While Not doc Is Nothing
If doc.dir(0)= "fax" Then
SendTo = para.SendToo
SendTo = Arrayappend(SendTo , doc.getitemvalue("name"))
Call CreateSendMail(SendTo, doc.getfirstitem("body"), root+"\"+doc.dir(0), para)
End If
Set doc = view.getnextdocument(doc)
Loop
End Sub
Function CreateSendMail(SendTo2 As Variant, body As notesrichtextitem, path As String, para As notesdocument)As Integer
Dim ss As New notessession
Dim db As notesdatabase
Dim mail As notesdocument
Dim rti As notesrichtextitem
Dim i As Integer
Dim attached As Integer
Dim txt_file As String, subject As String
Dim FileNo As Integer, fl As Double
Dim items(5) As Variant
Dim tline As Variant
Dim sendto As Variant
Dim positionOfChar As Long
Dim pathName As String, fileName As String
On Error Resume Next
Set db = ss.currentdatabase
If Not para.attachment Is Nothing Then
For i = 0 To Ubound(para.attachment)
subject = para.Subject(i)
If para.attachment(i) = "fax.txt" Then
' FAX - Sendebericht
pathName$ = path+"\*.*"
fileName$ = Dir$(pathName$, 0)
Do While fileName$ <> ""
Set mail = New notesdocument(db)
Set rti = New NotesRichTextItem(mail, "Body" )
Call rti.appendrtitem(body)
Call rti.addnewline(2)
txt_file = path+"\"+fileName$
fileno = Freefile()
Open txt_file For Input As fileno
Line Input #fileno, tline
While(tline <> "")
On Error Resume Next
positionOfChar = Instr(1, tline, "@")
If positionOfChar = 0 Then
positionOfChar = Instr(1, tline, "#SUBJECT")
If positionOfChar = 0 Then
Call rti.appendtext(tline)
Call rti.addnewline(1)
Else
subject = Strright(tline, "#SUBJECT")
subject = Strleft(subject, "#")
End If
Else
sendTo = tline
End If
tline = ""
Line Input #fileNo, tline
If(tline = "") Then Line Input #fileNo, tline
Wend
Close fileNo
Call mail.replaceItemValue("SendTo",SendTo)
Call mail.replaceItemValue("CopyTo",SendTo2)
Call mail.replaceItemValue("Subject", subject)
Call mail.Send( False )
Kill txt_file
fileName$ = Dir$()
Loop
End If
Next
End If
' Ende FAX - Routine
Exit Function
End Function
Gruß Ralf
umi:
Hallo
läuft bei euch der Design Task auf Server1 oder SErver2 und ist evtl. im Template der Agent auf Server1 eingetragen und aktiv?
googleschreiber:
Design Task ist auf beiden Server deaktiviert. Habe auch schon in den Datenbankeigenschaften unter dem Lineal und dem Geodreieck den Haken bei "Übernahme Gestaltung aus Masterschablone übernehmen" entfernt. Leider alles ohne erfolg.
Ralf
edit:
Im Template war wie Du aber vermutet hast, eingestellt dass der Agent auf Server1 läuft. Habe die Agenten im Template mal auf den Server2 eingestellt. Wobei das aber doch keine Auswirkungen haben dürfte, wenn der Design Task deaktiviert ist und auf der Haken bei "Gestaltung aus Masterschablone übernhmen" entfernt ist.
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln