Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. .Net schedulers?

.Net schedulers?

Scheduled Pinned Locked Moved The Lounge
csharpdesignquestion
26 Posts 16 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • U Uwe Keim

    I configure the task to run when the system starts. I also configure a user to run under. Windows services are way harder to debug. I never had the need to use it when a console app also did the job.

    Come and visit our German Developer Community!

    Z Offline
    Z Offline
    ZurdoDev
    wrote on last edited by
    #8

    OK. Thank you for the input. :thumbsup:

    There are only 10 types of people in the world, those who understand binary and those who don't.

    1 Reply Last reply
    0
    • Z ZurdoDev

      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.

      G Offline
      G Offline
      Garth J Lancaster
      wrote on last edited by
      #9

      Im using quartz.net and topshelf as a service base, with the 'jobs' defined in a json config & using cron triggers - so if I were going to allow a user to edit the jobs, I'd be looking at something that could edit the json definitions

      1 Reply Last reply
      0
      • Z ZurdoDev

        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.

        K Offline
        K Offline
        kmoorevs
        wrote on last edited by
        #10

        I'm not sure if it's related or not, but a current project is an import designed to run as a scheduled task on a server. The user can take care of the schedule and the service account. I originally had plans to do it as a console app, but after building the POC as a WinForm app, decided that I liked having a UI for manual mode/setup, and just added in whatever command line args I needed, including a /silent mode to suppress messages.

        "Go forth into the source" - Neal Morse

        1 Reply Last reply
        0
        • Z ZurdoDev

          Kevin Marois wrote:

          I'm actually about now halfway through creating a scheduler app

          Yuck. A scheduler can easily get out of hand quickly. For example, you can support very simple schedules: weekdays, weekends; or very complex ones allowing the user to pick every other Wednesday during May, then every Thursday during June, etc. It can get complex quite quickly depending on how flexible you need it. Right now, I'm not sure how flexible the scheduling needs to be. Likely it will be on the simpler end of the spectrum. I just need something that allows us to schedule sql stored procedures, possibly command line exes, and who knows what else but is flexible enough we don't have to recompile code every time we need something new scheduled.

          There are only 10 types of people in the world, those who understand binary and those who don't.

          M Offline
          M Offline
          Mycroft Holmes
          wrote on last edited by
          #11

          RyanDev wrote:

          every other Wednesday during May, then every Thursday during June

          I once had a similar requirement from some PM, I got sick of him defining ever more detailed needs that he had thought up and simply shoved up a calendar and told him to pick the days and times he wanted it to run. At some point it goes beyond "scheduling" and becomes random events!

          Never underestimate the power of human stupidity RAH

          1 Reply Last reply
          0
          • Z ZurdoDev

            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.

            A Offline
            A Offline
            Andy Brummer
            wrote on last edited by
            #12

            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

            Z 1 Reply Last reply
            0
            • Z ZurdoDev

              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.

              J Offline
              J Offline
              Jacquers
              wrote on last edited by
              #13

              How about this one, by Mr Simmons Click[^]

              1 Reply Last reply
              0
              • U Uwe Keim

                Personally, I've always used plain .NET Console applications that are being started via the Windows Task Planner (or how it is called now) on e.g. a Web server. Always satisfied my needs.

                Come and visit our German Developer Community!

                S Offline
                S Offline
                ScottM1
                wrote on last edited by
                #14

                +1, Keeps it simple

                1 Reply Last reply
                0
                • Z ZurdoDev

                  Kevin Marois wrote:

                  I'm actually about now halfway through creating a scheduler app

                  Yuck. A scheduler can easily get out of hand quickly. For example, you can support very simple schedules: weekdays, weekends; or very complex ones allowing the user to pick every other Wednesday during May, then every Thursday during June, etc. It can get complex quite quickly depending on how flexible you need it. Right now, I'm not sure how flexible the scheduling needs to be. Likely it will be on the simpler end of the spectrum. I just need something that allows us to schedule sql stored procedures, possibly command line exes, and who knows what else but is flexible enough we don't have to recompile code every time we need something new scheduled.

                  There are only 10 types of people in the world, those who understand binary and those who don't.

                  S Offline
                  S Offline
                  ScottM1
                  wrote on last edited by
                  #15

                  For SQL Server SP's use SQL Maintenance Plans and for command line exe's use the Windows Task Scheduler. The task scheduler can be set to run without the user being logged in.

                  1 Reply Last reply
                  0
                  • Z ZurdoDev

                    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.

                    S Offline
                    S Offline
                    sdmcnitt
                    wrote on last edited by
                    #16

                    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.

                    Z 1 Reply Last reply
                    0
                    • Z ZurdoDev

                      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.

                      P Offline
                      P Offline
                      pinx
                      wrote on last edited by
                      #17

                      We use VisualCron. It has all the features you can wish for, regarding scheduling tasks.

                      1 Reply Last reply
                      0
                      • A Andy Brummer

                        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

                        Z Offline
                        Z Offline
                        ZurdoDev
                        wrote on last edited by
                        #18

                        Thanks. :thumbsup:

                        There are only 10 types of people in the world, those who understand binary and those who don't.

                        1 Reply Last reply
                        0
                        • S sdmcnitt

                          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.

                          Z Offline
                          Z Offline
                          ZurdoDev
                          wrote on last edited by
                          #19

                          Thanks for the info. :thumbsup:

                          There are only 10 types of people in the world, those who understand binary and those who don't.

                          1 Reply Last reply
                          0
                          • Z ZurdoDev

                            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.

                            D Offline
                            D Offline
                            devvvy
                            wrote on last edited by
                            #20

                            appliedalgo.com - scheduler with grid load balancing support jobs can be built in java/c++/VBA/dotnet... run on Windows/Linux...etc

                            dev

                            1 Reply Last reply
                            0
                            • Z ZurdoDev

                              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.

                              9 Offline
                              9 Offline
                              9082365
                              wrote on last edited by
                              #21

                              Unfortunately I can only reply to questions of this nature on the 3rd Tuesday of months in which the full moon occurs before the 10th.

                              1 Reply Last reply
                              0
                              • Z ZurdoDev

                                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.

                                N Offline
                                N Offline
                                Nicolas Dorier
                                wrote on last edited by
                                #22

                                Using console app + built in Windows Scheduler. Does the job.

                                1 Reply Last reply
                                0
                                • Z ZurdoDev

                                  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.

                                  T Offline
                                  T Offline
                                  Timv256
                                  wrote on last edited by
                                  #23

                                  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.

                                  Z 1 Reply Last reply
                                  0
                                  • T Timv256

                                    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.

                                    Z Offline
                                    Z Offline
                                    ZurdoDev
                                    wrote on last edited by
                                    #24

                                    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.

                                    T 1 Reply Last reply
                                    0
                                    • Z ZurdoDev

                                      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.

                                      T Offline
                                      T Offline
                                      Timv256
                                      wrote on last edited by
                                      #25

                                      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

                                      Z 1 Reply Last reply
                                      0
                                      • T Timv256

                                        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

                                        Z Offline
                                        Z Offline
                                        ZurdoDev
                                        wrote on last edited by
                                        #26

                                        Thanks for the input. :thumbsup:

                                        There are only 10 types of people in the world, those who understand binary and those who don't.

                                        1 Reply Last reply
                                        0
                                        Reply
                                        • Reply as topic
                                        Log in to reply
                                        • Oldest to Newest
                                        • Newest to Oldest
                                        • Most Votes


                                        • Login

                                        • Don't have an account? Register

                                        • Login or register to search.
                                        • First post
                                          Last post
                                        0
                                        • Categories
                                        • Recent
                                        • Tags
                                        • Popular
                                        • World
                                        • Users
                                        • Groups