On Tuesday, January 31, 2012 9:37:54 AM UTC-5, Massimo Di Pierro wrote: > > In trunk socket timeout is 60 and this resulted in another problem. > Ctrl-C waits for 60 seconds before joining the worker processes. > Perhaps we should increate socket-timeout, catch Ctrl+C and then kill > the process instead of joining the workers. >
Note that rocket.py has two "socket timeout" settings: 1. a constant of 1 second (in web2py trunk and in rocket trunk), which is the socket timeout passed down to the python socket library. calling send() will raise an exception if not a single byte can be sent within that time. calling sendall() will raise an exception if this time has passed without being able to send a single byte (but: if it succeeds in sending 1 byte every second, sendall() will never actually time out - a 100K file will take more than 24hours!). 2. The timeout passed to the rocket initialization. This is the "monitor" timeout, which rocket will use to determine if a connection is stale (or otherwise working too slow). So the 60 seconds that affect Ctrl-C is almost unrelated to the SOCKET_TIMEOUT constant in rocket which can be used to see if sendall() is indeed the cause of the corruption problem