首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

排查守候在零点两分的 bug

猜测了一通无果,于是我去翻告警群的记录,我发现了一个惊人的规律,该告警只要出现,必定是每天凌晨 00:02: 因此排查思路锁定在以下几个: 存在每天定时任务设置某个 redis 值的超时时间?...服务器时间存在误差? 排查过程 剧透下,并不是上述两个原因。 经过多番搜索代码,发现了几处设置 redis 值的代码,同时结合 Google,有人指出 Redis 设置的超时时间不能为小于 0。...经过本地验证,的确发现超时时间不能为 0: 于是排查方向转为代码中哪里出现了设置超时时间小于 0 的逻辑。...,离今天结束还有多少秒的时间。...解决方式 原因既然依旧找到,解决方式也就出来了: 向下整 Math.floor 改为向上整 Math.ceil(不过极端情况下还是存在当天剩余毫秒数恰好为 0 的情况) 判断 expireTime

64320
您找到你想要的搜索结果了吗?
是的
没有找到

除了敲代码,程序员的一天日常是怎样的

程序员间经常会进行交流,长时间使用一种编程语言有时会让人精力枯竭,多语言平台会让我们放松一些。 和我交流的前端工程师很喜欢用JS,并且想让我也喜欢上用JS。...我每天有四分之一的时间用来写代码,剩下的时间用来思考应该写什么代码,应该使用什么技术,其他就是开船和看新闻,仅此而已。...我自学成才,学代码的时间比学金融的还多。现在我做自由职业者已经一年了,我通过编程来拓展我在金融领域的职业发展。 我的工作时间不太固定,因此对我而言,凌晨4点与客户谈项目,有时中午才起床这并不稀奇。...我平均每天工作6-8个小时,但有时可能多达12-14个小时,或者根本不工作。当我完成一天的工作后,我会花了一些时间来学习新东西。这对我来说不再是工作,我很享受学习的过程。...凌晨2:00 睡觉。 这可能就是我没有女朋友的原因,尽管我的身材和薪水都不错,长相也还过得去。但没有女生能接受男朋友花过多的时间在PHP、JAVA、AJAX上。(心疼程序员小哥一分钟~) ?

88220

谨防索引 seeks 的效率低下

运维兄弟沟通后,发现在每天凌晨1点都会出现若干次的业务操作失败,而数据库监控上并没有发现明显的异常。 在该分析服务的日志中发现了某个数据库操作产生了 SocketTimeoutException。...左边的数据库是一个工单数据表(t_work_order),其中记录了每张工单的信息,包括工单编号(oid)、最后修改时间(lastModifiedTime) 分析服务是Java实现的一个应用程序,在每天凌晨...,经常超过60s导致报错,而后面的拉时间则会快一些。...回到一开始的需求场景,定时器要求读取每天更新的工单(按工单号排序),再进行分批处理。...如果业务上可以接受不按工单号排序进行读取,那么仅使用更新时间字段进行分页拉也是可以达到效果的,具体还是要由业务场景来定。

48220

谨防索引 seeks 的效率低下

运维兄弟沟通后,发现在每天凌晨1点都会出现若干次的业务操作失败,而数据库监控上并没有发现明显的异常。 在该分析服务的日志中发现了某个数据库操作产生了 SocketTimeoutException。...左边的数据库是一个工单数据表(t_work_order),其中记录了每张工单的信息,包括工单编号(oid)、最后修改时间(lastModifiedTime) 分析服务是Java实现的一个应用程序,在每天凌晨...,经常超过60s导致报错,而后面的拉时间则会快一些。...回到一开始的需求场景,定时器要求读取每天更新的工单(按工单号排序),再进行分批处理。...如果业务上可以接受不按工单号排序进行读取,那么仅使用更新时间字段进行分页拉也是可以达到效果的,具体还是要由业务场景来定。

67830

php面试知识点总结

