Skip to content

延迟 (delay)

延迟消息传递或限制消息速率。

输入

任何消息对象。

输出

延迟后的消息对象。

详细说明

延迟节点可以延迟消息传递或限制消息通过的速率。

延迟模式

  • 延迟: 将消息延迟固定时间后发送
  • 速率限制: 限制消息通过的速率
  • 随机延迟: 在指定范围内随机延迟

延迟选项

  • 固定延迟: 延迟固定的秒数、分钟或小时
  • 基于消息: 使用消息属性中的延迟值
  • 随机延迟: 在最小和最大值之间随机延迟

速率限制选项

  • 限制速率: 每秒/分钟/小时允许通过的消息数
  • 丢弃中间消息: 超出速率时丢弃消息
  • 排队等待: 将消息排队等待发送

示例

固定延迟:

javascript
// 输入
msg = {payload: "Hello"}

// 延迟5秒后输出
// 输出(5秒后)
msg = {payload: "Hello"}

速率限制:

javascript
// 配置:每秒最多1条消息
// 输入:连续3条消息
msg1 = {payload: "消息1"}  // 立即通过
msg2 = {payload: "消息2"}  // 1秒后通过
msg3 = {payload: "消息3"}  // 2秒后通过

基于消息的延迟:

javascript
// 输入
msg = {
    payload: "数据",
    delay: 3000  // 延迟3秒
}

// 3秒后输出
msg = {
    payload: "数据",
    delay: 3000
}

应用场景

  • 防抖动处理
  • 速率限制
  • 定时发送
  • 流量控制

注意事项

  • 延迟期间消息存储在内存中
  • 重新部署会清除等待中的消息
  • 大量延迟消息可能影响内存使用

蜀ICP备2025139593号