google-app-engine - 项目适合 Google App Engine?

标签 google-app-engine clojure

我目前正在开发一个小型爱好项目(开源于 https://github.com/grav/mailbum ),该项目非常简单地从 Gmail 帐户中获取图像并将它们放入 Picasa 网络上的相册中。

由于它(目前)仅处理 Google 托管的数据,因此我正在考虑将其托管在 Google App Engine 上,但我不确定它是否非常适合 GAE:

  • 最大执行时间会成为问题吗?根据 http://googleappengine.blogspot.com/2010/12/happy-holidays-from-app-engine-team-140.html 目前为 10 分钟,但我认为任务(即处理单个邮件)很容易并行运行。我还猜测在 GAE 上处理 Google 托管的数据会非常高效?

  • 它是用 Clojure 编写的这一事实会成为障碍吗?我对让 Clojure 在 GAE 上运行进行了一些研究,但我从未尝试过。有任何指针吗?

感谢您对该项目的任何建议和想法!

最佳答案

看来您的应用程序可以在 GAE 上运行。我关心的问题是:

  1. 您的代码是否将正在处理的图像存储到临时文件中?如果是这样,则需要将其更改为在内存中执行所有操作,因为 GAE 应用程序是沙盒的,不允许写入文件系统(如果您需要临时持久存储,您也许可以解决将文件数据写入的位置) GAE 数据存储中的 BLOB 字段)。

  2. 如何将图像导入 Picasa 网络?如果他们提供简单的 REST/HTTP API,那么一切都很好。如果您需要比这更复杂的东西(例如原始 TCP 套接字),那么它将无法工作。

  3. 10 分钟的执行时间限制仅适用于后台任务。实际处理 Web 请求时,时间限制为 30 秒。因此,如果您为应用程序提供基于 Web 的界面,则需要进行结构设计,以便该界面仅调度在后台运行的作业(即,您不能在服务 Web 请求的过程中直接启 Action 业) .

如果这些对您来说都不是令人惊叹的,那么我认为您的应用应该在 GAE 上运行得很好。

虽然不能确定 Clojure 是否有效。不过,我过去曾花时间让一些第三方库在 App-Engine 上运行。一般来说,我所要做的就是删除/修改/禁用库中访问沙箱禁止的功能的任何部分(例如,我必须禁用自动缓存到磁盘才能获取commons-fileupload) > 致力于 GAE)。不确定同样的情况是否适用于 Clojure,甚至不确定此类任务的范围是什么。

关于google-app-engine - 项目适合 Google App Engine?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5442399/

相关文章:

python - 实体组、ReferenceProperty 或键作为字符串

clojure - Clojure 中的解构是什么意思?

clojure - clojure 中调用 java 工厂方法时出错 : more than one matching method found

clojure - 有没有一种惯用的方法来干燥 clojure 中类似的函数定义?

python - 在 python 中转义 HTML。应用引擎

python - *.py 中未指定服务器参数

python - Pandas 可以在 Google App Engine for Python 上运行吗?

variables - 在 clojure 中定义多个常量变量

syntax - 何时在 clojure require 中包含撇号?

google-app-engine - 谷歌云存储强制下载