Sitecore QuartzScheduler

  0 rating
11/27/2016 4:07:04 AM
12/15/2016 4:50:52 PM

About

Feature Summary

  • Built on Quartz.net - industry proven enterprise job scheduler
  • Manage and Define Jobs and when those jobs will trigger (according to server clock time and not app pool recycle sliding time)
    • Define triggers based on duration every few hours, minutes or seconds
    • Define triggers to fire daily
    • Define triggers that fire only certain days of the week
    • Define triggers that fire monthly once on any given day
    • If none-of the above suits your need - Define custom triggers based on cron expression guidelines of Quartz.net
  • Job Performance Dashboard showing
    • Job Performance Average and Maximum time it has taken
    • Individual Job Performance - from last app pool recycle
    • Current Execution Status and next fire times for each job trigger defined
  • Execute a job on-demand (instead of waiting for schedule to trigger)
  • Download job performance data as a Json file (in the event you are recycling the app pool and want to retain this data before you do so)
  • Out of the box jobs for
    • Cleanup Publish Queue
    • Cleanup Event Queue
    • Cleanup History
  • You can create your own jobs and create definition items in Sitecore through Sitecore SPEAK app
  • Extendible - create your own trigger statistics store to store performance benchmarks for longer term rather than in application cache

 Detailed blog with screenshot: http://bit.ly/2gt9FvL

Installation Instructions:

Module works with Sitecore 8, 8.1 update 3. Tested it with 8.2 but apart from trigger detail dialog, everything seems to work.

Please follow these steps to install the packages in a zip file

  1. Install TDS.Sitecore.QuartzScheduler.Core.update package
  2. Install TDS.Sitecore.QuartzScheduler.Matser.update package
  3. Re-build Master Index

At this point you are ready to define your jobs and triggers

4.       Optional

  1. Install TDS.Sitecore.QuartzScheduler.Master.Content.update package to install out of the box job definitions

Note: If you are installing this package, see notes below each job to ensure you don’t run it twice

  1. This package contains job definitions for
  • HelloWorld demo job
  • Archive Job performance statistics
  • Cleanup Publish Queue (Sitecore job) - invoked from a quartz job
  • Cleanup History (Sitecore job) - invoked from a quartz job
  • Cleanup Event Queue (Sitecore job) - invoked from a quartz job
      • In Sitecore agent /task configuration, set interval to 00:00:00 to disable Sitecore invoking this job
      • In Sitecore agent / task configuration, set interval to 00:00:00 to disable Sitecore invoking this job
      • In Sitecore agent / task configuration, set interval to 00:00:00 to disable Sitecore invoking this job
  1. Restart App Pool

 Add Log4Net configuration as mentioned below

Under <log4net> node, add appender for Sitecore.QuartzScheduler as shown below

 <appender name="SitecoreQuartzShedulerLogFileAppender" type="log4net.Appender.SitecoreLogFileAppender, Sitecore.Logging">

      <file value="$(dataFolder)/logs/Sitecore.QuartzScheduler.log.{date}.txt"/>

      <appendToFile value="true"/>

      <layout type="log4net.Layout.PatternLayout">

        <conversionPattern value="%4t %d{ABSOLUTE} %-5p %m%n"/>

      </layout>

      <encoding value="utf-8"/>

    </appender>

 

Add corresponding logger just below </root> element, as shown below

    <logger name="Sitecore.QuartzScheduler" additivity="false">

      <level value="INFO"/>

      <appender-ref ref="SitecoreQuartzShedulerLogFileAppender"/>

    </logger>

 

Known issue with Sitecore 8.2

Problem

Trigger detail dialog does not take the whole window width and hight. This apperas to be Frame control issue.

 

Workaround

Work around to this is you can open triggerdetail page by copying jobdetail and trigger detail id as given below

 /sitecore/client/Applications/QuartzScheduler/Pages/TriggerDetails?sc_lang=en&jd={97EEE137-5303-4CF9-87A2-CEF8B68DB9C2}&td={68975F6D-9C5B-4C26-99AF-5537A87244C7}

 You can get the trigger detail and job detail id from job detail page. When you click on the trigger item in the list control, console shows you the id of the trigger, you can copy from there.

 My blog on Installation instructions: http://bit.ly/2hJVl6C

Documentation

Documentation
  • Documentation > Installation Instructions
    Installation Instructions

    Module works with Sitecore 8, 8.1 update 3. Tested it with 8.2 but apart from trigger detail dialog, everything seems to work.

    Please follow these steps to install the packages in a zip file

    1. Install TDS.Sitecore.QuartzScheduler.Core.update package
    2. Install TDS.Sitecore.QuartzScheduler.Matser.update package
    3. Re-build Master Index 

    At this point you are ready to define your jobs and triggers

    Optional

    1. Install TDS.Sitecore.QuartzScheduler.Master.Content.update package to install out of the box job definitions

    Note: If you are installing this package, see notes below each job to ensure you don’t run it twice

    1. This package contains job definitions for
    • HelloWorld demo job
    • Archive Job performance statistics
    • Cleanup Publish Queue (Sitecore job) - invoked from a quartz job
    • Cleanup History (Sitecore job) - invoked from a quartz job
    • Cleanup Event Queue (Sitecore job) - invoked from a quartz job
        • In Sitecore agent /task configuration, set interval to 00:00:00 to disable Sitecore invoking this job
        • In Sitecore agent / task configuration, set interval to 00:00:00 to disable Sitecore invoking this job
        • In Sitecore agent / task configuration, set interval to 00:00:00 to disable Sitecore invoking this job
    1. Restart App Pool

     

    Add Log4Net configuration as mentioned below

    Under <log4net> node, add appender for Sitecore.QuartzScheduler as shown below

     

    <appender name="SitecoreQuartzShedulerLogFileAppender" type="log4net.Appender.SitecoreLogFileAppender, Sitecore.Logging">

          <file value="$(dataFolder)/logs/Sitecore.QuartzScheduler.log.{date}.txt"/>

          <appendToFile value="true"/>

          <layout type="log4net.Layout.PatternLayout">

            <conversionPattern value="%4t %d{ABSOLUTE} %-5p %m%n"/>

          </layout>

          <encoding value="utf-8"/>

        </appender>

     

    Add corresponding logger just below </root> element, as shown below

        <logger name="Sitecore.QuartzScheduler" additivity="false">

          <level value="INFO"/>

          <appender-ref ref="SitecoreQuartzShedulerLogFileAppender"/>

        </logger>

     

    Known issue with Sitecore 8.2

    Problem

    Trigger detail dialog does not take the whole window width and hight. This apperas to be Frame control issue.

    Workaround

    Work around to this is you can open triggerdetail page by copying jobdetail and trigger detail id as given below

    /sitecore/client/Applications/QuartzScheduler/Pages/TriggerDetails?sc_lang=en&jd={97EEE137-5303-4CF9-87A2-CEF8B68DB9C2}&td={68975F6D-9C5B-4C26-99AF-5537A87244C7}

    You can get the trigger detail and job detail id from job detail page. When you click on the trigger item in the list control, console shows you the id of the trigger, you can copy from there.

    My blog on Installation instructions: http://bit.ly/2hJVl6C

Back
Release notes
Please insert section here whenever you add a new version of your Sitecore module package describing version number, new features, fixes and possible known issues.
Read more Back
Code examples

Solution screenshots(0)

Upload

Reviews (0)

Sort by: Date Most votes
  • Profile Avatar
    [fullName]

    Level: 0

    x0 x0 x0

    [date]

    [title]

    [text]

    Was this helpful?

    0

Comments (0)

Sort by: Date  Most votes

Leave a Comment

Comment must be field in
Post comment
loader

Write a review

Title can't be empty
Review can't be empty
Post review

Download

Title Description Download Action

Add File