Server machine is 32 cores 64 GB RAM :) WSGI limitation is bad at concurrency right? I am thinking to move to more Concurrent setup. Coz version 1 of this software gonna use Qooxdoo for UI and there will be a lot more concurrency.
What are the advantages of uwsgi can use uevent right? On Thu, Sep 29, 2011 at 12:40 AM, Michele Comitini < michele.comit...@gmail.com> wrote: > Can you try with a setup without rocket? I.e. scgi or uwsgi or fastcgi. > Is the server machine multicore? > > mic > Il giorno 28/set/2011 18:48, "Phyo Arkar" <phyo.arkarl...@gmail.com> ha > scritto: > > > Happened once again > > > > THis time 1st json request went ok and another request failed like it > > did before. > > > > On 9/28/11, Phyo Arkar <phyo.arkarl...@gmail.com> wrote: > >> Yeah i love screen coz i can search back easily and interactively debug > >> infos. > >> > >> Yes its doing concurrent , the problem happen again yesterday but just > >> for once , and gone away again. > >> > >> Theres 2 Grid (jqGrid) in one page , they request 2 json response from > >> that controller but from different function at Once. > >> > >> On 9/28/11, Michele Comitini <michele.comit...@gmail.com> wrote: > >>> No way is not bad practice IMHO screen is a great tool. > >>> So we can exclude the problem of stdout buffer full. > >>> Seems something low level. > >>> > >>> Is the client doing concurrent queries? > >>> > >>> mic > >>> > >>> > >>> > >>> 2011/9/27 Phyo Arkar <phyo.arkarl...@gmail.com>: > >>>> Web2py is ran inside screen. coz my app is not production-stable yet > >>>> and want to debug. I print out some debug messages and can track back > >>>> inside screen (i know i know , its bad practice :D) > >>>> > >>>> may be coz of that? > >>>> > >>>> On 9/27/11, Michele Comitini <michele.comit...@gmail.com> wrote: > >>>>> I would begin to remove possible environmental causes... ;) > >>>>> Other questions: > >>>>> 4) Do you run web2py.py attached to a tty? > >>>>> 5) Do you redirect standard output from web2py or leave it on the > tty? > >>>>> > >>>>> The questions are because I see some print statements that could hang > >>>>> IO on a thread if the web2py process is not properly detached from > the > >>>>> terminal. > >>>>> If that is the case use nohup and try to see what happens. > >>>>> > >>>>> wrong: > >>>>> $ python web2py.py <options> & > >>>>> > >>>>> right: > >>>>> $ nohup python web2py.py <options> & > >>>>> > >>>>> If nothing changes... well... other questions! > >>>>> > >>>>> > >>>>> mic > >>>>> > >>>>> 2011/9/27 Phyo Arkar <phyo.arkarl...@gmail.com>: > >>>>>> It cannot be reproduced .. > >>>>>> > >>>>>> On 9/27/11, Phyo Arkar <phyo.arkarl...@gmail.com> wrote: > >>>>>>> its not the same warning notices , client recieves 0 byte and timed > >>>>>>> out at brower side looking at firebug. > >>>>>>> > >>>>>>> On 9/27/11, Massimo Di Pierro <massimo.dipie...@gmail.com> wrote: > >>>>>>>> Other than the error, do you see wrong behavior from the browser? > >>>>>>>> I do not not believe that there is anything wrong as we ship the > >>>>>>>> "official" rocket. We are just printing an exception that before > was > >>>>>>>> being ignored. > >>>>>>>> > >>>>>>>> Massimo > >>>>>>>> > >>>>>>>> On Sep 26, 2:47 pm, Phyo Arkar <phyo.arkarl...@gmail.com> wrote: > >>>>>>>>> Hello Web2py. > >>>>>>>>> > >>>>>>>>> Rocket server was very well stable for me until today , after 2 > >>>>>>>>> weeks of update and while testing usual Json output which was > never > >>>>>>>>> changed and working fine fore 8 months. > >>>>>>>>> > >>>>>>>>> This happens! > >>>>>>>>> > >>>>>>>>> ERROR:Rocket.Errors.Thread-6:Unhandled Error when serving > >>>>>>>>> connection: > >>>>>>>>> Traceback (most recent call last): > >>>>>>>>> > >>>>>>>>> File "/root/web2py/gluon/rocket.py", line 1064, in run > >>>>>>>>> self.run_app(conn) > >>>>>>>>> > >>>>>>>>> File "/root/web2py/gluon/rocket.py", line 1552, in run_app > >>>>>>>>> self.write(data, sections) > >>>>>>>>> > >>>>>>>>> File "/root/web2py/gluon/rocket.py", line 1472, in write > >>>>>>>>> self.send_headers(data, sections) > >>>>>>>>> > >>>>>>>>> File "/root/web2py/gluon/rocket.py", line 1456, in send_headers > >>>>>>>>> self.conn.sendall(b(header_data)) > >>>>>>>>> > >>>>>>>>> File "/usr/lib/python2.7/socket.py", line 224, in meth > >>>>>>>>> return getattr(self._sock,name)(*args) > >>>>>>>>> > >>>>>>>>> error: [Errno 32] Broken pipe > >>>>>>>>> > >>>>>>>>> and it is on and off randomly. > >>>>>>>>> > >>>>>>>>> Why? > >>>>>>>>> > >>>>>>>>> heres my Json Controller : > >>>>>>>>> > >>>>>>>>> def rows(): > >>>>>>>>> > >>>>>>>>> if REQUEST.vars.db_name: > >>>>>>>>> casesdb = DAL( 'mysql://root@localhost/' + > >>>>>>>>> REQUEST.vars.db_name ) > >>>>>>>>> casesdb.define_table( 'email_data', migrate = > >>>>>>>>> False, > >>>>>>>>> *email_halfschema ) > >>>>>>>>> casesdb.define_table( 'loosefile_data', migrate = > >>>>>>>>> False, > >>>>>>>>> *file_halfschema ) > >>>>>>>>> casesdb.define_table( 'attach_data', migrate = > >>>>>>>>> False, > >>>>>>>>> *file_halfschema ) > >>>>>>>>> elif SESSION.db_name: > >>>>>>>>> casesdb = DAL( 'mysql://root@localhost/' + > >>>>>>>>> SESSION.db_name > >>>>>>>>> ) > >>>>>>>>> casesdb.define_table( 'email_data', migrate = > >>>>>>>>> False, > >>>>>>>>> *email_halfschema ) > >>>>>>>>> casesdb.define_table( 'loosefile_data', migrate = > >>>>>>>>> False, > >>>>>>>>> *file_halfschema ) > >>>>>>>>> casesdb.define_table( 'attach_data', migrate = > >>>>>>>>> False, > >>>>>>>>> *file_halfschema ) > >>>>>>>>> > >>>>>>>>> fields = ['id', 'filePath', 'fileName', 'cus', 'sentto',\ > >>>>>>>>> 'emailFrom', 'subject', 'cc', 'bcc', > >>>>>>>>> 'extracted', > >>>>>>>>> 'hdrs',\ > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > 'DateTime','OriginalDateTime','TimeZone','reply_to',"master",'duplicated',' > >>>>>>>>> MD5Hash','msgID','fqdn'] > >>>>>>>>> rows = [] > >>>>>>>>> page = int( request.vars.page ) > >>>>>>>>> > >>>>>>>>> max = request.vars.totalrows > >>>>>>>>> if max: > >>>>>>>>> pagesize = int( max ) > >>>>>>>>> else: > >>>>>>>>> pagesize = int( request.vars.rows ) > >>>>>>>>> print pagesize > >>>>>>>>> limitby = ( page * pagesize - pagesize, page * pagesize ) > >>>>>>>>> # limitby = ( 1, 25 ) > >>>>>>>>> print "str( page * pagesize - pagesize )" + str( page * > >>>>>>>>> pagesize > >>>>>>>>> - > >>>>>>>>> pagesize ) + " limitby " + str( page * pagesize ) > >>>>>>>>> # orderby = request.vars.sidx > >>>>>>>>> orderby = casesdb.email_data[request.vars.sidx] > >>>>>>>>> print orderby > >>>>>>>>> if request.vars.sord == 'desc': > >>>>>>>>> orderby = ~orderby > >>>>>>>>> > >>>>>>>>> query = casesdb.email_data.id > 0 > >>>>>>>>> > >>>>>>>>> for r in casesdb( query ).select( orderby = orderby, > >>>>>>>>> limitby > >>>>>>>>> = > >>>>>>>>> limitby ): > >>>>>>>>> vals = [] > >>>>>>>>> for f in fields: > >>>>>>>>> if f == 'extracted': > >>>>>>>>> vals.append( _sentisize(r[f]) ) > >>>>>>>>> else : > >>>>>>>>> vals.append( r[f] ) > >>>>>>>>> rows.append( dict( id = r.id, cell = vals ) ) > >>>>>>>>> > >>>>>>>>> total = casesdb( query ).count() > >>>>>>>>> print total > >>>>>>>>> if total % pagesize >0: > >>>>>>>>> pages = int( total / pagesize ) +1 > >>>>>>>>> else: > >>>>>>>>> pages = int( total / pagesize ) > >>>>>>>>> #if total % pagesize == 0: pages -= 1 > >>>>>>>>> data = dict( total = pages, page = page, rows = rows ) > >>>>>>>>> return data > >>>>>>> > >>>>>> > >>>>> > >>>> > >>> > >> >