本文整理汇总了Python中models.Task.get_by_key_name方法的典型用法代码示例。如果您正苦于以下问题:Python Task.get_by_key_name方法的具体用法?Python Task.get_by_key_name怎么用?Python Task.get_by_key_name使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类models.Task
的用法示例。
在下文中一共展示了Task.get_by_key_name方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: task_remove
# 需要导入模块: from models import Task [as 别名]
# 或者: from models.Task import get_by_key_name [as 别名]
def task_remove(action, action_id):
key_name = Task.key_from(action=action, action_id=action_id)
q = Task.get_by_key_name(key_name)
if not q:
raise exceptions.ApiTaskDoesntExist
q.delete()
return True
示例2: task_get
# 需要导入模块: from models import Task [as 别名]
# 或者: from models.Task import get_by_key_name [as 别名]
def task_get(action, action_id, expire=settings.DEFAULT_TASK_EXPIRE):
key_name = Task.key_from(action=action, action_id=action_id)
def _attempt_lock(key, expire):
qi = db.get(key)
now = datetime.utcnow()
if qi.expire and qi.expire > now:
raise exceptions.ApiTaskExpired
qi.expire = now + timedelta(seconds=expire)
qi.put()
qu = Task.get_by_key_name(key_name)
if not qu:
raise exceptions.ApiMethodUnavailable
try:
db.run_in_transaction(_attempt_lock, qu.key(), expire)
return Task.get_by_key_name(key_name)
except db.TransactionFailedError:
raise exceptions.ApiLockError
return qu