Klaus: mehrere Seiten/Frames zeitgesteuert starten

Hallo,

seit bereits geraumer Zeit verwende ich den META-Refresh Tag, um Frames zeitgesteuert erneut aufzurufen.
Leider hat sich in letzter Zeit vermehrt gezeigt, dass dieser Refresh nicht mehr verlässlich funktioniert.
Zusätzlich gibts das Problem, wenn mal ein Frame ein Fehler produziert (Seite nicht erreichbar oder ähnliches), dann funktioniert auch dieser Refresh nicht mehr.

Da ich zudem auch langsam die Übersicht verliere, was wann in welchem Frame aufgerufen wird, würde ich gerne diesen ganzen Prozess umstellen.

Ich stelle mir vor, dass eine Seite gibt, die den Zeitgeber beinhaltet und prüft, ob was und wann gestartet werden soll und dann diese Seite/Frame aktualisiert. Damit müsste ich das Problem der Fehler im Frame doch schon ausgemerzt haben.
Außerdem wäre es auch toll, wenn ich damit eine Anzeige einbauen kann, die angibt, wann die Seite das letzte Mal geladen wurde und wie lange es vorraussichtlich bis zum nächsten Start dauert.
Ich hätte alles übersichtlich in einer Seite und es leichter zu pflegen.

Die Frage ist nun, wie ich solch einen Zeitgeber am besten umsetze, damit ich möglichst flexibel bleibe, was die Ausführungszeit betrifft. Es gibt Seiten, die alle 60 Sekunden aufgerufen werden müssen, andere all 15 Minuten, einige nur einmal am Tag und manche auch nur 1 Mal die Woche.

Habt ihr vielleicht Ideen oder Anregungen bevor ich mich an dieses Thema wage?