三.更新数据 如果更新的列上未建立索引,则char的效率低于varchar,但效率差异不大。 如果更新的列上建立索引,则char的效率低于varchar,并且效率差异很大。...对于增加列的宽度而言,char与varchar有非常明显的效率差异,varchar列基本上不花费时间,而修改char列需要花费很长的时间。...、 4.插入与删除的时间复杂度都是O(1),在空间复杂度上两者也一样。 5.多链栈和多链队列的管理模式可以相同。...ps -A 或者 ps -e 8.PHP多线程开发 9.每天凌晨2:00 的定时任务 # 每天早上6点 0 6 * * * echo "Good morning." >> /tmp/test.txt...(凌晨4:02)执行/etc/cron.daily内的脚本 02 4 * * * root run-parts /etc/cron.daily # 每星期(周日凌晨4:22)执行/etc/cron.weekly

1.3K20

Fundebug是这样备份数据的

阿里云磁盘快照 每天 每天凌晨自动快照所有磁盘,包括系统盘和备份数据盘。...mongodump 导出核心数据 每天 每天凌晨将 MongoDB 核心数据导出到复制集之外的服务器磁盘(该磁盘会每天进行快照)。...阿里云对象存储 每天 每天凌晨将 mongodump 导出的数据使用 gpg 非对称加密之后,上传到阿里云深圳数据中心的对象存储,设置跨区域复制,自动同步到杭州数据中心,每份数据保留 1 个月。...使用 crontab 脚本定期执行dump-data.sh脚本: # 每天凌晨4点导出数据 0 4 * * * /root/fundebug-mongodb-backup/dump-data.sh 阿里云对象存储...} }); } } 代码运行在 Docker 容器中,使用 curl 命令访问 HTTP 接口/upload 即可触发执行上传操作,使用 crontab 定期执行: # 每天凌晨

80020

一个诡异的MySQL查询超时问题,居然隐藏着存在了两年的BUG

通过日志发现,从凌晨5:26分开始到5:56任务执行了三次,三次都因为SQL查询超时而执行失败,而诡异的是,任务到凌晨6:00多就执行成功了。 每天都是凌晨五点多失败,凌晨六点执行成功。...要想影响唯一的可能性就是别的业务在update这个表数据的时候,更新条件没有走索引,导致行锁升级成表锁,并且,这个操作要刚好在凌晨5点多执行,且持续了半个小时。...这个条件非常苛刻,我检查了相关的代码,问了相关负责人,并没有这种情况,所有的更新都是根据Id主键更新的。...关键是,如果更新SQL的更新条件没有走索引,肯定会是一个慢SQL的,那么,我们在慢SQL日志文件里面就能找到它,实际上并没有。 备份 是不是因为凌晨5点多,数据库在备份的原因呢?...说好的时间区间最多七天呢?怎么变成了七个月? 赶紧定位代码,定位发现底层在时间区间时,调了一个RPC接口,这个接口预期返回的时间区间只有几天,结果返回了七个月的时间区间。这段逻辑是18年上线的。

39310

Elasticsearch-JSON串查询总结

