Thank you. Please upload the patch in a google code issue. Less changes of 
me forgetting or doing a mistake. ;-)

On Monday, 4 June 2012 04:00:05 UTC-5, szimszon wrote:
>
> Prev. patch wasn't good, here it is:
>
> --- scheduler.py.old    2012-06-02 14:44:26.000000000 +0200
> +++ scheduler.py        2012-06-04 10:53:59.013899780 +0200
> @@ -417,13 +417,13 @@
>              return None
>          grabbed = db(ts.assigned_worker_name==self.worker_name)\
>              (ts.status==ASSIGNED)
> -        task_id = grabbed._select(ts.id, limitby=(0,1), orderby=ts.
> next_run_time)
> -        updated = db(
> -            ts.id.belongs(task_id)
> -            ).update(status=RUNNING,last_run_time=now) #reduces 
> collisions?
> -        #noone will touch my task!
> -        db.commit()
> -        if updated:
> +        task_row = grabbed.select(ts.id, limitby=(0,1), orderby=ts.
> next_run_time).first()
> +        if task_row:
> +            updated = db(
> +                ts.id==task_row.id
> +                ).update(status=RUNNING,last_run_time=now) #reduces 
> collisions?
> +            #noone will touch my task!
> +            db.commit()
>              logging.debug('   work to do %s' % updated)
>              task = db(ts.assigned_worker_name==self.worker_name)\
>                      (ts.status==RUNNING).select().first()
>
>
>
>
>
> 2012. június 4., hétfő 9:47:29 UTC+2 időpontban szimszon a következőt írta:
>>
>> http://code.google.com/p/web2py/issues/detail?id=833
>>
>> After upgrading to Version 2.0.0 (2012-06-02 16:44:25) dev I got this if I 
>> start scheduler:
>>
>> Currently running 1 scheduler processes
>> Processes started
>> 2012-06-04 09:40:47,874 - root - DEBUG - defining tables (migrate=True)
>> 2012-06-04 09:40:47,880 - root - DEBUG - thread building own DAL object
>> 2012-06-04 09:40:47,880 - root - DEBUG - looping...
>> 2012-06-04 09:40:47,883 - root - DEBUG - defining tables (migrate=False)
>> 2012-06-04 09:40:47,886 - root - DEBUG - ........recording heartbeat
>> 2012-06-04 09:40:47,887 - root - DEBUG -     freeing workers that have not 
>> sent heartbeat
>> 2012-06-04 09:40:47,889 - root - INFO - TICKER: I'm a ticker 
>> (info-szimszon#709cdf44-805a-41a5-b197-8aa124acf311)
>> Traceback (most recent call last):
>>   File "/home/PRIMERATE.LAN/gyszabolcs/fejlesztes/web2py/gluon/shell.py", 
>> line 219, in run
>>     exec(python_code, _env)
>>   File "<string>", line 1, in <module>
>>   File 
>> "/home/PRIMERATE.LAN/gyszabolcs/fejlesztes/web2py/gluon/scheduler.py", line 
>> 398, in loop
>>     MetaScheduler.loop(self)
>>   File 
>> "/home/PRIMERATE.LAN/gyszabolcs/fejlesztes/web2py/gluon/scheduler.py", line 
>> 279, in loop
>>     task = self.pop_task()
>>   File 
>> "/home/PRIMERATE.LAN/gyszabolcs/fejlesztes/web2py/gluon/scheduler.py", line 
>> 423, in pop_task
>>     ).update(status=RUNNING,last_run_time=now) #reduces collisions?
>>   File "/home/PRIMERATE.LAN/gyszabolcs/fejlesztes/web2py/gluon/dal.py", line 
>> 8147, in update
>>     if any(f(self,update_fields) for f in table._before_update): return 0
>>   File "/home/PRIMERATE.LAN/gyszabolcs/fejlesztes/web2py/gluon/dal.py", line 
>> 8147, in <genexpr>
>>     if any(f(self,update_fields) for f in table._before_update): return 0
>>   File "/home/PRIMERATE.LAN/gyszabolcs/fejlesztes/web2py/gluon/dal.py", line 
>> 7051, in <lambda>
>>     archive_record(qset,fs,at,cn))
>>   File "/home/PRIMERATE.LAN/gyszabolcs/fejlesztes/web2py/gluon/dal.py", line 
>> 7450, in archive_record
>>     for row in qset.select():
>>   File "/home/PRIMERATE.LAN/gyszabolcs/fejlesztes/web2py/gluon/dal.py", line 
>> 8130, in select
>>     return adapter.select(self.query,fields,attributes)
>>   File "/home/PRIMERATE.LAN/gyszabolcs/fejlesztes/web2py/gluon/dal.py", line 
>> 1400, in select
>>     rows = response(sql)
>>   File "/home/PRIMERATE.LAN/gyszabolcs/fejlesztes/web2py/gluon/dal.py", line 
>> 1390, in response
>>     self.execute(sql)
>>   File "/home/PRIMERATE.LAN/gyszabolcs/fejlesztes/web2py/gluon/dal.py", line 
>> 1479, in execute
>>     return self.log_execute(*a, **b)
>>   File "/home/PRIMERATE.LAN/gyszabolcs/fejlesztes/web2py/gluon/dal.py", line 
>> 1473, in log_execute
>>     ret = self.cursor.execute(*a, **b)
>>   File 
>> "/home/PRIMERATE.LAN/gyszabolcs/fejlesztes/web2py/gluon/contrib/pymysql/cursors.py",
>>  line 108, in execute
>>     self.errorhandler(self, exc, value)
>>   File 
>> "/home/PRIMERATE.LAN/gyszabolcs/fejlesztes/web2py/gluon/contrib/pymysql/connections.py",
>>  line 184, in defaulterrorhandler
>>     raise errorclass, errorvalue
>> NotSupportedError: (1235, u"This version of MySQL doesn't yet support 'LIMIT 
>> & IN/ALL/ANY/SOME subquery'")
>>
>>
>>

Reply via email to