1110
1110

Reputation: 6829

How to run background service on web application - DotNetNuke

I made dnn scheduler and set to run it on every 1 min. It works when I do something on site. But I need to run some actions when I am not on the site. For example insert record to database with currenct time. Is this possible?

Upvotes: 2

Views: 1231

Answers (3)

mika
mika

Reputation: 6962

In Host Settings, use Scheduler Mode = Timer Method

Host Settings - Scheduler Mode

This will make the scheduler run in a separate thread that is not triggered by page requests.

If the scheduler runs in the timer method, it won't have access to the current HttpContext.

You will also have to make sure that DNN is kept alive, and IIS doesn't shut down the application due to inactivity. Setting the application pool idle timeout appropriately, and pinging the /Keepalive.aspx should take care of this. Nevertheless, using the DNN scheduler for critical tasks is not a good idea.

See Also:

Upvotes: 5

Ryan Doom
Ryan Doom

Reputation: 2391

Doing the equivalent of a Cron job is still a pain in the butt on Windows.

The DNN Scheduler will work if you aren't super concerned about when it runs. What you may need to do is have more logic on your end... if it only runs every 10 minutes, or every hour or whatever you may have to look at your database tables, determine last time it ran and then do whatever it needs to do to 'catch up.' In your case add 60 minutes of info versus every minute.

I'm struggling to think of an example of why I would just write to a table every minute or on some interval. If I needed it for a join table or something convenient to report off of you should generate them in larger chunks.

The other option is to write a small .NET windows service which isn't that hard and have it run every minute. That would be more reliable.

Upvotes: 1

Ozgur Dogus
Ozgur Dogus

Reputation: 921

If you just want database related things, such as inserting a record, you can use database jobs. You didn't mention what dbms you use but almost every database have almost same functionality under different names.

Upvotes: 1

Related Questions