簡體   English   中英

使用GAE數據存儲進行作業管理

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM