因服务器时间不同步引起的异常


因服务器时间不同步引起的异常


不同项目之间的服务调用很习以为常,但是在调用的时候要注意会不会引起不必要的异常。如果同学们遇到类似情况,可以从以下案例寻找切入点。

正常来讲,公司的服务器资源是由ops部门统一维护,定时运行脚本以保证服务器时间一致,但是偏偏有意外发生。用户A通过系统申请了工单,后续审批需要角色1和角色2同意,方可结束工作流。问题在于,当王某同时在节点1和节点2时,他首先担任节点1通过邮件“同意”了该工单,此时,节点2也被同意。正常逻辑下,节点2处于待处理状态。什么原因引起的?工单系统和邮件系统的时间不一致,且邮件时间早于工单系统时间。

解决这个问题从两个方面入手:一.邮件审批时,加入工作流的节点ID;该节点是否已被审批;邮件接收人是否为审批人等验证。二.查看工单系统和邮件系统时间,以时间早的为基准。Xshell工具中有个类似命令广播的功能可以同时查看服务器时间,菜单栏->工具->发送键输入到所有会话

  1. 打开要查看时间的服务器1. 选择发送键输入到所有会话1. 输入命令,回车1. 在console中查看服务器的结果

DON’T

WORRY

BE

HAPPY

Q