AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Automatisieren von Web-Aktualisierungen
Thema durchsuchen
Ansicht
Themen-Optionen

Automatisieren von Web-Aktualisierungen

Ein Thema von capo · begonnen am 21. Nov 2008 · letzter Beitrag vom 26. Nov 2008
Antwort Antwort
Seite 1 von 2  1 2      
capo

Registriert seit: 7. Jul 2006
453 Beiträge
 
Delphi 11 Alexandria
 
#1

Automatisieren von Web-Aktualisierungen

  Alt 21. Nov 2008, 02:41
[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
Hotte
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Automatisieren von Web-Aktualisierungen

  Alt 21. Nov 2008, 06:05
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
  Mit Zitat antworten Zitat
21. Nov 2008, 06:06
Dieses Thema wurde von "Matze" von "VCL / WinForms / Controls" nach "Internet / LAN / ASP.NET" verschoben.
Ich denke, das passt hier besser hin.
capo

Registriert seit: 7. Jul 2006
453 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Automatisieren von Web-Aktualisierungen

  Alt 21. Nov 2008, 10:46
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
Hotte
  Mit Zitat antworten Zitat
capo

Registriert seit: 7. Jul 2006
453 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Automatisieren von Web-Aktualisierungen

  Alt 21. Nov 2008, 14:12
Bzw. reicht es aus wenn IDHttp den Prozess anschubst und dann den Kontakt zu dem Script beendet?
Viele Grüße
Capo
Hotte
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#6

Re: Automatisieren von Web-Aktualisierungen

  Alt 21. Nov 2008, 14:56
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.
  Mit Zitat antworten Zitat
capo

Registriert seit: 7. Jul 2006
453 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Automatisieren von Web-Aktualisierungen

  Alt 21. Nov 2008, 23:42
Zitat von nahpets:
Ein Programm und ein Server?
Ja, ein Server und ein Programm (das auf einem anderen Rechner läuft).


Zitat von nahpets:
Das Programm soll dem Server für n Jobs den Anstoß geben, etwas zu tuen?
Ja, einen Anstoß geben.
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
Hotte
  Mit Zitat antworten Zitat
capo

Registriert seit: 7. Jul 2006
453 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Automatisieren von Web-Aktualisierungen

  Alt 23. Nov 2008, 13:53
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
Hotte
  Mit Zitat antworten Zitat
capo

Registriert seit: 7. Jul 2006
453 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Automatisieren von Web-Aktualisierungen

  Alt 23. Nov 2008, 19:44
Hallo...ich brauche dringend Hilfe, evtl. nerve ich damit jetzt auch, aber es ist wirklich dringend.
Hotte
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Automatisieren von Web-Aktualisierungen

  Alt 23. Nov 2008, 21:06
Hallo Capo!

Ich habe jetzt nur folgendes gelesen:
Zitat von capo:
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?
Theoretisch sollte das schon gehen. Du könntest die Komponente dynamisch erstellen und einem Array zuweisen, um diese leicht ansprechen zu können. Nur finde ich das keine saubere Möglichkeit.

Grob könnte das so aussehen:

Delphi-Quellcode:
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;
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.
In dem Fall wäre "finally" natürlich überflüssig.

Evtl. hilft's, evtl. nicht. Viel Erfolg.

Grüße, Matze
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz