定时任务排队问题排查方案

  • 方案级协助
  • 文档创建者:Roxy
  • 历史版本:3
  • 最近更新:Roxy 于 2025-03-13
  • 1. 概述

    用户在手动触发任务或者调度触发任务过程中,FineDataLink 工程中可能会出现由于内存不足、并发不足等问题导致的任务卡住、任务排队的问题,问题原因各不相同。本文将给出部分定时任务运行排队问题排查思路。

    2. 排查思路

    2.1 确认任务是否排队

    进入「运维中心>定时任务>运行记录」下,选择指定的运行记录,点击「查看详情」即可看到任务记录,如下图所示:

    若任务日志显示正在执行,没有节点信息,则表示任务正在排队中,如下图所示:

    然后可以查看是否是当前用户运行的任务导致的排队,如果上一次实例运行中,会堵塞下一次实例调用。

    一定要看全量记录, 不能只看最近一次运行记录,一定要看近一周或者全部时间, 不能只看当天记录,因为实际在运行中的任务可能是昨天的甚至前天的.,如下图所示:

    注:若是由于高频率的调用定时任务导致的排队,可以使用实时任务,或者向技术支持获取帮助技术支持联系方式:前往「服务」,选择「在线支持」、电话「400-811-8890」)。

    2.2 查看日志

    查看日志判断是否是资源不足导致的。

    在「管理系统>智能运维>平台日志」下将「系统日志」导出,如下图所示:

    注:推荐设置日志级别为 info,info 级别的日志在任务启动时会检验对应的资源。如下图所示:

    在日志中搜索对应任务名或者搜索 resource is not enough,如下图所示:

    资源检验会先检验内存,然后是线程并发,如果内存检验失败,说明是内存不足;如果内存检验成功并发检验失败,说明是并发不足。此时就需要去调整内存和并发资源。

    3. 定时任务运行所需资源

    这里就需要介绍内存和并发等的概念,以便用户在检查出问题后进行调整。

    3.1 内存控制

    估算资源判断任务是否可以运行:数据开发总内存数(负载分配划分给定时任务的内存+共享空间剩余的内存),如下图所示:

    3.2 并发控制

    估算资源判断任务是否可以运行:数据开发总并发数(负载均衡划分给定时任务的并发数,默认:集群节点数*cpu核心数*10),如下图所示:

    其中

    • 数据同步节点需要占用 2 个并发,数据转换节点每个输入算子和输出算子都占用 1 并发;

    • 如果开启了并行取数,按照实际切分键并发数来算。

    例如下面的数据转换预估占用 4 个并发。

    3.3 特例

    上述讲的内存和并发控制策略只对数据同步、数据转换和参数赋值这种同步节点和计算节点生效。对于 SQL脚本、Shell 脚本等节点,只受自身线程池限制。

    注:实际执行的数据开发/数据转换/参数赋值的并发数,同时受数据开发/数据转换/参数赋值「线程池」和「并发控制」限制,取二者最小值。

    类型
    线程池大小
    SQL 脚本

    默认为数据开发总并发数*4,倍数可调;

    实际限制最小值为50

    Shell脚本、Bat脚本、Python脚本共用一个线程池

    默认为数据开发总并发数*1,倍数可调;

    实际限制为1/2*CPU核数~5*CPU核数


    若上述第二章步骤仍然排查不出原因,则可以联系帆软技术支持获取更多帮助(技术支持联系方式:前往「服务」,选择「在线支持」、电话「400-811-8890」)。




    附件列表


    主题: 运维中心
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    9s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持

    反馈已提交

    网络繁忙