Skip to content

Commit 0e809f3

Browse files
authored
Merge pull request #21 from dice-cyfronet/bugfix/server_initialize_plugins
Initialize plugins for each engine instance run by server.
2 parents 5a6f48e + f118222 commit 0e809f3

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

bin/hflow

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ function load_plugin(plugin_name) {
4949
}
5050

5151
function hflow_start() {
52-
var server = require('../server/hyperflow-server.js')(rcl, wflib);
52+
var server = require('../server/hyperflow-server.js')(rcl, wflib, plugins);
5353
server.listen(process.env.PORT, function() { });
5454
console.log("HyperFlow server started, app factory URI: http://%s:%d/apps", server.address().address, server.address().port);
5555
}

server/hyperflow-server.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ var redis = require('redis'),
3030

3131
var server = http.createServer(app);
3232
var wflib = require('../wflib').init(rcl);
33+
var plugins = [];
3334
var Engine = require('../engine2');
3435
var engine = {}; // engine.i contains the engine object for workflow instance 'i'
3536
var request = require('request');
@@ -117,6 +118,9 @@ app.post('/apps', function(req, res) {
117118
var config = {"emulate":"false", "workdir": wfDir};
118119
engine[appId] = new Engine(config, wflib, appId, function(err) {
119120
if (err) return badRequest(res);
121+
plugins.forEach(function(plugin) {
122+
plugin.init(rcl, wflib, engine[appId]);
123+
});
120124
engine[appId].runInstance(function(err) {
121125
if (err) return badRequest(res);
122126
res.header('Location', req.url + '/' + appId);
@@ -655,8 +659,9 @@ function clone(obj) {
655659
console.log("HyperFlow server. App factory URI: http://%s:%d/apps", server.address().address, server.address().port);
656660
}*/
657661

658-
module.exports = function(rcl_, wflib_) {
662+
module.exports = function(rcl_, wflib_, plugins_) {
659663
rcl = rcl_;
660664
wflib = wflib_;
665+
plugins = plugins_;
661666
return server;
662667
}

0 commit comments

Comments
 (0)