Re: [OT] Synchronisation Webserver/CGI-Process vs. Process

2005-11-30 Diskussionsfäden Jan Kesten

Hallo, Andreas!

> Mit einer normalen GUI wäre das einfach lösbar -> User klickt Button
> und dieser wird für die Dauer des Berechnungsvorgangs im
> nachgeschalteten Prozess inaktiv. Aber wie mache ich das mit einem
> Webserver?

a) Sessions verwenden und in der Session speichern ob der Prozess
aktuell läuft oder nicht (ich mache ähnliches mit python, cookies und
einer Datenbank dahinter). Wenn er läuft und der User schickt eine neue
Nachricht erzeugt man eine neue Seite mit entsprechdenem Hinweis. Das
nutzt jedoch nichts, wenn er einen neuen Browser aufmacht, anderen
Rechner verwendet etc. so dass er eine neue Session-ID bekommt.

b) Nutzer identifizieren und Sessions verwenden (Single-Sign-On) und
dann wie oben.

c) JavaScript bemühen und den Button abschalten (sieht man z.B. bei eBay).

d) je nach Applikation hilft Dir vielleicht auch ein Java-Applet weiter
(dann haste eine 'richtige' GUI

Cheers,
Jan




signature.asc
Description: OpenPGP digital signature


Re: [OT] Synchronisation Webserver/CGI-Process vs. Process

2005-11-30 Diskussionsfäden Andreas Pakulat
On 30.11.05 16:41:44, Andreas Boeswald wrote:
> Hi! - Absolut offtopic.

Wieso fragst du dann hier ;-)

> Mit einer normalen GUI wäre das einfach lösbar -> User klickt Button und
> dieser wird für die Dauer des Berechnungsvorgangs im nachgeschalteten
> Prozess inaktiv. Aber wie mache ich das mit einem Webserver?

Genauso? Nutze die Session um zu pruefen ob die Berechnung schon
angestossen wurde, wenn ja sende die Message nicht, wenn nicht dann
sende sie. Und wenn der Prozess seine "Fertig"-Message sendet setzt du
die entsprechende Session-Variable zurueck.

> PS: Ich weiss, das dieser Topic nicht auf diese Liste passt, aber ich
> denke, das Wissen um dieses Problem zu lösen ist hier versammelt.

Dennoch waere es sinnvoller sowas in eine HTML/CGI Liste/NG zu fragen,
dort ist noch mehr geballtes Wissen "vorhanden".

Andreas

-- 
If you think last Tuesday was a drag, wait till you see what happens tomorrow!


-- 
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: [OT] Synchronisation Webserver/CGI-Process vs. Process

2005-11-30 Diskussionsfäden Uwe Laverenz
On Wed, Nov 30, 2005 at 04:41:44PM +0100, Andreas Boeswald wrote:

> Hi! - Absolut offtopic.

Allerdings...


> Mit einer normalen GUI wäre das einfach lösbar -> User klickt Button und
> dieser wird für die Dauer des Berechnungsvorgangs im nachgeschalteten
> Prozess inaktiv. Aber wie mache ich das mit einem Webserver?

Indem Du "Sessions" benutzt und Dir innerhalb einer Session merkst, ob
der Bediener schon einmal geklickt hat oder nicht. Wie Du eine
Session-Verwaltung realisierst hängt von Deinem CGI-Script bzw. den
Möglichkeiten Deines Webservers ab (Perl oder PHP installiert etc...).

Gruss,
Uwe


-- 
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)



[OT] Synchronisation Webserver/CGI-Process vs. Process

2005-11-30 Diskussionsfäden Andreas Boeswald
Hi! - Absolut offtopic.


Ich benötige eine Lösung um folgendes zu Synchronisieren:

Weboberfläche+Webserver <=> Prozess 


Mein Webserver unterstützt CGI.
Auf der anderen Seite habe ich einen Prozess.

Webserver und Prozess kommunizieren über POSIX-Messagequeues.
Der Prozess führt eine Berechnung aus, immer wenn der User über das
Webinterfache eine Message an den Prozess schickt. 

Probleme treten immer dann auf, wenn der User mehrmals eine Aktion
auslöst, damit eine Message versendet wird.

Kann man es so sinnvoll implementieren über HTML/CGI, das der User nur
die Möglichkeit hat, genau einmal die Nachricht zu senden?

Mit einer normalen GUI wäre das einfach lösbar -> User klickt Button und
dieser wird für die Dauer des Berechnungsvorgangs im nachgeschalteten
Prozess inaktiv. Aber wie mache ich das mit einem Webserver?

Hat jemand schon mal eine Applikation entwickelt mit ähnlichem Problem?
Wie löst man soetwas?


Danke



Andreas




PS: Ich weiss, das dieser Topic nicht auf diese Liste passt, aber ich
denke, das Wissen um dieses Problem zu lösen ist hier versammelt.


-- 
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)