Das Notes Forum

Domino 9 und frühere Versionen => ND8: Administration & Userprobleme => Thema gestartet von: googleschreiber am 21.08.12 - 13:58:20

Titel: Agent ändert auszuführender Server jeden morgen
Beitrag 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
Titel: Re: Agent ändert auszuführender Server jeden morgen
Beitrag von: koehlerbv am 21.08.12 - 14:11:18
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
Titel: Re: Agent ändert auszuführender Server jeden morgen
Beitrag von: googleschreiber am 21.08.12 - 14:21:40
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
Titel: Re: Agent ändert auszuführender Server jeden morgen
Beitrag von: umi am 21.08.12 - 15:06:14
Hallo
läuft bei euch der Design Task auf Server1 oder SErver2 und ist evtl. im Template der Agent auf Server1 eingetragen und aktiv?

Titel: Re: Agent ändert auszuführender Server jeden morgen
Beitrag von: googleschreiber am 21.08.12 - 15:13:09
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.
Titel: Re: Agent ändert auszuführender Server jeden morgen
Beitrag von: Wolfgang am 21.08.12 - 15:40:59
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
Titel: Re: Agent ändert auszuführender Server jeden morgen
Beitrag von: googleschreiber am 22.08.12 - 06:57:46
Zitat
... 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?
Titel: Re: Agent ändert auszuführender Server jeden morgen
Beitrag von: Wolfgang am 22.08.12 - 09:32:46
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
Titel: Re: Agent ändert auszuführender Server jeden morgen
Beitrag von: googleschreiber am 23.08.12 - 07:05:59
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
Titel: Re: Agent ändert auszuführender Server jeden morgen
Beitrag von: it898ur am 23.08.12 - 11:15:03
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é

Titel: Re: Agent ändert auszuführender Server jeden morgen
Beitrag von: domino23 am 23.08.12 - 12:42:34
Welcher Server ist denn der Administrationsserver (ACL -> Erweitert)?

Max
Titel: Re: Agent ändert auszuführender Server jeden morgen
Beitrag von: googleschreiber am 23.08.12 - 16:02:12
Der Administrationsserver ist auf den Server2 eingestellt
Titel: Re: Agent ändert auszuführender Server jeden morgen
Beitrag von: googleschreiber am 27.08.12 - 10:13:02
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
Titel: Re: Agent ändert auszuführender Server jeden morgen
Beitrag von: Ralf_M_Petter am 27.08.12 - 11:09:57
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
Titel: Re: Agent ändert auszuführender Server jeden morgen
Beitrag von: googleschreiber am 27.08.12 - 17:15:19
Genau da liegt mein Problem ^^ Wie bzw. wo kann ich das angehen?
Titel: Re: Agent ändert auszuführender Server jeden morgen
Beitrag von: Cookie am 29.08.12 - 11:39:29
Design Task ist auf beiden Server deaktiviert.

Woher weißt Du das?
Titel: Re: Agent ändert auszuführender Server jeden morgen
Beitrag von: Ralf_M_Petter am 29.08.12 - 11:42:36
Am besten du durchsucht einfach das Protokoll aller Server mit der Volltextsuche nach "Design" dann solltest du das Problem schnell haben.

Grüße

Ralf