You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Logic App Recurrence工作流:实现每2天设置变量的条件配置

可以实现该条件判断,以下是具体实现思路

核心逻辑

要实现每2小时触发一次,且每48小时(24个触发周期)将变量x设为999,其余时间设为111,本质是判断当前触发是否处于每48小时的特定触发节点,有两种常用实现方式:


方式1:基于触发时间的模运算(无需外部存储)

直接通过时间计算判断当前触发是否为每48小时的目标节点,以低代码工作流(如Power Automate)为例:

  1. 保持Recurrence触发器每2小时触发的配置
  2. 初始化变量x为默认值111
  3. 添加「条件」动作,使用以下表达式判断:
    mod(int(divide(ticks(utcNow()), ticks('PT2H'))), 24) == 0
    
    表达式解释:
    • ticks(utcNow()):将当前UTC时间转换为时间刻度值
    • ticks('PT2H'):2小时对应的时间刻度值
    • divide(...):计算从起始时间到当前的2小时间隔总数
    • mod(..., 24):对间隔总数取模(24个间隔=48小时),余数为0时正好是每48小时的触发点
  4. 若条件成立,将x更新为999;否则保持默认值111

注:如果需要基于本地时区的12am判断,需先将UTC时间转换为本地时区,再进行计算,例如:

mod(int(divide(ticks(convertTimeZone(utcNow(), 'UTC', 'Asia/Shanghai')), ticks('PT2H'))), 24) == 0

方式2:使用持久化计数器(适合需精准对齐起始时间的场景)

如果需要严格从工作流首次启动时间开始计算48小时周期,可通过持久化计数器实现:

  1. 保持Recurrence触发器每2小时触发的配置
  2. 从外部存储(如SQL表、Blob存储或工作流环境变量)读取计数器值,若为空则初始化为0
  3. 计数器值加1后,判断是否等于24:
    • 等于24:将x设为999,并将计数器重置为0
    • 不等于24:将x设为111,并保存更新后的计数器值

内容的提问来源于stack exchange,提问作者lazziegal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 01:38:32