yes... very similar... I guess that just deleting the JS part and creating a new DB object within the plugin (so that it has it own ttransaction) will make the work...
thanks On Thu, Jan 26, 2012 at 9:20 AM, Bruno Rocha <[email protected]> wrote: > I dont know if it is related, but there is a Locking plugin > > http://web2py.com/plugins/default/locking > > > On Thu, Jan 26, 2012 at 7:05 AM, Sebastian E. Ovide < > [email protected]> wrote: > >> ok, I guess that the answer is no... (or I didn't formulate the question >> correctly....) >> >> >> On Thu, Jan 19, 2012 at 11:51 PM, sebastian <[email protected]>wrote: >> >>> Hi All, >>> >>> just thinking on how to implement a distributed locking system in web2py >>> using a DB: one row per each lock, lock_name is unique, if the row doesn't >>> exist, then it is locked, if the row exist already, then it cannot be lock >>> as it is already locked ! >>> >>> I'd like to create a module like this (that can be called from anywhere >>> in web2py) >>> >>> def lock(lock name): >>> begin transaction >>> does the row exist ? >>> no => insert new row >>> commit transaction >>> return result >>> >>> def unlock(lock_name): >>> begin transaction >>> delete row where name = lock_name >>> commit transaction >>> >>> >>> BUT.... not sure if this is possible (of course it is !) in web2py... >>> >>> consider this controller >>> >>> def hello1(): >>> do a lot of things >>> db.commit() >>> do more things in the DB >>> >>> ### here is my doubt: ####################### >>> if lock("some resource"): ### I'm calling a method that opens and >>> close a transaction inside a transaction !!! >>> do something >>> unlock("some resource") >>> else >>> do something else >>> >>> #### another example ####################3 >>> if lock("resource A"): >>> if lock("resource B"): >>> do a lot of things woth both resources >>> unlock("resource B") >>> unlock("resource A") >>> else >>> so other things >>> unlock("resource A") >>> >>> do more things >>> >>> db.commit() >>> do more staff >>> >>> >>> any better idea ? >>> >>> thansk >>> >> >> >> >> -- >> Sebastian E. Ovide >> >> >> >> > > > -- > > Bruno Rocha > [http://rochacbruno.com.br] > > -- Sebastian E. Ovide

