VJ

I agree web2py + rocket is a good way to go about this.

But, in the documentation I believe it is recommended to not use Rocket for 
a production server.  If running on linux I believe nginx is the best place 
choice for a web server.  Yes, it is more complicated to setup, but in th 
end you're going to have a more reliable web stack.

That being said, I have 3 production servers running my app.  One uses 
nginx (Server A) and the other 2 (Servers B and C) use Rocket.  However, I 
front-end servers B and C with haproxy to load balance between the two 
running rocket.  I don't know what the issue is, but at least every few 
days I have to restart servers B and C because they lock up.  I haven't 
been able to find any messages when this happens so I haven't been able to 
trouble-shoot yet.  My plans are to rebuild these servers with nginx 
instead of rocket.

TLDR;

Rocket is great for development work, but I'd recommend using nginx in a 
production environment based on the recommendation in the book and on my 
own experience.

-Jim

On Friday, April 24, 2020 at 6:00:41 AM UTC-5, VJ Sosa wrote:
>
> Hi Jim and Clemen,
>
> I really appreciate your support and time.
> I'm newbie in python programming, so my idea was to have an easy 
> implementation of my wepapp using web2py + Rocket (it was an excelent 
> option for me until this issue with Rocket arised). 
> So, I have decided to leave Rocket out of the equation and try to  move 
> into the Apache or Nginx configuration, which implies to include  a little 
> more stuff, 
> so I hope to be able of migrating my webapp soon.
>
> Just in case,  if you found any solution for this Rocket issue with Python 
> 3 in web2py, it will be welcome. I'm  still convinced that Web2py + Rocket 
> is the best option for faster development of webapps in Python.
>
> Regards,
> Víctor.
>
>
>
>
>
>
> El viernes, 24 de abril de 2020, 9:57:16 (UTC+2), Clemens escribió:
>>
>> Hello,
>>
>> it seems that there are some problems with rocket under Python 3.x. As 
>> posted a few weeks ago I have the following problem:
>>
>> *I've switched my web2py app from python2 to python3. The app itself 
>> works fine, but the web2py online debugger doesn't work anymore and is 
>> mostly freezing. Sometimes a get the following error message:*
>>
>> *Exception timeout: timeout('timed out',)*
>>
>> *Traceback (most recent call last): File "/usr/lib/python3.6/socket.py"**, 
>> line 586, in readinto return self._sock.recv_into(b) socket.timeout: timed 
>> out*
>>
>> *My configuration is as follows:*
>>
>> *web2py 2.19.1-stable+timestamp.2020.**03.21.21.49.28 (Running on Rocket 
>> 1.2.6, Python 3.6.9), Ubuntu 18.04 LTS*
>>
>> Do you have this problem too? Since this problem also depends on sockets, 
>> maybe this is a hint to a solution for "your" problem mentioned here. Of 
>> course I hope the solution would solve "my" problem too.
>>
>> In the meantime I've established short script switching between Python 
>> 2.x and 3.x. Means, using Python3 as long as I don't have to use the 
>> debugger and switching to Python 2 if required. The script is running 
>> under Linux. Any interest?
>>
>>
>> Best regards
>>
>> Clemens
>>
>>
>>
>> On Thursday, April 23, 2020 at 10:24:36 PM UTC+2, Jim S wrote:
>>>
>>> VJ
>>>
>>> I just ran a test and can confirm I'm getting the same results as you.
>>>
>>> I just cloned the latest web2py from git.
>>>
>>> I ran under Python 2.7 and it worked fine.
>>> Running under Python 3.7 and I get results like you.
>>>
>>> To do a little debugging, I put a print statement ahead of line 105 in 
>>> gluon/rocket.py -> print('socket_tuple', socket_tuple)  I get the following:
>>>
>>> Python 2.7
>>> ('sock_tuple', (<socket._socketobject object at 0x7f09d9a4eb40>, (
>>> '127.0.0.1', 32984)))
>>> ('sock_tuple', (<ssl.SSLSocket object at 0x7f09d91f20d0>, ('127.0.0.1', 
>>> 32986)))
>>> ('sock_tuple', (<socket._socketobject object at 0x7f09d9a4ed70>, (
>>> '127.0.0.1', 32988)))
>>> ('sock_tuple', (<socket._socketobject object at 0x7f09c84ee750>, (
>>> '127.0.0.1', 32990)))
>>> ('sock_tuple', (<ssl.SSLSocket object at 0x7f09c84ec5d0>, ('127.0.0.1', 
>>> 32992)))
>>> ('sock_tuple', (<ssl.SSLSocket object at 0x7f09c84ec350>, ('127.0.0.1', 
>>> 32994)))
>>>
>>> Python 3.7
>>> sock_tuple (<socket.socket [closed] fd=-1, family=AddressFamily.AF_INET, 
>>> type=SocketKind.SOCK_STREAM, proto=0>, ('127.0.0.1', 33048))
>>> sock_tuple (<ssl.SSLSocket fd=5, family=AddressFamily.AF_INET, type=
>>> SocketKind.SOCK_STREAM, proto=0, laddr=('127.0.0.1', 8000), raddr=(
>>> '127.0.0.1', 33050)>, ('127.0.0.1', 33050))
>>> sock_tuple (<socket.socket [closed] fd=-1, family=AddressFamily.AF_INET, 
>>> type=SocketKind.SOCK_STREAM, proto=0>, ('127.0.0.1', 33052))
>>> sock_tuple (<socket.socket [closed] fd=-1, family=AddressFamily.AF_INET, 
>>> type=SocketKind.SOCK_STREAM, proto=0>, ('127.0.0.1', 33054))
>>> sock_tuple (<socket.socket [closed] fd=-1, family=AddressFamily.AF_INET, 
>>> type=SocketKind.SOCK_STREAM, proto=0>, ('127.0.0.1', 33056))
>>> sock_tuple (<socket.socket [closed] fd=-1, family=AddressFamily.AF_INET, 
>>> type=SocketKind.SOCK_STREAM, proto=0>, ('127.0.0.1', 33058))
>>> sock_tuple (<socket.socket [closed] fd=-1, family=AddressFamily.AF_INET, 
>>> type=SocketKind.SOCK_STREAM, proto=0>, ('127.0.0.1', 33062))
>>> sock_tuple (<socket.socket [closed] fd=-1, family=AddressFamily.AF_INET, 
>>> type=SocketKind.SOCK_STREAM, proto=0>, ('127.0.0.1', 33064))
>>> sock_tuple (<ssl.SSLSocket fd=4, family=AddressFamily.AF_INET, type=
>>> SocketKind.SOCK_STREAM, proto=0, laddr=('127.0.0.1', 8000), raddr=(
>>> '127.0.0.1', 33066)>, ('127.0.0.1', 33066))
>>> sock_tuple (<socket.socket [closed] fd=-1, family=AddressFamily.AF_INET, 
>>> type=SocketKind.SOCK_STREAM, proto=0>, ('127.0.0.1', 33068))
>>> sock_tuple (<socket.socket [closed] fd=-1, family=AddressFamily.AF_INET, 
>>> type=SocketKind.SOCK_STREAM, proto=0>, ('127.0.0.1', 33070))
>>> sock_tuple (<socket.socket [closed] fd=-1, family=AddressFamily.AF_INET, 
>>> type=SocketKind.SOCK_STREAM, proto=0>, ('127.0.0.1', 33072))
>>>
>>> I don't know what's going on, but can confirm that this isn't fixed.
>>>
>>> -Jim
>>>
>>>
>>> On Thursday, April 23, 2020 at 1:03:22 PM UTC-5, VJ Sosa wrote:
>>>>
>>>> Hi,
>>>>
>>>> Thanks for asking:
>>>>
>>>> Web2py Version 2.18.5-stable+timestamp.2019.04.08.04.22.03
>>>>
>>>> Python version: 3.6.9
>>>>
>>>> Regards,
>>>> Víctor
>>>>
>>>> El jueves, 23 de abril de 2020, 19:05:17 (UTC+2), Jim S escribió:
>>>>>
>>>>> What is your version of web2py?
>>>>>
>>>>> -Jim
>>>>>
>>>>> On Thursday, April 23, 2020 at 11:12:02 AM UTC-5, VJ Sosa wrote:
>>>>>>
>>>>>> I have tried the same command, running web2py with python 2.7.17 and 
>>>>>> it works:
>>>>>>
>>>>>> python web2py.py -c web2py.crt -k web2py.key -i 0.0.0.0 -p 8080 
>>>>>> --nogui -a 'Password'
>>>>>>
>>>>>>
>>>>>> The problem occurs when running web2py with  python3.
>>>>>> I found the same discussion in this link < here 
>>>>>> <https://www.mail-archive.com/[email protected]/msg170386.html> >, 
>>>>>> but it seems that the error still persists.
>>>>>> Any help? 
>>>>>>
>>>>>> Regards,
>>>>>> Víctor.
>>>>>>
>>>>>> El jueves, 23 de abril de 2020, 14:55:21 (UTC+2), VJ Sosa escribió:
>>>>>>>
>>>>>>> Hello Everyone,
>>>>>>>
>>>>>>> Maybe this is a silly question, but I run web2py using the following 
>>>>>>> command:
>>>>>>>
>>>>>>> python3 web2py.py -i 0.0.0.0 -p 8080 --nogui -a 'Password'
>>>>>>>
>>>>>>> Everything goes well. My application is working . My application 
>>>>>>> includes an authentication part,
>>>>>>> and so far it is running on HTTP, so browsers warns me about I'm 
>>>>>>> using an insecure conexion . I was ignoring those messages so far..
>>>>>>>
>>>>>>> However,  i would like to activate the SSL conexion in the Rocket 
>>>>>>> server.
>>>>>>> I tried to execute web2py using the following command:
>>>>>>>
>>>>>>> python3 web2py.py -c web2py.crt -k web2py.key -i 0.0.0.0 -p 8080 
>>>>>>> --nogui -a 'Password'
>>>>>>>
>>>>>>> It runs, but when I try to connect to the server (my app) using my 
>>>>>>> browser:
>>>>>>> xx.xx.xx.xx:8080/myapp
>>>>>>>
>>>>>>> The browser (Chrome) tells me that it is not possible to connect to 
>>>>>>> the site.
>>>>>>> And the server part shows a list of errors, I'm including some of 
>>>>>>> them:
>>>>>>> <<<<
>>>>>>> Exception in thread Thread-2:
>>>>>>> Traceback (most recent call last):
>>>>>>>   File "/usr/lib/python3.6/threading.py", line 916, in 
>>>>>>> _bootstrap_inner
>>>>>>>     self.run()
>>>>>>>   File "/home/vsosa/Applications/web2py/gluon/rocket.py", line 1268, 
>>>>>>> in run
>>>>>>>     conn = Connection(*conn)
>>>>>>>   File "/home/vsosa/Applications/web2py/gluon/rocket.py", line 105, 
>>>>>>> in __init__
>>>>>>>     self.socket.settimeout(SOCKET_TIMEOUT)
>>>>>>> OSError: [Errno 9] Bad file descriptor
>>>>>>>
>>>>>>> Exception in thread Thread-3:
>>>>>>> Traceback (most recent call last):
>>>>>>>   File "/usr/lib/python3.6/threading.py", line 916, in 
>>>>>>> _bootstrap_inner
>>>>>>>     self.run()
>>>>>>>   File "/home/vsosa/Applications/web2py/gluon/rocket.py", line 1268, 
>>>>>>> in run
>>>>>>>     conn = Connection(*conn)
>>>>>>>   File "/home/vsosa/Applications/web2py/gluon/rocket.py", line 105, 
>>>>>>> in __init__
>>>>>>>     self.socket.settimeout(SOCKET_TIMEOUT)
>>>>>>> OSError: [Errno 9] Bad file descriptor
>>>>>>>
>>>>>>> <<<
>>>>>>>
>>>>>>> am I missing something?
>>>>>>> is this the right way to execute web2py on Rocket using SSL:
>>>>>>>
>>>>>>> python3 web2py.py -c web2py.crt -k web2py.key -i 0.0.0.0 -p 8080 
>>>>>>> --nogui -a 'Password'
>>>>>>>
>>>>>>> Thank you in advance.
>>>>>>>
>>>>>>> Best regards,
>>>>>>> Víctor
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/web2py/5a7b2319-d11b-49a7-b3df-e969d20744af%40googlegroups.com.

Reply via email to