DNN计划程序不会运行我的自定义计划

时间:2010-11-12 10:42:34

标签: dotnetnuke dotnetnuke-5

我创建了一个类库,并确保它继承

DotNetNuke.Services.Scheduling.SchedulerClient

然后覆盖了DoWork()子。

然后在dnn主机设置中> scheduler添加了一个新的调度程序项。

在文本框中标记为:完整类名称和程序集:

Namespace.Classname, Dllname

选中“启用计划”框,并添加了5分钟的运行时间间隔并启用了追赶。

还添加了该类使用的表列表。并保留5条历史记录

然后我保存了它,

在视图计划状态中,我得到了这个:

Name          |  Next Start              |  OverDue(s)  | Time Remaining
Sub reminder  |  11/12/2010 9:52:02 AM   |  3.5         |  0

在请求模式下使用调度程序。

提前感谢您的帮助。


更新:

好的,我创建了一个名为“SubRenewal”的新类库项目 重命名vb文件Test并将以下内容添加到文件

Namespce Matts
 Public Class Test
  Inherits Dnn.Services.Scheduling.SchedulerClient
   Public overrides Sub DoWork()
     Me.ScheduleHistoryItem.addLogNote("I ran")
   end Sub
 End Class
End Namespace

在调度程序页面上我放了: 友好的名字测试员 全班名称和装配Matts.Test,SubRenwal 启用是 时间流逝10秒 Rety频率 - 在事件无运行 并将其他所有内容留空并保存。在计划程序或项目历史记录中仍然没有。事件查看器中也没有任何内容

2 个答案:

答案 0 :(得分:2)

我建议按照以下步骤开始调度程序开发和调试:

  • 创建一个新的类库probject并在其中添加dotnetnuke和相关dll的引用
  • 将同一项目的引用添加到您的dnn项目
  • 添加新的vb或c#文件以实现调度程序
  • 添加代码行以在计划历史记录中创建条目,而不添加其他代码
  • 测试您的日程安排程序
  • 从dotentnuke网站主机帐户注册您的新调度程序

请注意,只要添加新的调度程序项,它就会触发调度程序。 我希望这能帮到您。我建议删除您已经拥有的调度程序条目,重置您的网站实例(iis或asp.net开发服务器)并尝试使用上述方法再次添加它

希望这会对你有所帮助

答案 1 :(得分:2)

首先,我要感谢Lakhlan,没有他的帮助,我不会发现错误。

我相信这个问题是两件事之一,首先是我正在注册另一个自定义模块的引用,以允许我本地化一些输出文本。

我还在

下添加了新的构造函数
Public Sub New(ByVal objSceduleHistoryItem As DotNetNuke.Services.Scheduling.ScheduleHistoryItem)
        MyBase.New()
        Me.ScheduleHistoryItem = objSceduleHistoryItem
    End Sub

再次感谢你投票给你的帮助,但不能:(