我们可以通过组合一个缓存的过滤器来让这变得更有效率:我们可以添加一个含固定时间的过滤器来排除掉这个月的大部分数据,例如昨晚凌晨: [ "bool": { "must": [...1h" } } } ] } ] 这个过滤器被缓存了,因为它使用了整到昨夜凌晨...now 条件. 这个过滤器没有被缓存,因为它没有对 now 整. now-1h/d 条件整到昨夜凌晨,所以所有今天之前的文档都被排除掉了。...这个结果的字节集被缓存了,因为now被整了,意味着它只需要每天当昨夜凌晨的值改变时被执行一次。now-1h条件没有被缓存,因为now表示最近一毫秒的时间。...上面的实现能正常工作是因为自从昨晚凌晨条件比最近一小时条件位置更前。假如它们用别的方式组合,那么最近一小时条件还是需要检测所有的文档,而不仅仅是昨夜以来的文档。

1.1K30

干货 | 百万QPS,秒级延迟,携程基于实时流的大数据基础层建设

以mysql-hive同步为例,DataX通过直连MySQL批量拉数据,存在以下问题: 1)性能瓶颈:随着业务规模的增长,离线批量拉的数据规模越来越大,影响mysql-hive镜像表的产出时间,进而影响数仓下游任务...2)影响线上业务:离线批量拉数据,可能引起慢查询,影响业务库的线上服务。 3)无法保证幂等:由于线上库在实时更新,在批量拉SQL不变的情况下,每次执行可能产生不一样的结果。...假设当前时间凌晨0点30分,设为t4,若t4>(t1+t2+t3) 说明 T-1日数据已全部落入HDFS,即可执行下游的ETL作业(merge)。 ?...我们在配置mysql-hive镜像时,会指定一个检查条件,通常是按createTime字段对比7天的数据;mirror后台每天凌晨会预先从mysql 统计出过去7日增量,离线任务通过脚本(http)获取上述数据...2)业务表迁移,原表停止更新,虽然mysql和hive数据量一致,但已经不符合要求了,这种情况可以通过波动率发现。

1.7K10

青龙面板拉库命令大全最新【实时更新中......】

2️⃣快手普通版 快手普通版 脚本拉地址 4.8 更新 ql raw http://www.zhenjiu6.com/ym/ks.js 定时设置CRON 45 4-23/2 * * * 介绍 签到...,直播,分享,看邀请页视频任务 3️⃣酷狗大字版 酷狗大字版 脚本拉地址 4.28 更新 ql raw http://www.zhenjiu6.com/ym/kgdzb.js 定时设置CRON 18...kgyy.js 定时设置CRON 定时随意 介绍 签到,听音乐 5️⃣今日头条极速版 今日头条极速版 脚本拉地址 3.20 更新 ql raw http://www.zhenjiu6.com/ym/...4.9 更新 ql raw http://www.zhenjiu6.com/ym/bdd.js 定时设置CRON 拉库定时随便 介绍 常见任务:签到/浏览任务每天2-3毛 8️⃣闪电世界 闪电世界...脚本拉地址 3.21 更新 ql raw https://gitee.com/soy-tool/app-script/raw/master/app_dwsj.js 定时设置CRON 0-59/5 0-

9.8K42

wordpress资讯类主题NStory(纯净版宝塔版)

优雅的 PHP 代码结构,支持 PHP8.0,Vue.js 带给主题极佳的用户体验,让您可专心管理网站内容。...稍后观看视频 关灯看视频 AJAX 搜索 搜索历史 轻导航 多功能标签筛选 站点地图 两种外链跳转 微信分享显示缩略图 SMTP邮件发送设置 用户关注 优雅的弹窗 自定义页面宽度 多功能标签页面筛选 每天凌晨等级自动更新...自定义头像封面(需要权限) 文件上传重命名 社交账号绑定 自定义媒体上传面板 允许投稿的专题 允许投稿的分类 投稿可选择或创建标签 限制敏感词 投稿字数限制 允许访问后台的角色 邮件通知 允许上传的文件类型 自动更新普通等级...禁用古腾堡小工具 禁用文章 Embed 格式化日期 格式化数字 在新窗口中打开链接 自动添加图像 alt 和 title 搜索重定向 仅搜索文章标题 简化分类链接 HTML 代码压缩输出 禁用复制内容 重置北京时间...网站维护 外链跳转 后台用户列表时间和 IP 后台复制文章和页面 自定义后台登录地址 复制提示 代码高亮 其它功能 新编辑文章可AJAX选择所属专题 新编辑专题可AJAX选择相关文章 自定义类型文章固定链接

2.6K00

linux中定时任务的格式及例子

