以编程方式远程访问数据存储

发布于 2024-10-15 22:08:22 字数 327 浏览 4 评论 0原文

我需要实现一个批处理系统,该系统将在 Google App Engine (GAE) 外部运行,以批处理来自 RDBMS 的数据并将其插入到 GAE 中。

appcfg.py 从各种输入文件中执行此操作,但我想使用一些 API“手动”执行此操作,以便我可以完全控制流程的生命周期。是否有 appcfg.py 在内部使用的公共 API?

我会用 Python 编写一个守护进程,在我的内部服务器上运行并监视某些 MySQL 表。在正确的条件下,它会从 MySQL 获取数据,对其进行处理,然后使用 GAE RemoteAPI 将其发布到 GAE 应用程序。

I have a requirement to implement a batch processing system that will run outside of Google App Engine (GAE) to batch process data from an RDBMS and insert it into GAE.

The appcfg.py does this from various input files but I would like to do it "by hand" using some API so I can fully control the lifecycle of the process. Is there a public API that is used internally by appcfg.py?

I would write a daemon in Python that runs on my internal server and monitors certain MySQL tables. Under the correct conditions, it would grab data from MySQL, process it, and post it using the GAE RemoteAPI to the GAE application.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

貪欢 2024-10-22 22:08:22

听起来你已经知道该怎么做了。用您自己的话说:“从 MySQL 获取数据,对其进行处理,然后使用 GAE RemoteAPI 发布它。” 远程 API 文档甚至提供了写入数据存储区的示例。

sounds like you already know what to do. in your own words: "grab data from MySQL, process it, and post it using the GAE RemoteAPI." the remote api docs even have examples that write to the datastore.

小苏打饼 2024-10-22 22:08:22

您可能会做的(如果我正确理解您的问题是什么)是使用任务队列。这样你就可以定义一个任务来完成你期望它做的事情;

假设您想将某些内容插入到 GAE 数据存储中。在某个服务器上准备插入文件。然后转到您的应用程序并准备“开始插入任务”。单击该按钮将启动后台任务,读取该文件并将其插入数据存储中。

此外,如果每天执行该任务,您可以使用 cron 作业调用任务创建。

但是,如果您能详细说明您必须执行的工作,那就更容易了:-P

What you could probably do (If I understand right what your problem is) is using the Task Queue. With that you could define a Task that does what you expect it to do;

Lets say you want to insert something into GAE-datastore. prepare the insert file on some server. Than go to your application and prepare an "Start Insert Task". By clicking on that a background task will start, read that file and insert it into the datastore.

Furthermore, if that task is daily performed you could invoke the task creation with a cron job.

However, if you could say more about the work you have to perform it would be easier :-P

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文