Commit f2fb6662 authored by project's avatar project

--no commit message

--no commit message
parent af50a514
...@@ -10,7 +10,7 @@ function execute_function(context,response){ ...@@ -10,7 +10,7 @@ function execute_function(context,response){
var param = context.jobconfig.data_in.param; var param = context.jobconfig.data_in.param;
var memstore = context.task.memstore var memstore = context.task.memstore
var output_type = 'jsonobject' var output_type = 'object/gistda-air'
var config = { var config = {
host: param.url, host: param.url,
...@@ -24,81 +24,105 @@ function execute_function(context,response){ ...@@ -24,81 +24,105 @@ function execute_function(context,response){
"data":[] "data":[]
}; };
let maxdate;
var c = new Client(); var c = new Client();
c.on('ready', function() { c.on('ready', function() {
c.list(function(err, list) { c.list(function(err, list) {
if (err) throw err; if (err) throw err;
var latestDateStr = param.init_observed_date + ' ' + param.init_observed_time; //'2016-12-20T10:00:00+04:00';
var latestDate = new Date(latestDateStr); memstore.getItem('lasttransaction',function(err,value) {
if (err) throw err;
var count = 0;
var latestDate;
async.eachSeries( if (typeof value == 'undefined') {
list, var latestDateStr = param.init_observed_date + ' ' + param.init_observed_time; //'2016-12-20T10:00:00+04:00';
function(element, callback) { latestDate = new Date(latestDateStr);
if (typeof element !== 'undefined') { } else {
if (element.type !== 'd') { // var date = value.substring(0, 10);
var filename = element.name; // var time = value.substring(11,19)
var filedate = element.date; // latestDate = new Date(date + ' ' + time);
var filetype = element.type; latestDate = new Date(value);
if (path.extname(filename) === '.dat' && filename.indexOf("debug") == -1) { }
if (filedate - latestDate > 0) {
console.log(value + " !!! " + latestDate);
c.get(filename, function (err, stream) {
if (err) return console.error(err); async.eachSeries(
var data = ''; list,
stream.setEncoding('utf8'); function(element, callback) {
console.log("downloading .... : " + filename + ", " + dateFormat(filedate, "isoDateTime")); if (typeof element !== 'undefined') {
stream.on('data', function(chunk) { if (element.type !== 'd') { // filter out directories
if (chunk != '') var filename = element.name;
data = data + chunk; var filedate = element.date;
}); var filetype = element.type;
stream.on('end', function () {
result.data.push({ if (path.extname(filename) === '.dat' && filename.indexOf("debug") == -1) {
"filename": filename, if (filedate - latestDate > 0) { // filter out old files
"value" : data c.get(filename, function (err, stream) {
if (err) throw err;
var data = '';
stream.setEncoding('utf8');
console.log("downloading .... : " + filename + ", " + dateFormat(filedate, "isoDateTime"));
stream.on('data', function(chunk) { // donwload each individual chunk as per a downloading file
if (chunk != '')
data = data + chunk;
});
stream.on('end', function () { // insert a data file
result.data.push({
"filename": filename,
"value" : data
});
if (typeof maxdate == 'undefined') {
maxdate = filedate;
} else {
if (filedate - maxdate > 0) {
maxdate = filedate;
}
}
memstore.setItem('lasttransaction',dateFormat(maxdate, "isoDateTime"),function(err){
if (err) throw err;
callback();
});
}); });
callback(); // stream.pipe(fs.createWriteStream(filename));
}); });
// stream.pipe(fs.createWriteStream(filename));
});
} else } else {
callback(); async.setImmediate(callback);
//callback(null);
}
} else {
async.setImmediate(callback);
//callback(null);
}
} else } else
callback(); async.setImmediate(callback);
//callback(null);
} else } else
callback(); async.setImmediate(callback);
} else //callback(null);
callback(); },
}, function(err) {
function(err) { if (err) {
if( err ) { response.error(err);
response.error(err); } else {
} else { response.success(result, output_type);
response.success(result, output_type); c.end();
c.end(); }
} }
} ); // async close
); }); // memstore close
}); });
} });
);
c.connect(config); c.connect(config);
// memstore.setItem('lasttransaction',transaction_id,function(err){
// response.success(data);
// });
// memstore.getItem('lasttransaction',function(err,value){
// response.success(value);
// });
//response.reject(); //response.reject();
} }
module.exports = execute_function; module.exports = execute_function;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment