ThinkLink 实践 / 现场与运维
ThinkLink 定时开关为什么没执行:检查时区、绑定和完整参数
把定时任务、设备执行、RPC 参数和设备状态分开检查,用一次真实调度验证自动开关,而不只测试立即执行。
定时任务决定何时触发,设备执行决定对哪些设备调用哪个 RPC。两者都要启用、正确绑定并提供完整参数,最后通过设备反馈确认动作。
先确认时间由谁解释
ThinkLink 定时任务使用含秒的六字段 cron,按服务器本地时区解释。不要直接粘贴五字段系统计划任务表达式,也不要假设浏览器时区会改变服务器的触发时间。先写清业务需要的本地时间、服务器时区和对应表达式,再使用表单校验。文档中的占位示例不是已经保存的输入值,保存前应确认真正填写了表达式。跨时区项目还要约定季节性时间变化由谁维护;不能因为一台测试电脑显示正确就认为全部部署会按同一业务时刻执行。
检查两个对象及启用状态
定时任务只定义触发周期,本身不直接操作设备。需要把它绑定到设备执行,后者选择 RPC、目标设备及执行参数,并检查自身使能。排查时分别回读定时任务和设备执行,不要只查看其中一张配置表。若一条定时任务绑定多个执行项,逐个核对目标 EUI,避免旧测试项仍然启用。建议名称包含地点、动作和预期时间,备注记录责任人。删除定时任务会让引用它的设备执行失去触发时机,因此维护前应先确认绑定关系,而不是只根据列表名称操作。
无人值守参数必须完整
手动点击 RPC 可能出现参数表单并回填默认值,而定时执行没有这个交互步骤。当前自动控制文档明确要求把需要的参数完整放入执行配置,不能期待排程在后台自动打开表单。逐项核对开关值、目标设备以及 RPC 必填字段,并确认错误或缺参不会变成危险默认值。参数结构按所用 RPC 的文档填写,本文不提供可直接用于所有设备的通用载荷。涉及多个型号时应拆分任务,不要让同名参数掩盖单位、枚举或控制含义的差异。
分别验证立即执行和按时触发
先在允许测试的设备上验证同一配置的立即执行,确认参数与目标正确,再等待一个真实调度时刻核对任务日志、RPC 日志和设备反馈。立即执行通过只能证明动作链路可用,不能证明时区和 cron 正确。至少覆盖开启和关闭两个方向,并验证禁用后不再产生新的调度。中断批量任务不等于撤回已经发出的指令,现场仍需检查状态。测试前明确设备操作窗口与负责人,避免把验证排程变成未计划的生产启停。
- 核对服务器时区与六字段表达式。
- 检查定时任务和设备执行的绑定、使能。
- 验证完整参数及一次实际调度。
- 检查开、关、暂停和手动接管。
为手动接管留下清晰入口
若定时控制与阈值联动共存,需要明确当前谁有控制权;不要让两个独立规则反复覆盖同一设备。可按项目方案使用手动、自动或定时模式协调,但具体状态字段和切换逻辑需要实现与验收,不能只写在备注里。交付记录包括时区、调度配置、绑定对象、完整参数、测试时间及设备结果。还应说明如何暂停后续调度、恢复正常计划以及处理超时。超时后先回读设备状态和操作记录,确认结果后再决定是否重新执行,而不是立即再发一次。
常见问题
立即执行成功是否说明定时配置正确?
不说明。还必须观察真实调度时刻,验证时区、表达式与绑定。
定时执行会使用手动表单里的自动回填吗?
不能依赖表单回填,执行配置必须携带该 RPC 所需的完整参数。
参考资料与延伸阅读
本文依据以下官方资料编写。示意图用于解释方法,具体菜单、字段和能力以目标版本文档为准。