红色告警一条接一条跳出来时,周驰的手机也亮了一下。
屏幕上方浮出许明发来的消息:「定了,启星那边 offer 下来了。下周入职,平台组 P8。」
周驰只看见“定了”两个字。它们停在告警窗口旁边,像从另一个天气里飘来的纸片。他没有回,先切到日志平台,把客户 B 仓的请求链路拉出来。校验失败不是脚本问题,是实施那边导入了旧模板,字段名多了一个空格。
真正的空格。
他把异常样本截图发到群里,标出字段差异。
「原因定位:客户 B 仓模板版本不一致。建议先暂停 B 仓切流,其余两仓继续观察。」
高群回得很快:「别扩大问题,先修复。」
周驰看了一眼“别扩大”。群里三十七个人,没人说话。产品经理头像灰着,实施负责人头像灰着,客户成功负责人头像灰着。只有老曹在运维小群里骂了一句:“又让研发擦桌子。”
“我给你开 B 仓回滚权限。”老曹又发,“十分钟。”
林夏坐回自己的工位,声音隔着半排屏幕传来:“缺陷单我建了,标题写模板版本不一致导致主数据校验失败。抄送高群。”
“会被关掉。”周驰说。
“关一次,我重开一次。”
凌晨三点十六分,B 仓切回旧系统。三点四十,另两家仓库的曲线稳定下来。四点十分,高群在大群里发:“问题已解决,辛苦研发同学快速响应,后续我来统一复盘。”
周驰把这句话看了两遍,没回。他把现场处理步骤写进一份新文档,标题叫“库存协同一期夜间切流记录”。每个时间点、每个判断、每个权限开通人,都写得清清楚楚。写到最后,他加了一行:本次异常源于客户侧模板版本未统一,非代码发布引入。
天亮前,办公室的灯自动熄了一次。感应器没扫到人,整个十九层暗下去。周驰站起来,朝天花板挥了挥手,灯又亮了。
他这才给许明回消息:「恭喜,挺好的。」
许明秒回:「你还没睡?」
「刚处理完上线。」
「海舟还这样?」
周驰把手机扣在桌上。他不想解释“还这样”是什么意思。每个公司都有混乱,但有些混乱会被人包装成挑战,有些混乱只会变成某个人的夜班。
早上九点半,高群把大家叫进会议室。屏幕上放着一页 PPT:一期上线整体平稳,个别客户环境差异已快速闭环。
“这次大家反应都很快。”高群站在投影旁边,衬衫袖口卷得整齐,“尤其是研发这边,说明我们团队是能打硬仗的。”
周驰坐在最后一排,指腹还留着咖啡纸杯的凹痕。他等高群讲到风险预案,等到第三页、第五页、第七页,都没有等到那几个空格。
会议结束时,隔壁产品组忽然响起掌声。有人拿着一束花,从开放办公区走过去。新任产品负责人是一个入职才半年的姑娘,昨晚没在线,今天因为另一个项目拿到了集团表扬。
“她运气真好。”坐在周驰旁边的同事小声说。
周驰看过去。姑娘抱着花,脸有点红,正对每个祝贺的人鞠躬。她可能也熬过很多没人知道的夜,只是这一次,有人把灯打在她身上。
手机又震。许明发来一张公司前台的照片,白墙、绿植、金属字,干净得像招聘广告。
「晚上出来喝一杯?给你介绍个人,他们也在招后端。」
周驰盯着那句话,手指停在回复框里。会议室门口,高群叫住他。
“周驰,昨晚记录你整理一下,下午发我。我改改措辞,给总监看。”
周驰把手机放进裤袋,抬头问:“发你之前,我可以先发项目群吗?”
高群脸上的笑收了一点。
“你什么意思?”
周驰听见产品组的掌声还没停,像隔着一层玻璃。他说:“没什么意思。记录本来就是给项目看的。”