already there... http://code.google.com/p/web2py/issues/detail?id=833
2012. június 4., hétfő 17:39:52 UTC+2 időpontban Massimo Di Pierro a
következőt írta:
>
> 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'")
>>>
>>>
>>>