On Mon, 5 Nov 2007 09:51:43 +0100 Hegedüs Ervin <airween@freemail.hu> wrote:
Hello,
Zorp 3.0.8 GPL csomagbol, Debian Etch.
A kliens elindit egy hosszabb kerest, ami egy dokumentumot general. Sajnos a fejlesztok ugy keszitettek el az alkalmazast, hogy teljesen szinkron modon fut minden, tehat ha az alkalmazas 90 percig kesziti a kimenetet, akkor az "termeszetes".
Hogy tudom lebeszelni a Zorp-ot arrol, hogy kozben lebontsa a kapcsolatot? Most 10mp utan bont, a modulban talaltam egy timeout_request-et, ami 10mp, de van egy timeout attributum is.
Tudnatok segiteni, melyik pontosan mire vonatkozik, ill. mit allitsak be?
Nem tudom, GPL-es Zorpban megy-e, nekem hasonló timeoutos problémát kellett leküzdeni kereskedelmi Zorppal (mindezt a Balabit segítségével, tehát a megoldásért őket illeti a köszönet). Ehhez én a Zorp által alapból nem használt tcp keepalive-ot használtam fel, mégpedig egy új proxyosztállyal, amely az alábbi módon néz ki: import socket from socket import * def config(self): s = socket.fromfd(self.session.client_stream.fd, socket.AF_INET, socket.SOCK_STREAM) <<<< ez itt egy sor! s.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1) Ez a kliens oldal felé úgy nyitja meg a socketet, hogy a keepalive értéket (azaz hogy kell-e keepalive-okat küldeni) beállítja, nekem ez kellett, gondolom a tofd a server oldali descriptor, tehát értelemszerűen módosítható. Ezek után a /proc/sys/net/ipv4/tcp_keepalive_time értéket célszerű átállítani valami neked megfelelőre a defaultról, és utána a fenti proxy timeoutját akár végtelenre is állíthatod. -- Friczy 'Death is not a bug, it's a feature'