【问题标题】:Using a Python script to store entities in GAE cloud datastore automatically使用 Python 脚本自动将实体存储在 GAE 云数据存储中
【发布时间】:2015-04-27 16:36:48
【问题描述】:

我编写了一个 Python 脚本,它可以从我们大学的 HTML 页面中抓取我们需要的所有学位信息。它会生成一个包含所有数据的.csv 文件。然后使用我们 API 中的方法将来自 .csv 文件的数据上传到数据存储区。

这是一个特别枯燥的过程。由于我们只能发出不到一分钟的请求,因此我们需要将.csv 文件分解为许多不同的位。显然,这并不酷。

我们最初设想了一个数据库,该数据库将采用我们的 python 脚本并每年更新/填充所有新学位信息。与一个用 Java 编码的 GAE 云数据存储一起运行的 Python 脚本。

可以这样做吗?我们可以让数据库自行更新吗?

如果是这样,我们是否可以手动和自动实现它?

感谢阅读!

【问题讨论】:

  • 看看有 10 分钟超时的任务或有更长限制的后端模块。

标签: java android python google-app-engine csv


【解决方案1】:

因此,基本上,您希望获取使用一个 Python 脚本创建的 csv 文件,然后使用另一个程序对其进行解析并将该数据上传到数据存储区,以便其他事物可以访问它。

我看到了几个选项:

  1. 使用拉取队列。设置一个 Appengine 项目,该项目托管一个 RESTful 服务,您当前的 Python 脚本可以将 CSV 文件上传到该服务,然后应用程序处理/将其放入数据存储区。

  2. 使用 cron 作业构建一个应用程序,该作业检查新 CSV 文件的特定位置,让原始 Python 脚本(或手动)将 CSV 文件放入该特定文件夹并使用它。该应用程序还可以有一个页面,您可以在其中手动上传 CSV 文件,这将为您提供自动和手动选项。

每个细节以及如何构建它们当然取决于您。

【讨论】:

  • 就您所见,我们无法让数据库自动执行此操作?
  • 我认为您必须通过一个 appengine 项目才能使用数据存储区。如果您希望您的数据库自动与数据存储同步,那么我上面描述的第一个选项是最好的 - 让项目公开一些您的数据库可以挂钩的 API,或者有影响的东西。同样,我不是专家,但这就是我的建议。顺便说一句,在将数据放入数据存储区后,您将如何处理这些数据?您是在处理它还是只是用它来向最终用户显示/运行查询?
猜你喜欢
  • 2015-08-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多