开发者社区> 问答> 正文

宜搭集成自动化数据更新节点运行经常超时

编辑了一个定时自动触发的集成自动化,其中这些数据更新节点,前一节点是获取多条数据,本节点是更新这些数据,数据量不大的,大概每次是26条,每条有24个数据需要更新其中13个数据。 看日志,在这个节点OK通过的运行时间大概是9200ms,报错的是: "exceptionMsg": "节点[更新数据-n+1变L] 执行异常:数据节点连接器执行异常,e:更新数据失败了,errorMsg:batchUpdate fail,HSFTimeOutException-FutureTimeout ERR-CODE: [HSF-0002], Type: [BIZ], More: [http://console.taobao.net/help/HSF-0002]\nerror message : timeout is 10000", "errorCode": "002032", "exceptionName": "com.alibaba.flowengine.common.exception.ElementEnterException" 应该是运行超10000ms了。但时好时坏,有问题的节点可能重新运行一下就又好了。 我发现可能是这个时间的问题。 所以请教各位老师: 1.如何减小这个运行9200ms的时间呢? 2.如何设置这个10000ms的timeout? 感谢!!

image.png image.png image.png

展开
收起
沉默de话痨 2023-04-23 11:27:22 8048 0
来自:钉钉宜搭
4 条回答
写回答
取消 提交回答
  • 值得去的地方都没有捷径

    针对您的问题,我有以下建议:

    优化更新数据的代码逻辑,尽量减少更新数据的时间。可以考虑批量更新数据,使用事务等方式来提高更新效率。

    可以在节点配置中设置超时时间,将超时时间调整为更长的时间,以避免节点运行超时报错。具体操作方式是:在节点配置中找到“超时时间”选项,将其调整为更长的时间,比如20000ms。

    可以考虑将数据更新节点拆分成多个子节点,并且在每个子节点中设置一个较短的超时时间,以便更好地控制节点运行时间。具体操作方式是:将数据更新节点拆分成多个子节点,每个子节点负责更新一部分数据,然后在每个子节点中设置一个较短的超时时间,比如5000ms。

    希望以上建议能够帮助您解决问题。如果还有其他问题,请随时提出。

    2023-04-23 18:32:30
    赞同 展开评论 打赏
  • 十年摸盘键,代码未曾试。 今日码示君,谁有上云事。

    默认的timeout为0,代表永不超时。尽量把timeout设置的大一点。

    可以尝试把timeout值调大,可解决此问题,具体数据结合本项目的实际情况,比如将10秒改为了30秒。

    timeout 指定运行的命令最大运行时长,时间到则终止该命令。

    timeout命令是GNU核心实用程序软件包的一部分,该软件包几乎安装在所有Linux发行版中

    默认单位是秒,当达到时间限制时,timeout将SIGTERM信号发送到受管命令。可以使用-s(-signal)选项指定要发送的信号。

    默认情况下,timeout在后台运行托管命令。如果要在前台运行该命令,请使用--foreground选项。

    详细解释 原文:https://www.linuxprobe.com/linux-time-limit.html

    2023-04-23 14:33:54
    赞同 1 展开评论 打赏
  • 月移花影,暗香浮动
    1. 调整节点超时时间:在节点设置中增加节点超时时间,以确保节点有足够的时间来完成它的工作。

    2. 检查目标系统的响应时间:如果目标系统的响应时间很慢,可能需要将其优化或升级,以改善节点运行的性能。

    3. 减少数据更新数量:如果节点涉及大量的数据更新,可以分批次执行,以减少每次更新的数据量。

    4. 使用异步更新方式:使用异步更新方式,可以在后台进行更新操作,不会影响前台的性能。

    5. 使用缓存:可以使用缓存来存储一些数据,以减少对目标系统的访问次数,并提高性能。

    6. 确保网络连接稳定:如果节点运行过程中出现网络连接问题,可能会导致节点超时,因此需要确保网络连接稳定。

    7. 检查指令的正确性:在节点设置中确保关键指令的正确性,以确保节点可以执行正确的操作。

    通过以上方法可以帮助解决宜搭集成自动化数据更新节点运行经常超时的问题。

    2023-04-23 14:19:10
    赞同 展开评论 打赏
  • 针对您的问题,我提供以下建议:

    1. 如何减小运行时间?

    可以从以下几个方面入手:

    • 优化SQL语句:可以通过优化SQL语句,如增加索引、减少数据读取量等方式来提高执行效率。

    • 增加节点并行度:可以通过增加节点并行度来提高执行效率,具体操作可以在节点设置中,将并行度设置为大于1的数字。

    • 减少数据量:可以通过减少数据量来提高执行效率,例如在获取数据节点中增加条件筛选,只获取需要更新的数据。

    • 如何设置timeout?

    在DataWorks中,可以通过以下方式设置timeout,如果您使用的是MaxCompute或ODPS等阿里云的产品,可以在SQL中设置timeout,例如:SET odps.sql.hints.timeout=10000; 需要注意的是,设置timeout时间需要根据具体情况进行调整,确保不会影响数据处理的完整性和准确性,同时也要考虑到节点的复杂度和数据量等因素。

    2023-04-23 13:02:19
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
+ 订阅
「宜搭」是云钉原生低代码平台(钉钉 PaaS - aPaaS),让企业应用搭建更简单! 帮助中小企业降本提效,加强组织的数字化自主权; 帮助大型企业释放个体创新力,助力组织创新涌现。
相关文档: 宜搭
问答排行榜
最热
最新

相关电子书

更多
自动化、智能化网络运维 立即下载
从自动化到智能化的阿里运维体系 立即下载
小红书移动端自动化数据采集实践 立即下载