?
Solved

DNN Core Scheduler - Code?

Posted on 2009-05-11
12
Medium Priority
?
419 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
10 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
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
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 2000 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

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Question has a verified solution.

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

FAQ pages provide a simple way for you to supply and for customers to find answers to the most common questions about your company. Here are six reasons why your company website should have a FAQ page
There is a massive demand for content on the web right now, and it doesn't look like it's going to stop any time soon. But, if you are running a business blog, it's not just enough to offer your audience lots of content. It needs to be high-quality…
An introduction to basic programming syntax in Java by creating a simple program. Viewers can follow the tutorial as they create their first class in Java. Definitions and explanations about each element are given to help prepare viewers for future …
Simple Linear Regression

839 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