今回は利用することはありませんでしたが、次のような感じかな?
(function() { //JavaScript JOB QUEUE SERVER var JobQueue = function() {}; JobQueue.prototype = { JOB_QUEUE: new Array(), MAX_QUEUE_SIZE: 10, JOB_INTERVAL: 200, //msec TIMER: undefined, //for setInterval , clearInterval add_job : function(job_args){ if (this.chk_job(job_args) != 'OK'){ return; } var job_key_str = job_args.join("\t"); this.JOB_QUEUE.push(job_key_str); }, chk_job : function(job_args){ if( this.JOB_QUEUE.length>=this.MAX_QUEUE_SIZE ){ return 'BAD'; } //TODO CHECK JOB return 'OK'; }, do_job: function(){ var job_key_str = this.JOB_QUEUE.pop(); if(job_key_str == undefined){ return; } //TODO DO JOB }, start_job_worker: function(){ this.TIMER = setInterval(this.do_job, this.JOB_INTERVAL); }, stop_job_worker: function(){ clearInterval(this.TIMER); this.TIMER = undefined; } }; window.job_q = new JobQueue(); })();