是否可以在 Google Cloud 中实现调度程序和发布/订阅之间的互操作性,以便在每天特定时间后触发任务,但前提是消息到达?
更新:
例如,安排在上午 10:00 的任务等待消息(先决条件)。
- 10:00 消息还没到。作业未触发。消息在 11:00 到达。作业被触发。(然后它可以发送一个消息来启动要执行的任务)
- 09:00 消息到达。作业未执行。10:00 触发作业。
- 味精永远不会到达。该作业永远不会执行。
是否可以在 Google Cloud 中实现调度程序和发布/订阅之间的互操作性,以便在每天特定时间后触发任务,但前提是消息到达?
更新:
例如,安排在上午 10:00 的任务等待消息(先决条件)。
您的拼图似乎非常适合使用Cloud Tasks。在高层次上,我会想象您编写一个订阅正在发布的主题的云函数。Cloud Function 将包含您的处理逻辑:
……就是这样。
Google 推荐的做法是使用 Google Cloud Composer 这样的任务。
您可以将云作曲家用于各种用例,包括批处理、实时/流处理和 cron 作业/计划任务样式处理。
https://cloud.google.com/composer/
Composer 在后台运行 Apache Airflow 在托管 GKE 集群上。因此,它不仅是编排工具,而且还提供了使用 DAG(本质上是云功能)运行代码的能力。看看下面的一些示例 DAG 触发器:
https://cloud.google.com/composer/docs/how-to/using/triggering-with-gcf
所以本质上,如果你创建一个条件 DAG 触发器,那么它应该可以解决问题。
希望这可以帮助。