2011-06-01 98 views
1

我有一個python腳本,旨在每天晚上在本地計算機上運行。它的目標是從第三方服務器提取數據,對其進行一些處理,然後執行批量上傳到GAE數據存儲。GAE批量上傳編程

我的問題雖然很熱從python腳本運行批量上傳。我所見過的所有示例(包括Google的文檔)都使用命令行「appcfg.py upload_data ...」,並且據我所見,appcfg.py和bulkloader.py不會公開任何保證不會更改的API。

我現在看到他們的兩個選項是從我的python腳本執行「appcfg.py upload_data ...」命令,這似乎是一種迂迴的做事方式。或者直接調用appcfg.py的內部方法,這意味着如果它們發生變化,我必須重新編碼。

回答

2

Appengine可以運行cron作業。所有你需要寫的是一個腳本,它從第三方服務器提取數據並將其上傳到appengine引擎,Appenigne將爲你完成剩下的工作。 Appengine cron這有你需要知道的關於在appengine中運行cron作業的所有信息。

+0

我之所以決定使用bulkloader的是,我得到的數據是在多個CSV文件。通過一些最小化的設置,bulkloader可以爲我上傳所有的工作。據我所知,如果我使用cron作業,我將不得不解析這些文件並自己創建和保存實體對象。如果沒有辦法繞過它,我可能會咬緊牙關並使用cron。 – sili 2011-06-01 14:20:14

+0

如何使用cron運行bulkuploader.py .... – 2011-06-01 14:27:30

+0

這是一個有趣的想法。但是我們來了整整一圈。 bulkloader提供的API將來不會改變;正在做類似「bulkloader.main(argv_that_I_create)」的安全? – sili 2011-06-01 15:54:24