如何通过WordPress采集视频教程来制作网站?

摘要:小本本教你做网站,wordpress采集视频教程,优秀产品设计作品,网站的meta标签优化现象 某日,运营反馈,在某个时间区间丢失了一段日志,让看看是
小本本教你做网站,wordpress采集视频教程,优秀产品设计作品,网站的meta标签优化现象 某日#xff0c;运营反馈#xff0c;在某个时间区间丢失了一段日志#xff0c;让看看是什么问题。 排查 查看项目日志有无错误 发现项目日志有报错信息Error 1062 Duplicate entry 149059529550598144 for key PRIMARY,很显然#xff0c;问题在此#xff0c;数据库…现象 某日运营反馈在某个时间区间丢失了一段日志让看看是什么问题。 排查 查看项目日志有无错误 发现项目日志有报错信息Error 1062 Duplicate entry 149059529550598144 for key PRIMARY,很显然问题在此数据库主键冲突无法插入数据导致这部分数据被丢弃。那么问题来了我们使用的雪花算法为什么会生成重复的ID呢 进一步排查 猜想可能早成该问题的原因可能有两个 1. 两个项目用了同样的MachineId然而并没有我们是单体应用 2. 时钟回拨存疑需进一步确定大概率是这个问题 进一步查看代码bwmarrin/snowflake库的生成方法 // Generate creates and returns a unique snowflake ID // To help guarantee uniqueness // - Make sure your system is keeping accurate system time // - Make sure you never have multiple nodes running with the same node ID func (n *Node) Generate() ID {n.mu.Lock()now : time.Since(n.epoch).Nanoseconds() / 1000000if now n.time {n.step (n.step 1) n.stepMaskif n.step 0 {for now n.time {now time.Since(n.epoch).Nanoseconds() / 1000000}}} else {n.step 0}n.time nowr : ID((now)n.timeShift |(n.node n.nodeShift) |(n.step),)n.mu.Unlock()return r }可以看出确实没对 now n.time做判定而且方法的注释中有说明Make sure your system is keeping accurate system time要自己保障系统时间的准确性。 3. 进一步找运营确认情况运营老哥说问题是自两天前才有的想想两天前我对服务器做了什么。两天前我把项目的容器内编译改为了本地编译采用挂载时区的方式来设置时区。 FROM golang:1.16 as builder ENV GO111MODULEon \CGO_ENABLED0 \GOOSlinux \GOARCHamd64 \GOPROXYhttps://goproxy.cn,direct WORKDIR /go/release COPY go.mod . COPY go.sum . RUN go mod download RUN go build -ldflags-s -w -installsuffix cgo -o serve . FROM scratch as prod COPY --frombuilder /usr/share/zoneinfo /usr/share/zoneinfo ENV TZAsia/Shanghai COPY --frombuilder /go/release/* ./ CMD [/serve]//以上每次部署需要3分钟左右我觉得太慢改为宿主机执行go build 然后直接把二进制镜像丢给scratch镜像 FROM scratch ENV TZAsia/Shanghai COPY . / CMD [/serve] //启动容器时挂载时区 docker run -p 8080:8080 -v /usr/share/zoneinfo:/usr/share/zoneinfo:ro -d test:v1.0.0但是我没想到的是宿主机会通过NTP对时间进行矫正每次矫正都会造成时钟回拨生成的ID重复。
阅读全文