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

Reply via email to