zoukankan      html  css  js  c++  java
  • DNN调度管理解析(二)自定义调度任务

      在前面提到DNN中是可以提供自定义调度服务的,为了在DNN实现自定义调度,
    开发者需要创建一个类继承于DotNetNuke.Services.Scheduling.SchedulerClient
    (
    $DNNNroot/ Providers/Scheduling/子目录下),而且必须提供一个构造函数和
    一个DoWork()方法,在构造函数里你可以设置ScheduleHistoryItem为引入的参数;
    而在DoWork()方法里你需要把你的逻辑代码包含于Try-Catch捕捉异常代码块中。
    解析代码
    比如下边提供的一个调度任务,它实现了将所有的日志文件搁放在一个相应的文件
    夹里边(我们可设置让该调度程序每天运行一次,而文件夹名称即为该调度任务执
    行的日期),这无疑给庞大的日志文件管理提供极大的方便!其中需要注意的就是
    DoWork()方法的实现,在这列几点:

    1)              Me.Progressing 即是告知调度服务任务正在执行,这在运行长期的调
    度任务很有用处尽管这是可选的

    2)              Me.ScheduleHistoryItem.Succeeded = true 即是在任务完成
    之后需要赋值在此
     3)              如果你需要增加一些信息到调度服务执行历史的话,你需要调用
    AddLogNode()方法
    4)              必须捕捉错误,如果调度服务出现异常的话
    代码实现如下:


     

    一旦这个自定义类被编译之后,只要在DNN的调度列表添加进去了,该调度服务
    就可以被执行并实现其调度功能。

    注意:上边程序注释标有“REQUIRED”的部分为必须实现项,如此该调度程序
    才能被统一处理和正确执行。
     

    待续......准备下回讲一下在DNN实践是如何运用DNN调度服务!!
     

     

  • 相关阅读:
    过度和动画
    自定义指令
    使用ref操作DOM和过滤器的使用
    计算属性与侦听器
    MVVM设计思想
    vue template
    Vue初探
    npm 6.14 + Babel 7 使用
    5行代码起一个服务
    vue打包后引入js和css用相对路径引入
  • 原文地址:https://www.cnblogs.com/sunwangji/p/228081.html
Copyright © 2011-2022 走看看