【问题标题】:Best practice for performing long computation in the background on Google App Engine?在 Google App Engine 的后台执行长时间计算的最佳实践?
【发布时间】:2014-01-18 12:28:07
【问题描述】:

我正在为如何最好地为我的网络应用程序执行长时间计算而苦苦挣扎。基本上我每天都需要下载和解析一个非常大的远程数据集(~500mb,~150mb 压缩)。

我原本以为只是将它安排为一个 cron 作业并加载一个前端实例......我在想的问题是这个实例比我的应用程序所做的任何其他事情都更加计算密集,所以增加它似乎很浪费仅此一步,前端内存限制超过 128mb。

我正在考虑将它作为后端运行,但似乎没有一种直接的方法可以像 cron 作业那样按计划加载后端(我猜 cron.yaml 只加载前端实例?)

我想我可以使用任务队列,但我可以将它安排为任务队列并使用 cron.yaml 启动它吗?

我希望我的问题是有意义的——感谢任何帮助!

【问题讨论】:

    标签: google-app-engine cron frontend backend task-queue


    【解决方案1】:

    我猜 cron.yaml 只加载前端实例?

    cron 配置的“目标”部分可以设置为后端的名称,以使代码在那里运行。

    但我可以将它安排为任务队列并使用 cron.yaml 启动它吗?

    是的。您可以有一个 cron 任务(在前端运行)来安排将在后端运行的任务。与直接通过 cron 定位后端相比,这样做的好处是您可以配置任务的重试行为,但不能为 crons 配置。

    【讨论】:

    • 感谢您的回复——我正在研究 Google App Engine 文档,但找不到从前端脚本中提取后端实例的方法...您是否偶然知道它们是什么(或者你能把我链接到它们)?谢谢!
    • 假设 python 和任务队列 API(而不是延迟):developers.google.com/appengine/docs/python/taskqueue/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-17
    相关资源
    最近更新 更多