本文介绍了如何排查金蝶K3Cloud系统中的计划执行问题。首先检查所有计划是否停止,若无问题则分析单个不执行计划。单个计划不执行需检查任务状态、配置时间、服务插件配置及执行日志。若所有计划停止,需检查管理中心设置、服务状态、系统日志及计算站点配置是否正确,特别是修改端口号后需更新配置文件中的ComputeSiteUrl。
一、首先需要判断一下是否所有计划都处于停止状态,可以到执行计划列表筛选下,找执行间隔单位为“分”,任务状态为“准备”的计划,看下其“执行时间”那一列,如下图当前日期为2020年8月7日,筛选出来的计划执行时间也都是8月7日,说明整个执行计划调度是没有问题,个别计划不执行那么就针对这个没有执行的计划去分析了。
二、单个计划没有执行的情况常见排查步骤:
任务状态处于停止状态,这种情况只需将其设置为准备状态即可。
确定配置的开始时间和结束时间是否正确,始时间必须小于当前时间,结束时间必须大于当前时间,执行时间可小于也可以大于当前时间。
确认服务插件是否正确配置,服务插件配置规则:命名空间+类名,组件全名
确认服务组件,已经复制到了 ..\K3Cloud\WebSite\Bin 目录
检查插件最近几次执行日志,如果插件异常被执行计划引擎捕获,则计划详情页面可以看到具体的错误堆栈信息。
三、步骤一里面我们知道如何确定是否所有的计划处于停止状态,如果所有的计划都停止了,按以下步骤排查:
1. 登录管理中心,检查数据中心是否勾选了 "允许执行计划任务"
2.查看服务器,K3CloudJobProcess 服务是否启用
3.检查Windows系统日志,查看执行计划是否有出错
4. 也是要敲小黑板的一点,如果修改了星空的默认端口号,那么配置文件里面计算站点的配置也要修改,计算站点配置有三个地方:
a.{安装目录}Kingdee\K3Cloud\WebSite\App_Data\Common.config文件的“appSettings”节点下,配置项 <add key="ComputeSiteUrl" value="http://localhost/K3CloudApp/"; />
b.{安装目录}Kingdee\K3Cloud\WebSite\Bin\目录下,“Kingdee.BOS.ScheduleService.exe.config”“appSettings”节点下 <add key="ComputeSiteUrl" value="http://localhost/K3CloudApp/"; />
c.{安装目录}K3Cloud\WebSite\Bin\JobProcess.Core.dll.config配置文件配置项 <add key="ComputeSiteUrl" value="http://localhost/K3CloudApp/"; />
配置时候注意计算站点http://localhost/K3CloudApp/后面有个斜杠,缺了这个斜杠也会导致不能执行。
要保证ComputeSiteUrl可以正常访问,比如如果端口修改成8090,那么上面的ComputeSiteUrl应该配置成"http://localhost:8090/K3CloudApp/",一个最简单的验证方法,打开浏览器把这个URL拷贝进去看是否能正常打开登录页面。
推荐阅读