Skip to content

Queue.cancelJob

Grant Carthew edited this page Oct 1, 2016 · 8 revisions

Method Signature

Queue.cancelJob(JobOrId)

Parameter: JobOrId Object or String or Array

  • A single Job or Id, or an array of Jobs or Ids.

Returns: Promise => Array

  • An array of job ids that have been cancelled.

Example:

q.cancelJob(jobs).then((cancelledJobIds) => {
  // cancelledJobIds is an array of one or more ids of the cancelled jobs
}).catch(err => console.error(err))

Description

If a job is no longer valid for any reason, cancel it. Calling Queue.cancelJob does not delete the jobs from the queue backing table. It simply prevents the job from ever being processed. Depending on the queue option removeFinishedJobs, the job details may be deleted from the database.

It is important to note that the returned Promise resolves to an array of job ids even if you only supplied a single job or id.

Examples

This example shows how to cancel one job.

const Queue = require('rethinkdb-job-queue')
const q = new Queue()
const job = q.createJob()
// Decorate your job with job data for processing here

q.addJob(job).then((savedJobs) => {
  // savedJobs is an array of a single job object
  return q.cancelJob(savedJobs)
}).then((cancelledJobIds) => {
  // If you need the cancelled job id for any reason, here it is
  console.dir(cancelledJobIds)
}).catch(err => console.error(err))

This example shows how to cancel more than one job.

const Queue = require('rethinkdb-job-queue')
const q = new Queue()
const jobs = [q.createJob(), q.createJob()]
// The jobs array will contain 2 jobs
// Don't forget to decorate your jobs with job data

q.addJob(jobs).then((savedJobs) => {
  // savedJobs is an array of a 2 job objects
  return q.cancelJob(savedJobs)
}).then((cancelledJobIds) => {
  // If you need the cancelled job ids for any reason, here they are
  console.dir(cancelledJobIds)
}).catch(err => console.error(err))

Main

How It Works

Contributing

API

Queue Methods

Queue Properties

Queue Events

Job Methods

Job Properties

Documentation

Clone this wiki locally