Appian任务状态变更时如何实现页面内容自动更新?
解决方案如下:
你可以通过配置定时刷新规则实现网格数据的自动更新,不需要依赖用户交互触发,具体实现方式如下:
- 调整本地变量定时刷新配置
给存储queryProcessAnalytics()返回结果的本地变量添加refreshInterval参数配置,该参数单位为秒,最低支持设置为30秒,你可以根据业务对数据实时性的要求调整间隔时长。
参考配置示例:
a!localVariables( /* 存储任务查询结果的本地变量 */ local!taskData: queryProcessAnalytics(/* 你的原有查询参数 */), a!refreshVariable( variable: local!taskData, /* 新增定时刷新配置,每30秒自动拉取一次最新数据 */ refreshInterval: 30, refreshAlways: true ), /* 原有网格组件配置 a!gridField( data: local!taskData, /* 其余网格配置保持不变 */ ) )
- 配置说明
- 你之前的理解是正确的,变量变更刷新规则本身不会主动监听后端数据的变化,新增定时刷新配置后,页面会按照设定的间隔主动拉取最新的
queryProcessAnalytics()返回结果,更新本地变量后自动触发网格刷新,完全不需要用户手动点击刷新按钮。 - 刷新间隔越短数据实时性越高,但对应的服务器负载也会越高,建议日常使用时根据实际业务场景设置,最低不要低于30秒。
- 当页面处于浏览器后台标签页时,部分浏览器会自动降低定时任务的执行频率,用户切回前台后会自动恢复正常刷新节奏。
如果你的场景需要更低延迟的更新触发,也可以在任务状态变更的流程末尾增加会话级别的回调触发,但是这种方案仅能覆盖当前用户自身操作触发的状态更新,无法同步其他用户操作导致的任务状态变化,通用性不如定时刷新方案。
内容的提问来源于stack exchange,提问作者B--rian
相关产品推荐
相关产品推荐

