Filter out claimed environments
This commit is contained in:
parent
5b7a544403
commit
53e993ea34
@ -1,4 +1,4 @@
|
||||
from sqlalchemy import text
|
||||
from sqlalchemy import text, func, or_
|
||||
from sqlalchemy.orm.exc import NoResultFound
|
||||
from sqlalchemy.orm import load_only
|
||||
from typing import List
|
||||
@ -104,6 +104,12 @@ class Environments(object):
|
||||
.join(CLIN)
|
||||
.filter(CLIN.start_date <= now)
|
||||
.filter(CLIN.end_date > now)
|
||||
.filter(
|
||||
or_(
|
||||
Environment.claimed_until == None,
|
||||
Environment.claimed_until <= func.now(),
|
||||
)
|
||||
)
|
||||
# select only these columns
|
||||
.options(load_only("id", "creator_id"))
|
||||
)
|
||||
|
@ -28,7 +28,7 @@ def claim_for_update(resource, minutes=30):
|
||||
.filter(
|
||||
and_(
|
||||
Model.id == resource.id,
|
||||
or_(Model.claimed_until == None, Model.claimed_until < func.now()),
|
||||
or_(Model.claimed_until == None, Model.claimed_until <= func.now()),
|
||||
)
|
||||
)
|
||||
.update({"claimed_until": claim_until}, synchronize_session="fetch")
|
||||
|
Loading…
x
Reference in New Issue
Block a user