【问题标题】:Cloud functions to schedule Dataflow effectively?有效调度数据流的云功能?
【发布时间】:2019-01-22 18:02:16
【问题描述】:

使用云函数安排 Dataflow 作业的最佳选项有哪些? 我想安排数据流作业在某个时间开始和停止。

数据流作业可能正在从无限源读取并可能连续运行,因此希望将其安排为停止。

【问题讨论】:

    标签: google-cloud-functions google-cloud-dataflow dataflow


    【解决方案1】:

    由于 Google Cloud Functions 使您能够编写函数来响应云环境中的事件,例如停止 Dataflow 作业I would use a cron job

    它只会向您应用中定义的 URL 发送一个请求,调用 API 可以执行您认为的任何操作。

    cron:
    - description: "start dataflow job"
      url: /tasks/summary
      schedule: every 24 hours
    - description: "stop dataflowjob"
      url: /tasks/stop
      schedule: every day 20:00
      timezone: Australia/NSW
    - description: "monday morning summary"
      url: /mail/weekly
      schedule: every monday 09:00
      timezone: Australia/NSW
    

    无论如何,您都需要执行 HTTP 请求才能触发云功能。

    【讨论】:

    • 是否有直接从 Cron 调用 Dataflow 模板的选项?另外,我看到停止数据流作业的选项现在只能通过 gcloud 命令或通过控制台,这是否意味着您建议有一个 API 来调用 gcloud 以停止数据流作业,然后通过 Cron 安排 API ?它并不直视我。相反,我看到使用常规 Cron 调度程序直接调用 gcloud 取消。
    • 文档建议 Dataflow 作业只能以这种方式启动,因为它们可以使用 an API request 启动 - 但是需要通过控制台或命令行。对于您的特定情况,似乎常规的 Cron 调度程序最好调用 gcloud dataflow jobs cancel 命令。
    猜你喜欢
    • 1970-01-01
    • 2018-12-14
    • 2019-07-27
    • 1970-01-01
    • 1970-01-01
    • 2020-07-26
    • 2019-03-22
    • 2019-02-19
    • 2020-02-23
    相关资源
    最近更新 更多