反馈已提交

网络繁忙

自动清理FineDataLink运行记录

  • 文档创建者:Wendy123456
  • 历史版本:5
  • 最近更新:Roxy 于 2024-05-20
  • 1. 概述

    1.1 应用场景

    随着 FineDataLink 工程使用时间的增长,fine_dp_work_exec_record(记录定时任务的执行情况)表中的数据会不断积累,导致数据量逐渐增多。当数据量过大时,打开「任务运维>定时任务>运行记录」页面可能会变得缓慢,需要耗时 10 秒以上。

    希望能定期清理 fine_dp_work_exec_record 表数据。

    注:4.1.7.3 版本将fine_dp_work_exec_record表迁移到logdb中,表名不变,后续数据均写入迁移后数据表。升级后会将历史运行记录迁移到LogDB中,因此这部分数据可以直接使用清理日志

    1.2 实现思路

    使用 FineDataLink 定期清理 30 天前的定时任务的运行记录数据。

    1.3 任务展示

    FineDataLink 中的数据处理过程,详情参见:https://demo.finedatalink.com/ 「自动清理FDL运行记录

    9.png

    1.4 注意事项

    本文第二章步骤适用于 4.1 之前版本。

    4.1 及之后版本,定时任务执行情况的全量记录在 fine_dp_work_exec_record 表中,最近一次的记录在

    fine_dp_work_last_record 表中。需要同时清理这两张表,清理步骤可参考本文第二章。

    2. 操作步骤

    fine_dp_work_exec_record 表在 FineDB 数据库中,本文示例中,FineDB 数据库迁移到了 MySQL 数据库中,所以本文示例的 SQL 语句为 MySQL 语句。

    用户根据自己实际场景,调整 SQL 语句。

    2.1 获取 30 天前日期并作为参数

    1)新建定时任务。

    2)拖入「参数赋值」节点,输出 date 字段,值为 30 天前日期。如下图所示:

    SELECT DATE_SUB(NOW(), INTERVAL 30 DAY) AS date

    4.png

    3)将 date 作为参数输出,「默认值」直接复制右侧参数预览后的值即可,默认值只是为了下游节点提前预览设置的,实际运行时不会用到这个默认值。

    如下图所示:

    注:参数赋值节点详情请参见:参数赋值

    6.png

    2.2 删除 30 天前运行记录数据

    1)拖入「SQL 脚本」节点,删除 30 天前定时任务的运行记录数据。如下图所示:

    delete from `demo1`.`fine_dp_work_exec_record` where FROM_UNIXTIME(startTime/1000,'%Y-%m-%d %H:%i:%s')<='${date}'

    7.png

    2.3 运行任务

    1)点击保存并运行任务,任务运行成功后,如下图所示:

    8.png

    2)可通过 SQL 语句验证是否删除 30 天前的数据。

    例如 30 天前日期为 2023-07-17 19:34:37 ,转为毫秒级时间戳为 1689593677000(百度有日期转时间戳在线工具),查询 startTime 小于 1689593677000 的数据是否为空即可。


    附件列表


    主题: 数据开发-定时任务
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!

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

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

    不再提示

    10s后关闭



    AI

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