-
Notifications
You must be signed in to change notification settings - Fork 16
Queue.reanimateJob
Parameter: JobOrId
Object or String or Array
- A single Job or Id, or an array of Jobs or Ids.
Parameter: dateEnable
Date Object Optional
- A future date you want the job to be processed.
Returns: Promise
=> Array
- An array of job ids that have been cancelled.
Example:
q.reanimateJob(jobs).then((reanimatedJobIds) => {
// reanimatedJobIds is an array of one or more ids of the reanimated jobs
}).catch(err => console.error(err))
If you find a job has been cancelled or terminated that still needs to be processed, you can call the Queue.reanimateJob
method to re-enable the job for processing.
If you would like to delay the job processing until a future date, supply the dateEnable
argument with a Date object set to a future date. If you leave the dateEnable
argument out of the method call the job will be ready for processing immediately.
Behind the scenes Queue.reanimateJob
sets the job progress
to zero, the job retryCount
to zero, the job status to waiting
, and applies the new dateEnable
date.
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.
This example shows how to reanimate 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 ids for any reason, here they are
console.dir(cancelledJobIds)
return q.reanimateJob(cancelledJobIds[0])
}).then((reanimatedJobIds) => {
// if you need the reanimated job ids for any reason, here they are
console.dir(reanimatedJobIds)
}).catch(err => console.error(err))
This example shows how to reanimate 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)
return q.reanimateJob(cancelledJobIds[0])
}).then((reanimatedJobIds) => {
// if you need the reanimated job ids for any reason, here they are
console.dir(reanimatedJobIds)
}).catch(err => console.error(err))
This example shows how to reanimate one job to be processed at a later date.
const Queue = require('rethinkdb-job-queue')
const q = new Queue()
const processDate = new Date((new Date()).getTime() + 180000) // now + 3 minutes
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 ids for any reason, here they are
console.dir(cancelledJobIds)
return q.reanimateJob(cancelledJobIds[0], processDate)
}).then((reanimatedJobIds) => {
// if you need the reanimated job ids for any reason, here they are
console.dir(reanimatedJobIds)
}).catch(err => console.error(err))
- Introduction
- Tutorial
- Queue Constructor
- Queue Connection
- Queue Options
- Queue PubSub
- Queue Master
- Queue Events
- State Document
- Job Processing
- Job Options
- Job Status
- Job Retry
- Job Repeat
- Job Logging
- Job Editing
- Job Schema
- Job Name
- Complex Job
- Delayed Job
- Cancel Job
- Error Handling
- Queue.createJob
- Queue.addJob
- Queue.getJob
- Queue.findJob
- Queue.findJobByName
- Queue.containsJobByName
- Queue.cancelJob
- Queue.reanimateJob
- Queue.removeJob
- Queue.process
- Queue.review
- Queue.summary
- Queue.ready
- Queue.pause
- Queue.resume
- Queue.reset
- Queue.stop
- Queue.drop
- Queue.Job
- Queue.host
- Queue.port
- Queue.db
- Queue.name
- Queue.r
- Queue.id
- Queue.jobOptions [R/W]
- Queue.changeFeed
- Queue.master
- Queue.masterInterval
- Queue.removeFinishedJobs
- Queue.running
- Queue.concurrency [R/W]
- Queue.paused
- Queue.idle
- Event.ready
- Event.added
- Event.updated
- Event.active
- Event.processing
- Event.progress
- Event.log
- Event.pausing
- Event.paused
- Event.resumed
- Event.completed
- Event.cancelled
- Event.failed
- Event.terminated
- Event.reanimated
- Event.removed
- Event.idle
- Event.reset
- Event.error
- Event.reviewed
- Event.detached
- Event.stopping
- Event.stopped
- Event.dropped
- Job.setName
- Job.setPriority
- Job.setTimeout
- Job.setDateEnable
- Job.setRetryMax
- Job.setRetryDelay
- Job.setRepeat
- Job.setRepeatDelay
- Job.updateProgress
- Job.update
- Job.getCleanCopy
- Job.addLog
- Job.getLastLog