Built motion from commit da24aabd.|2.6.20
[motion2.git] / server / services / routing / server / applications / queue.js
index 2da4dd6..e5f0821 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xc732=['rrmemory','beepall','[%s][QUEUE]\x20queue\x20not\x20found\x20%s','log','[%s][QUEUE]\x20%s','stack','validate','lodash','util','seq-queue','ioredis','../../../../config/logger','routing','./strategy','redis','defaults','localhost','socket.io-emitter','queue_id','queue','joinAt','emit','clone','account','format','%sQueuesWaitingInteractions','pick','%s_queue_waiting_interaction:%s','remove','../../rpc/openchannelQueueReport','../../rpc/mailQueueReport','../../rpc/chatQueueReport','../../rpc/smsQueueReport','../../rpc/whatsappQueueReport','string','name\x20is\x20a\x20string\x20and\x20it\x20is\x20required','number','timeout\x20is\x20a\x20number','waiting','body','from','YYYY-MM-DD\x20HH:mm:ss','contact','list','upperFirst','channel','QueueId','InteractionId','interaction','message','chat','AccountId','WebsiteId','info','[%s][START:QUEUE][NAME:%s]','name','QueueReport','create','catch','error','accepted','[%s][STOP:QUEUE][NAME:%s]','update','update\x20queue\x20report','[%s][END:QUEUE][NAME:%s]','toLowerCase','consequence','length','map','join','stop','Queues','timeout','createQueue','atimeout','rules','end','[%s][QUEUE]\x20ROUTING\x20STOPPED','close','complete','next'];(function(_0x146628,_0x2f250a){var _0x24ca23=function(_0x1fdf39){while(--_0x1fdf39){_0x146628['push'](_0x146628['shift']());}};_0x24ca23(++_0x2f250a);}(_0xc732,0x19b));var _0x2c73=function(_0x113290,_0xd4bcd8){_0x113290=_0x113290-0x0;var _0x45ed2b=_0xc732[_0x113290];return _0x45ed2b;};'use strict';var schema=require(_0x2c73('0x0'));var _=require(_0x2c73('0x1'));var util=require(_0x2c73('0x2'));var seqqueue=require(_0x2c73('0x3'));var moment=require('moment');var Redis=require(_0x2c73('0x4'));var config=require('../../../../config/environment');var logger=require(_0x2c73('0x5'))(_0x2c73('0x6'));var strategy=require(_0x2c73('0x7'));config[_0x2c73('0x8')]=_[_0x2c73('0x9')](config['redis'],{'host':_0x2c73('0xa'),'port':0x18eb});var io=require(_0x2c73('0xb'))(new Redis(config['redis']));var attributes=['id',_0x2c73('0xc'),'account',_0x2c73('0xd'),'from',_0x2c73('0xe')];function emit(_0xa81a9d,_0x370715,_0x4e8921){io['to'](_0xa81a9d)[_0x2c73('0xf')](_0x370715,_0x4e8921);}function emitChannelQueueInteraction(_0x29d3f1,_0x12f543,_0x143104,_0x80f1f7,_0xba0e56,_0x140618,_0x4ec10e,_0x4715f1){var _0x2a5467=_[_0x2c73('0x10')](_0x143104);_0x2a5467[_0x2c73('0xc')]=_0x4715f1;_0x2a5467[_0x2c73('0xd')]=_0x12f543;_0x2a5467[_0x2c73('0x11')]=_0x80f1f7;_0x2a5467['id']=_0xba0e56;if(_0x140618){_0x4ec10e[util[_0x2c73('0x12')](_0x2c73('0x13'),_0x29d3f1)][_0xba0e56]=_[_0x2c73('0x14')](_0x2a5467,attributes);}else{delete _0x4ec10e[util['format']('%sQueuesWaitingInteractions',_0x29d3f1)][_0xba0e56];}emit(util['format']('%s:queue:%s',_0x29d3f1,_0x12f543),util[_0x2c73('0x12')](_0x2c73('0x15'),_0x29d3f1,_0x140618?'save':_0x2c73('0x16')),_['pick'](_0x2a5467,attributes));}var rpc={'openchannelQueueReport':require(_0x2c73('0x17')),'mailQueueReport':require(_0x2c73('0x18')),'chatQueueReport':require(_0x2c73('0x19')),'smsQueueReport':require(_0x2c73('0x1a')),'faxQueueReport':require('../../rpc/faxQueueReport'),'whatsappQueueReport':require(_0x2c73('0x1b'))};var queue=schema({'name':{'type':_0x2c73('0x1c'),'required':!![],'message':_0x2c73('0x1d')},'timeout':{'type':_0x2c73('0x1e'),'message':_0x2c73('0x1f')}});function startRouting(_0x1f6de1,_0x251a06,_0xb7084f,_0x4474d0){if(_0x1f6de1&&_0x251a06&&_0xb7084f){_0x251a06[_0x2c73('0x20')]+=0x1;var _0x1df78c={'uniqueid':_0x1f6de1,'from':_0xb7084f[_0x2c73('0x21')]?_0xb7084f[_0x2c73('0x21')][_0x2c73('0x22')]:'','joinAt':moment()['format'](_0x2c73('0x23')),'ContactId':_0xb7084f[_0x2c73('0x24')]?_0xb7084f[_0x2c73('0x24')]['id']:null,'ListId':_0xb7084f['list']?_0xb7084f[_0x2c73('0x25')]['id']:null};_0x1df78c[_[_0x2c73('0x26')](_0xb7084f[_0x2c73('0x27')])+_0x2c73('0x28')]=_0x251a06['id']||null;_0x1df78c[_[_0x2c73('0x26')](_0xb7084f[_0x2c73('0x27')])+_0x2c73('0x29')]=_0xb7084f['interaction']?_0xb7084f[_0x2c73('0x2a')]['id']:null;_0x1df78c[_[_0x2c73('0x26')](_0xb7084f[_0x2c73('0x27')])+'MessageId']=_0xb7084f[_0x2c73('0x2b')]?_0xb7084f[_0x2c73('0x2b')]['id']:null;_0x1df78c[_['upperFirst'](_0xb7084f[_0x2c73('0x27')])+(_0xb7084f['channel']!==_0x2c73('0x2c')?_0x2c73('0x2d'):_0x2c73('0x2e'))]=_0xb7084f[_0x2c73('0x11')]?_0xb7084f['account']['id']:null;logger[_0x2c73('0x2f')](util[_0x2c73('0x12')](_0x2c73('0x30'),_0x1f6de1,_0x251a06[_0x2c73('0x31')]));emitChannelQueueInteraction(_0xb7084f[_0x2c73('0x27')],_0x251a06[_0x2c73('0x31')],_0x1df78c,_0xb7084f[_0x2c73('0x11')][_0x2c73('0x31')],_0xb7084f['message']['id'],!![],_0x4474d0,_0x251a06['id']);if(rpc[_0xb7084f['channel']+'QueueReport']){return rpc[_0xb7084f[_0x2c73('0x27')]+_0x2c73('0x32')][_0x2c73('0x33')](_0x1df78c)[_0x2c73('0x34')](function(_0xa56ff3){logger[_0x2c73('0x35')]('create\x20queue\x20report');});}}}function stopRouting(_0x31084e,_0xf7a7be,_0x510092,_0x1cd800){if(_0x31084e&&_0xf7a7be){_0xf7a7be[_0x2c73('0x20')]-=0x1;var _0x370a61={'leaveAt':moment()[_0x2c73('0x12')]('YYYY-MM-DD\x20HH:mm:ss'),'acceptAt':moment()[_0x2c73('0x12')](_0x2c73('0x23')),'reason':_0x2c73('0x36')};logger[_0x2c73('0x2f')](util[_0x2c73('0x12')](_0x2c73('0x37'),_0x31084e,_0xf7a7be[_0x2c73('0x31')]));emitChannelQueueInteraction(_0x510092[_0x2c73('0x27')],_0xf7a7be[_0x2c73('0x31')],_0x510092[_0x2c73('0x21')],_0x510092['account'][_0x2c73('0x31')],_0x510092['message']['id'],![],_0x1cd800,_0xf7a7be['id']);if(rpc[_0x510092[_0x2c73('0x27')]+_0x2c73('0x32')]){return rpc[_0x510092[_0x2c73('0x27')]+_0x2c73('0x32')][_0x2c73('0x38')](_0x31084e,_0x370a61)['catch'](function(_0x3ec277){logger[_0x2c73('0x35')](_0x2c73('0x39'));});}}}function endRouting(_0x15a1cc,_0x1ede65,_0x42c70d,_0x1f64a6){if(_0x15a1cc&&_0x1ede65){_0x1ede65[_0x2c73('0x20')]-=0x1;var _0x20baf1={'leaveAt':moment()[_0x2c73('0x12')](_0x2c73('0x23')),'exitAt':moment()['format'](_0x2c73('0x23')),'reason':'timeout'};logger[_0x2c73('0x2f')](util[_0x2c73('0x12')](_0x2c73('0x3a'),_0x15a1cc,_0x1ede65[_0x2c73('0x31')]));emitChannelQueueInteraction(_0x42c70d[_0x2c73('0x27')],_0x1ede65[_0x2c73('0x31')],_0x42c70d[_0x2c73('0x21')],_0x42c70d[_0x2c73('0x11')][_0x2c73('0x31')],_0x42c70d[_0x2c73('0x2b')]['id'],![],_0x1f64a6);if(rpc[_0x42c70d[_0x2c73('0x27')]+_0x2c73('0x32')]){return rpc[_0x42c70d['channel']+'QueueReport'][_0x2c73('0x38')](_0x15a1cc,_0x20baf1)['catch'](function(_0x15f966){logger[_0x2c73('0x35')](_0x2c73('0x39'));});}}}function handleFindQueue(_0x3e534a){return function(_0x3997ce){return _0x3997ce[_0x2c73('0x31')][_0x2c73('0x3b')]()===_0x3e534a[_0x2c73('0x3b')]();};}exports[_0x2c73('0x3c')]=function(_0x52b83c,_0x215632,_0x6a859a,_0x1bf02a){return function(_0x4f67fe){try{var _0x219005={'name':_0x215632[0x0],'timeout':_0x215632[0x1]};var _0x104a80=queue[_0x2c73('0x0')](_0x219005,{'typecast':!![]});if(_0x104a80[_0x2c73('0x3d')]){logger[_0x2c73('0x35')]('[%s][QUEUE]\x20%s',_0x52b83c,_[_0x2c73('0x3e')](_0x104a80,'message')[_0x2c73('0x3f')](',\x20'));_0x4f67fe[_0x2c73('0x40')]();}else{var _0xdf4421=_['find'](_0x6a859a[_0x1bf02a['channel']+_0x2c73('0x41')],handleFindQueue(_0x219005[_0x2c73('0x31')]));if(_0xdf4421){startRouting(_0x52b83c,_0xdf4421,_0x1bf02a,_0x6a859a);var _0x2b2189=(_0xdf4421[_0x2c73('0x42')]||0xa)*0x3e8;var _0x5ae0d3=(_0x219005[_0x2c73('0x42')]||0x14)*0x3e8;var _0x3ebe27,_0x3356d6;if(_0x2b2189>_0x5ae0d3){_0x5ae0d3=_0x2b2189;}var _0x62e770=seqqueue[_0x2c73('0x43')](_0x2b2189);_0x62e770['id']=_0x52b83c;_0x62e770[_0x2c73('0x44')]=_0x2b2189;_0x62e770['qtimeout']=_0x5ae0d3;_0x62e770[_0x2c73('0x27')]=_0x1bf02a[_0x2c73('0x27')];_0x6a859a[_0x2c73('0x45')][_0x52b83c]['on'](_0x2c73('0x46'),function(){logger[_0x2c73('0x2f')](_0x2c73('0x47'),_0x52b83c);stopRouting(_0x52b83c,_0xdf4421,_0x1bf02a,_0x6a859a);clearTimeout(_0x3ebe27);_0x3ebe27=undefined;_0x62e770[_0x2c73('0x48')](!![]);if(_0x6a859a[_0x2c73('0x45')][_0x52b83c]){delete _0x6a859a[_0x2c73('0x45')][_0x52b83c];}_0x4f67fe[_0x2c73('0x40')]();});_0x6a859a['rules'][_0x52b83c]['on'](_0x2c73('0x49'),function(){if(_0x6a859a[_0x2c73('0x45')][_0x52b83c]){delete _0x6a859a[_0x2c73('0x45')][_0x52b83c];}});_0x3ebe27=setTimeout(function(){logger[_0x2c73('0x2f')]('[%s][QUEUE]\x20APPLICATION\x20END',_0x52b83c);endRouting(_0x52b83c,_0xdf4421,_0x1bf02a,_0x6a859a);clearTimeout(_0x3ebe27);_0x62e770[_0x2c73('0x48')](!![]);_0x4f67fe[_0x2c73('0x4a')]();},_0x5ae0d3);switch(_0xdf4421['strategy']){case'rrmemory':strategy[_0x2c73('0x4b')](_0x62e770,_0xdf4421,_0x6a859a,_0x1bf02a);break;default:strategy[_0x2c73('0x4c')](_0x62e770,_0xdf4421,_0x6a859a,_0x1bf02a);}}else{logger[_0x2c73('0x35')](_0x2c73('0x4d'),_0x52b83c,_0x219005[_0x2c73('0x31')]);_0x4f67fe[_0x2c73('0x40')]();}}}catch(_0x43e2d1){console[_0x2c73('0x4e')](_0x43e2d1);logger[_0x2c73('0x35')](_0x2c73('0x4f'),_0x52b83c,_0x43e2d1[_0x2c73('0x50')]);_0x4f67fe[_0x2c73('0x40')]();}};};
\ No newline at end of file
+var _0xb9a0=['next','strategy','rrmemory','beepall','[%s][QUEUE]\x20%s','stack','validate','lodash','util','moment','ioredis','../../../../config/environment','../../../../config/logger','routing','./strategy','redis','defaults','socket.io-emitter','queue_id','from','emit','clone','queue','account','push','capitalize','InteractionId','format','%sQueuesWaitingInteractions','pick','%s:queue:%s','save','../../rpc/openchannelQueueReport','../../rpc/mailQueueReport','../../rpc/smsQueueReport','../../rpc/whatsappQueueReport','../../rpc/chatInteraction','../../rpc/mailInteraction','../../rpc/smsInteraction','../../rpc/whatsappInteraction','string','number','timeout\x20is\x20a\x20number','waiting','body','YYYY-MM-DD\x20HH:mm:ss','contact','list','upperFirst','channel','QueueId','interaction','MessageId','message','chat','AccountId','WebsiteId','info','[%s][START:QUEUE][NAME:%s]','name','QueueReport','catch','create\x20queue\x20report','accepted','[%s][STOP:QUEUE][NAME:%s]','update','then','error','[%s][END:QUEUE][NAME:%s]','update\x20queue\x20report','toLowerCase','consequence','length','map','join','find','Queues','timeout','createQueue','atimeout','qtimeout','rules','end','[%s][QUEUE]\x20ROUTING\x20STOPPED','stop','[%s][QUEUE]\x20APPLICATION\x20END','close'];(function(_0x3ef9b6,_0x5de4fe){var _0xc0b00c=function(_0x3a6a5b){while(--_0x3a6a5b){_0x3ef9b6['push'](_0x3ef9b6['shift']());}};_0xc0b00c(++_0x5de4fe);}(_0xb9a0,0x162));var _0x0b9a=function(_0x5630b7,_0x29f61d){_0x5630b7=_0x5630b7-0x0;var _0x30f03e=_0xb9a0[_0x5630b7];return _0x30f03e;};'use strict';var schema=require(_0x0b9a('0x0'));var _=require(_0x0b9a('0x1'));var util=require(_0x0b9a('0x2'));var seqqueue=require('seq-queue');var moment=require(_0x0b9a('0x3'));var Redis=require(_0x0b9a('0x4'));var config=require(_0x0b9a('0x5'));var logger=require(_0x0b9a('0x6'))(_0x0b9a('0x7'));var strategy=require(_0x0b9a('0x8'));config[_0x0b9a('0x9')]=_[_0x0b9a('0xa')](config['redis'],{'host':'localhost','port':0x18eb});var io=require(_0x0b9a('0xb'))(new Redis(config['redis']));var attributes=['id',_0x0b9a('0xc'),'account','queue',_0x0b9a('0xd'),'joinAt'];function emit(_0x132f5e,_0x294782,_0x537f0d){io['to'](_0x132f5e)[_0x0b9a('0xe')](_0x294782,_0x537f0d);}function emitChannelQueueInteraction(_0x5a04e0,_0x19a06c,_0x16c927,_0x3a9f82,_0x1b8702,_0x22819d,_0x2a6041,_0x3a4135){var _0x451879=_[_0x0b9a('0xf')](_0x16c927);_0x451879[_0x0b9a('0xc')]=_0x3a4135;_0x451879[_0x0b9a('0x10')]=_0x19a06c;_0x451879[_0x0b9a('0x11')]=_0x3a9f82;_0x451879['id']=_0x1b8702;if(_0x22819d){attributes[_0x0b9a('0x12')](_[_0x0b9a('0x13')](_0x5a04e0)+_0x0b9a('0x14'));_0x2a6041[util[_0x0b9a('0x15')](_0x0b9a('0x16'),_0x5a04e0)][_0x1b8702]=_[_0x0b9a('0x17')](_0x451879,attributes);}else{delete _0x2a6041[util[_0x0b9a('0x15')](_0x0b9a('0x16'),_0x5a04e0)][_0x1b8702];}emit(util['format'](_0x0b9a('0x18'),_0x5a04e0,_0x19a06c),util[_0x0b9a('0x15')]('%s_queue_waiting_interaction:%s',_0x5a04e0,_0x22819d?_0x0b9a('0x19'):'remove'),_['pick'](_0x451879,attributes));}var rpc={'openchannelQueueReport':require(_0x0b9a('0x1a')),'mailQueueReport':require(_0x0b9a('0x1b')),'chatQueueReport':require('../../rpc/chatQueueReport'),'smsQueueReport':require(_0x0b9a('0x1c')),'faxQueueReport':require('../../rpc/faxQueueReport'),'whatsappQueueReport':require(_0x0b9a('0x1d')),'chatInteraction':require(_0x0b9a('0x1e')),'faxInteraction':require('../../rpc/faxInteraction'),'mailInteraction':require(_0x0b9a('0x1f')),'openchannelInteraction':require('../../rpc/openchannelInteraction'),'smsInteraction':require(_0x0b9a('0x20')),'whatsappInteraction':require(_0x0b9a('0x21'))};var queue=schema({'name':{'type':_0x0b9a('0x22'),'required':!![],'message':'name\x20is\x20a\x20string\x20and\x20it\x20is\x20required'},'timeout':{'type':_0x0b9a('0x23'),'message':_0x0b9a('0x24')}});function startRouting(_0x7dd540,_0x11fc46,_0x448ee1,_0x360a02){if(_0x7dd540&&_0x11fc46&&_0x448ee1){_0x11fc46[_0x0b9a('0x25')]+=0x1;var _0x5d6424={'uniqueid':_0x7dd540,'from':_0x448ee1[_0x0b9a('0x26')]?_0x448ee1[_0x0b9a('0x26')]['from']:'','joinAt':moment()[_0x0b9a('0x15')](_0x0b9a('0x27')),'ContactId':_0x448ee1[_0x0b9a('0x28')]?_0x448ee1[_0x0b9a('0x28')]['id']:null,'ListId':_0x448ee1['list']?_0x448ee1[_0x0b9a('0x29')]['id']:null};_0x5d6424[_[_0x0b9a('0x2a')](_0x448ee1[_0x0b9a('0x2b')])+_0x0b9a('0x2c')]=_0x11fc46['id']||null;_0x5d6424[_[_0x0b9a('0x2a')](_0x448ee1[_0x0b9a('0x2b')])+'InteractionId']=_0x448ee1[_0x0b9a('0x2d')]?_0x448ee1['interaction']['id']:null;_0x5d6424[_[_0x0b9a('0x2a')](_0x448ee1[_0x0b9a('0x2b')])+_0x0b9a('0x2e')]=_0x448ee1[_0x0b9a('0x2f')]?_0x448ee1[_0x0b9a('0x2f')]['id']:null;_0x5d6424[_[_0x0b9a('0x2a')](_0x448ee1[_0x0b9a('0x2b')])+(_0x448ee1[_0x0b9a('0x2b')]!==_0x0b9a('0x30')?_0x0b9a('0x31'):_0x0b9a('0x32'))]=_0x448ee1[_0x0b9a('0x11')]?_0x448ee1[_0x0b9a('0x11')]['id']:null;logger[_0x0b9a('0x33')](util['format'](_0x0b9a('0x34'),_0x7dd540,_0x11fc46[_0x0b9a('0x35')]));emitChannelQueueInteraction(_0x448ee1[_0x0b9a('0x2b')],_0x11fc46[_0x0b9a('0x35')],_0x5d6424,_0x448ee1[_0x0b9a('0x11')][_0x0b9a('0x35')],_0x448ee1[_0x0b9a('0x2f')]['id'],!![],_0x360a02,_0x11fc46['id']);if(rpc[_0x448ee1[_0x0b9a('0x2b')]+_0x0b9a('0x36')]){return rpc[_0x448ee1['channel']+_0x0b9a('0x36')]['create'](_0x5d6424)[_0x0b9a('0x37')](function(_0x3e86da){logger['error'](_0x0b9a('0x38'),_0x3e86da);});}}}function stopRouting(_0x3b0383,_0x230856,_0x4cd161,_0x3e70ab){if(_0x3b0383&&_0x230856){_0x230856[_0x0b9a('0x25')]-=0x1;var _0x4145be={'leaveAt':moment()[_0x0b9a('0x15')](_0x0b9a('0x27')),'acceptAt':moment()[_0x0b9a('0x15')](_0x0b9a('0x27')),'reason':_0x0b9a('0x39')};logger[_0x0b9a('0x33')](util['format'](_0x0b9a('0x3a'),_0x3b0383,_0x230856[_0x0b9a('0x35')]));emitChannelQueueInteraction(_0x4cd161['channel'],_0x230856[_0x0b9a('0x35')],_0x4cd161['body'],_0x4cd161[_0x0b9a('0x11')][_0x0b9a('0x35')],_0x4cd161['message']['id'],![],_0x3e70ab,_0x230856['id']);return rpc[_0x4cd161[_0x0b9a('0x2b')]+'Interaction'][_0x0b9a('0x3b')](_0x4cd161[_0x0b9a('0x2d')]['id'],{'queueId':_0x230856['id']})[_0x0b9a('0x3c')](function(){if(rpc[_0x4cd161[_0x0b9a('0x2b')]+_0x0b9a('0x36')]){return rpc[_0x4cd161['channel']+_0x0b9a('0x36')][_0x0b9a('0x3b')](_0x3b0383,_0x4145be)[_0x0b9a('0x37')](function(_0x46c035){logger[_0x0b9a('0x3d')]('update\x20queue\x20report',_0x46c035);});}});}}function endRouting(_0x1e7b12,_0xb70e2a,_0x44e45d,_0x2d78d0){if(_0x1e7b12&&_0xb70e2a){_0xb70e2a[_0x0b9a('0x25')]-=0x1;var _0x41ff4c={'leaveAt':moment()[_0x0b9a('0x15')](_0x0b9a('0x27')),'exitAt':moment()[_0x0b9a('0x15')]('YYYY-MM-DD\x20HH:mm:ss'),'reason':'timeout'};logger[_0x0b9a('0x33')](util[_0x0b9a('0x15')](_0x0b9a('0x3e'),_0x1e7b12,_0xb70e2a[_0x0b9a('0x35')]));emitChannelQueueInteraction(_0x44e45d['channel'],_0xb70e2a[_0x0b9a('0x35')],_0x44e45d[_0x0b9a('0x26')],_0x44e45d[_0x0b9a('0x11')][_0x0b9a('0x35')],_0x44e45d[_0x0b9a('0x2f')]['id'],![],_0x2d78d0);if(rpc[_0x44e45d[_0x0b9a('0x2b')]+'QueueReport']){return rpc[_0x44e45d['channel']+_0x0b9a('0x36')][_0x0b9a('0x3b')](_0x1e7b12,_0x41ff4c)['catch'](function(_0x3b5a5b){logger[_0x0b9a('0x3d')](_0x0b9a('0x3f'),_0x3b5a5b);});}}}function handleFindQueue(_0x104eb3){return function(_0x13d90a){return _0x13d90a[_0x0b9a('0x35')][_0x0b9a('0x40')]()===_0x104eb3[_0x0b9a('0x40')]();};}exports[_0x0b9a('0x41')]=function(_0x30c9c7,_0x48eed4,_0x296185,_0x584d9a){return function(_0x31bb01){try{var _0x189489={'name':_0x48eed4[0x0],'timeout':_0x48eed4[0x1]};var _0x3f89e1=queue[_0x0b9a('0x0')](_0x189489,{'typecast':!![]});if(_0x3f89e1[_0x0b9a('0x42')]){logger[_0x0b9a('0x3d')]('[%s][QUEUE]\x20%s',_0x30c9c7,_[_0x0b9a('0x43')](_0x3f89e1,_0x0b9a('0x2f'))[_0x0b9a('0x44')](',\x20'));_0x31bb01['stop']();}else{var _0x18d5ec=_[_0x0b9a('0x45')](_0x296185[_0x584d9a[_0x0b9a('0x2b')]+_0x0b9a('0x46')],handleFindQueue(_0x189489[_0x0b9a('0x35')]));if(_0x18d5ec){startRouting(_0x30c9c7,_0x18d5ec,_0x584d9a,_0x296185);var _0x163680=(_0x18d5ec[_0x0b9a('0x47')]||0xa)*0x3e8;var _0x51efea=(_0x189489[_0x0b9a('0x47')]||0x14)*0x3e8;var _0x420257;if(_0x163680>_0x51efea){_0x51efea=_0x163680;}var _0x4d5659=seqqueue[_0x0b9a('0x48')](_0x163680);_0x4d5659['id']=_0x30c9c7;_0x4d5659[_0x0b9a('0x49')]=_0x163680;_0x4d5659[_0x0b9a('0x4a')]=_0x51efea;_0x4d5659[_0x0b9a('0x2b')]=_0x584d9a[_0x0b9a('0x2b')];_0x296185[_0x0b9a('0x4b')][_0x30c9c7]['on'](_0x0b9a('0x4c'),function(){logger[_0x0b9a('0x33')](_0x0b9a('0x4d'),_0x30c9c7);stopRouting(_0x30c9c7,_0x18d5ec,_0x584d9a,_0x296185);clearTimeout(_0x420257);_0x420257=undefined;_0x4d5659['close'](!![]);if(_0x296185['rules'][_0x30c9c7]){delete _0x296185[_0x0b9a('0x4b')][_0x30c9c7];}_0x31bb01[_0x0b9a('0x4e')]();});_0x296185[_0x0b9a('0x4b')][_0x30c9c7]['on']('complete',function(){if(_0x296185[_0x0b9a('0x4b')][_0x30c9c7]){delete _0x296185['rules'][_0x30c9c7];}});_0x420257=setTimeout(function(){logger[_0x0b9a('0x33')](_0x0b9a('0x4f'),_0x30c9c7);endRouting(_0x30c9c7,_0x18d5ec,_0x584d9a,_0x296185);clearTimeout(_0x420257);_0x4d5659[_0x0b9a('0x50')](!![]);_0x31bb01[_0x0b9a('0x51')]();},_0x51efea);switch(_0x18d5ec[_0x0b9a('0x52')]){case _0x0b9a('0x53'):strategy[_0x0b9a('0x53')](_0x4d5659,_0x18d5ec,_0x296185,_0x584d9a);break;default:strategy[_0x0b9a('0x54')](_0x4d5659,_0x18d5ec,_0x296185,_0x584d9a);}}else{logger[_0x0b9a('0x3d')]('[%s][QUEUE]\x20queue\x20not\x20found\x20%s',_0x30c9c7,_0x189489[_0x0b9a('0x35')]);_0x31bb01[_0x0b9a('0x4e')]();}}}catch(_0x34ea28){logger['error'](_0x0b9a('0x55'),_0x30c9c7,_0x34ea28[_0x0b9a('0x56')]);_0x31bb01[_0x0b9a('0x4e')]();}};};
\ No newline at end of file