Ankündigung

Einklappen
Keine Ankündigung bisher.

Meldung während Ladevorgang

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Quadaptor
    hat ein Thema erstellt Meldung während Ladevorgang.

    Meldung während Ladevorgang

    Hi,

    ich habe ein PHP-Script, dass ca. 20-30 Sekunden benötigt, um etwas im Browser auszugeben.

    Nun gibt es ja die Sorte von Anwendern, die das nicht merken und dann F5 (aktualisieren) drücken. Dadurch geht's dann auch nicht schneller, sondern bewirkt genau das Gegenteil. Aus diesen Grund möchte ich eine Anzeige davor einblenden, die dem ungeduldigen User mitteilt, dass die Seite gerade lädt und er sich bitte kurz gedulden soll.

    Habt ihr eine Idee, wie das zu realisieren ist?

    Ich hatte gehofft, das mit ob_start hinzubekommen, allerdings wartet die Funktion auch, bis die komplette Seite geladen ist. Gibt es noch eine andere Möglichkeit?

    Dennis

  • Gast-Avatar
    Ein Gast antwortete
    Zitat von Quadaptor
    Die Deutsche Bank verwendet zu 80% Windows auf ihren Servern. Dann kommen noch 8% OS390-Server (IBM-OS für Großrechner) hinzu. Die restlichen Prozente teilen sich OS/2 und Linux.
    Uff... Da haben sich die Händler mit den schwarzen Koffern sicher die Klinke in die Hand gegeben.

    Selbst auf Linux wäre es nicht anders möglich, weil es außer Java, C++ und evtl. C# keine anderen Sprachen Schnittstelle zu MQSeries zur Verfügung stellen.
    Dann hast Du ein Problem. Aber man kann ja auch mit Java Anwendungen schreiben, welche über einen Scheduler im Hintergrund gestartet werden und die Infos entweder als Datei oder als DB Record ablegen, so daß Du fix an die Infos rankommst. Echtzeit ist eh der falsche Begriff, wenn die Statusabfrage ca. 30 sec. dauert.

    Einen Kommentar schreiben:


  • Quadaptor
    antwortet
    Die Deutsche Bank verwendet zu 80% Windows auf ihren Servern. Dann kommen noch 8% OS390-Server (IBM-OS für Großrechner) hinzu. Die restlichen Prozente teilen sich OS/2 und Linux.

    Kann leider nicht bestimmen, wo solche Sachen laufen werden. Selbst auf Linux wäre es nicht anders möglich, weil es außer Java, C++ und evtl. C# keine anderen Sprachen Schnittstelle zu MQSeries zur Verfügung stellen.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Zitat von Quadaptor
    das Script läuft a) auf einem Windows-Rechner
    Warum suchst Du unbedingt solche vermeidbaren Probleme?

    Einen Kommentar schreiben:


  • Quadaptor
    antwortet
    Hi Meikel,

    das Script läuft a) auf einem Windows-Rechner und b) ist es mehr, als nur die Verfügbarkeit via Ping. Es werden u.a. XMLs über MQSeries verschickt und somit die entsprechenden Queues (Queue-Manager) und CICSe überprüft.

    Mit Geschwindigkeit war die Geschwindigkeit der Laufzeit gemeint.

    Dennis

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Zitat von Quadaptor
    dem Script "Beine" machen geht leider nicht. Es ist ein Monitoringtool zum Überwachen von Servern (Verfügbarkeit / Performance). Die Werte werden "on the fly" über ein Java-Servlet erstellt und in einer Datenbank (Oracle) geschrieben, die ich dann ausgebe.
    Sowas erledigt man via crontab in der Shell. Mit nmap hostname die verfügbaren Ports listen lassen und mit ping -c 1 hostname die Antwortzeit. Die Ausgaben einfach REGEXen und die Werte verwursten.

    Eine Reduzierung der Geschwindigkeit ist unmöglich.
    Falscher Bezug. Du sollst nicht die Geschwindigkeit sondern die Laufzeit reduzieren.

    Einen Kommentar schreiben:


  • Quadaptor
    antwortet
    Hi ihr beiden,

    dem Script "Beine" machen geht leider nicht. Es ist ein Monitoringtool zum Überwachen von Servern (Verfügbarkeit / Performance). Die Werte werden "on the fly" über ein Java-Servlet erstellt und in einer Datenbank (Oracle) geschrieben, die ich dann ausgebe.

    Eine Reduzierung der Geschwindigkeit ist unmöglich.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Re: Gib dir Recht

    Zitat von RcRaCk2k
    exec( "/usr/bin/php -q /var/www/htdocs/module/backend.php &" );

    Viele Grüße an meikel, der Befehl geht, und es heisst -q für Quiet.
    1. hinter -f <file> steht 'parse <file>'
    -q <file> kann man auch benutzen, allerdings verhält sich da PHP etwas anders (bin zu faul, die Unterschiede zu suchen).

    2. das CLI verschiebt bei einem & 'am Ende' nicht den Prozeß in den Hintergrund sondern es übergibt das & als Parameter an das Script.

    Wenn sowas erreicht werden soll, muß das Script ausführbar gemacht werden, in die 1. Zeile
    Code:
    #!/usr/bin/php -q
    rein und das Script über /bin/sh aufgerufen werden.
    Code:
    exec( "/bin/sh /var/www/htdocs/module/backend.php &" );

    Einen Kommentar schreiben:


  • RcRaCk2k
    antwortet
    Gib dir Recht

    Da gib ich meikel Recht.

    Es ist jedoch nicht immer einfach, schwierige Prozesse schneller zu machen.

    Vielleicht sollte man - je nach Aufgabe darüber nachdenken, die Daten irgendwie vorbereitet abzulagern und dann von dieser Quelle beziehen.

    Sollte ein Sucher im Spiel sein, welcher Daten collected, dann solltest du vielleicht einen Asynchronen Prozess starten. Dies ist allerdings nur unter Unix möglich.

    exec( "/usr/bin/php -q /var/www/htdocs/module/backend.php &" );

    Viele Grüße an meikel, der Befehl geht, und es heisst -q für Quiet. Soviel zum letzten Beitrag. Und das Prozess-Steuerungs-Modul ist standardmäßig in keiner vorkompilierten Library zu finden. Man tut sich glaub ich bei Shared Houseing ganz schön schwer, ohne SSH und ohne Rootzugriff etwas zu kompelieren.

    Mach dir eine Tabelle oder eine File, in welcher du Informationen über den aktuellen Ablauf speicherst.

    In der Hauptfile sagst du dann nur "Bitte warten bis Ihre Suchabfrage abgeschlossen ist." Dann ladest du per JavaScript alle 2 Sekunden die Seite neu.

    Viel Glück.
    Michi.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Re: Meldung während Ladevorgang

    Zitat von Quadaptor
    ich habe ein PHP-Script, dass ca. 20-30 Sekunden benötigt, um etwas im Browser auszugeben.
    [...]
    Gibt es noch eine andere Möglichkeit?
    Mach dem Script "Beine". Die Schmerzgrenze liegt bei 1-2 sec. bis max. 5 sec., wenn die Kiste "im Hochbetrieb" läuft. Solche langwierigen Berechnungen (?) mußt Du anderweitig lösen.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Es geht mit flush();
    http://de2.php.net/manual/de/function.flush.php

    Leider gibt es dabei wieder einen Haken bei unserem lieben IE. Der macht sich da selbstständig und gibt erst aus, wenn eine bestimmte Bytezahl erreicht ist. Du müsstest also noch haufenweise Leerzeichen ausgeben! Aber in allen anderen Browsern geht das!

    wilko

    Einen Kommentar schreiben:

Lädt...
X