Rob Tweed rtweed@mgateway.com
24 February 2016-17, M/Gateway Developments Ltd http://www.mgateway.com.
Twitter: @rtweed
Google Group for discussions, support, advice etc: http://groups.google.co.uk/group/enterprise-web-developer-community.
Thanks to Ward De Backer for assistance with bug tracking, fixing and functionality suggestions.
This module may be used to integrate Express with ewd-qoper8, for simpler routing and handling of incoming HTTP requests within ewd-qoper8's master and worker processes.
npm install ewd-qoper8-express
server.js
'use strict';
var express = require('express');
var bodyParser = require('body-parser');
var qoper8 = require('ewd-qoper8');
var qx = require('ewd-qoper8-express');
var app = express();
app.use(bodyParser.json());
var q = new qoper8.masterProcess();
qx.addTo(q);
app.post('/qoper8', function (req, res) {
qx.handleMessage(req, res);
});
app.get('/qoper8/test', function (req, res) {
qx.handleMessage(req, res);
});
q.on('started', function () {
this.worker.module = process.cwd() + '/worker-module';
app.listen(8080);
});
q.start();
worker-module.js
'use strict';
module.exports = function () {
this.on('message', function (messageObj, send, finished) {
var results = {
youSent: messageObj,
workerSent: 'hello from worker ' + process.pid,
time: new Date().toString()
};
finished(results);
});
};
DEBUG=ewd-qoper8-express server.js
- For a complete, working examples, refer to the ewd-qoper8-express-examples that uses
ewd-qoper8-express
. - ewd-qoper8: Refer to the full details and documentation: tutorial / examples.
- ewd-qoper8 - Node.js Message Queue and Multi-Process Manager.
Copyright (c) 2016 M/Gateway Developments Ltd,
Reigate, Surrey UK.
All rights reserved.
http://www.mgateway.com
Email: rtweed@mgateway.com
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.