Dive into secure and efficient coding practices with our curated list of the top 10 examples showcasing 'kue' in functional components in JavaScript. Our advanced machine learning engine meticulously scans each line of code, cross-referencing millions of open source libraries to ensure your implementation is not just functional, but also robust and secure. Elevate your React applications to new heights by mastering the art of handling side effects, API calls, and asynchronous operations with confidence and precision.
router.post('/products/update', function(req, res) { // TODO: add api key middleware
let skus_array = req.body.sku;
console.log('Incoming pull request for', skus_array)
if(skus_array.length > 0){
let queue = kue.createQueue(Object.assign(config.kue, { redis: config.redis }));
queue.createJob('product', { skus: skus_array, adapter: 'magento' }).save();
res.json({ status: 'done', message: 'Products ' + skus_array + ' scheduled to be refreshed'});
} else {
res.json({ status: 'error', message: 'Please provide product SKU separated by comma'});
}
});
module.exports = function (config) {
// Kue Job-Queue
var kue = require('kue'), queue = kue.createQueue({
redis: {
port: config.redis.port,
host: config.redis.addr
}
});
var createJob = function (jobName, jobOptions, interval) {
queue.create(jobName, jobOptions).on('complete', function (result) {
//console.log("kue - job complete with result ", result);
setTimeout(function () {
createJob(jobName, jobOptions, interval);
}, interval);
}).on('failed attempt', function (errorMessage, doneAttempts) {
console.log('kue - job failed ' + JSON.stringify(errorMessage));
this.db.getDocuments('product', { query: { match: {'configurable_children.sku': item.sku } }}).then((docs) => {
if (docs && docs.length > 0) {
let queue = kue.createQueue(Object.assign(config.kue, { redis: config.redis }));
docs.map(parentProduct => { // schedule for update
queue.createJob('product', { skus: [parentProduct.sku], adapter: 'magento' }).save();
logger.info('Parent product update scheduled (make sure `cli.js productsworker` queue is running)', parentProduct.sku)
})
opResolve(item)
} else {
opResolve(item)
}
}).catch(err => {
logger.error(err)
var proj4 = require('proj4');
var turf = require('turf');
var path = require('path');
var fs = Promise.promisifyAll(require('fs-extra'));
var citygmlPoints = require('citygml-points');
var Redis = require('ioredis');
// TODO: Make this work after a crash / on resume as it currently only stores
// footprints from the current session
var redisHost = process.env.REDIS_PORT_6379_TCP_ADDR || '127.0.01';
var redisPort = process.env.REDIS_PORT_6379_TCP_PORT || 6379;
var redis = new Redis(redisPort, redisHost);
var queue = kue.createQueue({
redis: {
port: redisPort,
host: redisHost,
}
});
var exiting = false;
var getFootprint = function(xmlDOM, origin, properties) {
properties = properties || {};
// Find ground surfaces
var groundSurfaces = xmldom2xml(xmlDOM.getElementsByTagName('bldg:GroundSurface'));
// Add origin to properties
properties.origin = origin;
/**
* CLI tool
* Queue worker in charge of syncing the Sales order to Magento2 via REST API *
*/
const program = require('commander');
const kue = require('kue');
const logger = require('./log');
const config = require('config')
let queue = kue.createQueue(Object.assign(config.kue, { redis: config.redis }));
let numCPUs = require('os').cpus().length;
const processSingleOrder = require('src/platform/magento2/o2m').processSingleOrder
// RUN
program
.command('start')
.option('--partitions ', 'number of partitions', numCPUs)
.action((cmd) => { // default command is to run the service worker
let partition_count = parseInt(cmd.partitions);
logger.info(`Starting KUE worker for "order" message [${partition_count}]...`);
queue.process('order', partition_count, (job, done) => {
logger.info('Processing order: ' + job.data.title);
return processSingleOrder(job.data.order, config, job, done);
});
});
/**
* CLI tool
* Queue worker in charge of syncing the Sales order to Magento2 via REST API *
*/
const kue = require('kue');
const logger = require('./log');
const unirest = require('unirest');
const Ajv = require('ajv'); // json validator
const ajv = new Ajv(); // validator
const validate = ajv.compile(require('../models/order.schema.json'));
const config = require('config')
let queue = kue.createQueue(Object.assign(config.kue, { redis: config.redis }));
let numCPUs = require('os').cpus().length;
const CommandRouter = require('command-router');
const cli = CommandRouter();
cli.option({
name: 'partitions',
default: numCPUs,
type: Number
});
/**
* Return Magento API client
* @param {string} method - post, put, get ...
* @param {string} endpoint relative to /rest/V1/
* @param {Object} addHeaders dictionary of http headers
Worker.prototype.init = function init(handlers, options) {
eventHandlers = handlers;
queueName = options['queueName'];
var self = this;
kue.redis.createClient = function() {
return self.makeRedisClient(options);
};
redisClient = self.makeRedisClient(options);
jobs = kue.createQueue();
jobs.promote(1000);
jobs.process(queueName, options['concurrentJobs'] || 100, eventExecutor);
};
var kue = require('kue');
var jobs = kue.createQueue();
function newJob() {
var job = jobs.create('new_job');
job.save();
}
jobs.process('new_job', function(job, done) {
console.log('Job', job.id, ' is done');
done && done();
});
setInterval(newJob, 3000);
var init = function() {
logger.log("Init redis tasks queue");
var redisURL = url.parse(config.tasks.redis);
jobs = kue.createQueue({
redis: {
port: redisURL.port,
host: redisURL.hostname,
auth: redisURL.auth? redisURL.auth.split(":")[1] : null,
options: {
no_ready_check: true
}
}
});
};
init: function(config) {
var instance = KueCleanup;
instance.config = config || {};
jobs = kue.createQueue(instance.config);
instance.setupJobs(instance.config);
},