2012-09-01 44 views
-1

如何在沒有人向服務器發送GET請求的情況下以任意間隔任意執行Python代碼?Google App Engine數據庫代碼 - 獨立於網站運行

什麼是收集和維護用戶數據的正確方法?

我編寫了一個網站,可以讓你創建音樂博客。我現在沒有從用戶那裏收集太多數據。例如,每個博客都沒有最後更新的字段。但是現在我想開始生成一些這些東西,現場是活的。

我只需要爲每個博客查看所有歌曲,按date added排序,然後這將是最後一次修改。但我相信這是一個稍微昂貴的操作,所以也許我只想每天做一次。

我該如何處理?

構建一個處理程序,涵蓋所有的東西,然後編寫一個Python機器人,例如連接到www.mywebsite.com/admin/updateDbInfo?看起來不夠高雅。

有沒有我從Google App Engine中丟失的東西,它允許您以間隔任意執行代碼?

這是人們如何收集數據? T

當我設計網站時,聰明的做法是將所有這些建立到模型中。我明白了,但這是一種學習體驗,我沒有。

+0

至少對於python,你可以使用remote_api來處理那些你可能需要用到的數據。 https://developers.google.com/appengine/articles/remote_api我一直都在使用它來進行「模式遷移」,並在排除故障時查看數據。 –

回答

0

您正確的道路!閱讀有關cron jobsbackends。首先編寫一個處理程序,它可以檢索並分析任何想要查看的數據,並將它映射到一個URL,就像其他任何數據一樣。然後,您可以通過將它添加到根目錄中的cron.yaml文件來安排它作爲cron job運行。確保你secure the URL,所以未經授權的用戶不能調用處理程序。

如果您的工作需要長時間運行,您應該使用backend,它可以在沒有請求截止日期的情況下在後臺運行。您可以設置一個cron作業來啓動和停止後端進程。

下面是從我的own projects一個cron.yamltwoscripts它調用作爲一個例子。

+0

謝謝你們這麼多!太棒了! – mradfo21

1

AppEngine允許您設置計劃任務,以您選擇的頻率運行:PythonJava的文檔。