Deprecated: Function get_magic_quotes_gpc() is deprecated in /home/www/wwwroot/jieqi/global.php on line 250
太空争霸之我来自未来- 第46章 三十天不关机-都市言情-17模板网
第46章 三十天不关机
    第三十天的凌晨,马飞是在机房地板上醒来的。

    他身下垫着两只拆开的纸箱,头枕一卷还没用完的网线。空调风从机柜底下钻出来,吹得左肩发麻。他睁眼时,先看见服务器指示灯在黑暗里有节奏地闪,随后才听见有人用钥匙轻轻敲铁门。

    苏雨桐站在外面,另一只手提着保温桶。

    “你不是答应只值前半夜?”她问。

    马飞坐起来,脖子僵得转不动:“林师傅家里孩子发烧,我替到早上。”

    “哪位林师傅?”

    “机房夜班电工,不是我们的人。”

    “所以你连机房电工的班也替?”

    “他没让我替。我只是留下看切换。”

    苏雨桐把门打开,将保温桶塞进他怀里。里面是小米粥和两个茶叶蛋,粥已经不烫,表面结了一层薄薄的米油。她本来要赶早班车去学校交材料,绕到机房只为确认第三十天最后一次发布。

    “先吃。”她说,“你手在抖。”

    “冷的。”

    “七月的北京,你说冷?”

    马飞低头剥蛋壳。第一块没剥好,连蛋白一起带下来。他确实累了。过去一个月,星辰把值班从“谁正好没回家”改成正式轮班,创始人却仍在所有空格里写自己的名字。别人不敢填的凌晨,他填;发布窗口,他填;周末,他也填。

    表面上,这是最可靠的人守最危险的时段。实际上,公司仍把能否平安过夜绑在一个人的清醒上。

    苏雨桐从包里取出值班表,摊在纸箱上。马飞的名字出现十七次,超过其他人总和。

    “连续三十天服务,不是让你连续三十天不睡。”她说。

    “过了今天再调。”

    “每次都过了今天再调。”

    她的语气不重,马飞反而不知道怎样辩解。他喝了一口粥,米粒软得几乎没有形状。小时候母亲也会在他生病时煮这种粥,熬得太稠,就添一勺凉水,说这样好入口。

    “谁煮的?”他问。

    “宿舍楼下的早点摊。”

    “我还以为——”

    “以为什么?”

    “没什么。”

    苏雨桐看了他一眼,把另一只茶叶蛋拿走:“那你少吃一个。”

    凌晨三点整,候选索引开始校验。这是连续服务目标期内的最后一次计划发布。过去二十九天,他们经历过线路抖动、磁盘告警、恶意抓取和一次误删缓存目录,却没有再出现无法说明的长时间空白页。

    第三十天偏偏不肯安静。

    三点零七分,备用端口的固定测试集中,有两条查询返回的中文摘要缺了最后一个字。正文内容没有损坏,标题和地址也正常,但摘要边界在新版本里发生变化。

    值班学生拿着电话请示:“要不要切?不影响找结果。”

    马飞看表。按计划,三点十五分前不切,就要等到下一天。距离“连续三十天”完整闭合只差不到五个小时。如果放弃发布,旧索引继续服务不算中断;如果带着小问题切换,指标也未必马上变差。

    真正让人犹豫的,是墙上那张倒计时。

    三十天目标结束后,陈维明约了潜在客户来公司。宣传材料已经印好,写着“连续三十天稳定在线”。任何人都不愿在最后几小时承认候选版本不能发。

    “不切。”苏雨桐说。

    学生在电话里等马飞决定。

    马飞盯着两条少字的摘要。问题很小,小到用户也许不会投诉。但星辰在发布流程里写的是:固定测试集全部通过。规则如果只在顺利时有效,就不叫规则。

    “取消这次发布,旧版继续服务。”他说,“候选目录保留,白天查摘要边界。”

    三点十二分,发布记录写上“未通过”。服务器没有重启,用户也没有感到变化。第三十天仍在继续,只是墙上的记录多了一笔不漂亮的失败。

    苏雨桐赶去学校前,把值班表从纸箱上收起:“下午我回来开会。不是庆功,先改轮班。”

    “你论文材料交完了?”

    “今天交。”

    马飞这才想起,她为了公司凌晨赶来之后,还要挤一个多小时公共汽车去学校。星辰的三十天也从她的生活里拿走了许多清晨与周末。

    “我送你。”他说。

    “你先回去洗澡。”她皱了皱鼻子,“机房味都腌进衣服了。”

    早上七点,马飞离开机房。阳光已经晒热路面,早点摊前排着队。他在公共浴室洗完澡,回到自己租住的小房间,只来得及把湿毛巾搭到椅背,就倒在床上睡着。

    十一点,电话把他吵醒。

    母亲从老家打来,问上次寄去的咸菜收到了没有。马飞看向门边,包裹还原样放着,麻绳都没解。

    “收到了。”他说。

    “吃了?”

    “吃了。”

    “萝卜咸不咸?”

    他答不出来。

    电话那边沉默两秒。母亲没有拆穿,只说天热,开罐后要放凉处,别舍不得吃坏了。然后问公司忙不忙,身体怎么样。

    马飞看着窗台上一排空方便面盒,忽然觉得“挺好”两个字说不出口。

    “忙。”他说,“但能做下去。”

    “能做也得睡觉。”

    这句话与苏雨桐早晨说的一样。马飞笑了一声,答应今晚不去机房。挂电话后,他拆开包裹。玻璃罐外裹着旧毛衣,旁边塞了两包晒干的石榴花。母亲在纸条上写,泡水喝,去火。

    下午的会议没有蛋糕,也没有香槟。陈维明买了两串冰棍,走到公司时化了一半,白色糖水顺着塑料袋往下滴。每个人拿一根,剩下的放在搪瓷盆里,盆底很快积了一汪甜水。

    墙上的大钟走到四点十六分,距离正式上线恰好三十天。

    值班学生鼓掌,陈维明也拍了两下。马飞把最终统计贴出来:三十天内没有全站中断;发生三次局部降级,最长四十三分钟;计划维护两次,均提前公告;有效请求可用率逐周提高;仍有七次失败原因不能完全确认。

    “这算不算连续三十天不关机?”兼职学生问。

    “机器有过计划重启。”苏雨桐说,“但用户总有一套可用的旧索引服务。我们完成的是连续可用,不是永不关机。”

    陈维明拿起已经印好的宣传页。那句“连续三十天稳定在线”太容易让人理解成零故障。新印一批要花钱,直接用又违背刚建立的口径。

    他掏出钢笔,在“稳定在线”后逐张补了一颗小星号。

    页脚写:含两次公告维护与三次局部降级,详细口径可索取。

    五十多张宣传页,他写到第二十张时手腕就酸了。苏雨桐把剩下的一半拿过去,两人一个写前半,一个写后半。

    “下次印之前先看数据。”陈维明说。

    “这句话应该贴在你桌上。”苏雨桐回答。

    冰棍吃完,庆祝也就结束了。真正的会议开始讨论轮班。

    马飞提出自己继续负责所有发布窗口,被一致否决。值班学生说,如果流程只有马总敢操作,说明手册没写完;苏雨桐则把十七次夜班圈出来,要求任何人一周不得连续值两个通宵,创始人也包括在内。

    “出了事谁负责?”马飞问。

    “当班人按流程处置,重大变化两人确认。”苏雨桐说,“你负责让系统不依赖你。”

    这句话刺得他不舒服。前世在火箭项目里,责任曾被层层分割,最终没有人看见完整事故链。他重生后本能地想把所有关键环节握在自己手里,以为这样就不会再漏掉那三点七秒。

    可一个靠某个人永远清醒才安全的系统,本身就是另一种事故隐患。

    马飞沉默许久,把发布权限表推到桌子中央:“两周内,至少三个人能独立完成回退。我不在场也要演练一次。”

    “这才是三十天之后该做的事。”苏雨桐说。

    傍晚,他们去街口吃饭。小馆里没有空调,老板把电风扇架在冰柜上,吹得菜单啪啪作响。陈维明坚持点一道红烧肉,说合同回款快到了,不该再用凉面庆祝。

    菜上来后,众人却先抢拍黄瓜。红烧肉肥得发亮,谁吃两块都慢下来。

    苏雨桐从包里拿出学校的材料回执,放到桌上。她的论文手续终于办完,接下来可以选择留校参与课题,也可以把更多时间放到星辰。

    “你怎么选?”马飞问。

    “还没选。”

    “公司需要你。”

    “学校也有我自己的题。”

    她说得平静,桌上的人却都听懂了。七个百分点的权益和核心负责人身份,没有让她自动放弃另一条路。

    马飞夹了一块肉,放到自己碗里:“那就按你原来的条件,先把两边时间写清楚。不是今晚决定。”

    苏雨桐看着他,眼神松了一点:“你今天学会两件事。”

    “哪两件?”

    “服务器可以关,人也可以下班。”

    “还有呢?”

    “不知道。第二件等你真做到再说。”

    众人笑起来。饭后马飞按承诺没有去机房。他提着母亲寄来的咸菜回公司,把罐子放进阴凉的资料柜下层,又在上面贴了一张纸:私人食物,非公司资产。

    第二天,所有人都拿这张纸取笑他。

    第三十天已经过去,服务器仍在运行。但墙上的倒计时被取下来,换成一张没有终点的轮班表。

    马飞终于明白,稳定不是咬牙撑过一个纪念日。

    它是允许机器维护,允许人睡觉,允许一次候选发布在最后时刻被诚实地判定失败;也是在创始人不在机房时,系统仍能按同一套证据和规则继续运转。

    这比“不关机”难得多。

    也比一个漂亮的数字,更接近一家真正能活下去的公司。