双十一活动 11 月 11 日结束,到 18 日首页横幅还是「全场五折」,客服一直在解释。碰到这种情况,我一般先确认改动有没有真的生效。
原因不复杂,素材表只有上线时间,没有结束时间字段。后台下架后 CDN 和页面缓存也没跟着失效。
「广告素材过期」这类改动最怕改一半,回滚脚本先准备好,再动生产。别只看报错的最后一行,往上看几行,真正的起因通常在上面。
UPDATE wp_ad_creative SET status = 'off' WHERE end_at < NOW() AND status = 'on';
同类问题如果隔一段时间又出现,多半是某个定时任务或重启流程把改动冲掉了。把这次用到的命令存进笔记,比记住结论有用,换个环境还能照着走。
改完隔一天再看一次,当场正常不代表能稳住。
具体做法是,素材表加结束时间,到期自动下线;定时任务每小时扫一次到期素材;下架后主动刷新对应页面的缓存;改完用测试素材设一个过去时间验证。
最后用这个标准收尾,到期素材不再出现在页面上,缓存刷新后立即生效。
