Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

DNN Core Scheduler - Code?

Posted on 2009-05-11
12
407 Views
Last Modified: 2012-05-06
Hi Fellow DNN users,

I am trying to get the DNN scheduler to run, and I am struggling.

I have copied the code from http://www.wwwcoder.com/tabid/68/type/art/parentid/224/site/6401/default.aspx however it doesn't just work.

I am not getting any history happening, and the Job I have created fSetWindow, adds a row to a table, but it is not doing anything either.
I am not getting any exception errors, I don't believe it is being hit at all.

Project Name:WWT_DNN
File Name: WWT_Schedule
DLL Name: WWT_DNN.dll

Code Below

See attached for DNN Scheduler settings
Imports System.Configuration
Imports DotNetNuke
Imports System.Web
Imports WWT_dnn_Functions.Functions
 
Namespace WWT_DNN
 
    Public Class WWT_Schedule
 
        Inherits DotNetNuke.Services.Scheduling.SchedulerClient
 
        Public Sub New(ByVal objScheduleHistoryItem As DotNetNuke.Services.Scheduling.ScheduleHistoryItem)
            MyBase.New()
            Me.ScheduleHistoryItem = objScheduleHistoryItem
        End Sub
 
        Public Overrides Sub DoWork()
            Try
                For i = 0 To 1000000000
 
                Next
 
                fSetWindow(strType:="Send", UserID:=1, iCreditsHold:=0, CodeID:=1, MobileID:=1, iMins:=180)
 
                Me.ScheduleHistoryItem.AddLogNote("RSS Incremental Build Suceeded")
                Me.ScheduleHistoryItem.Succeeded = True
            Catch ex As Exception
                Me.ScheduleHistoryItem.Succeeded = False
                Me.ScheduleHistoryItem.AddLogNote("Index build failed. " & ex.ToString)
                Me.Errored(ex)
            End Try
 
        End Sub
 
    End Class
 
End Namespace

Open in new window

DNN-SchedulerSettings.png
0
Comment
Question by:Craig Lambie
  • 5
  • 5
12 Comments
 
LVL 8

Expert Comment

by:paololabe
ID: 24392967
To reproduce your enviroment I would like to know the dnn version you are using

Paolo.
0
 
LVL 8

Expert Comment

by:paololabe
ID: 24392984
Another question have you checked event viewer to see if something is going wrong in your class ?

Paolo
0
 
LVL 1

Author Comment

by:Craig Lambie
ID: 24393619
Hi,

DNN v 4.9.1

I am not sure how to view event viewer? Can you explain that a little?
I have had a look at Event Viewer, I can't find anything to do with it?

Thanks

C

0
NAS Cloud Backup Strategies

This article explains backup scenarios when using network storage. We review the so-called “3-2-1 strategy” and summarize the methods you can use to send NAS data to the cloud

 
LVL 8

Expert Comment

by:paololabe
ID: 24393762
admin -> event viewer

Just to be sure, what have you on host settings "Scheduler mode", you can see it by HOST->HOST settings, open section "OTHER SETTINGS"
0
 
LVL 1

Author Comment

by:Craig Lambie
ID: 24401133
Hi
I have no errors in the event viewer in DNN.

Scheduler Mode is set to "Request Mode" in Host Settings>Other Settings
The other option is "Timer Method"

C
0
 
LVL 1

Author Comment

by:Craig Lambie
ID: 24431053
Hi Paulo,
Any Ideas??
0
 
LVL 8

Accepted Solution

by:
paololabe earned 500 total points
ID: 24431320
I've done a test on my dnn installation, I used your code with a little changes to avoid importing library WWT_dnn_Functions.Functions,
everithing seems to work, the only difference is that in the full class name I wrote "WWT_DNN.WWT_Schedule", without specifying the assembly because I used a .vb in AppCodde folder

i suppose you haven't nothing in history, isn't it ?

Paolo


Imports System.Configuration
Imports DotNetNuke
Imports System.Web
'Imports WWT_dnn_Functions.Functions
 
Namespace WWT_DNN
 
    Public Class WWT_Schedule
 
        Inherits DotNetNuke.Services.Scheduling.SchedulerClient
 
        Public Sub New(ByVal objScheduleHistoryItem As DotNetNuke.Services.Scheduling.ScheduleHistoryItem)
            MyBase.New()
            Me.ScheduleHistoryItem = objScheduleHistoryItem
        End Sub
 
        Public Overrides Sub DoWork()
            Dim i As Integer
 
            Try
                For i = 0 To 1000000000
 
                Next
 
                'fSetWindow(strType:="Send", UserID:=1, iCreditsHold:=0, CodeID:=1, MobileID:=1, iMins:=180)
 
                Me.ScheduleHistoryItem.AddLogNote("RSS Incremental Build Suceeded")
                Me.ScheduleHistoryItem.Succeeded = True
            Catch ex As Exception
                Me.ScheduleHistoryItem.Succeeded = False
                Me.ScheduleHistoryItem.AddLogNote("Index build failed. " & ex.ToString)
                Me.Errored(ex)
            End Try
 
        End Sub
 
    End Class
 
End Namespace

Open in new window

0
 
LVL 1

Author Comment

by:Craig Lambie
ID: 24437707
Hi Paolo,

Thanks for that.  I copied the .vb into the AppCode folder, and recreated the Schedule Item, without the assembly name, and wackydo.... it worked.
I now have schedule history, and the job I have (updating a Db table) is working too, every minute.
You where right, I was not getting any history at all before.
Thanks.

Why does it not work as specified in the websites where I found this code? Any Ideas?

0
 
LVL 8

Expert Comment

by:paololabe
ID: 24438158
I think could be a namespace or assembly name issue, but if you have a WWT_DNN.dll file on your bin folder I don't see any mistake, or could be caused by the context in which method DoWork is called, try to change to "timer mode" to execute outside the user request context.
0
 
LVL 1

Author Comment

by:Craig Lambie
ID: 24438190
I tried the timer method already, that didn't work either.

Thanks for all your help, appreciate it.

C
0

Featured Post

Optimizing Cloud Backup for Low Bandwidth

With cloud storage prices going down a growing number of SMBs start to use it for backup storage. Unfortunately, business data volume rarely fits the average Internet speed. This article provides an overview of main Internet speed challenges and reveals backup best practices.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This is about my first experience with programming Arduino.
The article shows the basic steps of integrating an HTML theme template into an ASP.NET MVC project
In this fourth video of the Xpdf series, we discuss and demonstrate the PDFinfo utility, which retrieves the contents of a PDF's Info Dictionary, as well as some other information, including the page count. We show how to isolate the page count in a…

808 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question