.Net schedulers?
-
I'm looking into using Quartz.net[^] but I haven't seen a good UI so that the user can schedule their own jobs. Just curious what other people have used. Have you exposed scheduling to end users? If so how detailed was it, meaning could the user choose which days of the week, or perhaps every 3rd Tuesday, etc.
There are only 10 types of people in the world, those who understand binary and those who don't.
-
I wish I could help. I wrote something that languished unupdated a long time before quartz.net was written. (here)[^] Unfortunately, I never got around to writing a UI component for the project, but that was always meant to be the next step. There really should be a solid solution for that somewhere.
Curvature of the Mind now with 3D
-
I used RadScheduleView from Telerik for the UI and for the scheduling engine. The requirement was to look and act like Outlook Calendar and it does. The UI maintains a set of tables with in SQL Server with all the schedule info. I customized/extended the ScheduleView to hold info about the task I wanted scheduled. A task is just an exe that will run. I created a Windows Service with Topshelf which makes it really simple to create and debug (your service is just a console app you write). The DBA did not want the service to poll the database for schedule changes too often, so the UI raises an "event" thru MSMQ to notify when the schedule is changed. The service listens to the queue, hitting the database one time in the morning for today's schedule and any time a schedule change is queued. It is not as complex as it may sound really. Total dev time was about a week.
I hope I die in my sleep like my grandpa Bart, not screaming and kicking like the passengers of his cab.
-
I'm looking into using Quartz.net[^] but I haven't seen a good UI so that the user can schedule their own jobs. Just curious what other people have used. Have you exposed scheduling to end users? If so how detailed was it, meaning could the user choose which days of the week, or perhaps every 3rd Tuesday, etc.
There are only 10 types of people in the world, those who understand binary and those who don't.
appliedalgo.com - scheduler with grid load balancing support jobs can be built in java/c++/VBA/dotnet... run on Windows/Linux...etc
dev
-
I'm looking into using Quartz.net[^] but I haven't seen a good UI so that the user can schedule their own jobs. Just curious what other people have used. Have you exposed scheduling to end users? If so how detailed was it, meaning could the user choose which days of the week, or perhaps every 3rd Tuesday, etc.
There are only 10 types of people in the world, those who understand binary and those who don't.
-
I'm looking into using Quartz.net[^] but I haven't seen a good UI so that the user can schedule their own jobs. Just curious what other people have used. Have you exposed scheduling to end users? If so how detailed was it, meaning could the user choose which days of the week, or perhaps every 3rd Tuesday, etc.
There are only 10 types of people in the world, those who understand binary and those who don't.
Using console app + built in Windows Scheduler. Does the job.
-
I'm looking into using Quartz.net[^] but I haven't seen a good UI so that the user can schedule their own jobs. Just curious what other people have used. Have you exposed scheduling to end users? If so how detailed was it, meaning could the user choose which days of the week, or perhaps every 3rd Tuesday, etc.
There are only 10 types of people in the world, those who understand binary and those who don't.
I used to think that I wanted a job scheduler to do things, but I thought all the .NET ones were over-complicated. So, I spent a couple hours or so and wrote one in to my app. Just have a timer that checks your configured jobs every interval (maybe a minute or less) if it's time to run one, then run it. There's a few other complexities to deal with, but it's not as hard as you think. Think about the configuration for Unix chron as the simplest way do it with lots of timing options.
-
I used to think that I wanted a job scheduler to do things, but I thought all the .NET ones were over-complicated. So, I spent a couple hours or so and wrote one in to my app. Just have a timer that checks your configured jobs every interval (maybe a minute or less) if it's time to run one, then run it. There's a few other complexities to deal with, but it's not as hard as you think. Think about the configuration for Unix chron as the simplest way do it with lots of timing options.
Timv256 wrote:
but it's not as hard as you think.
The complexity comes in play when you allow users the freedom to schedule their own jobs. For example, do you support the option for just every weekday or do you let them choose which days of the week. Do you allow start and stop time to be different on each of those days, etc. It can get out of hand very quickly depending on how flexible you want it.
There are only 10 types of people in the world, those who understand binary and those who don't.
-
Timv256 wrote:
but it's not as hard as you think.
The complexity comes in play when you allow users the freedom to schedule their own jobs. For example, do you support the option for just every weekday or do you let them choose which days of the week. Do you allow start and stop time to be different on each of those days, etc. It can get out of hand very quickly depending on how flexible you want it.
There are only 10 types of people in the world, those who understand binary and those who don't.
Even with lots of timing options, it wasn't that hard. I had a schedule record and just went through each schedule and executed jobs associated with the schedule during an interval when a schedule was triggered. Name StartTime EndTime RepeatIntervalMinutes DaysOfWeek DaysOfMonth Hours Minutes NextRunTime LastRunTime friday7 2014-09-05 00:00:00 2020-04-18 00:00:00 90 Friday NULL 7 NULL NULL 2015-03-13 07:00:49.9115390 -05:00
-
Even with lots of timing options, it wasn't that hard. I had a schedule record and just went through each schedule and executed jobs associated with the schedule during an interval when a schedule was triggered. Name StartTime EndTime RepeatIntervalMinutes DaysOfWeek DaysOfMonth Hours Minutes NextRunTime LastRunTime friday7 2014-09-05 00:00:00 2020-04-18 00:00:00 90 Friday NULL 7 NULL NULL 2015-03-13 07:00:49.9115390 -05:00