Skip to content

Instantly share code, notes, and snippets.

@jimmielemontgomery
Last active October 17, 2018 21:25
Show Gist options
  • Save jimmielemontgomery/db4aa742d0a799cd5ea55e922ced584f to your computer and use it in GitHub Desktop.
Save jimmielemontgomery/db4aa742d0a799cd5ea55e922ced584f to your computer and use it in GitHub Desktop.
function mkjob(i, item={}){ return Object.assign({}, {
"id":"01539731542362","name":"0 job 1539731542362","triggerType":"USER_TRIGGERED","creator":"SYSTEM","submitDate":1539731538041,"startDate":1539731541128,"endDate":1539731542362,"status":"Completed"
}, item) }
function randomInclusive(max=1, min=0){
max = Math.ceil(max);
min = Math.floor(min);
// random <= [0, 0.9999] never 1
return Math.floor(Math.random() * (max - min + 1) + min);
}
function mkjobs(config={}){
let {start, end, list, now, template} = Object.assign({
start:0,end:48,list:[],now:new Date,template:{}
}, config);
var i = start;
//adjust time: now.setFullYear(2017, 7, 3);
console.log(`create ${end-start} items at ${now} from`,template)
while(i<end){
let t = now.getTime();
list.push(Object.assign({}, {
creator: "SYSTEM"
, name: `job ${i}`
, id: i+'98765'
, triggerType: "USER_TRIGGERED"
, submitDate: t
, startDate: t+(1352*60*(60*(i+1)))
, endDate:t+(1253*60*(60*(i+3)))
, status: 'Completed'
}, template));
i++;
};
return list;
};
function jsonfor(...input){
return input.map((item)=> JSON.stringify(item).replace(/\"/g, '\\$&'))
}
function paginate(list=[], size=20){
return (new Array(Math.ceil(list.length/20)))
.fill().map(function(item, i){
let size = this.size, start = size*i;
return this.list.slice(start, start+size);
}, {list, size});
}
console.log(`usage:
var now = new Date; now.setFullYear(2017, 7, 3);
jsonfor(...paginate( mkjobs({now}) ));
`);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment