关于GCP中的无服务器批处理

时间:2018-03-02 15:11:45

标签: google-cloud-platform google-cloud-functions

我将使用Google Cloud Platform进行批量处理。 现在我们使用云功能进行批处理,但这些时间限制为540秒。 我们的批处理过程每天大约需要1小时,每天一次。

我也尝试过对云功能进行并行处理,但由于它不起作用,我不会选择它。

我们将进行无服务器批处理,我们计划将数据存储在Firestore中。如果你有个好主意,请告诉我。

4 个答案:

答案 0 :(得分:2)

我也遇到了同样的问题。就我而言,我去了:

  1. Cloud Scheduler通过推送到发布/订阅开始工作。
  2. 发布/订阅触发云功能。
  3. 安装Compute Engine实例的Cloud Functions。
  4. Compute Engine运行批处理工作负载,并在实例完成后自动终止实例。

您可以在以下媒体上通过帖子阅读:https://link.medium.com/1K3NsElGYZ

这可能会帮助您入门。

答案 1 :(得分:1)

您必须缩小此问题的范围,以便社区能够提供答案。

但是,为了给您的问题提供一些指导,云功能被特别认为可以在基于事件的环境中工作,所以如果这不是您的用例,您可以查看other Severless approaches in the Platform,也许更具体地App Engine。在App Engine中,根据您选择的type of scaling configuration,您可以在24小时内运行请求。您可以将Datastore用于App Engine的存储部分。

另一方面,如果您的计划是将Firebase与Firestore一起使用,请随时编辑您添加相应标记的问题,以吸引其他专门针对这些主题的社区用户的注意。无论如何,正如我已经提到的,为了得到更好的答案,你必须更具体地解决你的问题。

答案 2 :(得分:0)

我遇到了同样的问题。这是我的方法:

  1. 使用App Engine的cron任务管理器启动作业
  2. 使用App Engine,使用简单的http请求调用云功能
  3. 使用云功能,安装计算引擎实例
  4. 使用Compute Engine处理批处理并自动终止 工作结束时的实例
  5. 不确定是否正确。

答案 3 :(得分:0)

您可以使用AI平台培训来运行任意的Docker容器-它不必是机器学习工作。要在GPU上执行一些任意容器,只需执行以下操作:

gcloud ai-platform jobs submit training gpu_function \
  --scale-tier BASIC_GPU \
  --region $REGION \
  --master-image-uri gcr.io/$PROJECT_ID/some-image-name

这只是一个REST API,因此您可以使用多种编程语言中的各种客户端库来调用它。容器没有任何要求,只需要有一个入口点并将其发布在容器注册表中即可。也可以使用自定义机器类型。

有关详细信息,请参见:

https://cloud.google.com/ml-engine/docs/custom-containers-training