Skip to content

Queue.createJob

Grant Carthew edited this page Jul 28, 2016 · 27 revisions

Description

To add jobs to the queue you need to have the basic structure of a job required for rethinkdb-job-queue to be able to work with the data.

You use the Queue.createJob() method to produce a job object that looks like the following:

{
  q: [object Object], // This is a reference to the Queue that created the job
  id: '07290a09-269b-4211-9698-ea40f69962b2', // This will be the jobs id in the database
  priority: 'normal',
  timeout: 300,
  retryDelay: 600,
  retryMax: 3,
  retryCount: 0,
  progress: 0,
  status: 'created',
  log: [],
  dateCreated: 2016-07-27T22:54:45.811Z,
  dateRetry: 2016-07-27T22:54:45.811Z,
  queueId: 'WebDev:rjqJobQueue:rjqJobList:11761:89c2d49e-5a04-4d9b-b08e-48908625ea64'
}

You will notice there are no properties to hold your job data. You can decorate the job object with any property you like. There is a Job.setPayload method you can call to add a Job.payload property however there is no difference to calling that method or simply doing Job.payload = <some data>.

So once you have this job object you can feel free to add properties to it anyway you like. After adding your custom job data you will be required to call Queue.addJob to add the job to the queue. For example:

const Queue = require('rethinkdb-job-queue')
const q = new Queue()
const job = q.createJob()

job.recipient = 'flash@fast.net'
job.subject = 'Registration for superheros.com'
job.body = 'Click this link to activate your account on superheros.com'

q.addJob(job).then((savedJobs) => {
  // savedJobs is a valid job object with updated properties
}).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