Skip to content

Latest commit

 

History

History
45 lines (36 loc) · 1.41 KB

README.md

File metadata and controls

45 lines (36 loc) · 1.41 KB

Quartz is a distributed scheduling engine. This API allows to use Quartz with node.js

Quartz does not expose HTTP services by himself. You'll need to build (maven) a war file from quartz-http.

    var Quartz = require('quartz-scheduler')

    var scheduler = new Quartz({
      queue: {
        redis: {
          port: 6379,
          host: 'localhost',
          auth: null,
          options: {
            // look for more redis options in [node_redis](https://github.com/mranney/node_redis)
          }
        }
      },
      listen: 8001, // the exposed HTTP api port
      callbackURL: 'http://localhost:8001/api/job', // the FQDN for the exposed service
      quartzURL: 'http://localhost:8080/scheduler/api', //the Quartz HTTP endpoint
      concurrency: 5, // max number of jobs to run in parallel (jobs are queued),
      monitor: false  // whether to expose a job processing monitoring interface
    })

    scheduler.on('jobName', function(jobId, data, done) {
      // jobId: the same jobId that was given upon scheduling
      // data ==> {foo: bar}
      // process the job here
      done(err) // optional error if processing the job went wrong
    })

    scheduler.schedule('jobName', new Date(), {foo: bar}, function(err, jobId) {

      // jobId is a string

      scheduler.cancel(jobId, function(err) {
        // err if something went wrong
      })
    })