Ergebnis 1 bis 4 von 4

Thema: Mailversand "überschreibt" sich selber

  1. #1
    Registriert seit
    22.04.2003
    Beiträge
    146

    Mailversand "überschreibt" sich selber

    Hallo!

    Bei meinem Meldungsversand mit Poc32 schreibe ich die Meldung zuerst in eine Textdatei, dnach wird diese Textdatei mittels asiasci.exe in eine andere Textdatei umgewandelt und diese dann mittels cssmtp.exe verschickt.

    Das Problem ist nun folgendes. Der Versand der Meldung dauert ca 2-3 Sekunden. Ich bekomme eine Meldung rein und die Batch wird abgearbeitet. Unmittelbar danach kommt die Meldung ein zweites mal, etwas abgehackt, rein. Während der erste Versand läuft beginnt der zweite Versand und überschreibt die Datei die versendet werden soll. Somit bekomm ich die Meldung nur noch abgehackt raus......

    Hat irgendjemand eine Idee dazu?

  2. #2
    Registriert seit
    07.05.2008
    Beiträge
    587
    Moin,

    bau dir in deine Batch zum schluss bevor diese beendet werden würde eine Wartezeit mit PING oder die elegante Form mit Wait.exe ( google ) ein. Diese muss von der Länge auf dein Auswerteverhalten angepasst werden

    //** 10 Sek warten damit nicht öfter / gleichzeitig mehrere Versendungen erfolgen !
    C:\POC32\Wait.exe\Wait.exe -t 10000

    Am Anfang der Batch musst du dann noch eine Abfrage einsetzen:

    //** Hauptabfrage zur Unterdrückung mehrerer Alarmierungen / Versendungen + Unterdrückung Probealarme !
    IF EXIST c:\Poc32\Alarmtext\LöschzugSMS.txt ( GOTO EXIT) else ( GOTO PROBE )

    Label setzen in der Batch an den jeweiligen Bereichen mittels :PROBE oder :EXIT ( das sind dann die "Sprungmarken" zu denen gegangen wird. )

    Wird die Batch ein zweites mal aufgerufen solange die erste Batch das TXT welches den Mailtext verarbeitet noch nicht gelöscht hat erfolgt kein zweiter Alarm und der zweite geöffnete Ablauf wird sofort beendet.

    MFG Beatzler

  3. #3
    Registriert seit
    22.04.2003
    Beiträge
    146
    Danke!

    hast mir ein paar gute inputs gegeben.

    ich habe es jetzt folgendermaßen aufgebaut.

    :START
    if exist c:\mail\busy.txt goto :WARTEN
    echo Mailversand_läuft! > c:\mail\busy.txt

    =>hier ist der mailversand

    del c:\mail\busy.txt
    goto :END

    :WARTEN
    c:\mail\wait.exe 500
    goto :START

    :END

    ich muß das dann noch testen, könnte aber funktionieren, oder?

  4. #4
    Registriert seit
    07.05.2008
    Beiträge
    587
    Hey,

    sieht schonmal nicht sooo schlecht aus!

    Ich würde das ganze aber ggf. festlegen! Einfach mal POCSAG beobachten und sagen so nach X Sekunden kommt erst der nächste Alarm wieder rein frühestens etc.

    Wenn du es so lässt würde nur für die Zeit in der der Mailversand abgearbeitet wird ein neuer Versand unterdrückt.

    Ist der Versand fertig und es wird z.B. nochmal der gleiche Alarm kurzzeitig danach ausgewertet ( anderer DAU etc. ) würde der Mailversand direkt nochmal losrennen und auch abgearbeitet werden, um den Fall zu unterbinden:

    *Sinngemäß*
    --> Start inkl. Abfrage etc.
    ----> Mailversand
    -----> Pause mit fest eingestellter Zeit
    ------->txt löschen
    ---------> FERTIG

    MFG Beatzler

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •