重置 Uber Cadence 活动到期时间

问题描述

这是对我的问题的跟进 Workflow Structure,Promotion Offer Flow

我正在制作一个依赖于发送节奏工作流信号的外部服务的工作流。 在我当前的工作流程中,我正在侦听诸如“接受”、“拒绝”、“取消”之类的信号。

此工作流程还将在创建时收到到期日期。我只想在用户接受报价后启动计时器。

但是,如果在此工作流程的中间,我们决定延长到期日期并给用户更多时间,我相信我需要向工作流程发送一个信号,例如“重置”。这是一个类似的案例 Changing the Uber Cadence Sleep time based on external (e.g. user) input

我的问题是:

  1. 是否可以将附加数据发送到信号通道中?例如一个结构?如果是这样……我该怎么做?
  2. 如果不可能,我的第一个想法是我需要创建两个频道。一个用于用户决定(例如,接受、拒绝、取消。当我对这些字符串进行 switch case 检查时),我需要另一个只接受输入作为时间或扩展日期的通道。这是正确的做法吗?

解决方法

  1. 是的。始终建议使用 struct ,以便以后引入更多字段向后兼容。

  2. 如果使用结构体,一个通道就足够了。