Domino 9 und frühere Versionen > ND8: Administration & Userprobleme

Agent ändert auszuführender Server jeden morgen

(1/4) > >>

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