2012-10-15 81 views
0

我需要在AppEngine數據存儲中創建和存儲對象的單個實例(永遠不需要多於一個對象)。 這是我正在調度的cron作業的最後一次運行時間。 這個想法是,cron作業只會選取自上次運行處理以來創建/更新的那些行,並且會在完成後更新上一次運行時間, 考慮併發性的最佳方法是什麼問題 - 以前的工作還沒有完成的情況下?如何在AppEngine數據存儲中存儲單個實例對象

回答

1

如果我正確理解你的問題,聽起來好像你可以創建一個'工作簿記'實體來記錄工作是否正在運行,以及關於你正在處理的工作的任何必要狀態。

然後,使用事務訪問該簿記實體,以便一次只有一個進程可以對其進行讀取+更新。這將讓您在開始新工作之前安全地檢查是否有其他工作仍在運行。

(該數據存儲區是非關係型的,所以我在提及'行'時猜測,您是指需要處理某種類型的實體嗎?您的簿記實體可以存儲某些有關這些實體的狀態'迄今爲止處理完畢,這會讓你查詢新的進程)。