Skip to content

Instantly share code, notes, and snippets.

@Zambonilli
Created August 15, 2016 13:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Zambonilli/f03f6d5a723a4b403b959f1348809933 to your computer and use it in GitHub Desktop.
Save Zambonilli/f03f6d5a723a4b403b959f1348809933 to your computer and use it in GitHub Desktop.
'use strict'
const time = require('time');
const moment = require('moment');
const tz = require('moment-timezone');
const async = require('async');
const bunyan = require('bunyan');
var log = bunyan.createLogger({name: "time error"});
var fs = require('fs');
var timezones = moment.tz.names();
var streams = [];
var openCount = 0;
let fileCount = 4084;
log.info('opening streams');
for(var i =0; i < fileCount; i++){
let ws = fs.createWriteStream('/tmp/'+i.toString()+'.txt');
ws.on('open', ()=>{
openCount++;
if (openCount === fileCount){
setTimezones();
} else {
log.debug(openCount+' streams open');
}
});
streams.push(ws);
}
var setTimezones = ()=>{
log.info('setTimezones starting');
async.each(timezones, (timezone, next)=>{
let now = new time.Date();
try{
now.setTimezone(timezone);
} catch (ex){
log.error({ex:ex,timezone:timezone}, 'Error setting timezone');
}
next();
}, (err)=>{
if (err){
log.info({err:err}, 'Error setting timezones');
}
for (var i =0; i < streams.length; i++){
streams[i].end();
}
log.info('finished');
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment