Uploaded image for project: 'Scheduler'
  1. Scheduler
  2. MGNLSCH-37

Job persistence and reliability

    XMLWordPrintable

Details

    • Improvement
    • Resolution: Won't Do
    • Major
    • None
    • None

    Description

      This is perhaps a topic that needs discussions before implementation. Here's a couple of examples. Let's say I have 3 configured jobs.

      1. configured to run every 5 minutes.
      2. configured to run once a day at 4pm.
      3. one-shot, set to run on Jan 15 at 3pm.

      Now, assume my server goes down on Jan 15 at 2pm for 3 hours. It comes back up at 5pm (I know this example is highly unrealistic )

      Here's what I'd want to happen, ideally:

      • Job 3 gets executed once, at startup or shortly thereafter. Ideally, it logs that it was supposed to be executed earlier.
      • Job 2 gets executed at startup or shortly thereafter. Ideally, it logs that it was supposed to be executed earlier. The following days, it falls back into it's regular 4pm schedule.
      • Job 1 gets executed again, starting at 5pm, then 5.05, 5.10, etc. This already works.
        • Since it's such a short-repeat job, I wouldn't want it to be execute 36 times to compensate for the 3 hours down time.

      I guess what I'm getting at is we'd need

      • a mechanism that would ensure jobs gets executed even if their scheduled time has passed. I think what we have today is a warning that "this job will never be executed", when restarting the server.
      • a way to enable/disable the above behavior, because it is not always desirable (cfr example 1)

      If I recall correctly, Quartz has an API to store job states - but our current implementation uses an in-memory implementation.

      Checklists

        Acceptance criteria

        Attachments

          Activity

            People

              Unassigned Unassigned
              gjoseph Magnolia International
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Checklists

                  Task DoD