Yea, it is sqlite db. May it cause the trouble? Thanks Jan.

Dne pondělí, 4. června 2012 21:53:20 UTC+2 mcm napsal(a):
>
> @Jan 
>
> are you using sqlite? 
>
> mic 
>
>
> 2012/6/4 Massimo Di Pierro <[email protected]>: 
> > I do not know what may be causing it, except that: 
> > 
> > - one ajax/json call is better than many 
> > - each call will lock the session for the use which means they are not 
> > executed concurrently, they are queued, unless you 
> > session._unlock(response). 
> > 
> > 
> > 
> > On Monday, 4 June 2012 11:02:23 UTC-5, Jan Rozhon wrote: 
> >> 
> >> Hi Massimo, 
> >> 
> >> thank you for your answer. Unfortunately, it didnt help. One thing I 
> >> didn't mention and might be causing this trouble is, that I ask for 
> several 
> >> json values provided by similar controllers as I posted in my first 
> post. 
> >> Can the multitude ofjson requests cause this weird behaviour? In other 
> >> words, is it better to provide several small json streams or one large? 
> >> 
> >> Thanks in advance, Jan 
> >> 
> >> Dne pondělí, 4. června 2012 17:38:41 UTC+2 Massimo Di Pierro napsal(a): 
> >>> 
> >>> Try replace output=rows with output=rows.as_list() 
> >>> Perhaps the rows are not json serializable. 
> >>> 
> >>> On Monday, 4 June 2012 02:20:39 UTC-5, Jan Rozhon wrote: 
> >>>> 
> >>>> Hi group, I have encountered a problem when I try to call a 
> controller 
> >>>> which should return a JSON array of values from database. However in 
> abou 1 
> >>>> of 5 cases this call stucks in "loading" phase (chrome animation in 
> tab) and 
> >>>> no response is received. Data is in database, every other controller 
> is 
> >>>> working fine, cpu utilization is pretty low so is the memory and 
> there are 
> >>>> only about 10000 rows in DB. Could you please give me some hints? 
> >>>> 
> >>>> Thanks, Jan 
> >>>> 
> >>>> PS. The controller looks like this: 
> >>>> 
> >>>> def dberrorsselect(): 
> >>>>     """Performs sql query to get the errors in the form of list of 
> dicts 
> >>>> such as {field_name:value}. This is then transformed to json dict for 
> >>>> transfer.""" 
> >>>>     if session.tb_id: 
> >>>> 
> >>>> 
> max_id=tb(tb.errors.test_id==session.tb_id).select(tb.errors.id.max()).first()[tb.errors.id.max()]
>  
>
> >>>>         if max_id != None: 
> >>>>             selector_id=int(max_id)-5 
> >>>>         else: 
> >>>>             selector_id=0 
> >>>>         rows=tb((tb.errors.test_id==session.tb_id)&(tb.errors.id > 
> >>>> selector_id)).select(tb.errors.ts, tb.errors.msg_short, 
> tb.errors.msg_long) 
> >>>>         output=rows 
> >>>>     else: 
> >>>>         output=[] 
> >>>>     return dict(output=output) 
> >>>> 
> >>>> 
> > 
>

Reply via email to