Can you describe what you mean by multiple? Multiple in a single flow? Or multiple in different concurrent flows? The latter is what you get by default in web2py. So if you worry about having concurrent processes working on that same queue you should stop worrying. The flow you describe is very fast, so the transaction is short and the chance of conflict is very unlikely, still its > 0. You could have 2 processes trying to run the same job in the queue. Critical is the time between the read and the updated state commit, it must be minimal. If your code does other things after the update, force a commit right after the update instruction db.queue.update_record(state=states.RUNNING) db.commit()
2014-11-20 19:09 GMT+01:00 Bilal Hasan <bilal.s.ha...@gmail.com>: > Is there a way to run multiple DAL transactions in one go? Maybe even use > semaphores? > > I want to query a database, get all the jobs in queue, select one, update > it's running status from queued to running, and then let go of the lock. > > Anyone have any ideas on how this can be done? > > -- > Resources: > - http://web2py.com > - http://web2py.com/book (Documentation) > - http://github.com/web2py/web2py (Source code) > - https://code.google.com/p/web2py/issues/list (Report Issues) > --- > You received this message because you are subscribed to the Google Groups > "web2py-users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to web2py+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.