this.q.create(name, data) .priority(options.priority || 'normal') .removeOnComplete(options.removeOnComplete || false) .attempts(options.attempts) .ttl((options.ttl ? options.ttl + this.ttl_buffer : 10000 + this.ttl_buffer )) // 10s .backoff(options.backoff) .delay(options.delay) .save(function(err){ debug('Add job ' + job.type + '(' + job.id + ') ' + JSON.stringify(data)) fn && fn(err) })
queue.create('download', { link: req.body.link, browserId: req.body.browserId }).priority('high').save((err) => { if (!err) { res.status(200).json({ message: 'OK', id: job.id }); } })
launch (name, params = {}, priority = 'normal', removeOnComplete = false) { logger.debug('Launching %s job with params', name, params) return new Promise((resolve, reject) => { const job = this.queue .create(name, params) .priority(priority) .removeOnComplete(removeOnComplete) .save(err => err ? reject(err) : resolve(job)) }) }
// create a new user router.post('/create', function(req, res) { var user = new db.User(req.body); user.save(function(error, newUser) { if (error) { return res.status(406).send(JSON.stringify({error})); } // remove security attributes newUser = user.toObject(); if (newUser) { delete newUser.hashedPassword; delete newUser.salt; } // send email welcome to user q.create(os.hostname() + 'email', { title: '[Site Admin] Thank You', to: newUser.email, emailContent: { username: newUser.username }, template: 'welcome' }).priority('high').save(); res.send(JSON.stringify(newUser)); }); });