Skip to content

Commit

Permalink
Merge pull request #21 from dice-cyfronet/bugfix/server_initialize_pl…
Browse files Browse the repository at this point in the history
…ugins

Initialize plugins for each engine instance run by server.
  • Loading branch information
balis authored Jun 13, 2016
2 parents 5a6f48e + f118222 commit 0e809f3
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 2 deletions.
2 changes: 1 addition & 1 deletion bin/hflow
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ function load_plugin(plugin_name) {
}

function hflow_start() {
var server = require('../server/hyperflow-server.js')(rcl, wflib);
var server = require('../server/hyperflow-server.js')(rcl, wflib, plugins);
server.listen(process.env.PORT, function() { });
console.log("HyperFlow server started, app factory URI: http://%s:%d/apps", server.address().address, server.address().port);
}
Expand Down
7 changes: 6 additions & 1 deletion server/hyperflow-server.js
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ var redis = require('redis'),

var server = http.createServer(app);
var wflib = require('../wflib').init(rcl);
var plugins = [];
var Engine = require('../engine2');
var engine = {}; // engine.i contains the engine object for workflow instance 'i'
var request = require('request');
Expand Down Expand Up @@ -117,6 +118,9 @@ app.post('/apps', function(req, res) {
var config = {"emulate":"false", "workdir": wfDir};
engine[appId] = new Engine(config, wflib, appId, function(err) {
if (err) return badRequest(res);
plugins.forEach(function(plugin) {
plugin.init(rcl, wflib, engine[appId]);
});
engine[appId].runInstance(function(err) {
if (err) return badRequest(res);
res.header('Location', req.url + '/' + appId);
Expand Down Expand Up @@ -655,8 +659,9 @@ function clone(obj) {
console.log("HyperFlow server. App factory URI: http://%s:%d/apps", server.address().address, server.address().port);
}*/

module.exports = function(rcl_, wflib_) {
module.exports = function(rcl_, wflib_, plugins_) {
rcl = rcl_;
wflib = wflib_;
plugins = plugins_;
return server;
}

0 comments on commit 0e809f3

Please sign in to comment.