V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
luxinfl
V2EX  ›  程序员

三天了,项目关闭的时候,日志有 shutting down ExecutorService 'taskSchedule'

  •  
  •   luxinfl · 2021-02-23 10:59:04 +08:00 · 2553 次点击
    这是一个创建于 1398 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一直卡着,导致项目停不了,有什么好的解决办法麽?这个 bean 就是默认的 ThreadPoolTaskSchedule 。

    18 条回复    2021-02-25 16:30:51 +08:00
    uselessVisitor
        1
    uselessVisitor  
       2021-02-23 11:23:14 +08:00
    直接 kill 不行吗。。
    leeyuzhe
        2
    leeyuzhe  
       2021-02-23 11:24:56 +08:00
    你是在找这个?
    ```
    //调度器 shutdown 被调用时等待当前被调度的任务完成
    taskExecutor.setWaitForTasksToCompleteOnShutdown(true);
    //等待时长
    taskExecutor.setAwaitTerminationSeconds(60);
    还是单纯的想结束掉进程?直接 kill 掉不就行了吗,记得要用-9 不要用-15
    luxinfl
        3
    luxinfl  
    OP
       2021-02-23 11:28:00 +08:00
    @beichenhpy 我也想在脚本里面写 kill,因为这个是端口号被占用引起的问题。占用之后,这个线程池停不掉了。但是测试不让啊。
    @leeyuzhe 这两个参数貌似都有,还有个线程池也是一样的问题。后来我加了监听器手动初始化了,就是不知道这个异步的咋搞。
    icebow
        4
    icebow  
       2021-02-23 13:55:33 +08:00
    @luxinfl SpringApplication.run(xxxx.class, args).close();
    sonice
        6
    sonice  
       2021-02-23 15:36:52 +08:00
    统计一下非 daemon 线程个数?
    gtexpanse
        7
    gtexpanse  
       2021-02-23 15:44:26 +08:00
    看看线程在做什么事情吧,另外有没可能是用了 SmartLifecycle 但是没有正确关闭
    mengbai
        8
    mengbai  
       2021-02-23 17:18:56 +08:00
    Runtime.getRuntime().addShutdownHook(new Thread(this::close));
    hantsy
        9
    hantsy  
       2021-02-23 17:28:01 +08:00
    程序有线程问题。
    luxinfl
        10
    luxinfl  
    OP
       2021-02-23 17:53:32 +08:00 via Android
    @sonice idea 的 dump 功能应该可以的吧,看了没找到这个线程池有关的东西
    luxinfl
        11
    luxinfl  
    OP
       2021-02-23 17:54:09 +08:00 via Android
    @gtexpanse 这个是 springboot 定时任务自带的 bean,不知道怎么搞了
    luxinfl
        12
    luxinfl  
    OP
       2021-02-23 17:54:31 +08:00 via Android
    @hantsy 肯定有,但是不知道怎么调
    Giny
        13
    Giny  
       2021-02-23 18:05:56 +08:00
    问题描述的不太清楚
    这个项目为什要停掉,这个仅仅是执行定时任务的么?停不掉是不是还有在运行的线程
    luxinfl
        14
    luxinfl  
    OP
       2021-02-24 07:45:24 +08:00 via Android
    @Giny 因为端口占用报错了,按理说程序会自动停掉,但是因为线程池关不掉,所以。。
    sonice
        15
    sonice  
       2021-02-24 09:23:39 +08:00
    发一份 threaddump 出来大家看看不就知道了,可以传到 github,然后发链接
    luxinfl
        16
    luxinfl  
    OP
       2021-02-24 16:57:55 +08:00
    @sonice 发到 gihub 我感觉就要收拾东西滚蛋了
    sonice
        17
    sonice  
       2021-02-25 09:19:24 +08:00
    @luxinfl 管控这么严格吗?可以脱敏了再发啊
    luxinfl
        18
    luxinfl  
    OP
       2021-02-25 16:30:51 +08:00
    @sonice 不敢,被监控到真的说不清楚。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2970 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 13:15 · PVG 21:15 · LAX 05:15 · JFK 08:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.