【问题标题】:google cloud pub sub delayed messages谷歌云发布订阅延迟消息
【发布时间】:2021-02-01 10:47:56
【问题描述】:

我正在构建一个电子商务系统,其中包括对报价的投标实施,每个报价可以包括多于一轮,并且每轮都有 startDate 和 endDate,每轮结束后我想做其他过程​​,例如计算中标、输出价,向用户发送通知,进入下一轮并更新报价剩余数量,所有这些都将根据轮次结束日期进行。 我们选择 GC pub-sub 作为解决方案,在创建回合后发布事件和消息,并向该事件添加侦听器以工作并执行所需的流程,但解决方案中唯一缺少的是延迟每条消息或调度的能力直到回合结束日期到来,然后听众才能继续工作

那么当我发布每条消息时,如何为每条消息设置一个日期或时间戳,以便在该日期到来时稍后处理?

我正在使用节点 js

【问题讨论】:

    标签: javascript node.js google-cloud-pubsub google-api-nodejs-client event-driven


    【解决方案1】:

    您可以尝试使用https://github.com/maksimru/event-scheduler,将它放在您的发布者和接收者之间。它将保存您预定的消息并在指定时间发布到目标主题

    【讨论】:

      【解决方案2】:

      要使用延迟消息,您必须使用Cloud Task。您有一个示例代码here 第 67 行。

      【讨论】:

      • 问题是我有多个与报价相关的回合,每个回合都有其特定的结束日期,因此使用云任务不是一个好的解决方案,例如为数千个回合创建数千个任务跨度>
      • 那么有没有办法在pub子消息中实现定时?
      • 不,这是 Cloud Task 的一个特性,所以我给你这个答案。 PubSub 无法做到这一点。
      猜你喜欢
      • 2016-10-23
      • 2021-12-03
      • 2022-07-26
      • 2019-04-24
      • 2018-07-17
      • 1970-01-01
      • 1970-01-01
      • 2015-09-14
      • 2018-01-31
      相关资源
      最近更新 更多