This commit is contained in:
User Web
2018-11-20 21:51:31 +03:00
parent 8d8bd03cbe
commit b798400918
181 changed files with 56556 additions and 34 deletions

View File

@@ -0,0 +1,53 @@
const bs=require('nodestalker');
var bsWatcher=function(ip,port,tube,callback)
{
this.ip=ip;
this.port=port;
this.tube=tube;
this.callback=callback;
this.client=null;
this.connectionError=false;
this.connect();
}
bsWatcher.prototype.connect=function()
{
this.client=bs.Client('clonos.bsdstore.ru:11300');
this.client.addListener('connect', function() {
this.connectionError=false;
}.bind(this));
this.client.addListener('end', function(err) {
this.connectionError=true;
setTimeout(this.connect.bind(this),3000);
}.bind(this));
this.client.addListener('close', function(err) {
console.log('connection closed');
}.bind(this));
this.watch();
}
bsWatcher.prototype.watch=function()
{
if(!this.connectionError)
{
this.client.watch(this.tube).onSuccess(this.reserve.bind(this));
}
}
bsWatcher.prototype.reserve=function()
{
if(!this.connectionError)
{
this.client.reserve().onSuccess(this.getJob.bind(this));
}
}
bsWatcher.prototype.getJob=function(job)
{
var arr=JSON.parse(job.data);
if(!this.connectionError)
{
this.client.deleteJob(job.id).onSuccess(this.reserve.bind(this));
this.callback(arr,this.tube);
}
}
module.exports=bsWatcher;