wed,thu,fri,sat # | | | | | # * * * * * user-name command to be executed ​ 备注: 1) * 表示任意的(分、时、日、月、周)时间都执行...2) – 表示一个时间范围段, 如5-7点 3) , 表示分隔时段, 如6,0,4表示周六、日、四 4) /1 表示每隔n单位时间, 如*/10 每10分钟 举例: 00 02 * * * #每天凌晨...6月周五凌晨2点执行 00 02 14 * 7 #每月14日或每周日的凌晨2点都执行 00 02 14 2 7 #每年的2月14日或每年2月的周天的凌晨2点执行 */10 02 * * * #每天凌晨2...1月5月8月凌晨2点执行 00 02 1-8 * * #每月1号到8号凌晨2点执行 0 21 * * * #每天晚上21:00执行 45 4 1,10,22 * * #每月的1,10,22号的4:45执行...3,15 8-11 */2 * * #每隔两天的上午8点到11点的第3和第15分钟执行 0 23-7/1 * * * #晚上11点到早上7点之间,每隔一个小时执行 15 21 * * 1-5 #周一到周五每天晚上

1K20

2021兰州疫情-新型冠状病毒疫情实时爬虫-1(实时更新)

采用技术 前端:百度地图API Leaflet D3.js VUE.js Echarts Antv Ajax 请求后端服务 后端:Express 搭建后台 并基于 MongoDB 数据库存储数据 数据分析...请求接口:/nCoV/api/area 请求方式:GET 返回自2021年10月18日(爬虫开始运行)至今,兰州所有、地区或直辖市及世界其他国家的所有疫情信息变化的时间序列 数据(精确到市),能够追溯确诊.../疑似感染/治愈/死亡人数的时间序列。...注:自2020年1月22日凌晨3:00至2020年1月24日凌晨3:40之间的数据只有省级数据,自2020年1月24日起, 丁香园才开始统计并公开市级数据。 image.png 示例 1....2 项目简介 本项目每分钟访问并爬一次数据,储存在MongoDB中,并且保存所有历史数据的更新,希望能够在未来回溯病情时能有所帮助。

97820

zabbix触发器和监控项设置监控时间范围

打开表达式构造器后,点击编辑,再次选择监控项X,在功能出选择当前时间小于N,然后N值出输入时间013000即可,01300表示凌晨一点半,152700表示下午三点27 ?...监控项配置监控时间范围 创建一个监控项,在自定义时间间隔那儿可以配置监控项的监控范围,比如我这里配置在周一到周日每天上午09:42-09:48每隔600秒启动脚本获取一次数据,10:30-11:00每隔...这里需要将数据更新间隔那里配置成0,否则自定义时间间隔配置会无效。 ? 注意:触发器和监控项配置监控时间范围效果是不一样的,首先两者的功能就不一样,监控项用来获取数据,触发器用来被触发告警。...在触发器那儿配置监控时间范围实际上只是加了一个触发条件而已,监控并没有停止。也就是说我上面配置的时间范围,当触发器在十二点到凌晨一点半时获得的值大于0触发器会被触发。...但是在其它时间若获得的值还是大于0,由于时间不满足在十二点到凌晨一点半之间,触发器会恢复告警。

1.4K20

《多线程并发任务处理组件》——无声

其中你可以通过插拔式配置来满足你的需求 目前提供了以下配置 启动线程大小 自定义线程池 同异步处理机制 任务结束异步处理机制 快速开始 当你有一组任务数据需要处理, 只需像这样 // 待处理任务数据, 比如是一组待更新每天凌晨需要处理的数据...并且它还支持同异步处理机制, 例如这样 // 待处理任务数据, 比如是一组待更新每天凌晨需要处理的数据 List testData = new ArrayList(); // 多线程操作...fun1() 后面还有其他事情, 比如 fun2(), 但你想让任务处理结束后执行fun1(), 但fun2()不想同fun1()一起去等待任务结束, 此时你可以这样 // 待处理任务数据, 比如是一组待更新每天凌晨需要处理的数据

45820
领券