我目前正在为自己开发一个需要在后台处理内容的项目,但是,我需要在 Express 和 Kue 之间进行通信。但是关于当前设置的更多信息:我的 Express.js 在主机内分叉了超过一半的 CPU。这一切都按预期工作。现在我运行另一个节点进程,它运行 kue.js 进行后台游行。由于 kue 通过 redis 安排其作业,我现在的主要问题是如何将数据从已处理的后台作业发送回我的主要 node.js 应用程序。
我的设置的简短概述:
app.js(与节点 app.js 一起运行)
var cluster = require('cluster'), Datasets = require('./models/datasets'), kue = require('kue'), jobs = cue.createQueue();
if(cluster.isMaster) {
// Forking going on here
} else {
// Express.js app runs here
app.get('/', function(req, res) {
// Now here is where i schedule the job and i would like to retrieve an answer from the job when its done, like with on('complete', ...) but that doesn't work at all
jobs.create('stuff', {lorem: 'ipsum', dolor: ''}).save();
});
}
background.js(也与节点 background.js 一起运行,这与应用程序不同的节点进程)
// omiting libraries right now, its simply kue and datasets like in app.'s
jobs.process('stuff', function(job, done){
//processing some background stuff here
// Now here i would like to pass back an array of objects to the app.js process after the job is completed.
});
有人对此有想法吗?感谢您的每一次帮助。
真诚的,克里斯平