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 >>>>> >>>> >>> >> >