• 诡异的定时任务


    引出问题

    现在是2022年9月19日14:38:19

    定时任务上一次执行的时间是2022-09-14 15:03:12.620

    将近5天的时间没执行。

    造成的结果是,数据没入库。
    在这里插入图片描述

    上次重启是2个月之前。2022-7-21 上午9:52
    在这里插入图片描述

    肯定是有问题的。需要排查下原因。

    解决步骤

    一些可用对你有帮助的命令

    将容器日志导出来

    docker inspect 容器名字或者 ID | grep -i logpath

    关键词搜索

    docker logs --tail 10000 -f 容器id | grep 日志关键词

    使用的是quartz

    看容器

    docker ps 没看出来有啥问题
    在这里插入图片描述

    docker stats 也没看出来有啥问题
    在这里插入图片描述

    看日志

    docker logs --tail -f 1000 容器Id

    • 09-14 14:53:13.932 ERROR
      org.quartz.SchedulerException: Job threw an unhandled exception.
      at org.quartz.core.JobRunShell.run(JobRunShell.java:213)
      at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
      Caused by: java.lang.ArithmeticException: null
    • 09-14 14:54:52.671 ERROR 1 — [ryBean_Worker-9] org.quartz.core.JobRunShell : Job JOB_GROUP_NAME.memoryTask threw an unhandled Exception:
      ElasticsearchStatusException status line [HTTP/1.1 429 Too Many Requests
    • 09-14 14:56:37.116 ERROR 1 — [ryBean_Worker-2] c.e.elasticsearch.ElasticsearchUtils : 添加文档失败
      java.io.IOException: listener timeout after waiting for [30000] ms
    • 日志截止到14号15:03分

    结论

    某个/部分定时任务阻塞(http),占用了资源不释放,导致其他任务无法执行。

    测试代码(复现代码)

    git init
    git commit -m “first commit”
    git remote add origin https://gitee.com/ws66ds/norun.git
    git push -u origin “master”

    https://gitee.com/ws66ds/norun.git

    占用资源,后续任务不跑了

    相关参考文章

    https://www.manongdao.com/article-2430767.html
    https://blog.csdn.net/weixin_29306317/article/details/114392104

  • 相关阅读:
    Redis
    C++11 条件变量
    tensorflow基础
    MySQL的index merge(索引合并)导致数据库死锁分析与解决方案
    esp32经典蓝牙和单片机连接,,,手机蓝牙作为主机
    mysql使用循环语句
    spring启动流程(二):包的扫描流程
    Kafka学习笔记(三)
    微信公众号分销商城源码系统+多元商家+收银台 带完整的搭建教程
    作为所有类的顶层父类,没想到Object的魔力如此之大!
  • 原文地址:https://blog.csdn.net/weixin_43555115/article/details/126933515