展馆 8 点开门,我们 7 点 10 分就到了,笔记本搁在签到台的折叠桌上,旁边是还没撕膜的二维码立牌。要干的事只有一件:把客户昨晚发来的 2000 多行名单导进签到系统。
那份 CSV
6 列:姓名、单位、手机号、票种、场次、备注。打开就看到几处老熟人:
- 有 3 行姓名是空的,估计是从带合并单元格的 Excel 另存过来的,左上角有值,下面几行空着。
- 十几行手机号前后带空格,还有两行写成了「138 0000 0000」这种带空格的格式。
- 票种列里「VIP」「Vip」「vip」三种写法。
导入脚本没直接写库。第一遍先出预览:总行数、识别到的列数、每一类问题各有多少行、把有问题的前 5 行原样列出来。这一步是 2017 年那次 Excel 导入之后定下的,一直用到现在。
处理规则跟客户当场定的:空姓名的 3 行不猜,单独列一页「待补」,由签到台人工问;手机号统一去空格和非数字字符;票种按小写归并。硬拦的只有「手机号不是 11 位」这一种,其余自动修,修完在日志里记一行,方便回头查。
7 点 42 分点确认,写库,2000 多行,1 秒多。
8 点 20 到 9 点 20
开门后第一个小时最挤。签到页只做一件事:扫码带出票号,点一下确认,不填任何东西。二维码是提前按票种批量生成的,印在立牌和邮件里。
峰值一小时扫了 600 多人,Nginx 日志里最多的一分钟 23 次提交,远没到需要担心的程度。倒是签到台那边有台笔记本的浏览器太老,页面按钮点不动,换了我们备用的一台。
那 3 行空姓名的人陆续来了,签到台的姑娘照着「待补」那页问一句、手填进去,没堵住队伍。
中午
客户要一份到场清单,按单位分组,Excel 里一个单位一个 sheet。导出脚本是前一天写好的,点一下就好。他们拿去对邀请名单,看谁没来。
收摊时那块二维码立牌的膜才被撕干净,一直没人顾上。回程车上翻了下日志,全天 1700 多次签到,失败 4 次,都是同一个人重复扫。
展馆空调开得很足,早上带的外套没脱,中午又热了。

