Anfänger-Frage: Datenbank-Cronjob oder Threading-Lösung

19/10/2008 - 15:05 von Christian Schlemmer | Report spam
Hallo,

In einer Web-Applikation, rufe ich nach einem Submit eine Seite auf, welche
vom User upgeloadete Bilder verarbeitet. Mometan habe ich es so gelöst, dass
der User nach dem Submit eine Statusanzeige sieht (die Seite welche die
Bilder verarbeitet làuft in einem versteckten iframe) und nach der
Bilderverarbeitung erfolgt ein redirect. Dies kann je nach Dateimenge ein
Weile dauern und ist davon abhàngig dass der User das Browserfenster wàhrend
der Verarbeitung offen làsst.

Jetzt möchte ich die Seite "barrierefrei" machen und die Bildverarbeitung
auslagern. Mein Lösungsansatz war, nach dem Submit den SessionId (Ordnername
mit den Bildern=SessionId) in einer Datenbank zu speichern und diese mit
einem Cronjob periodisch auszulesen und die Bildverarbeitung zu starten.

Ich hab von sogenannten Threadings gehört, wo es möglich ist dass ein Thread
im Speicher bleibt auch wenn der User das Browserfenster schliesst und dass
man damit praktisch einen Methodenaufruf im Speicher ablegen kann.

Bitte um Info, ob dass so möglich ist, oder doch besser den
Datenbank-Cronjob?

Vielen Dank.

mit Besten Grüssen,
Christian
 

Lesen sie die antworten

#1 Attila Krick
20/10/2008 - 12:54 | Warnen spam
Hi Chrstian,

der Lösungsansatz würde gehen hàtte nur für mich min. 2 Nachteile:

1. Bei hohem Aufkommen wir das System (Web-Server) unötigt stark belastet.
2. Was passiert wenn einer Deiner Threads hàngt oder abstürzt oder z.B. der
server neu gestart wird.

Ich persönlich würde sowas mit einem Windows-Dienst programmieren der
regelmàßig die Bilder in einem Ordner verarbeitet und einen Statusbericht
in der DB hinterlegt. Der Dienst könnte die Bilder liniear abarbeiten und
bei einem neustart des Server dort weiter machen wo er aufgehört hat.

Grüße

Attila

Hallo,

In einer Web-Applikation, rufe ich nach einem Submit eine Seite auf, welche
vom User upgeloadete Bilder verarbeitet. Mometan habe ich es so gelöst, dass
der User nach dem Submit eine Statusanzeige sieht (die Seite welche die
Bilder verarbeitet làuft in einem versteckten iframe) und nach der
Bilderverarbeitung erfolgt ein redirect. Dies kann je nach Dateimenge ein
Weile dauern und ist davon abhàngig dass der User das Browserfenster wàhrend
der Verarbeitung offen làsst.

Jetzt möchte ich die Seite "barrierefrei" machen und die Bildverarbeitung
auslagern. Mein Lösungsansatz war, nach dem Submit den SessionId (Ordnername
mit den Bildern=SessionId) in einer Datenbank zu speichern und diese mit
einem Cronjob periodisch auszulesen und die Bildverarbeitung zu starten.

Ich hab von sogenannten Threadings gehört, wo es möglich ist dass ein Thread
im Speicher bleibt auch wenn der User das Browserfenster schliesst und dass
man damit praktisch einen Methodenaufruf im Speicher ablegen kann.

Bitte um Info, ob dass so möglich ist, oder doch besser den
Datenbank-Cronjob?

Vielen Dank.

mit Besten Grüssen,
Christian

Ähnliche fragen