票种改完,点了保存,测试的人拿着手机走到闸机口,刷了三次没过。回后台看,配置确实是新的;再去看设备,设备上跑的还是昨天那份版本。中间这段时间,就是开检前留白。票务系统里绝大多数“改完不生效”的争执,都不是谁改错了,是没人说清生效时间有多长。
先分清改的东西要不要下发。配置一般分两类:一类只存在中心库,保存之后对新的交易立刻生效,比如说明文字、票种名称;一类要下发到设备端,中间隔着同步周期和一次网络往返,比如核销规则、时段边界、可用入口。两类的生效时间不一样,混在一起谈必然吵。可用的验证方法是改完之后在设备上做一次最小验证——拿一张按新规则注定该被拒的票去刷。拒了,说明新配置到了;放进去了,就是没到。别用本该成功的那张去测,成功了看不出任何区别,这是智慧景区票务系统现场验证里最常被搞反的一步。验证要留一行记录:几点几分、在哪台设备、用什么票试的。

改完没生效,在现场有几种典型表现。一是闸机提示“票码无效”而不是“已过有效期”,说明它拿的还是旧规则在判;二是窗口那边能出票、机器这边不放行,中心与端上各跑一套版本;三是白天一切正常,第二天早上突然不对,多半是夜里那个定时任务跑挂了,没人知道;四是只有其中一两台行为不一样,其他都一致,这通常是设备侧的问题,不是配置侧。智慧景区票务系统的值班交接里应该固定一项:今天改过什么、有没有在设备上验过、涉及哪几台。写三行字,比事后翻日志省两个小时,这一项在开检前的那半小时尤其值钱。
临时改动放开检前还是闭园后,判据是风险大小,不是急不急。开检前那十几分钟看着从容,实际是全天最不该动规则的时段——一旦下发错,几分钟内几百人排队,谁都退不了。真要紧急处理的,比如临时停售、加当天库存,只做数据层面的操作,别碰规则。规则性的改动,包括票种结构、时段划分、核销次数、可入园入口,一律放闭园后做,并且留出至少一小时做验证,别留五分钟。反过来,闭园后也不是随便动:动完要第二天开机再验一次,因为设备端很多改动要重启才吃进去。这个留白不是拖沓,是给自己留的回身空间。

怎么判断是没下发,还是下发错了。后台一般能看两个时间:配置的修改时间、设备端上报的当前版本时间。两者对不上,是没下发或者下发失败,处理方式是在设备侧重新拉一次;对得上但现场表现还是不对,是下发错了或者理解错了,这时候要回去核对原始那条规则到底改成了什么。第二个判据是错的形态:所有检票设备表现一致,指向中心侧;只有一两台不一样,指向设备侧,那几台单独重启、单独重下发。判断顺序定下来,现场就不会退化成“重启试试看”的运气活。智慧景区票务系统的配置里,最值钱的一行字不是功能,是生效时间被写清楚了——多久下发一次、怎么确认到端、没到该怎么办,三句话写明白,能省掉每个旺季早晨的那十分钟慌乱。
