SLA逾期时间计算错误

SLA逾期时间计算错误

先说结论:SDP计算逾期时间按照服务器时区来的。页面中只是按照用户设置的时区进行显示。

问题

设置 SLA 工作时间内 2小时逾期,但是无论什么时候创建工单,逾期时间都为19:00

排查步骤

排查了,SDP服务中的时区,工作时间,业务规则,服务级别协议,都没有问题。

在设置SLA 24小时都生效时,逾期时间计算正常。

因此推测是SDP所在服务器的时区不对,导致SDP认为目前是非工作时间。

验证


Quote
查看当前时区命令:
cat /etc/timezone

分析

服务器时区为 UTC+0
SDP中用户设置的时区 UTC+8
计算逾期时间按照服务器时区来的。页面中只是按照用户设置的时区进行显示。
SLA 逾期时间为两小时,上班开始时间是9:00(UTC+0)对应17:00( UTC+8)。因此对于用户来说在17:00( UTC+8)/9:00(UTC+0)之前创建的工单,逾期时间都为19:00( UTC+8)/11:00(UTC+0)

解决方法


1、修改服务器时区
echo "Asia/Shanghai" | sudo tee /etc/timezone
2、重启SDP后,问题解决

注:因为Linux默认安装时区就是UTC+0,所以此问题在Linux中较为常见。