[英]using GAE datastore for job management
我的數據存儲區中有一個“計算”實體,在該實體下有700萬個對象。 它具有以下屬性(python運行時):
class Calculation(db.Model):
question = db.StringProperty(required=True)
answer = db.StringProperty()
假設“問題”屬性的示例是諸如“ 1 + 1”,“ 2 + 2”,“ 3 + 3”之類的(不是很重要)。 所有計算對象均以空答案屬性開頭。
當用戶連接到應用程序時,將進行ajax調用,並且我的應用程序應[1]提取具有空answer屬性的Calculation對象,並將其發送到用戶的瀏覽器。 然后,用戶的瀏覽器評估問題並將其發送回另一個服務器處理程序。
如何更新特定計算對象的答案屬性[2]?
如果有人可以為我提供[1]和[2]的代碼,那就太好了。 沒有真正使用App Engine的經驗,並且查詢內容令人困惑。 如果我想盡可能節省服務器CPU,什么是最好的解決方案?
謝謝!
我不知道我是否真的了解。 但是,您只需要為第一個Ajax調用返回實體Calculation和question
的關鍵字即可。 當用戶做出響應時,您首先要通過鍵獲取實體並更新屬性answer
。
步驟1,ajax調用以JSON返回一個問題(例如):
# To fetch an empty answered question
qry = Calculation.All().filter('answer =', None)
ref = qry.get()
# The Json response
{ 'key': unicode(ref.key()),
'question': ref.question}
步驟2,通過密鑰更新實體:
# key and answer are variable from an http GET or POST request.
ref = db.get(key)
ref.answer = answer
ref.put()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.