1. 概述编辑
本文介绍 定时调度任务 中一些报错及解决方案。
2. 示例编辑
2.1 邮件正文空格显示问题
问题描述:
邮件正文内容中的多个空格被合并为一个,行首空格不显示。
解决方案:
邮件正文中若需在行首输入空格,或在行内连续输入多个空格时,要将这些空格替换为同等数量的「 」。如下图所示:
2.2 结果链接无法正常跳转
问题描述:
设置定时任务发送邮件时,在「邮件通知」中勾选了正文加上结果链接,点击邮件中的结果链接,出现图一或图二的报错,报错内容:非常抱歉,您无法查看该页面,如需访问请联系管理员
如下图所示:
原因分析:
可能是用户在「调度对象」步骤中勾选了任务结束即清理 。
解决方案:
取消勾选任务结束即清理,勾选仅保留最近一次、仅保留最近5次、不清理、自定义中任意一个即可。
2.3 迁移 FineDB 数据库后邮件发送失败
问题描述:
定时任务发送邮件,没有「运行监控」,也没有收到短信,后台报错:
couldn't store job:Packet for query is too large (35045785>4194304).You can change this value on the server by setting the max_allowed_packet' variable.
如下图所示:
原因分析:
用户将内置 FineDB 数据库迁移到本地 MySQL 数据库中,本地 MySQL 数据库中 max_allowed_packet 值设置过小导致单个记录超过限制后写入数据库失败,且后续记录写入也会失败。
解决方案:
方案一:
MySQL 安装目录下的「my.ini」文件中的[mysqld] 字段中的「max_allowed_packet = 1M」修改为 500M ,重启 MySQL 即可。
方案二:
1)使用 set global max_allowed_packet = 524288000; 语句将max_allowed_packet 的值设置为 500 M;
2)使用 show VARIABLES like '%max_allowed_packet%'; 语句查看是否修改成功。
2.4 超时报错
问题描述:
定时调度发送邮件失败,报错如下所示:
com.fr.restriction.MemoryAlarmException:很抱歉,sql 执行时间过长触发保护机制,请稍后重试。若您是管理员,可于智能运维-内存管理-模板限制中更改此项限制。
解决方案:
关闭所有 模板限制