![]() |
Automatisieren von Web-Aktualisierungen
[Edit 1] Titel geändert
[Edit 2]Evtl. bin ich im falschen Forum. Ich möchte euch fragen wie ihr folgendes Problem lösen würdet. Ich habe einen Shop der duch verschiedene Phpscripte im Sinne von Cronjobs aktualisiert wird. Ich muss nun ein Programm realisieren welches bestimmte Jobs zu bestimmten, individuellen Zeiten durchführt. Im Programm soll eine URL und eine Zeit eingegeben werden. Der Vorgang ist immer wieder der gleiche. Eine URL wird aufgerufen und die Aktualisierung wird zu einer bestimmten Zeit durchgeführt, entweder über einen Webbrowser oder über eine Http-Komponente. Mein Problem sind die Komponenten. Ich weiß nicht wieviel Komponenten (Webbrowser, IdHttp) ich brauche, es können bis zu 50 und mehr Jobs eingegeben eingegeben werden. Ich dachte schon daran die Komponente dynamisch zu erzeugen. Was meint ihr dazu? Grüße Capo |
Re: Automatisieren von Web-Aktualisierungen
Hallo Capo,
ich würde eine einzige Komponente (idHTTP beispielsweise) nutzen und diese zu bestmmten Zeiten mit den entsprechenden URLs füttern. Falls mehrere Aktualisierungen zur gleichen Zeit ausgeführt werden sollen, könntest du diese in einer Schleife abarbeiten. Dann wäre das bei gleicher Zeit eben nicht sekundengenau. Grüße, Matze |
DP-Maintenance
Dieses Thema wurde von "Matze" von "VCL / WinForms / Controls" nach "Internet / LAN / ASP.NET" verschoben.
Ich denke, das passt hier besser hin. |
Re: Automatisieren von Web-Aktualisierungen
Hallo Matze,
danke für deinen Gedankengang. Kann man mit einer einzigen IdHttp-Komponente mehrere Dinge gleichzeitig tun und dann auch noch auf bestimmte Meldungen reagieren z.B. wenn Job erledigt ist? Wenn so ein Job gestartet wurde kann er immerhin 20-30 Minuten dauern. Gruss Capo |
Re: Automatisieren von Web-Aktualisierungen
Bzw. reicht es aus wenn IDHttp den Prozess anschubst und dann den Kontakt zu dem Script beendet?
Viele Grüße Capo |
Re: Automatisieren von Web-Aktualisierungen
Hallo,
mit Deiner Fragestellung komme ich noch nicht so recht klar: Fragen: Ein Programm und ein Server? Das Programm soll dem Server für n Jobs den Anstoß geben, etwas zu tuen? technisches: Die Zahl der gleichzeitigen HTTP-Verbindungen zwischen Client und Server ist begrenzt (2?). Wenn es darum geht, den Server nur "anzustoßen", aber keine Ergebnisse der Arbeit zu erwarten, könntest Du hergehen, per HTTP den Anstoß geben, der Server quittiert Dir sofort, dass er den Auftrag angenommen hat und arbeitet den Job im Hintergrund ab. Vom Ergebnis dieser Abarbeitung erfährst Du nichts. Hier reicht eine Komponente aus, die die Aufräge in 'ner Schleife absetzt. Musst Du in der Komponente auf die Ergebnisse warten, dann benötigst Du je Job eine Komponente. Alternativ wäre auch möglich: Eine Komponente setzt die Aufträge ab, der Server quittiert sofort "Auftrag erhalten" und legt, nachdem er den Job erledigt habt, das Ergebnisse an einer definierten Stelle ab. In einer Schleife könnten diese definierten Ablagestellen der Jobs dann wieder per HTTP abgefragt werden, bis der Client die erwünschten Ergebnisse erhält, die er dann auswerten kann. |
Re: Automatisieren von Web-Aktualisierungen
Zitat:
Zitat:
Das Programm soll einen Shopdatenbank (Mysql)aktualisieren. Es gibt mehrere Links die sozusagen Php-Dateien aufrufen die ihrerseits Daten in die Shopdatenbank importieren. Wenn ich so einen Link aufrufe (funktioniert auch über den Webbrowser) erhalte ich nach dem Import eine Nachricht (kein alert oder popup) Auch zu Begin erhalte ich eine Meldung. Müßte also mit dem Anstoß reichen, oder? Müßte ich dann mit einem Post erreichen können? Gruß Capo |
Re: Automatisieren von Web-Aktualisierungen
Hallo...
ich nochmal, ich habe nochmal darüber nachgedacht, ein Anstoß reicht doch nicht, muss die "Fertig"- Meldung doch noch weiter verarbeiten. Vergessen zu erwähnen habe ich: Über die externe Datei wird eine Mysql-Datenbank aktualisiert. Noch ein Gedanke dazu: Die URL's stehen untereinander in einem Stringgrid inkl des Zeitinterwalls. Ist es möglich für jede Zeile eine eigene IDHttp dynamisch zu erstellen? Hat jemand von Euch schonmal sowas gemacht. Evtl. ein Beispiel für mich? Freundliche Grüße Capo |
Re: Automatisieren von Web-Aktualisierungen
Hallo...ich brauche dringend Hilfe, evtl. nerve ich damit jetzt auch, aber es ist wirklich dringend.
|
Re: Automatisieren von Web-Aktualisierungen
Hallo Capo!
Ich habe jetzt nur folgendes gelesen: Zitat:
Grob könnte das so aussehen:
Delphi-Quellcode:
Ich vermute, im "finally" darf man das noch nicht freigeben, doch das könntest du im OnDestroy-Ereignis oder im finalization-Abschnitt erledigen. Theoretisch würde ich sagen, dass es nicht mal erforderlich ist, da der Owner in diesem Fall "Form1" ist und die Komponenten daher freigegeben werden, sobald Form1 freigegeben wird.
private
MyIdHTTPs: array of TIdHTTP; // ... SetLength(MyIdHTTPs, StringList.Count); for i := 0 to StringList.Count - 1 do begin MyIdHTTPs[i] := IdHTTP.Create(Form1); try MyIdHTTPs[i].Get(); // oder .Post() oder wie auch immer finally end; end; In dem Fall wäre "finally" natürlich überflüssig. Evtl. hilft's, evtl. nicht. Viel Erfolg. Grüße, Matze |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz