Convergence: concurrent workflow

implements blueprint convergence-concurrent-workflow
Depends-On: I7586bc16ce492144f617ee3adc31a2bc19a62173
Change-Id: If968e46ed54f92c1bbfe3ce3bef241802a993ce6
This commit is contained in:
Angus Salkeld
2015-06-26 13:00:53 +10:00
parent 9711730a4b
commit 56012a3584
6 changed files with 176 additions and 89 deletions

View File

@@ -166,7 +166,10 @@ def resource_update(context, resource_id, values, atomic_key,
expected_engine_id=None):
session = _session(context)
with session.begin():
values['atomic_key'] = atomic_key + 1
if atomic_key is None:
values['atomic_key'] = 1
else:
values['atomic_key'] = atomic_key + 1
rows_updated = session.query(models.Resource).filter_by(
id=resource_id, engine_id=expected_engine_id,
atomic_key=atomic_key).update(values)