43、任务调用

来源:互联网 发布:淘宝空包是什么意思 编辑:程序博客网 时间:2024/05/29 03:13

一般任务调度都属于独立任务,定时运行

1.定义一个接口IBackGroundJob并且仅有方法execute,返回值executeresult,里面定义属性:成功与否标志issuccess,日志信息logcontent,错误信息列表errormessage构造方法一般给定issuccess为默认值true,方法的输入参数taskdispatchinfo一般包含可空类型的时间,taskparams列表(string)用来接收手动传入的参数,构造方法跟默认一致

2.定义任意类继承此接口,完成任务后如果成功则不对将需要返回的类对象即executeresult对象做修改,失败的话就要将issuccess置false,将catch到的错误信息ex.message增加到errormessage(add方式);一般都会多添加一个日志类对象tasklogentity,对startdate(赋当前时间)module(任务调度名称)tasktype(任务本身名称)taskname(中文名)以及logcontent(success或者fail)等信息添加,如果最后任务成功,则要对issuccess赋true,任务失败则false,同时logcontent则是fail。

3.任务一般调用dowork方法,当然名称任意,但是一定要注意:此方法一定要放到try/catch中。在最后添加finally,将tasklogentity对象的enddate赋当前时间,并将整个对象添加到对相应的日志管理中去

4.当dowork中有多个方法需要调用的时候,一定要注意:每一个方法中都要用try/catch包起来避免功能之前相互影响,否则一旦任意一个方法出现错误,任务即终止,其他方法也无法完成功能。另外,任务非常灵活,可以使用异步等各种编码。

5.完成任务定义,要到数据库相应表中添加配置信息比如运行时间或者间隔时间等,任务调度服务会自动扫描表来调用。

原创粉丝点击