Das Notes Forum
Domino 9 und frühere Versionen => ND8: Administration & Userprobleme => Thema gestartet von: googleschreiber am 21.08.12 - 13:58:20
-
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
-
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
-
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
-
Hallo
läuft bei euch der Design Task auf Server1 oder SErver2 und ist evtl. im Template der Agent auf Server1 eingetragen und aktiv?
-
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.
-
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.
... sollte keine Auswirkung haben, aber ich habe das Phänomen auch schon beobachtet, dass eine Schablone immer wieder eingespielt wurde, obwohl das in einer DB gar nicht aktiviert war.
Gruß
Wolfgang
-
... sollte keine Auswirkung haben, aber ich habe das Phänomen auch schon beobachtet, dass eine Schablone immer wieder eingespielt wurde, obwohl das in einer DB gar nicht aktiviert war.
Gruß
Wolfgang
Hast Du auch rausgefunden, wie man das dann beheben kann? Was mir auch noch nicht in den Kopf will ist, warum auf Server1 die Formatierung der Mail nicht passt? Gibt es Einstellungen die das verursachen könnten?
-
Hast Du auch rausgefunden, wie man das dann beheben kann?
... ich habe damals nicht lange rumgesucht, sondern einfach die Schablone vom Server genommen.
Gruß
Wolfgang
-
Hier muss es auch die Schablone sein, die sich irgendwie immer automatisch updatet. Das komische ist nur, ich habe im Template alle Agenten deaktiviert. In der Datenbank sind dann aber 2 aktiv und 2 deaktiviert jeden morgen. (Sind im Endeffekt die gleichen Agenten, nur andere Startzeiten bzw. Intervalle)
Habe nun mal im Template alle so eingestellt wie es sein soll. In der Datenbank habe ich nur die Startzeiten etwas nach hinten verschoben. Wenn dann morgen die gleichen Einstellungen in der Datenbank, wie im Template vorhanden sind, weiß ich wenigstens mal was mir da immer reinspielt.
Ralf
-
Hallo,
noch ein Hinweis zum Thema falsche Formatierung, auch wenn ich nicht ganz verstanden habe, wie sich die falsche Formatierung auswirkt (fehlen die Enter oder werden alle Dateien in ein Mail gepackt oder ?? ).
Beim Auslesen mit Open txt_file For Input As fileno kann kein Zeichensatz mitgegeben werden, sondern es wird der Default-Zeichensatz des Rechners (Server) verwendet. Besser wäre die Nutzung der Klasse NotesStream, um hier die richtige Codierung sicherzustellen.
Gruß
André
-
Welcher Server ist denn der Administrationsserver (ACL -> Erweitert)?
Max
-
Der Administrationsserver ist auf den Server2 eingestellt
-
Habe das Problem nun gefunden, warum der Server immer geändert wird.
Habe die Datenbank im Designer geöffnet, dort waren dann bei den Agenten die Haken gesetzt, dass die Gestaltung aus der Schablone übernommen werden sollen. Habe diese entfernt und nun geht es.
Vielen Dank an alle
Ralf
-
Wenn du die Haken hier rausnimmst, wirst du aber Probleme beim nächsten Update der Datenbank haben. Viel besser wäre es doch wenn du mal schauen würdest, warum die Gestaltung der Datenbank aktualisiert wird, obwohl du sagst, dass der Designtask deaktiviert ist.
Grüße
Ralf
-
Genau da liegt mein Problem ^^ Wie bzw. wo kann ich das angehen?
-
Design Task ist auf beiden Server deaktiviert.
Woher weißt Du das?
-
Am besten du durchsucht einfach das Protokoll aller Server mit der Volltextsuche nach "Design" dann solltest du das Problem schnell haben.
Grüße
Ralf