Klaus

  1. Habt ihr vielleicht Ideen oder Anregungen bevor ich mich an dieses Thema wage?

    wget, Scheduled Task, cron(job).

    1. Habt ihr vielleicht Ideen oder Anregungen bevor ich mich an dieses Thema wage?

      wget, Scheduled Task, cron(job).

      1. hatte ich vielleicht vergessen zu erwähnen: Plattform: Windows
      2. Sollen zum großen Teil die Ergebnisse auch angezeigt werden. Das heisst, die Seiten müssen auf einem Client aufgerufen werden. Idealerweise innerhalb eines Framesets

      1. wget, Scheduled Task, cron(job).

        1. hatte ich vielleicht vergessen zu erwähnen: Plattform: Windows

        Solange du nicht Windows 3.11 Verwendest, ist das kein Problem - Scheduled Tasks gibt es seit Windows 95 (nur heißen die Dinger erst seit Windows 98 so).

        wget gibts auch für Windows.

        1. Sollen zum großen Teil die Ergebnisse auch angezeigt werden.

        Man kann auch VBScript per Scheduled Tasks ausführen lassen oder ein Kommandozeilen-Fenster öffnen wo die Ergebnisse ausgegeben werden.

        Ein Browser ist dafür nicht wirklich notwendig.

        Das heisst, die Seiten müssen auf einem Client aufgerufen werden. Idealerweise innerhalb eines Framesets

        Ich verstehe den Sinn dahinter immer noch nicht - gibts dafür ein anschauliches Beispiel?

        1. wget, Scheduled Task, cron(job).

          1. hatte ich vielleicht vergessen zu erwähnen: Plattform: Windows

          Solange du nicht Windows 3.11 Verwendest, ist das kein Problem - Scheduled Tasks gibt es seit Windows 95 (nur heißen die Dinger erst seit Windows 98 so).

          wget gibts auch für Windows.

          1. Sollen zum großen Teil die Ergebnisse auch angezeigt werden.

          Man kann auch VBScript per Scheduled Tasks ausführen lassen oder ein Kommandozeilen-Fenster öffnen wo die Ergebnisse ausgegeben werden.

          Ein Browser ist dafür nicht wirklich notwendig.

          Das heisst, die Seiten müssen auf einem Client aufgerufen werden. Idealerweise innerhalb eines Framesets

          Ich verstehe den Sinn dahinter immer noch nicht - gibts dafür ein anschauliches Beispiel?

          Das anschauliche Beispiel kann ich Dir leider nicht zeigen, da es im Intranet ist, aber den Verwendungszweck erläutere ich Dir gerne:

          Ein Reihe von Servern schickt per FTP regelmäßig Text-Dateien über verschiedenste Werte. Zum Teil einfach die Auslastung (die dann z.T auch noch in einer Tabelle nachgehalten wird), ob bestimmte Dienste gestartet sind oder auch freier Plattenplatz. Andererseits auch schon etwas komplexere Dinge, wie Resttoner aller Netzwerkdrucker, Anzahl Ausdrucke oder Anzahl gesendeter Faxe, empfangener Mails und wieviel % Spam, abgelehnte Verbindungsversuche der Firewall und Tests über RFC ins SAP.
          Letztlich werden auch Dinge geprüft, die nicht in anschlaulichen Diagrammen, Kurven und Zahlen auf mehreren Überwachungsschirmen dargestellt werden, sondern ledigliche eine Mail rausschicken (oder gar SMS).

          Für einiges gibt es sicherlich auch freie oder teure Software, die aber nie genau das macht, was wir brauchen oder mit ähnlichem hohem Aufwand.

          Insgesamt sind es im Moment 7 Frames, die aber zig Dinge kontrollieren und anzeigen.

          Und das alles würde ich gerne zentral über eine Datei steuern. Dann muss man auch nur an einer Stelle suchen und nicht das eine hier und das andere dort.
          Ich weiß nicht, ob eine Steuerung per Javascript (Timer) und Ajax (Aktualisierung der Frames) die richtige Lösung wäre ??

          1. Hi!

            Ich weiß nicht, ob eine Steuerung per Javascript (Timer) und Ajax (Aktualisierung der Frames) die richtige Lösung wäre ??

            Wo waere denn da der grosse Unterschied?

            Gibt es nicht die Moeglichkeit Alle Daten in einer Datei zu sammeln und zu verarbeiten? Dann kannste Dir die Frames sparen. Du koenntest z.B. per scheduled Task die per FTP deine Daten geplant herunterladen. Dann hast Du genau Programm, dass diese Dateien verarebitet und meinetwegen alle 10 Skeunden aufgerufen wird. Die Performance dieses Programms kann man durch pruefen des Alters der Daten verbessern. Oder du verarbeitest Deine Daten gleich mit den scheduled Tasks und rufst einfach dauernd deine Ergebnisse ab.

            Nur ein Fenster. Keine Frames. Alles uebersichtlich.

            Sowas machen wir hier dauernd. Wir haben einen PC der 24/7 laeuft und auch von den automatischen restarts nach Updates befreit wurde. Der macht nichts anderes als automatisiert Daten zu holen, zu verwerten und bereit zu stellen (z.B. wieder per FTP hochzuladen).

            --
            Ich bin dafuer verantwortlich was ich sage, nicht dafuer, was Du verstehst.
            1. Hi!

              Ich weiß nicht, ob eine Steuerung per Javascript (Timer) und Ajax (Aktualisierung der Frames) die richtige Lösung wäre ??

              Wo waere denn da der grosse Unterschied?

              Der Unterschied wäre, dass die Frames nicht mehr selber für den Reload verantwortlich wären sondern zentral gesteuert wird.

              Gibt es nicht die Moeglichkeit Alle Daten in einer Datei zu sammeln und zu verarbeiten? Dann kannste Dir die Frames sparen. Du koenntest z.B. per scheduled Task die per FTP deine Daten geplant herunterladen. Dann hast Du genau Programm, dass diese Dateien verarebitet und meinetwegen alle 10 Skeunden aufgerufen wird. Die Performance dieses Programms kann man durch pruefen des Alters der Daten verbessern. Oder du verarbeitest Deine Daten gleich mit den scheduled Tasks und rufst einfach dauernd deine Ergebnisse ab.

              Nur ein Fenster. Keine Frames. Alles uebersichtlich.

              Die Verarbeitung bestimmter Daten dauert schon mal mehrere Minuten (z.B. die Informationen über SNMP von fast 400 Druckern abzurufen. Eine einzelne Datei, die alle Protokolle und Dateien verarbeitet würde einfach viel zu lange dauern. Manche sollen ja alle 60 Sekunden laufen.

              Sowas machen wir hier dauernd. Wir haben einen PC der 24/7 laeuft und auch von den automatischen restarts nach Updates befreit wurde. Der macht nichts anderes als automatisiert Daten zu holen, zu verwerten und bereit zu stellen (z.B. wieder per FTP hochzuladen).

              Ist warscheinlich nicht ganz so komplex mit so vielen Schnittstellen wie bei mir (FTP, RFC, COM, SNMP, Syslog, SMTP, ...)

              1. Moin!

                Die Verarbeitung bestimmter Daten dauert schon mal mehrere Minuten (z.B. die Informationen über SNMP von fast 400 Druckern abzurufen. Eine einzelne Datei, die alle Protokolle und Dateien verarbeitet würde einfach viel zu lange dauern. Manche sollen ja alle 60 Sekunden laufen.

                Perfekt. Dann machstes so, wie ich gesagt habe: Schreibe für jede Aufgabe ein Programm, das sich die Daten holt, verarbeitet und dann zur Verfügung stellt. Für jedes Tool erstellst Du einen scheduled task. Je nach Umfang dieser Aufgaben kannst Du ja sogar einen eigenen PC dafür benutzen, falls möglich.

                In deinem Fenster haast Du dann nur noch eine kleine Applikation, die diese vorhandenen Daten darstellt.

                Sowas machen wir hier dauernd. Wir haben einen PC der 24/7 laeuft und auch von den automatischen restarts nach Updates befreit wurde. Der macht nichts anderes als automatisiert Daten zu holen, zu verwerten und bereit zu stellen (z.B. wieder per FTP hochzuladen).

                Ist warscheinlich nicht ganz so komplex mit so vielen Schnittstellen wie bei mir (FTP, RFC, COM, SNMP, Syslog, SMTP, ...)

                *lacht* Dazu sag ich nichts. Es sind aber mit ziemlicher Sicherheit ein paar mehr Daten die da verwurstet werden.

                --
                Ich bin dafuer verantwortlich was ich sage, nicht dafuer, was Du verstehst.
  2. Hallo,

    Du könntest in der übergeordneten Seite (welche das Frameset beinhaltet) ertsmal ein (assoziatives) Array mit den Angaben zu jedem Frame definieren (Name, aufzurufende Adresse, Interval, letzter Aufruf).

    Weiterhin schreibst Du eine Funktion, die sich selbst in einem bestimmten Interval (z.B. 60 Sekunden) immer wieder aufruft. In dieser Funktion gehst Du das o.g. Array durch und überprüft anhand des aktuellen Timestamps, des Intervals und des letzten Aufrufs für jeden Frame, ob dieser aktualisiert werden muss - und machst das ggf. via "parent.frames[...].location.href='...'"

    Grüße Basti