2012-04-20 38 views
0

我正在編寫一個應用程序,它從GAE上的twitter中讀取消息。應用程序應該始終讀取消息並對它們做出反應。 因爲我目前正在測試一個想法,我不想使用後端,這是這種需求的自然選擇。 我正在使用運行每分鐘的cron作業,並且通過運行長達50秒的連續讀取消息來處理作業的servlet。在GAE中長時間運行的工作

  1. 我注意到,GAE打開了3個實例來處理這個交通,這是不好的?
  2. 後端是這種工作的正確工具,對吧?
  3. 有沒有更好的方式做它沒有後端?

謝謝。

回答

1

我注意到,GAE開放3個實例來處理這個交通,這是不好的?

我不認爲這是壞的,因爲感謝這3個實例,您的cron保持正常工作。

Cron執行可能會延遲幾秒鐘,旋轉實例也可能需要一些額外的秒數,此外,在50秒後,大概您的應用程序會運行一些代碼,這也需要一些時間。

如果您有某些證據顯示在調用特定cron請求時,運行先前cron的實例處於可用狀態,請在此處共享。

後端是這種工作的正確工具,對吧?

絕對。

有沒有更好的辦法做到這一點,而不需要後端?

除非知道什麼對你更好,否則有點難以回答。目前的策略有沒有問題?

2
  1. 實例的旋轉由application settings控制。如果您的請求需要很長時間才能完成,則可能會觸發新實例的啓動 - 具體取決於所述設置。

  2. 使用任務隊列可以非常有效地完成提取數據。這不需要後端。如果需要在請求之間保存內存中的數據,則有效地保存數據存儲請求時,後端非常有用。

  3. 如上所述 - 查看任務隊列中的提取任務:數據提取任務需要多長時間?你多久需要一次表演?

+0

獲取需要幾毫秒,我需要在5-10秒之間獲取數據 – 2012-04-21 15:33:23