Skip to content

Commit b9d90a8

Browse files
ChristophBodensteinChristophBodenstein
authored andcommitted
Merge origin/master
2 parents 1760e12 + 34836e8 commit b9d90a8

File tree

5 files changed

+62
-54
lines changed

5 files changed

+62
-54
lines changed

TOEDistributionServer/src/node/tns/app.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ app.use(function(req,res, next){
4040
app.use('/', routes);
4141
app.use('/timenetws-server',routes);
4242

43-
4443
// catch 404 and forward to error handler
4544
app.use(function(req, res, next) {
4645
var err = new Error('Not Found');
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
### This dir is used for mongodb if you use the given mongoconfig.conf.

TOEDistributionServer/src/node/tns/routes/index.js

Lines changed: 58 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ var mkdirp = require('mkdirp');
44
var path = require('path');
55
var glob = require("glob");
66
var disk = require('diskusage');
7+
var util = require("util");
78
const os = require('os');
89

910
var masterpw = "gulli";
@@ -167,14 +168,19 @@ router.post('/rest/file/upload', function (req, res) {
167168
var db = req.db;
168169
var simlist = db.collection('simlist');
169170
var serversecrets = db.collection('serversecrets');
171+
console.log("Client tries to upload file.");
170172

173+
console.log("will try to parse it...");
171174
form.parse(req, function (err, fields, files) {
175+
console.log("parsed form...");
172176
if (err) {
177+
console.log("Error parsing incoming form: " + err);
173178
res.status(500);
174179
res.json({'success': false});
175180
return false;
176181
} else {
177-
var old_path = files.attachment.path,
182+
console.log("Will try to save received file.");
183+
var old_path = files.attachment.path,
178184
file_size = files.attachment.size,
179185
file_name = files.attachment.name,
180186
simid = fields.simid,
@@ -307,64 +313,61 @@ router.get('/rest/api/downloads/ND', function (req, res) {
307313
var clientID=req.param('ID');
308314
var clientSkills=req.param('SKILLS');
309315

316+
simlist.findOne({distributed: false}, function(err, result){
317+
318+
if(err || !result){
319+
//console.log("error reading or no result.");
320+
//console.log("Will answer with res-code 500. No Simfiles available. Will check for timedoutsims.");
321+
res.status(500);
322+
res.json({'success': false});
323+
//Mark Request in DB for Statistics, count the clients waiting for tasks.
324+
325+
activeclients.remove({ip: req.connection.remoteAddress, id:clientID}, function (err) {
326+
if (err) {
327+
console.log("Error removing client from list.");
328+
}
329+
});
310330

311-
simlist.findAndModify(
312-
{distributed: false},
313-
[],
314-
{$set: {distributed: true, timestamp: Date.now()}},
315-
false,
316-
true,
317-
function (err, result) {
331+
activeclients.insert({ip: req.connection.remoteAddress,id: clientID,skills: clientSkills,timestamp: Date.now()},
332+
function (err, result) {
333+
if (err) {
334+
console.log("Error updating client-collection.");
335+
} else {
336+
}
337+
});
318338

319-
if (err) {
320-
console.log("Error updating a non-distributed simulation-entry.");
321-
} else {
322-
if (result) {
323-
//console.log("Delivering file " + result.path);
324339

325-
var options = {
326-
headers: {
327-
'filename': result.name,
328-
'simid': result.simid
329-
}
330-
};
331340

332-
var fileName = path.resolve(result.path);
341+
} else{
342+
//console.log("Delivering file: " + result.path);
343+
//console.log("Name: " + result.name);
344+
//console.log("SIMID: " + result.simid);
345+
var options = {
346+
headers: {
347+
'filename': result.name,
348+
'simid': result.simid
349+
}
350+
};
351+
352+
var fileName = path.resolve(result.path);
333353
res.sendFile(fileName, options, function (err) {
334354
if (err) {
335355
console.log(err);
336356
res.status(err.status).end();
337357
}
338-
else {
339-
//console.log('Sent:', fileName);
340-
}
358+
else {
359+
//console.log('Sent:', fileName);
360+
//Set to distributed in db
361+
simlist.update({_id:result._id}, {$set: {distributed:true, timestamp: Date.now()}});
362+
}
341363
});
342-
} else {
343-
//console.log("Will answer with res-code 500. No Simfiles available. Will check for timedoutsims.");
344-
res.status(500);
345-
res.json({'success': false});
346364

347-
//Mark Request in DB for Statistics, count the clients waiting for tasks.
348-
activeclients.remove({ip: req.connection.remoteAddress, id:clientID}, function (err) {
349-
if (err) {
350-
console.log("Error removing client from list.");
351-
}
352-
});
353-
activeclients.insert({
354-
ip: req.connection.remoteAddress,
355-
id: clientID,
356-
skills: clientSkills,
357-
timestamp: Date.now()
358-
}, function (err, result) {
359-
if (err) {
360-
console.log("Error updating client-collection.");
361-
} else {
362-
}
363-
});
364-
}
365-
}
365+
}
366+
//console.log("Result-Name:"+ util.inspect(result));
367+
});
366368

367-
});
369+
//{$set: {distributed: true, timestamp: Date.now()}},
370+
368371

369372
});
370373

@@ -508,21 +511,23 @@ router.get('/rest/api/downloads/log/:simid', function (req, res) {
508511
var db = req.db;
509512
var simlist = db.collection('simlist');
510513
var simid = req.params.simid;
511-
//console.log("Asking for logfiles for: "+simid);
514+
console.log("Asking for logfiles for: "+simid);
512515

513516
//Set timestamp, when master was last seen
514517
arrayOfMasterLastSeen[simid]=Date.now();
518+
519+
console.log("Check db for one logfile.");
515520

516521
simlist.findOne({simid: simid, simulated: true, logdownloaded: false}, function (err, result) {
517522

518523
if (err) {
519524
console.log("Error searching logfiles for: " + req.params.simid);
520525
}
521526
if (result) {
522-
//console.log("findOne was sucessful.");
523-
//console.log(result.name);
527+
console.log("findOne was sucessful.");
528+
console.log(result.name);
524529
var logfilepath = (result.path.split(result.name))[0] + result.logname;//.split(result.name)[0]+"/"+result.logfilename;
525-
//console.log("Delivering logfile " + logfilepath);
530+
console.log("Delivering logfile " + logfilepath);
526531

527532
var options = {
528533
headers: {
@@ -539,7 +544,7 @@ router.get('/rest/api/downloads/log/:simid', function (req, res) {
539544
res.status(err.status).end();
540545
}
541546
else {
542-
//console.log('Sent:', fileName + ". Try to update db.");
547+
console.log('Sent:', fileName + ". Try to update db.");
543548
simlist.updateById(result._id, {$set: {logdownloaded: true}}, function (err, res) {
544549
if (err) {
545550
console.log("Error updating" + result.name);
@@ -557,7 +562,7 @@ router.get('/rest/api/downloads/log/:simid', function (req, res) {
557562
}
558563
});
559564
} else {
560-
//console.log("Will answer with res-code 500. No Logfile available.");
565+
console.log("Will answer with res-code 500. No Logfile available.");
561566
res.status(500);
562567
res.json({'success': false});
563568
}

TOEDistributionServer/src/node/tns/start.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,6 @@
22
mongod --config mongoconfig.conf &
33
set PORT=80
44
export PORT=80
5+
while true; do
56
npm start
7+
done
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
### This dir is used for uploaded simulation files.

0 commit comments

Comments
 (0)