2011-06-01 64 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