@restforgejs/platform 4.3.5 → 4.3.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/payload/migrate.js +96 -0
- package/generators/lib/migrate/backend-payload-migrator.js +221 -0
- package/generators/lib/migrate/field-type-resolver.js +319 -0
- package/generators/lib/migrate/label-generator.js +38 -0
- package/generators/lib/migrate/migrate-runner.js +187 -0
- package/generators/lib/migrate/naming.js +43 -0
- package/generators/lib/migrate/sql-parser.js +124 -0
- package/generators/lib/payload/payload-runner.js +106 -11
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/integrity-manifest.json +18 -18
- package/package.json +1 -1
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x2e23(){const _0x11f331=['xsbgywLSzwqGDg8GCMvJB25Uzwn0ihrVifjHyMjPDe1roIa','AxndB25Uzwn0zwq','ic0+ia','CMvJB25Uzwn0','ode5nte0yKfQt3LO','r0rVsuq','zNvUy3rPB24','lxjLDhj5lwv4y2HHBMDL','BgvUz3rO','ignYzwf0zwq','y2HHBM5LBa','ignYzwf0zwqVCMvHzhK','mtiXnJaWu056DxH2','DurzwgG','BwvZC2fNzuHHBMrSzxjZ','y29UzMLN','mZi2mtG4yLPss2nP','mtGWmtm1vhLRvePP','C3bSAxq','yxnZzxj0rxHJAgfUz2u','wufbAg4','rgf0ysbZzw50ihrVihf1zxvLihn1y2nLC3nMDwXSEq','z2v0vgLTzq','y3jLyxrLzc9YzwfKEq','sgjhDum','xsbrDwv1zsa','yxnZzxj0uxvLDwu','xsbbDhrLBxb0Aw5NihrVihjLy29UBMvJDcb0BYbsywjIAxrnus4UlG','xsbcAw5KAw5Nia','AMXlBem','mte2otGWv1vJt1vX','rxn4CNO','Aw5PDgLHBgL6zq','x3f1zxvL','mwLWBMzxqW','ChjVy2vZC01LC3nHz2u','zgvMyxvSDa','x3jLDhj5','xsbgywLSzwqGDg8GC3rHCNqGy29UC3vTAw5NoIa','z01JrNe','ndCZB0PKyxjZ','xsbnzxnZywDLihnLBNqGDg8GuMfIyML0tveGC3vJy2vZC2z1BgX5oG','BwvZC2fNzq','xsbfuLjpuJOGuxvLDwuG','Aw5JBhvKzxm','Dg9ju09tDhjPBMC','C2v0DxbdB2XSzwn0B3jjBMzYyxn0CNvJDhvYzq','mtq0ntaXvKXPqwzZ','rLvOAuS','ntr0BvnlDMi','y29UDgvUDa','xsblB25LA3nPifjHyMjPDe1rihrLCNb1DhvZ','DgLTzxn0yw1W','xsbgywLSzwqGDg8GChjVy2vZCYbTzxnZywDLlcbYzxf1zxvPBMC','Bg9N','zxjYB3i','C3vIC3rYAw5N','CgfYC2u','rxjkreW','xsbfCNjVCIbZywf0ihnLDhvWigLUzNjHC3rYDwT0Dxi6ia','Bg9gzK0','BMfJAW','D2vsCMO','zM91BMq','CxvLDwu','zxHJAgfUz2u','xsbfCNjVCIbWCM9JzxnZAw5Nig1LC3nHz2u6ia','t2Hby3q','xsbszxrYEsbLEgnOyw5Nzsa','yxbWBgLJyxrPB24VANnVBG','CM91DgLUz0TLEq','xsbtDwnJzxnZzNvSBhKGCMvJB25Uzwn0zwqGDg8GuMfIyML0tve','CMfUzg9T','otLSzgH1sfC','mtvtr2T1qw4','y2XVC2u','D2fYBG','Dg9tDhjPBMC','vLLzDK8','ChjVCgvYDgLLCW','xsbnzxnZywDLigHHBMrSzxiGBxvZDcbIzsbHigz1BMn0Aw9U','C3rYAw5NAwz5','lI4VDxrPBhmVzgf0zuHLBhbLCG','txffsMm','y29UBMvJDgLVBG','CMvNAxn0zxjnzxnZywDLsgfUzgXLCG','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','mty2nti0r1nhuwTg','zw52','ihDPDgGGreXy','ignYzwf0zwqGD2L0AcbetfG','ChjLzMv0y2G'];a0_0x2e23=function(){return _0x11f331;};return a0_0x2e23();}const a0_0x1ce22e=a0_0x198e;function a0_0x198e(_0x22610e,_0x36ece7){_0x22610e=_0x22610e-0x12f;const _0x2e23c7=a0_0x2e23();let _0x198e4b=_0x2e23c7[_0x22610e];if(a0_0x198e['JGPfGV']===undefined){var _0x536edc=function(_0xfb6c5){const _0x3ff66a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1cfdde='',_0x40c6b8='';for(let _0x29329a=0x0,_0xcb6bc0,_0x322093,_0x53d124=0x0;_0x322093=_0xfb6c5['charAt'](_0x53d124++);~_0x322093&&(_0xcb6bc0=_0x29329a%0x4?_0xcb6bc0*0x40+_0x322093:_0x322093,_0x29329a++%0x4)?_0x1cfdde+=String['fromCharCode'](0xff&_0xcb6bc0>>(-0x2*_0x29329a&0x6)):0x0){_0x322093=_0x3ff66a['indexOf'](_0x322093);}for(let _0x52529e=0x0,_0x2cc758=_0x1cfdde['length'];_0x52529e<_0x2cc758;_0x52529e++){_0x40c6b8+='%'+('00'+_0x1cfdde['charCodeAt'](_0x52529e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x40c6b8);};a0_0x198e['dkpveD']=_0x536edc,a0_0x198e['WiJAij']={},a0_0x198e['JGPfGV']=!![];}const _0x4c1b5b=_0x2e23c7[0x0],_0x210c8f=_0x22610e+_0x4c1b5b,_0x1d6e44=a0_0x198e['WiJAij'][_0x210c8f];return!_0x1d6e44?(_0x198e4b=a0_0x198e['dkpveD'](_0x198e4b),a0_0x198e['WiJAij'][_0x210c8f]=_0x198e4b):_0x198e4b=_0x1d6e44,_0x198e4b;}(function(_0x2ce123,_0x19b849){const _0xae613e=a0_0x198e,_0x1a38fa=_0x2ce123();while(!![]){try{const _0x2d60c1=-parseInt(_0xae613e(0x178))/0x1*(-parseInt(_0xae613e(0x15a))/0x2)+-parseInt(_0xae613e(0x144))/0x3*(parseInt(_0xae613e(0x166))/0x4)+parseInt(_0xae613e(0x167))/0x5*(-parseInt(_0xae613e(0x187))/0x6)+-parseInt(_0xae613e(0x185))/0x7+parseInt(_0xae613e(0x162))/0x8+parseInt(_0xae613e(0x143))/0x9*(parseInt(_0xae613e(0x174))/0xa)+-parseInt(_0xae613e(0x17e))/0xb*(-parseInt(_0xae613e(0x151))/0xc);if(_0x2d60c1===_0x19b849)break;else _0x1a38fa['push'](_0x1a38fa['shift']());}catch(_0x417c78){_0x1a38fa['push'](_0x1a38fa['shift']());}}}(a0_0x2e23,0x6119d));const {createConnection,createChannel,setupInfrastructure,closeConnection,getConfig}=require('../utils/rabbitmq'),{formatDate}=require(a0_0x1ce22e(0x14c));class RabbitMQService{constructor(){const _0x132f6d=a0_0x1ce22e,_0x2d55f1='2|3|0|4|1'['split']('|');let _0xc08dfe=0x0;while(!![]){switch(_0x2d55f1[_0xc08dfe++]){case'0':this['config']=getConfig();continue;case'1':this['messageHandlers']=[];continue;case'2':this[_0x132f6d(0x14e)]=null;continue;case'3':this[_0x132f6d(0x160)]=null;continue;case'4':this[_0x132f6d(0x157)]=![];continue;}break;}}async['initialize'](){const _0x15aea6=a0_0x1ce22e,_0x5ca339={'uDYXh':function(_0x20077c,_0x56a7e2){return _0x20077c(_0x56a7e2);},'HbGuC':'7|2|6|1|3|5|0|4','YAAhn':_0x15aea6(0x145),'NbSGU':function(_0x391ff1){return _0x391ff1();}};try{const _0x376ad4=_0x5ca339[_0x15aea6(0x16e)][_0x15aea6(0x168)]('|');let _0x6d2c9f=0x0;while(!![]){switch(_0x376ad4[_0x6d2c9f++]){case'0':this[_0x15aea6(0x14e)]['on'](_0x5ca339[_0x15aea6(0x16a)],()=>{const _0x559fd3=_0x15aea6;console[_0x559fd3(0x131)]('['+_0x5ca339[_0x559fd3(0x163)](formatDate,new Date())+_0x559fd3(0x189)),this['isConnected']=![],setTimeout(()=>this['reconnect'](),0x1388);});continue;case'1':console['log']('['+formatDate(new Date())+']\x20Prefetch\x20diatur\x20ke\x201');continue;case'2':this['channel']=await createChannel(this['connection']);continue;case'3':await _0x5ca339['uDYXh'](setupInfrastructure,this['channel']);continue;case'4':return!![];case'5':this['isConnected']=!![];continue;case'6':await this['channel'][_0x15aea6(0x155)](0x1);continue;case'7':this[_0x15aea6(0x14e)]=await _0x5ca339['NbSGU'](createConnection);continue;}break;}}catch(_0x2e880e){return console[_0x15aea6(0x131)]('['+formatDate(new Date())+']\x20Failed\x20to\x20initialize\x20RabbitMQ:\x20'+_0x2e880e['message']),this[_0x15aea6(0x157)]=![],![];}}async[a0_0x1ce22e(0x159)](){const _0x428a69=a0_0x1ce22e,_0x3baaae={'oWesS':function(_0x53c4df,_0x4c4d34){return _0x53c4df(_0x4c4d34);},'OhAct':function(_0x579004,_0xb65bc6){return _0x579004(_0xb65bc6);},'weRrj':function(_0x258a90,_0x4cadab){return _0x258a90(_0x4cadab);},'sAfPD':function(_0x360054,_0x4e5861,_0x39cec8){return _0x360054(_0x4e5861,_0x39cec8);}};console[_0x428a69(0x130)]('['+_0x3baaae['oWesS'](formatDate,new Date())+_0x428a69(0x171));try{await this[_0x428a69(0x176)](),this['isConnected']&&(console[_0x428a69(0x130)]('['+_0x3baaae[_0x428a69(0x13d)](formatDate,new Date())+_0x428a69(0x141)),await this['startConsume']());}catch(_0x35fd0d){console['error']('['+_0x3baaae[_0x428a69(0x138)](formatDate,new Date())+_0x428a69(0x156)+_0x35fd0d['message']),_0x3baaae['sAfPD'](setTimeout,()=>this[_0x428a69(0x159)](),0x1388);}}async[a0_0x1ce22e(0x184)](_0x1b0c92){const _0x2fd818=a0_0x1ce22e,_0x246d25={'ErJDL':function(_0x297477){return _0x297477();},'FUhiK':_0x2fd818(0x17a),'cJsEt':'direct','VYYvO':function(_0x6bda59,_0x148102){return _0x6bda59(_0x148102);},'loFfM':'inequivalent\x20arg','gMcFq':function(_0x3c3f52,_0x1fd729){return _0x3c3f52(_0x1fd729);},'ZkUkD':function(_0x19cb86,_0x1ad7a5){return _0x19cb86(_0x1ad7a5);}};try{!this['isConnected']&&(this[_0x2fd818(0x14e)]=await _0x246d25[_0x2fd818(0x134)](createConnection),this['channel']=await createChannel(this[_0x2fd818(0x14e)]),this[_0x2fd818(0x157)]=!![]);const _0x1667e2=process[_0x2fd818(0x152)]['RESTFORGE_PROJECT_NAME']||_0x246d25[_0x2fd818(0x186)],_0x24d35d=_0x1667e2+_0x2fd818(0x15d);await this[_0x2fd818(0x160)][_0x2fd818(0x169)](_0x24d35d,_0x246d25['cJsEt'],{'durable':!![],'autoDelete':![]}),console['log']('['+formatDate(new Date())+_0x2fd818(0x13e)+_0x24d35d+'\x20created/ready'),await this['channel'][_0x2fd818(0x169)](_0x1b0c92[_0x2fd818(0x13b)],'direct',{'durable':!![],'autoDelete':![]}),console[_0x2fd818(0x130)]('['+formatDate(new Date())+']\x20Exchange\x20'+_0x1b0c92[_0x2fd818(0x13b)]+_0x2fd818(0x161));const _0x2fab2b=_0x1b0c92['routingKey']+_0x2fd818(0x17b),_0x4f50b3={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':_0x1b0c92['exchange'],'x-dead-letter-routing-key':_0x1b0c92[_0x2fd818(0x140)]}};await this['channel']['assertQueue'](_0x2fab2b,_0x4f50b3),console[_0x2fd818(0x130)]('['+formatDate(new Date())+']\x20Retry\x20queue\x20'+_0x2fab2b+'\x20created/ready'),await this['channel']['bindQueue'](_0x2fab2b,_0x24d35d,_0x1b0c92[_0x2fd818(0x140)]),console[_0x2fd818(0x130)]('['+_0x246d25['VYYvO'](formatDate,new Date())+']\x20Retry\x20binding\x20for\x20'+_0x1b0c92['routingKey']+_0x2fd818(0x15f));const _0x4ea808={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x24d35d,'x-dead-letter-routing-key':_0x1b0c92['routingKey']}};try{const _0x5becc7=await this[_0x2fd818(0x160)][_0x2fd818(0x170)](_0x1b0c92[_0x2fd818(0x13a)],_0x4ea808);console['log']('['+_0x246d25['VYYvO'](formatDate,new Date())+_0x2fd818(0x16f)+_0x1b0c92['queue']+'\x20'+(_0x5becc7['queue']===_0x1b0c92['queue']?_0x2fd818(0x16d):_0x2fd818(0x139))+_0x2fd818(0x153)),await this[_0x2fd818(0x160)]['bindQueue'](_0x1b0c92['queue'],_0x1b0c92['exchange'],_0x1b0c92['routingKey']),console['log']('['+formatDate(new Date())+_0x2fd818(0x172)+_0x1b0c92['exchange']+_0x2fd818(0x158)+_0x1b0c92['queue']+'\x20('+_0x1b0c92[_0x2fd818(0x140)]+')\x20created');}catch(_0x4acf64){if(_0x4acf64['message']['includes'](_0x246d25[_0x2fd818(0x136)])&&_0x4acf64[_0x2fd818(0x180)][_0x2fd818(0x182)]('x-dead-letter-routing-key')){console[_0x2fd818(0x131)]('\x0a['+formatDate(new Date())+_0x2fd818(0x181)+_0x1b0c92[_0x2fd818(0x13a)]+_0x2fd818(0x150)),console['error']('Trying\x20alternative\x20queue\x20name...');const _0x49f632=_0x1b0c92['routingKey']+_0x2fd818(0x177),_0x47454c=await this[_0x2fd818(0x160)][_0x2fd818(0x170)](_0x49f632,_0x4ea808);console[_0x2fd818(0x130)]('['+_0x246d25['VYYvO'](formatDate,new Date())+']\x20Alternative\x20queue\x20'+_0x49f632+_0x2fd818(0x154)),await this[_0x2fd818(0x160)]['bindQueue'](_0x49f632,_0x1b0c92[_0x2fd818(0x13b)],_0x1b0c92['routingKey']),console[_0x2fd818(0x130)]('['+_0x246d25[_0x2fd818(0x17d)](formatDate,new Date())+_0x2fd818(0x172)+_0x1b0c92['exchange']+_0x2fd818(0x158)+_0x49f632+'\x20('+_0x1b0c92['routingKey']+')\x20created'),_0x1b0c92['queue']=_0x49f632;}else{console[_0x2fd818(0x131)]('['+_0x246d25['ZkUkD'](formatDate,new Date())+']\x20Error\x20creating\x20queue\x20'+_0x1b0c92['queue']+':',_0x4acf64['message']);throw _0x4acf64;}}return!![];}catch(_0x1229e8){return console['error']('['+_0x246d25[_0x2fd818(0x148)](formatDate,new Date())+_0x2fd818(0x135)+_0x1229e8[_0x2fd818(0x180)]),![];}}async['sendToQueue'](_0x1c5712,_0x1c9c80){const _0x4df8ff=a0_0x1ce22e,_0x51fde9={'MqEJc':_0x4df8ff(0x13f),'WJCAb':function(_0x480900,_0x94244d){return _0x480900(_0x94244d);}};if(!this[_0x4df8ff(0x157)])try{await this['initialize']();}catch(_0x2fd106){return{'success':![],'message':'Cannot\x20connect\x20to\x20RabbitMQ:\x20'+_0x2fd106[_0x4df8ff(0x180)],'data':null};}try{const _0x261eba=_0x1c9c80['auto_retry']!==undefined?_0x1c9c80['auto_retry']:![],_0x98f674=_0x1c9c80['max_retries']||0x3,_0x3b6300={'rabbitmq':{'exchange':_0x1c9c80['exchange'],'queue':_0x1c9c80['queue'],'routing_key':_0x1c9c80['routingKey'],'auto_retry':_0x261eba,'max_retries':_0x98f674},'message':_0x1c5712};await this['setupCollectorInfrastructure'](_0x1c9c80);const _0x25f37c=new Date(),_0x38696d={'timestamp':_0x25f37c[_0x4df8ff(0x183)](),'content':JSON[_0x4df8ff(0x14b)](_0x3b6300)},_0xc9af6=this[_0x4df8ff(0x160)]['publish'](_0x1c9c80[_0x4df8ff(0x13b)],_0x1c9c80['routingKey'],Buffer['from'](JSON[_0x4df8ff(0x14b)](_0x38696d)),{'persistent':!![],'contentType':_0x51fde9[_0x4df8ff(0x14d)],'timestamp':_0x25f37c[_0x4df8ff(0x16c)](),'messageId':_0x25f37c['getTime']()+'-'+Math[_0x4df8ff(0x142)]()['toString'](0x24)[_0x4df8ff(0x132)](0x7),'headers':{'x-auto-retry':_0x261eba,'x-max-retry':_0x98f674,'x-retry-count':0x0,'x-retry-interval':0x2710}});if(_0xc9af6){console[_0x4df8ff(0x130)]('['+_0x51fde9['WJCAb'](formatDate,_0x25f37c)+_0x4df8ff(0x17f),{'exchange':_0x1c9c80['exchange'],'routing_key':_0x1c9c80[_0x4df8ff(0x140)],'queue':_0x1c9c80['queue'],'sendAt':_0x25f37c['toISOString']()});const _0x431233='queue-'+_0x25f37c['getTime']()+'-'+Math['random']()['toString'](0x24)[_0x4df8ff(0x132)](0x7);return{'success':!![],'message':_0x4df8ff(0x16b),'data':{'id':_0x431233,'queueInfo':{'exchange':_0x1c9c80['exchange'],'queue':_0x1c9c80['queue'],'routingKey':_0x1c9c80[_0x4df8ff(0x140)]}}};}else throw new Error('Failed\x20to\x20send\x20message\x20to\x20RabbitMQ');}catch(_0x21bdac){return console[_0x4df8ff(0x131)]('['+formatDate(new Date())+']\x20Error\x20sending\x20to\x20RabbitMQ:\x20'+_0x21bdac[_0x4df8ff(0x180)]),{'success':![],'message':'Error:\x20'+_0x21bdac['message'],'data':null};}}[a0_0x1ce22e(0x14f)](_0x1960c1){const _0x181a4c=a0_0x1ce22e;typeof _0x1960c1===_0x181a4c(0x15c)?(this[_0x181a4c(0x164)]['push'](_0x1960c1),console['log']('['+formatDate(new Date())+']\x20Message\x20handler\x20registered')):console['error']('['+formatDate(new Date())+_0x181a4c(0x14a));}async[a0_0x1ce22e(0x179)](_0x167904){const _0x499714=a0_0x1ce22e,_0x3f1f6a={'Esxrz':function(_0x39d415,_0x13db0e){return _0x39d415(_0x13db0e);}};if(this['messageHandlers'][_0x499714(0x15e)]===0x0)return console[_0x499714(0x146)]('['+_0x3f1f6a[_0x499714(0x175)](formatDate,new Date())+']\x20No\x20handlers\x20registered\x20to\x20process\x20messages'),!![];try{for(const _0x1d4c1d of this['messageHandlers']){await _0x1d4c1d(_0x167904);}return!![];}catch(_0x505d2b){return console[_0x499714(0x131)]('['+formatDate(new Date())+_0x499714(0x13c)+_0x505d2b['message']),![];}}async['startConsume'](){const _0x3d672b=a0_0x1ce22e,_0x479181={'WhaWC':function(_0x460565,_0x582033){return _0x460565(_0x582033);},'GDoID':function(_0x45c50a,_0x304e26){return _0x45c50a(_0x304e26);},'oTSrT':'---','jlKlC':function(_0x45cf75,_0x3b2cbb){return _0x45cf75(_0x3b2cbb);}};if(!this[_0x3d672b(0x157)])return console[_0x3d672b(0x131)]('['+formatDate(new Date())+']\x20Cannot\x20start\x20consuming:\x20not\x20connected\x20to\x20RabbitMQ'),![];try{return console['log']('['+_0x479181[_0x3d672b(0x173)](formatDate,new Date())+']\x20Start\x20consuming\x20messages\x20from\x20queue\x20\x22'+this[_0x3d672b(0x165)][_0x3d672b(0x13a)]+'\x22...'),this['channel']['consume'](this['config']['queue'],async _0x344ee0=>{const _0x2c3b34=_0x3d672b;if(_0x344ee0!==null){const _0x1dd30e=new Date();let _0x5e394e;try{_0x5e394e=JSON[_0x2c3b34(0x133)](_0x344ee0['content'][_0x2c3b34(0x147)]());}catch(_0x275ff2){console['error']('['+_0x479181['WhaWC'](formatDate,_0x1dd30e)+']\x20Failed\x20to\x20parse\x20message:\x20'+_0x275ff2[_0x2c3b34(0x180)]),console[_0x2c3b34(0x131)]('Message\x20content:\x20'+_0x344ee0[_0x2c3b34(0x188)]['toString']()),this[_0x2c3b34(0x160)]['ack'](_0x344ee0);return;}const _0x18110c=_0x344ee0[_0x2c3b34(0x149)][_0x2c3b34(0x18a)]?new Date(_0x344ee0[_0x2c3b34(0x149)]['timestamp']):new Date(),_0x2795e7=await this[_0x2c3b34(0x179)](_0x5e394e);_0x2795e7?(console[_0x2c3b34(0x130)]('['+_0x479181[_0x2c3b34(0x15b)](formatDate,new Date())+']\x20Message\x20processed\x20successfully'),this['channel']['ack'](_0x344ee0)):(console['error']('['+formatDate(new Date())+_0x2c3b34(0x12f)),this['channel'][_0x2c3b34(0x137)](_0x344ee0,![],!![])),console[_0x2c3b34(0x130)](_0x479181['oTSrT']);}},{'noAck':![]}),!![];}catch(_0x720246){return console[_0x3d672b(0x131)]('['+formatDate(new Date())+_0x3d672b(0x17c)+_0x720246['message']),![];}}async['close'](){const _0x2de1ed=a0_0x1ce22e,_0x33b83a={'TwpFc':function(_0x3eda23,_0x3fcf42){return _0x3eda23(_0x3fcf42);}};this[_0x2de1ed(0x14e)]&&(await _0x33b83a['TwpFc'](closeConnection,this[_0x2de1ed(0x14e)]),this[_0x2de1ed(0x157)]=![]);}}let instance=null;function getInstance(){return!instance&&(instance=new RabbitMQService()),instance;}module['exports']={'getInstance':getInstance};
|
|
1
|
+
const a0_0x7718f0=a0_0x44ec;function a0_0x4a7e(){const _0x1b45b9=['xsbcAw5KAw5Nia','otrVEMTbzgi','x3jLDhj5','wM14Dxu','mte1nZi2nen0rwPKrG','zxHJAgfUz2u','Ec1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEq','lxjLDhj5lwv4y2HHBMDL','CxvLDwu','yxnZzxj0rxHJAgfUz2u','A1Hywgm','Awz3rLu','Dg9tDhjPBMC','BwvZC2fNzuHHBMrSzxjZ','C3vIC3rYAw5N','qMHwzLG','y29UDgvUDa','uMnWAxy','C3rHCNrdB25ZDw1L','C2v0DxbdB2XSzwn0B3jjBMzYyxn0CNvJDhvYzq','xsbgywLSzwqGDg8GCMvJB25Uzwn0ihrVifjHyMjPDe1roIa','yxnZzxj0uxvLDwu','y3jLyxrLzc9YzwfKEq','xsbfCNjVCIbWCM9JzxnZAw5Nig1LC3nHz2u6ia','ywnR','AxndB25Uzwn0zwq','y2HHBM5LBa','xsbrDwv1zsa','y29UzMLN','sKzosKm','m3WXFdj8n3W1Fdz8nhWW','C3rYAw5NAwz5','CwHiwxu','twvZC2fNzsbJB250zw50oIa','lI4VDxrPBhmVzgf0zuHLBhbLCG','r3fMr1a','ouXzrNLMtW','CMfUzg9T','y2XVC2u','ihDPDgGGreXy','y29UBMvJDgLVBG','nJaWnJeYrLDUsxL0','xsbnzxnZywDLihnLBNqGDg8GuMfIyML0tveGC3vJy2vZC2z1BgX5oG','qxPUyxq','zxjYB3i','Aw5JBhvKzxm','BfvfCxO','xsbgywLSzwqGDg8GC3rHCNqGy29UC3vTAw5NoIa','rxjYB3i6ia','ChvIBgLZAa','veLYEKm','BgvUz3rO','CMvJB25Uzwn0','xsbgywLSzwqGDg8GCgfYC2uGBwvZC2fNztOG','ignYzwf0zwqVCMvHzhK','C1rUDwq','BwvZC2fNzq','mtC1mdHzz0zMDfq','mtbHyunOyLO','AM1gs3K','y1virKu','ignYzwf0zwq','CMvNAxn0zxjnzxnZywDLsgfUzgXLCG','oda1yML2AuvK','mtG1mdK5nunyy29itq','ChjVCgvYDgLLCW','xsbtDwnJzxnZzNvSBhKGCMvJB25Uzwn0zwqGDg8GuMfIyML0tve','xsbszxrYEsbLEgnOyw5Nzsa','xsbbBhrLCM5HDgL2zsbXDwv1zsa','rhj3rue','uezRt3C','xsbnzxnZywDLigHHBMrSzxiGBxvZDcbIzsbHigz1BMn0Aw9U','ngPIvenzEa','EMjUve4','nJu0murKwMvjwq','BMfJAW','yMLUzff1zxvL','lI4VDxrPBhmVCMfIyML0Bxe','xsbfEgnOyw5Nzsa','ChjVy2vZC01LC3nHz2u','xsboBYbOyw5KBgvYCYbYzwDPC3rLCMvKihrVihbYB2nLC3mGBwvZC2fNzxm','C2vUzfrVuxvLDwu','ChjLzMv0y2G','mZe0mJa1nLL6vg9XDG','xsbnzxnZywDLigHHBMrSzxiGCMvNAxn0zxjLza','CM91DgLUz0TLEq','CNLuA0C','BxLJCvy','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','zNjVBq','nJK4mti0oujpyKHHyG','vhj5Aw5NigfSDgvYBMf0AxzLihf1zxvLig5HBwuUlI4','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','Bg9N','Aw5PDgLHBgL6zq','CgfYC2u','Dg9ju09tDhjPBMC','xsbbDhrLBxb0Aw5NihrVihjLy29UBMvJDcb0BYbsywjIAxrnus4UlG','xsbnzxnZywDLihbYB2nLC3nLzcbZDwnJzxnZzNvSBhK'];a0_0x4a7e=function(){return _0x1b45b9;};return a0_0x4a7e();}(function(_0x3136b0,_0x432980){const _0x9d5f2e=a0_0x44ec,_0x3929d6=_0x3136b0();while(!![]){try{const _0x312a62=parseInt(_0x9d5f2e(0x105))/0x1*(parseInt(_0x9d5f2e(0x11f))/0x2)+-parseInt(_0x9d5f2e(0x10e))/0x3*(-parseInt(_0x9d5f2e(0x103))/0x4)+-parseInt(_0x9d5f2e(0xfb))/0x5+-parseInt(_0x9d5f2e(0xf4))/0x6*(-parseInt(_0x9d5f2e(0xfa))/0x7)+-parseInt(_0x9d5f2e(0x122))/0x8*(parseInt(_0x9d5f2e(0xdf))/0x9)+-parseInt(_0x9d5f2e(0xf5))/0xa*(parseInt(_0x9d5f2e(0x115))/0xb)+parseInt(_0x9d5f2e(0xe4))/0xc;if(_0x312a62===_0x432980)break;else _0x3929d6['push'](_0x3929d6['shift']());}catch(_0x4a58ed){_0x3929d6['push'](_0x3929d6['shift']());}}}(a0_0x4a7e,0x90424));const {createConnection,createChannel,setupInfrastructure,closeConnection,getConfig}=require(a0_0x7718f0(0x108)),{formatDate}=require(a0_0x7718f0(0xdd));class RabbitMQService{constructor(){const _0xefcba=a0_0x7718f0,_0xa60424={'DrwEA':function(_0xa2bcfe){return _0xa2bcfe();}};this[_0xefcba(0xe3)]=null,this[_0xefcba(0xd5)]=null,this[_0xefcba(0xd7)]=_0xa60424[_0xefcba(0x100)](getConfig),this['isConnected']=![],this[_0xefcba(0x12b)]=[];}async[a0_0x7718f0(0x119)](){const _0x21f9ea=a0_0x7718f0,_0xf424ca={'BhVfX':function(_0x45839b,_0x5da43a){return _0x45839b(_0x5da43a);},'Aznat':_0x21f9ea(0xd9),'slvwa':_0x21f9ea(0xe1),'cUHFE':function(_0x42c899,_0x203b83){return _0x42c899(_0x203b83);},'mycqV':function(_0x50fc04,_0x15a751){return _0x50fc04(_0x15a751);}};try{const _0xc36f35=_0xf424ca[_0x21f9ea(0xe6)]['split']('|');let _0x427ad8=0x0;while(!![]){switch(_0xc36f35[_0x427ad8++]){case'0':return!![];case'1':this[_0x21f9ea(0xd5)]=await _0xf424ca[_0x21f9ea(0x12d)](createChannel,this['connection']);continue;case'2':await this['channel'][_0x21f9ea(0x10d)](0x1);continue;case'3':this[_0x21f9ea(0xe3)]=await createConnection();continue;case'4':this['connection']['on'](_0xf424ca['slvwa'],()=>{const _0xcb115e=_0x21f9ea;console['error']('['+_0xf424ca[_0xcb115e(0x12d)](formatDate,new Date())+']\x20Koneksi\x20RabbitMQ\x20terputus'),this['isConnected']=![],setTimeout(()=>this['reconnect'](),0x1388);});continue;case'5':await _0xf424ca['cUHFE'](setupInfrastructure,this['channel']);continue;case'6':this[_0x21f9ea(0xd4)]=!![];continue;case'7':console[_0x21f9ea(0x118)]('['+_0xf424ca[_0x21f9ea(0xf7)](formatDate,new Date())+']\x20Prefetch\x20diatur\x20ke\x201');continue;}break;}}catch(_0xbcaf84){return console['error']('['+_0xf424ca[_0x21f9ea(0x112)](formatDate,new Date())+']\x20Failed\x20to\x20initialize\x20RabbitMQ:\x20'+_0xbcaf84[_0x21f9ea(0xf3)]),this[_0x21f9ea(0xd4)]=![],![];}}async['reconnect'](){const _0x354b62=a0_0x7718f0,_0x4e5355={'Rcpiv':function(_0x4bb272,_0x49e8d5){return _0x4bb272(_0x49e8d5);},'TIrzC':function(_0x2119a7,_0x52ddb8,_0x485383){return _0x2119a7(_0x52ddb8,_0x485383);}};console['log']('['+formatDate(new Date())+_0x354b62(0x11c));try{await this['initialize'](),this[_0x354b62(0xd4)]&&(console[_0x354b62(0x118)]('['+_0x4e5355[_0x354b62(0x12f)](formatDate,new Date())+_0x354b62(0xfd)),await this[_0x354b62(0x130)]());}catch(_0x2617c0){console['error']('['+_0x4e5355[_0x354b62(0x12f)](formatDate,new Date())+_0x354b62(0x132)+_0x2617c0['message']),_0x4e5355[_0x354b62(0xed)](setTimeout,()=>this[_0x354b62(0xef)](),0x1388);}}async[a0_0x7718f0(0x131)](_0x2b8029){const _0x25d0ec=a0_0x7718f0,_0x62bcac={'ifwFU':function(_0x22f11f){return _0x22f11f();},'Zmxuu':function(_0x10bd06,_0x656c7){return _0x10bd06(_0x656c7);},'KLYBT':'direct','KLZbd':function(_0xe60cf3,_0xd8d08d){return _0xe60cf3===_0xd8d08d;},'PKhjx':'found','PFkOw':'inequivalent\x20arg','qhHYu':_0x25d0ec(0x124),'kXXXc':function(_0x530287,_0x30756d){return _0x530287(_0x30756d);}};try{!this[_0x25d0ec(0xd4)]&&(this['connection']=await _0x62bcac[_0x25d0ec(0x129)](createConnection),this['channel']=await createChannel(this[_0x25d0ec(0xe3)]),this['isConnected']=!![]);const _0x445851=process['env'][_0x25d0ec(0x117)]||'default',_0x3ba796=_0x445851+_0x25d0ec(0x125);await this['channel'][_0x25d0ec(0x127)](_0x3ba796,'direct',{'durable':!![],'autoDelete':![]}),console['log']('['+_0x62bcac[_0x25d0ec(0x121)](formatDate,new Date())+_0x25d0ec(0xfe)+_0x3ba796+'\x20created/ready'),await this[_0x25d0ec(0xd5)][_0x25d0ec(0x127)](_0x2b8029[_0x25d0ec(0x123)],_0x62bcac['KLYBT'],{'durable':!![],'autoDelete':![]}),console[_0x25d0ec(0x118)]('['+formatDate(new Date())+_0x25d0ec(0x109)+_0x2b8029['exchange']+_0x25d0ec(0xf1));const _0xfd4c00=_0x2b8029[_0x25d0ec(0x110)]+_0x25d0ec(0x120),_0x439796={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':_0x2b8029['exchange'],'x-dead-letter-routing-key':_0x2b8029['routingKey']}};await this[_0x25d0ec(0xd5)]['assertQueue'](_0xfd4c00,_0x439796),console[_0x25d0ec(0x118)]('['+formatDate(new Date())+']\x20Retry\x20queue\x20'+_0xfd4c00+'\x20created/ready'),await this['channel'][_0x25d0ec(0x107)](_0xfd4c00,_0x3ba796,_0x2b8029[_0x25d0ec(0x110)]),console[_0x25d0ec(0x118)]('['+_0x62bcac[_0x25d0ec(0x121)](formatDate,new Date())+']\x20Retry\x20binding\x20for\x20'+_0x2b8029['routingKey']+_0x25d0ec(0xf8));const _0xef41ee={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x3ba796,'x-dead-letter-routing-key':_0x2b8029['routingKey']}};try{const _0x34e6e7=await this[_0x25d0ec(0xd5)][_0x25d0ec(0xd0)](_0x2b8029['queue'],_0xef41ee);console['log']('['+_0x62bcac['Zmxuu'](formatDate,new Date())+_0x25d0ec(0xd6)+_0x2b8029[_0x25d0ec(0x126)]+'\x20'+(_0x62bcac['KLZbd'](_0x34e6e7['queue'],_0x2b8029[_0x25d0ec(0x126)])?_0x25d0ec(0xd1):_0x62bcac['PKhjx'])+_0x25d0ec(0xe2)),await this[_0x25d0ec(0xd5)][_0x25d0ec(0x107)](_0x2b8029['queue'],_0x2b8029['exchange'],_0x2b8029['routingKey']),console[_0x25d0ec(0x118)]('['+_0x62bcac[_0x25d0ec(0x121)](formatDate,new Date())+_0x25d0ec(0x11e)+_0x2b8029[_0x25d0ec(0x123)]+'\x20->\x20'+_0x2b8029['queue']+'\x20('+_0x2b8029['routingKey']+')\x20created');}catch(_0x57670a){if(_0x57670a[_0x25d0ec(0xf3)][_0x25d0ec(0xe8)](_0x62bcac[_0x25d0ec(0x101)])&&_0x57670a['message']['includes'](_0x62bcac[_0x25d0ec(0xdb)])){console['error']('\x0a['+formatDate(new Date())+']\x20ERROR:\x20Queue\x20'+_0x2b8029['queue']+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console[_0x25d0ec(0xe7)](_0x25d0ec(0x116));const _0x5d6aa0=_0x2b8029['routingKey']+'_queue',_0xc7baa7=await this[_0x25d0ec(0xd5)][_0x25d0ec(0xd0)](_0x5d6aa0,_0xef41ee);console[_0x25d0ec(0x118)]('['+formatDate(new Date())+_0x25d0ec(0xff)+_0x5d6aa0+'\x20created\x20with\x20DLX'),await this[_0x25d0ec(0xd5)]['bindQueue'](_0x5d6aa0,_0x2b8029[_0x25d0ec(0x123)],_0x2b8029[_0x25d0ec(0x110)]),console[_0x25d0ec(0x118)]('['+_0x62bcac[_0x25d0ec(0x128)](formatDate,new Date())+_0x25d0ec(0x11e)+_0x2b8029[_0x25d0ec(0x123)]+'\x20->\x20'+_0x5d6aa0+'\x20('+_0x2b8029['routingKey']+')\x20created'),_0x2b8029[_0x25d0ec(0x126)]=_0x5d6aa0;}else{console[_0x25d0ec(0xe7)]('['+formatDate(new Date())+_0x25d0ec(0x113)+_0x2b8029['queue']+':',_0x57670a[_0x25d0ec(0xf3)]);throw _0x57670a;}}return!![];}catch(_0x339c60){return console['error']('['+formatDate(new Date())+']\x20Error\x20saat\x20setup\x20infrastruktur:\x20'+_0x339c60['message']),![];}}async[a0_0x7718f0(0x10c)](_0x4b2990,_0x369daa){const _0x135425=a0_0x7718f0,_0x4df202={'jmFKy':function(_0x4d2014,_0x3ecd02){return _0x4d2014!==_0x3ecd02;},'cnVGI':function(_0x3752ee,_0x1f7a90){return _0x3752ee(_0x1f7a90);},'zbnTN':'Data\x20sent\x20to\x20queue\x20successfully','ryTkG':function(_0x1ff5d5,_0x4fcf71){return _0x1ff5d5(_0x4fcf71);}};if(!this[_0x135425(0xd4)])try{await this[_0x135425(0x119)]();}catch(_0x2ab30c){return{'success':![],'message':'Cannot\x20connect\x20to\x20RabbitMQ:\x20'+_0x2ab30c[_0x135425(0xf3)],'data':null};}try{const _0x403613=_0x4df202[_0x135425(0xf6)](_0x369daa['auto_retry'],undefined)?_0x369daa['auto_retry']:![],_0x47e672=_0x369daa['max_retries']||0x3,_0x567648={'rabbitmq':{'exchange':_0x369daa['exchange'],'queue':_0x369daa[_0x135425(0x126)],'routing_key':_0x369daa[_0x135425(0x110)],'auto_retry':_0x403613,'max_retries':_0x47e672},'message':_0x4b2990};await this['setupCollectorInfrastructure'](_0x369daa);const _0x3b8aea=new Date(),_0x448080={'timestamp':_0x3b8aea[_0x135425(0x11b)](),'content':JSON[_0x135425(0xda)](_0x567648)},_0x2b28b9=this['channel'][_0x135425(0xec)](_0x369daa[_0x135425(0x123)],_0x369daa['routingKey'],Buffer[_0x135425(0x114)](JSON[_0x135425(0xda)](_0x448080)),{'persistent':!![],'contentType':'application/json','timestamp':_0x3b8aea['getTime'](),'messageId':_0x3b8aea['getTime']()+'-'+Math[_0x135425(0xe0)]()['toString'](0x24)[_0x135425(0x12c)](0x7),'headers':{'x-auto-retry':_0x403613,'x-max-retry':_0x47e672,'x-retry-count':0x0,'x-retry-interval':0x2710}});if(_0x2b28b9){console[_0x135425(0x118)]('['+_0x4df202['cnVGI'](formatDate,_0x3b8aea)+_0x135425(0xe5),{'exchange':_0x369daa[_0x135425(0x123)],'routing_key':_0x369daa[_0x135425(0x110)],'queue':_0x369daa[_0x135425(0x126)],'sendAt':_0x3b8aea[_0x135425(0x11b)]()});const _0x48d20b='queue-'+_0x3b8aea['getTime']()+'-'+Math['random']()[_0x135425(0x12a)](0x24)['substring'](0x7);return{'success':!![],'message':_0x4df202[_0x135425(0x104)],'data':{'id':_0x48d20b,'queueInfo':{'exchange':_0x369daa['exchange'],'queue':_0x369daa[_0x135425(0x126)],'routingKey':_0x369daa[_0x135425(0x110)]}}};}else throw new Error('Failed\x20to\x20send\x20message\x20to\x20RabbitMQ');}catch(_0x132264){return console['error']('['+_0x4df202[_0x135425(0x111)](formatDate,new Date())+']\x20Error\x20sending\x20to\x20RabbitMQ:\x20'+_0x132264['message']),{'success':![],'message':_0x135425(0xeb)+_0x132264[_0x135425(0xf3)],'data':null};}}[a0_0x7718f0(0xf9)](_0xcb5040){const _0x472aed=a0_0x7718f0,_0x38d155={'aRFwe':function(_0x40eee3,_0xfd7fe1){return _0x40eee3===_0xfd7fe1;},'jEraU':'function','JFNJC':function(_0x2e3bff,_0x404431){return _0x2e3bff(_0x404431);}};_0x38d155['aRFwe'](typeof _0xcb5040,_0x38d155['jEraU'])?(this['messageHandlers']['push'](_0xcb5040),console[_0x472aed(0x118)]('['+_0x38d155['JFNJC'](formatDate,new Date())+_0x472aed(0x10f))):console['error']('['+_0x38d155[_0x472aed(0xd8)](formatDate,new Date())+_0x472aed(0x102));}async[a0_0x7718f0(0x10a)](_0x4a7772){const _0x1ca00e=a0_0x7718f0,_0x41bae3={'lUEqz':function(_0x5726b6,_0x1fea95){return _0x5726b6===_0x1fea95;},'sTnud':function(_0x98874c,_0x560f72){return _0x98874c(_0x560f72);}};if(_0x41bae3[_0x1ca00e(0xe9)](this[_0x1ca00e(0x12b)][_0x1ca00e(0xee)],0x0))return console['warn']('['+_0x41bae3['sTnud'](formatDate,new Date())+_0x1ca00e(0x10b)),!![];try{for(const _0x1f9c74 of this['messageHandlers']){await _0x1f9c74(_0x4a7772);}return!![];}catch(_0x2156bd){return console['error']('['+_0x41bae3[_0x1ca00e(0xf2)](formatDate,new Date())+_0x1ca00e(0xd2)+_0x2156bd[_0x1ca00e(0xf3)]),![];}}async['startConsume'](){const _0x30fc2e=a0_0x7718f0,_0x45ad6c={'GqfGP':function(_0x51d92c,_0x167093){return _0x51d92c(_0x167093);},'SnpBJ':function(_0x3e1d44,_0x1f9d62){return _0x3e1d44(_0x1f9d62);},'EsAWg':'---'};if(!this['isConnected'])return console['error']('['+formatDate(new Date())+']\x20Cannot\x20start\x20consuming:\x20not\x20connected\x20to\x20RabbitMQ'),![];try{return console[_0x30fc2e(0x118)]('['+_0x45ad6c[_0x30fc2e(0xde)](formatDate,new Date())+']\x20Start\x20consuming\x20messages\x20from\x20queue\x20\x22'+this[_0x30fc2e(0xd7)]['queue']+'\x22...'),this['channel']['consume'](this[_0x30fc2e(0xd7)][_0x30fc2e(0x126)],async _0x424549=>{const _0x1a6852=_0x30fc2e;if(_0x424549!==null){const _0x17f212=new Date();let _0x5d4484;try{_0x5d4484=JSON[_0x1a6852(0x11a)](_0x424549[_0x1a6852(0x12e)][_0x1a6852(0x12a)]());}catch(_0x5e1c08){console['error']('['+_0x45ad6c[_0x1a6852(0xde)](formatDate,_0x17f212)+_0x1a6852(0xf0)+_0x5e1c08['message']),console[_0x1a6852(0xe7)](_0x1a6852(0xdc)+_0x424549[_0x1a6852(0x12e)][_0x1a6852(0x12a)]()),this[_0x1a6852(0xd5)][_0x1a6852(0xd3)](_0x424549);return;}const _0x1891d6=_0x424549[_0x1a6852(0xfc)]['timestamp']?new Date(_0x424549[_0x1a6852(0xfc)]['timestamp']):new Date(),_0x4cdc8c=await this['processMessage'](_0x5d4484);_0x4cdc8c?(console['log']('['+formatDate(new Date())+_0x1a6852(0x11d)),this[_0x1a6852(0xd5)][_0x1a6852(0xd3)](_0x424549)):(console['error']('['+_0x45ad6c['SnpBJ'](formatDate,new Date())+']\x20Failed\x20to\x20process\x20message,\x20requeuing'),this['channel'][_0x1a6852(0x106)](_0x424549,![],!![])),console[_0x1a6852(0x118)](_0x45ad6c['EsAWg']);}},{'noAck':![]}),!![];}catch(_0x29fe19){return console[_0x30fc2e(0xe7)]('['+formatDate(new Date())+_0x30fc2e(0xea)+_0x29fe19['message']),![];}}async['close'](){this['connection']&&(await closeConnection(this['connection']),this['isConnected']=![]);}}function a0_0x44ec(_0x46bf60,_0x53cac8){_0x46bf60=_0x46bf60-0xd0;const _0x4a7e3c=a0_0x4a7e();let _0x44ec47=_0x4a7e3c[_0x46bf60];if(a0_0x44ec['ZKimmL']===undefined){var _0x21046f=function(_0x58377e){const _0x5b911d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x308878='',_0x3bc700='';for(let _0x2dd771=0x0,_0x2c758f,_0x463b0b,_0x1c1b83=0x0;_0x463b0b=_0x58377e['charAt'](_0x1c1b83++);~_0x463b0b&&(_0x2c758f=_0x2dd771%0x4?_0x2c758f*0x40+_0x463b0b:_0x463b0b,_0x2dd771++%0x4)?_0x308878+=String['fromCharCode'](0xff&_0x2c758f>>(-0x2*_0x2dd771&0x6)):0x0){_0x463b0b=_0x5b911d['indexOf'](_0x463b0b);}for(let _0x40b06b=0x0,_0x1e3d2e=_0x308878['length'];_0x40b06b<_0x1e3d2e;_0x40b06b++){_0x3bc700+='%'+('00'+_0x308878['charCodeAt'](_0x40b06b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3bc700);};a0_0x44ec['DfvztB']=_0x21046f,a0_0x44ec['wfBBdo']={},a0_0x44ec['ZKimmL']=!![];}const _0x41cfd0=_0x4a7e3c[0x0],_0x1e154a=_0x46bf60+_0x41cfd0,_0x1312ea=a0_0x44ec['wfBBdo'][_0x1e154a];return!_0x1312ea?(_0x44ec47=a0_0x44ec['DfvztB'](_0x44ec47),a0_0x44ec['wfBBdo'][_0x1e154a]=_0x44ec47):_0x44ec47=_0x1312ea,_0x44ec47;}let instance=null;function getInstance(){return!instance&&(instance=new RabbitMQService()),instance;}module['exports']={'getInstance':getInstance};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x321e(){const _0x2c11b7=['twjov0m','AM9Ix21HBMfNzxjFCMvHzhK','AM9Ix2nVBMzPz19PBNzHBgLK','BxmPoIa','zgjFBxLZCwXFDw5HDMfPBgfIBgu','y2XLyxi','tuHLsfC','zxHPC3rZu3LUyW','Cgf1C2vK','yNvPBgrdB250zxH0','BwfUDwfS','AMjpsxK','CxvLDwu','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNzMfPBgvKjYWGy29TCgXLDgvKx2f0id0GtK9xkcKScIaGicaGicaGicaGzhvYyxrPB25FBxmGpsaKmsWGChjVz3jLC3mGpsaKmIWGzxjYB3jFBwvZC2fNzsa9icqZlcbLCNjVCL9ZDgfJAYa9icq0ifDirvjfigLKid0Gjdu','AM9Ix2THzMTHx3b1yMXPC2HFzxjYB3i','zw52','DfPfA2G','Aw5MBW','vMP2t0W','AM9Ix3jLz2LZDgvYx2zHAwXLza','yu1mwxm','rMfPBgvKihrVihvWzgf0zsbQB2iGCMvNAxn0CNKGy291BNrLCNm6ia','y2XVC2u','AM9ICW','sM9IigzHAwXLzdOG','lI4VlI4VDxrPBhmVy2fJAguTBwfUywDLCG','lMPZB24','wvbQue8','z2v0u3rHDgu','z2v0s2fMA2ftzxj2AwnL','D29YA2vYCW','yxr0zw1WDhnnywrL','AM9Ix2HHBMrSzxjFzg9Uzq','AM9PBG','yMfJA29MzG','ELjSBM4','rfvHCg4','D2jOrhm','B2fmtgi','C3LZDgvT','wfDQA2q','Cgf0Aa','EK1Xrhu','Eef3txq','ihrPzgfRigjPC2eGzgKTy2fUy2vSicHZDgf0ztOG','C3bSAxrtCwXtDgf0zw1LBNrZ','nJa2nJi0nwHfuwDXBW','sM9IignHBMnLBgXLzcb2AweGqvbj','qwfNBeO','su5trvjuieLove8GAM9Ix3jLz2LZDhj5cIaGicaGicaGicaGkgPVyL9Uyw1LlcbKAxnWBgf5x25HBwuSihr5CguSihnJAgvKDwXLlcbXDwv1zsWGAgfUzgXLCIWGy29UzMLNx2zPBguScIaGicaGicaGicaGihrPBwvVDxqSihjLDhj5x21HEcWGCMv0CNLFyMfJA29MzIWGC3rHDhvZlcbUzxH0x3j1BL9HDcWGy3jLyxrLzf9HDcWGDxbKyxrLzf9HDcKkicaGicaGicaGicbwquXvrvmGkd8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sie5pvYGPlcbot1COksKkicaGicaGicaGicbptIbevvbmsunbveuGs0vzifvqrefurqOGicaGicaGicaGicaGzgLZCgXHEv9Uyw1Lid0GvKfmvuvtkgrPC3bSyxLFBMfTzsKSihr5CguGpsbwquXvrvmODhLWzsKScIaGicaGicaGicaGicbZy2HLzhvSzsa9ifzbtfvfuYHZy2HLzhvSzsKSihf1zxvLid0GvKfmvuvtkhf1zxvLksWkicaGicaGicaGicaGigHHBMrSzxiGpsbwquXvrvmOAgfUzgXLCIKSignVBMzPz19MAwXLid0GvKfmvuvtkgnVBMzPz19MAwXLksWkicaGicaGicaGicaGihrPBwvVDxqGpsbwquXvrvmODgLTzw91DcKSihjLDhj5x21HEca9ifzbtfvfuYHYzxrYEv9TyxGPlaOGicaGicaGicaGicaGCMv0CNLFyMfJA29MzIa9ifzbtfvfuYHYzxrYEv9IywnRB2zMksWGC3rHDhvZid0GvKfmvuvtkhn0yxr1CYKScIaGicaGicaGicaGicbUzxH0x3j1BL9HDca9ifzbtfvfuYHUzxH0x3j1BL9HDcK','B25bzNrLCKPVyKnVBxbSzxrL','C3rYAw5NAwz5','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','zNrIqNu','tg9HzgvKia','zw5ZDxjLvgfIBgvZ','y29UBMvJDgLVBNm','y3DK','rMfPBgvKihrVigLUC2vYDcbQB2iGAgLZDg9YEtOG','ignHBMnLBgXLzcaOD2fZigfJDgL2zsK','tgXxz3O','z2v0sM9Iq291BNrZ','y3jLyxrLqNvSBe1rq29UBMvJDgLVBG','yuHtDLm','zxjYB3jZ','CMvTB3zL','y2f0y2G','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNzMfPBgvKjYWGy29TCgXLDgvKx2f0id0Gu1LtveLnrvnuqu1qlaOGicaGicaGicaGigr1CMf0Aw9Ux21Zid0GoJeSihbYB2DYzxnZid0GoJiSigvYCM9Yx21LC3nHz2uGpsa6mYWGzxjYB3jFC3rHy2SGpsa6ncbxsevsrsbPzca9idO1','zgvIDwC','zw5KC1DPDgG','C3bSAxq','Dej4Cw0','rNnwDgK','AM9Ix2HPC3rVCNLFy29TCgXLDgvFzxjYB3i','sK9cx0zbsuXfrf9srvrftLrjt05Fse9vuLm','uu1crey','mYbcDwXStveGuxvLDwvZignYzwf0zwqGkgHPz2GSigrLzMf1BhqSigXVDYK','Cgf5Bg9Hza','C3rHy2S','z2v0','Aw5JBhvKzxm','Aw5PDgLHBerLBgf5','yLPYBxa','zxHLy3v0zvf1zxj5','CxvLDwvZ','r0rwrMe','y29TCgXLDgvK','x3nVDxjJzuzPBgu','mYbcDwXStveGv29YA2vYCYbJCMvHDgvKicHJB25JDxjYzw5JEtOG','r3HPv1G','BLPXu3i','zxjYB3i','DxbKyxrLuMvNAxn0CNLtDgf0Dxm','AM9Ix2nVBxbSzxrLza','AgfUzgXLCNm','D29YA2LUz0rPCG','vLzZuuO','venOuMK','z3DvBNq','A3bvv0m','vgLKywSGywrHigPVyIbJB25MAwCGzgL0zw11A2fUigrPihbHEwXVywqVAM9ICY8UiePVyIbnyw5Hz2vYigfRDgLMihrHBNbHignYB24U','AM9Ix3n0yxj0zwq','sM9Iig1VBML0B3jPBMCGDgfIBgvZigvUC3vYzwqGka','igPVyIbJB25MAwCOCYKGzNjVBsbWyxLSB2fKl2PVyNmV','DxbZzxj0sM9IuMvNAxn0CNK','DxbKyxrLuhjVz3jLC3m','CgfNzq','zxHLy3v0zvrYyw5Zywn0Aw9U','y3j5ChrV','zMLUAxnOzwrpBG','A2DcrMu','BgvUz3rO','A2XTDxG','zMfPBgvKuMvHC29U','zxHWB25LBNrPywW','veL3ze8','y1rhywy','swTfANi','DxbZzxj0sM9Iu2nOzwr1BgvY','DgLTzw91Da','Bwv0ywrHDge','icSGmsWkicaGicaGicaGicbUzxH0x3j1BL9HDca9idOZlcb1CgrHDgvKx2f0id0Gu1LtveLnrvnuqu1qifDirvjfigPVyL9Uyw1Lid0GoJq','Dhj1zq','wxbiAMK','zgf0yq','BMv4Da','BwLU','icHHDhrLBxb0ia','uLv2qw4','sK9cx1jfreLtx1bsruzjwa','zgjFCgDFDw5HDMfPBgfIBgu','oMPVyG','CMv0CNK','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsaKmsWGBgfZDf9KDxjHDgLVBL9TCYa9icqYlaOGicaGicaGicaGia','rM9SzgvYihbHEwXVywqVAM9ICY8GDgLKywSGzgL0zw11A2fU','Cg9ZDgDYzxnXBc5ZCwW','B25kB2jqCM9NCMvZCW','DLn3u20','Cg9xzhO','Aw9YzwrPCW','rMfPBgvKihrVihbHCNnLigPVyIbJB25MAwC6ia','rMfPBgvKihrVigvUC3vYzsbQB2iGDgfIBgvZoIa','tNr0D0G','C3vJy2vZCW','z2v0rgjvDgLSCW','uwzgyxy','z2v0sM9I','zw50CMLLCW','D2fPDgLUzW','CgfYC2u','sM9IignVBMzPzYbPBNzHBgLKoIa','AgfUzgXLCG','yxbP','sM9Iie1HBMfNzxiGCMvHzhK6ia','lI4VlI4VDxrPBhmVzgi','ywXS','B25kB2jdB21WBgv0zwq','AM9Ix3jLz2LZDhj5x3vWC2vYDf9LCNjVCG','D2vXyvu','wfnNEfe','Bg9HzePVyKnVBMzPz3m','DLnuAwS','rwLcDhG','DLnQwuS','sM9Iie1HBMfNzxiGC2H1DgrVD24Gy29TCgXLDgu','yNvSBg1X','sM9Iihn0ywXSzwq6ia','sM9IihrPzgfRigrPDgvTDwTHBJOG','C2nOzwr1Bgu','BwfW','otCWmJeYnNfOBwnLwq','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsaKmsWGBgfZDf9YDw5FyxqGpsbot1COksWkicaGicaGicaGicb1CgrHDgvKx2f0id0GtK9xkcKGv0HfuKuGAM9Ix25HBwuGpsaKmG','AM9Ix2HPC3rVCNLFzMfPBgvKx2vYCM9Y','AM9Ix2nVBMzPz19KAxjFBwLZC2LUzW','DuLir0y','yNvSBg1XsM9Iswq','uKvesvnFueftu1DpuKq','DgTKvM0','lI4VlI4VDxrPBhmVzgiTBxLZCwW','z2v0sgLZDg9YEq','C3vIC3rYAw5N','BezzrNK','DMfSDwvZ','zgLZCgf0y2G','Dw5RBM93BG','s0fgs0fFru5bqKXfra','C3jJ','y2HPBgq','ktOG','Agvhtve','rMfPBgvKihrVihvWzgf0zsbQB2iGAgLZDg9YEsaOy29TCgXLDgvKktOG','yxbPlwrLBgf5zwq','DxbKyxrLsM9IsgLZDg9YEunVBxbSzxrLza','BxLZCwWUC3fS','C3rHCNrZv2L0Aa','A2jqzwS','zw5HyMXLza','A0Xmtuq','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGC3rHDhvZid0Gj29MzMXPBMuNlcbUzxH0x3j1BL9HDca9ie5vteWSihvWzgf0zwrFyxqGpsbtwvnusu1fu1rbtva','B25czwzVCMvkB2jfEgvJDxrL','DhjPz2DLCMvKqNK','AM9Ix2vUC3vYzv90ywjSzxnFD2fYBG','sM9IigrPC3bHDgnOzwqGkgrLBgf5zwqG','AgLZDg9YEuLK','BwvZC2fNzq','CMvHzezPBgvtEw5J','CeTttwm','B3jHy2XLlNnXBa','y3jLyxrLza','yNvSBg1Xx3jLzgLZx2vYCM9Y','AM9Ix3n0ywXSzwq','mKPpELPeta','Aw5PDgLHBgL6zwq','zvLLyLO','Bw92zvrVrMfPBgvK','AM9Ix3bYB2DYzxnZ','uKvesvnFrei','twP6BeK','z2v0uMvKAxndBgLLBNq','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNC3vJy2vZCYCSignVBxbSzxrLzf9HDca9ifnzu1rjtuvtvefnucWkicaGicaGicaGicbKDxjHDgLVBL9TCYa9idOXlcbWCM9NCMvZCYa9ideWmcWGCMvZDwX0x3n1Bw1HCNKGpsa6mIbxsevsrsbPzca9idOZ','mtjRz3zpt0O','C2H1DgrVD24','y29UzMLNrMLSzq','ChjVz3jLC3m','qvbOtuu','CLrRve8','ChjVy2vZC2vKt24','y2fUy2vSsM9I','zxHLy3v0zuv2zw50sgfUzgXLCNm','vxzTzuu','BMfTzq','AhfPyM8','AM9Ix3f1zxvLC19JCMvHDgvK','C29Ivxi','Aw5PDgLHBgL6zq','igPVyIHZksbYzwDPC3rLCMvKlca','z2v0rgjuExbL','Bg93','z2v0sgvHBhrOu3rHDhvZ','A2v5CW','B25SAw5L','D2fYBG','zgvSyxLLza','z0fHteO','ELn0q1a','ChjVy2vZC0PVyG','DgHAC0u','B3jHy2XL','zNvUy3rPB24','rgf0ywjHC2uGDgLKywSGDgvYC2vKAweSihnRAxaGyxv0BY1JCMvHDguGAM9IihrHyMXLCW','AM9Ix2rIx3vUyxzHAwXHyMXL','zgvMyxvSDa','su5trvjuieLove8GAM9Ix3jLz2LZDhj5cIaGicaGicaGicaGkgPVyL9Uyw1LlcbKAxnWBgf5x25HBwuSihr5CguSihnJAgvKDwXLlcbXDwv1zsWGAgfUzgXLCIWGy29UzMLNx2zPBguScIaGicaGicaGicaGihrPBwvVDxqSihjLDhj5x21HEcWGCMv0CNLFyMfJA29MzIWGC3rHDhvZlcbUzxH0x3j1BL9HDcWGy3jLyxrLzf9HDcWGDxbKyxrLzf9HDcKkicaGicaGicaGicbwquXvrvmGkcqXlcaKmIWGjdmSicq0lcaKnsWGjdySicq3lcaKocWGjdKSicqXmcWGjdeXlcaKmtiSie5pvYGPlcbot1COksKkicaGicaGicaGicbptIbdt05gteLdvcaOAM9Ix25HBwuPierpifvqrefursbtrvqkicaGicaGicaGicaGigrPC3bSyxLFBMfTzsa9ievyq0XvrevelMrPC3bSyxLFBMfTzsWGDhLWzsa9ievyq0XvrevelNr5CguScIaGicaGicaGicaGicbZy2HLzhvSzsa9ievyq0XvrevelNnJAgvKDwXLlcbXDwv1zsa9ievyq0XvrevelNf1zxvLlaOGicaGicaGicaGicaGAgfUzgXLCIa9ievyq0XvrevelMHHBMrSzxiSignVBMzPz19MAwXLid0GrvHdtfveruqUy29UzMLNx2zPBguScIaGicaGicaGicaGicb0Aw1LB3v0id0GrvHdtfveruqUDgLTzw91DcWGCMv0CNLFBwf4id0GrvHdtfveruqUCMv0CNLFBwf4laOGicaGicaGicaGicaGCMv0CNLFyMfJA29MzIa9ievyq0XvrevelNjLDhj5x2jHy2TVzMySihn0yxr1CYa9ievyq0XvrevelNn0yxr1CYWkicaGicaGicaGicaGig5LEhrFCNvUx2f0id0GrvHdtfveruqUBMv4Df9YDw5FyxqSihvWzgf0zwrFyxqGpsbot1COkq','q3jVBIbYzwDPC3rLCMvKoIa','qKLXC3m','CNvUBMLUzW','zfnrEu4','AM9Ix2vUC3vYzv90ywjSzxnFzxjYB3i','wevYrMK','B25pCM0','ywn0AxzL','uePbtNO','BxLZCwW','mte4otiWn1v5uwj4EG','AgLNAa','BM93','Dg90ywXFC3vJy2vZCW','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa/lcbSyxn0x2r1CMf0Aw9Ux21Zid0GpYWkicaGicaGicaGica','ChvZAa','rMnvuuG','svfqA20','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa6msWGBgfZDf9YDw5FyxqGpsbtwvnusu1fu1rbtvaScIaGicaGicaGicaGDxbKyxrLzf9HDca9ifnzu1rjtuvtvefnucbxsevsrsbQB2jFBMfTzsa9idOY','AM5cvw4','CvPmB0y','z2v0sM9ICW','qw1OqMi','BgLZDfj1BM5PBMC','ywn0AxzLsgLZDg9YEuLKCW','z2v0sM9Iu3rHDhvZ','mtmWotmYnfrzELvZrG','rgLKAva','sLfrzgy','B2zMBgLUzq','Dg9mB3DLCKnHC2u','B25bzNrLCKPVyKzHAwXLza','CxvPDa','sw5PDgLHBgL6Aw5NiePVyIbnyw5Hz2vYlI4U','CMvNAxn0zxjkB2i','sK9cx0nptKnvuLjftKnz','y3jVBL9YzwDPC3rLCMvK','z2v0sw5ZDgfUy2u','u3rAq0O','sM9IignVBxbSzxrLzdOG','nte3oda3nvL5ExrirG','rejFvfLqrq','CMvZDgzVCMDLlMPVyNmUy29TCgXLDgvK','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticG6msWGoJiSidOZlca6ncWGoJuSicDYDw5UAw5NjYWGoJySidO3lca6ocWGu1LtveLnrvnuqu1qlca6osWGu1LtveLnrvnuqu1qkq','mtG2mZa1mtn6s1Hqq24','CMvHzgrPCLn5BMm','zMfPBgvK','AM9Ix2rPC3bHDgnOzwrFzgvSyxLLza','Cw1xyxK','iokaLca','AgLYB1m','zez2Dum','A1HLB2O','sM9IigvUC3vYzvrHyMXLCYb3yxjUAw5NoIa','sK9cx1nivvret1Dox1rjtuvpvvq','y3jVBG','BwzHt2e','nJq1ntK5mKvysMnbsa','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa6msWGBgfZDf9KDxjHDgLVBL9TCYa9idOYlaOGicaGicaGicaGia','DgLTzxn0yw1WCW','sM9Iia','wLnRyLq','z2v0q2fJAgvnyw5Hz2vY','sg9Quw8','z2v0ug9VBa','CMy6','sK9cx0nptvbmrvrfra','vNnICNC','Cgf1C2u','z2v0tMv4Dfj1BKzYB21cDwXStve','AM9Iq29UzMLNCW','B25kB2jgywLSzwq','zwntDfu','AxnqyxvZzwq','AM9Ix2nVBMzPz3nFBg9HzgvK','qNvSBe1rifDVCMTLCIbLCNjVCIaO','AM9Ix21HBMfNzxjFywXYzwfKEv9PBML0AwfSAxPLza','Bwf4qxr0zw1WDhm','AM9ItMfTzq','lI4VlI4VDxrPBhmVy29TCg9Uzw50lwvUz2LUzq','rMfPBgvKihrVihnLDcbQB2jZig9MzMXPBMu6ia','AevnEuG','yNvSBg1Xx3DVCMTLCL9LCNjVCG','v0XNuw8'];a0_0x321e=function(){return _0x2c11b7;};return a0_0x321e();}const a0_0x990eac=a0_0x1783;(function(_0x58940c,_0xe87219){const _0x2276d9=a0_0x1783,_0x3637e0=_0x58940c();while(!![]){try{const _0x47717d=parseInt(_0x2276d9(0x252))/0x1*(parseInt(_0x2276d9(0x21e))/0x2)+-parseInt(_0x2276d9(0x227))/0x3*(-parseInt(_0x2276d9(0x262))/0x4)+-parseInt(_0x2276d9(0x2cb))/0x5+parseInt(_0x2276d9(0x1f5))/0x6+-parseInt(_0x2276d9(0x270))/0x7+parseInt(_0x2276d9(0x282))/0x8+-parseInt(_0x2276d9(0x275))/0x9;if(_0x47717d===_0xe87219)break;else _0x3637e0['push'](_0x3637e0['shift']());}catch(_0x2d375e){_0x3637e0['push'](_0x3637e0['shift']());}}}(a0_0x321e,0xdb9c0));function a0_0x1783(_0x3c2b0d,_0x3a8c1d){_0x3c2b0d=_0x3c2b0d-0x1ee;const _0x321e7c=a0_0x321e();let _0x178395=_0x321e7c[_0x3c2b0d];if(a0_0x1783['DjEagG']===undefined){var _0x59b1fe=function(_0x3980e6){const _0x37612a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x214fea='',_0x2b766b='';for(let _0x1d6a53=0x0,_0x1d5edb,_0x3d0e88,_0x416d0f=0x0;_0x3d0e88=_0x3980e6['charAt'](_0x416d0f++);~_0x3d0e88&&(_0x1d5edb=_0x1d6a53%0x4?_0x1d5edb*0x40+_0x3d0e88:_0x3d0e88,_0x1d6a53++%0x4)?_0x214fea+=String['fromCharCode'](0xff&_0x1d5edb>>(-0x2*_0x1d6a53&0x6)):0x0){_0x3d0e88=_0x37612a['indexOf'](_0x3d0e88);}for(let _0x106067=0x0,_0xd1dc38=_0x214fea['length'];_0x106067<_0xd1dc38;_0x106067++){_0x2b766b+='%'+('00'+_0x214fea['charCodeAt'](_0x106067)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2b766b);};a0_0x1783['sZPvRg']=_0x59b1fe,a0_0x1783['HTyfwt']={},a0_0x1783['DjEagG']=!![];}const _0x49d80d=_0x321e7c[0x0],_0x3a068b=_0x3c2b0d+_0x49d80d,_0x9edf30=a0_0x1783['HTyfwt'][_0x3a068b];return!_0x9edf30?(_0x178395=a0_0x1783['sZPvRg'](_0x178395),a0_0x1783['HTyfwt'][_0x3a068b]=_0x178395):_0x178395=_0x9edf30,_0x178395;}const {Queue,Worker}=require(a0_0x990eac(0x1f0)),Redis=require(a0_0x990eac(0x328)),crypto=require(a0_0x990eac(0x309)),{v7:uuidv7}=require('uuid'),fs=require('fs'),path=require(a0_0x990eac(0x2c6)),{logger}=require('../../utils/logger'),jobValidator=require('./job-validator');let componentEngine=null;function getComponentEngine(){const _0x2be957=a0_0x990eac,_0x4da996={'aIDBv':function(_0xcac1e,_0x4f9770){return _0xcac1e(_0x4f9770);},'obNmp':_0x2be957(0x298)};if(!componentEngine)try{const _0x4db008=_0x4da996['aIDBv'](require,_0x4da996['obNmp']);componentEngine=_0x4db008['componentEngine']||_0x4db008;}catch(_0x3d7b7e){}return componentEngine;}class JobManager{constructor(){const _0x572e3d=a0_0x990eac;this[_0x572e3d(0x2f1)]={},this[_0x572e3d(0x2bb)]={},this[_0x572e3d(0x28f)]={},this[_0x572e3d(0x2fb)]={},this['connections']=[],this['initialized']=![],this['workingDir']=process[_0x572e3d(0x2d6)](),this[_0x572e3d(0x260)]=new Map();}['createBullMQConnection'](){const _0x1756e0=a0_0x990eac,_0x36172a={'dIkgC':function(_0x50f58d,_0x583212){return _0x50f58d*_0x583212;},'NqpJA':_0x1756e0(0x21c),'ikvQB':'localhost','rTkTO':function(_0xb260d2,_0x26f53e,_0x351e0d){return _0xb260d2(_0x26f53e,_0x351e0d);}},_0x1204d0=new Redis({'host':process[_0x1756e0(0x2ac)]['REDIS_HOST']||_0x36172a['ikvQB'],'port':parseInt(process[_0x1756e0(0x2ac)]['REDIS_PORT'],0xa)||0x18ec,'password':process['env'][_0x1756e0(0x1fb)]||undefined,'db':_0x36172a[_0x1756e0(0x22c)](parseInt,process['env'][_0x1756e0(0x223)],0xa)||0x0,'maxRetriesPerRequest':null,'retryStrategy'(_0x43f1a7){const _0x51ae34=Math['min'](_0x36172a['dIkgC'](_0x43f1a7,0x32),0x7d0);return _0x51ae34;}});return _0x1204d0['on']('error',_0x2f412a=>{const _0x37f1ab=_0x1756e0;logger[_0x37f1ab(0x2f8)]({'event':_0x36172a['NqpJA'],'error':_0x2f412a['message']},'BullMQ\x20Redis\x20connection\x20error:\x20'+_0x2f412a['message']);}),this['connections'][_0x1756e0(0x257)](_0x1204d0),_0x1204d0;}async[a0_0x990eac(0x235)](){const _0x2ae386=a0_0x990eac,_0x9e8722={'nZqSr':_0x2ae386(0x29b),'XYhZC':function(_0x4b7c03,_0x76917c){return _0x4b7c03===_0x76917c;},'CTGhn':_0x2ae386(0x301),'weqaU':_0x2ae386(0x29f),'ecStU':_0x2ae386(0x203),'TChRi':_0x2ae386(0x246),'jbOIy':function(_0x48a478,_0x315036,_0x24aaf3){return _0x48a478(_0x315036,_0x24aaf3);},'XtSEz':function(_0xa6c7d9,_0x1d6875,_0x3ef376){return _0xa6c7d9(_0x1d6875,_0x3ef376);},'oaLLb':_0x2ae386(0x253),'zRlnn':_0x2ae386(0x238),'nNdPo':_0x2ae386(0x2e9),'cTGaf':function(_0x365d7d,_0x180aad,_0x8c68cf){return _0x365d7d(_0x180aad,_0x8c68cf);},'heGMQ':function(_0x322220,_0x5754ad,_0x48f355){return _0x322220(_0x5754ad,_0x48f355);},'EESpl':'failed','qNakb':'progress','aHSvS':_0x2ae386(0x2b0)};if(this['initialized']){logger[_0x2ae386(0x23c)]({'event':_0x2ae386(0x295)},'Job\x20Manager\x20sudah\x20diinisialisasi,\x20skip');return;}logger['info']({'event':'job_manager_init_start'},_0x2ae386(0x269));const _0x3fe793=this[_0x2ae386(0x2db)]();try{await _0x3fe793['ping'](),logger[_0x2ae386(0x2ae)]({'event':'job_redis_connected'},'BullMQ\x20Redis\x20connection\x20verified');}catch(_0x3173bf){logger[_0x2ae386(0x2f8)]({'event':'job_redis_failed','error':_0x3173bf['message']},'Redis\x20connection\x20failed:\x20'+_0x3173bf['message']+'.\x20Job\x20Scheduler\x20tidak\x20akan\x20aktif.');try{await _0x3fe793['quit']();}catch(_0x1a015d){}this[_0x2ae386(0x2d5)]=this['connections']['filter'](_0x3af335=>_0x3af335!==_0x3fe793);return;}try{await _0x3fe793['quit']();}catch(_0x2a2010){}this['connections']=this['connections']['filter'](_0x42a6d8=>_0x42a6d8!==_0x3fe793);try{await this['ensureTables']();}catch(_0xf17650){logger['warn']({'event':_0x2ae386(0x24c),'error':_0xf17650[_0x2ae386(0x217)]},_0x2ae386(0x32a)+_0xf17650['message']+'.\x20DB\x20monitoring\x20disabled.');}const _0x325cd0=this['loadJobConfigs']();_0x9e8722['XYhZC'](_0x325cd0['length'],0x0)&&logger['info']({'event':'job_no_configs'},_0x9e8722['CTGhn']);const _0x2810d=[];for(const _0x21e4fa of _0x325cd0){const _0x4e7bd0=jobValidator['validateConfig'](_0x21e4fa,this['workingDir']);_0x4e7bd0['valid']?_0x2810d['push'](_0x21e4fa):logger['error']({'event':_0x9e8722[_0x2ae386(0x33b)],'name':_0x21e4fa['name']||_0x9e8722[_0x2ae386(0x291)],'errors':_0x4e7bd0[_0x2ae386(0x2dd)]},_0x2ae386(0x333)+(_0x21e4fa['name']||_0x2ae386(0x203))+_0x2ae386(0x27a)+_0x4e7bd0['errors']['join'](';\x20'));}const _0x1a745d=process[_0x2ae386(0x2ac)][_0x2ae386(0x2d1)]||_0x9e8722[_0x2ae386(0x2fe)],_0x52879a=process[_0x2ae386(0x2ac)][_0x2ae386(0x31e)]||_0x2ae386(0x28a)+_0x1a745d+_0x2ae386(0x320),_0x459750=_0x9e8722[_0x2ae386(0x2a8)](parseInt,process['env']['JOB_RETENTION_HOURS'],0xa)||0x48,_0x3faa09=_0x9e8722['XtSEz'](parseInt,process['env'][_0x2ae386(0x2e7)],0xa)||0xa8,_0xda6e10={'removeOnComplete':{'age':_0x459750*0xe10},'removeOnFail':{'age':_0x3faa09*0xe10}},_0x3b9eb1={'high-priority':_0x9e8722[_0x2ae386(0x2c3)],'default':_0x9e8722[_0x2ae386(0x2fe)],'low-priority':_0x9e8722[_0x2ae386(0x2c0)]};for(const [_0x4b2a68,_0x29b56c]of Object['entries'](_0x3b9eb1)){this['queues'][_0x4b2a68]=new Queue(_0x29b56c,{'connection':this[_0x2ae386(0x2db)](),'prefix':_0x52879a,'defaultJobOptions':_0xda6e10});}logger['info']({'event':_0x2ae386(0x233),'count':0x3},_0x9e8722['nNdPo']);const _0x20f78c=_0x9e8722[_0x2ae386(0x311)](parseInt,process[_0x2ae386(0x2ac)][_0x2ae386(0x26b)],0xa)||0x5,_0x201a73=_0x9e8722[_0x2ae386(0x208)](parseInt,process['env']['JOB_STALLED_INTERVAL'],0xa)||0x7530,_0x564bba=parseInt(process[_0x2ae386(0x2ac)]['JOB_MAX_STALLED_COUNT'],0xa)||0x2;for(const [_0x2f08fc,_0x440257]of Object[_0x2ae386(0x330)](_0x3b9eb1)){const _0x1fa50c=new Worker(_0x440257,async _0x570070=>this['processJob'](_0x570070),{'connection':this[_0x2ae386(0x2db)](),'prefix':_0x52879a,'concurrency':_0x20f78c,'stalledInterval':_0x201a73,'maxStalledCount':_0x564bba});_0x1fa50c['on']('completed',(_0x4597b1,_0x167c23)=>this['onJobCompleted'](_0x4597b1,_0x167c23)),_0x1fa50c['on'](_0x9e8722['EESpl'],(_0x105095,_0x464c48)=>this['onJobFailed'](_0x105095,_0x464c48)),_0x1fa50c['on'](_0x9e8722['qNakb'],(_0x143f69,_0x23793b)=>this[_0x2ae386(0x325)](_0x143f69,_0x23793b)),_0x1fa50c['on']('stalled',_0x5341e8=>{const _0x229eab=_0x2ae386;logger[_0x229eab(0x23c)]({'event':_0x229eab(0x21d),'jobId':_0x5341e8},_0x229eab(0x1f1)+_0x5341e8);}),_0x1fa50c['on'](_0x2ae386(0x2f8),_0x54bad2=>{const _0xde8877=_0x2ae386;logger['error']({'event':_0x9e8722[_0xde8877(0x2f7)],'queue':_0x2f08fc,'error':_0x54bad2[_0xde8877(0x217)]},_0xde8877(0x294)+_0x2f08fc+_0xde8877(0x207)+_0x54bad2['message']);}),this[_0x2ae386(0x2bb)][_0x2f08fc]=_0x1fa50c;}logger[_0x2ae386(0x2ae)]({'event':'job_workers_created','count':0x3,'concurrency':_0x20f78c},_0x2ae386(0x2f5)+_0x20f78c+')');let _0x2568fd=0x0;for(const _0x27daff of _0x2810d){try{await this[_0x2ae386(0x26a)](_0x27daff),_0x2568fd++;}catch(_0xbb147d){logger[_0x2ae386(0x2f8)]({'event':_0x9e8722[_0x2ae386(0x2dc)],'name':_0x27daff[_0x2ae386(0x231)],'error':_0xbb147d['message']},'Failed\x20to\x20register\x20job:\x20'+_0x27daff['name']+_0x2ae386(0x27a)+_0xbb147d[_0x2ae386(0x217)]);}}this['initialized']=!![];const _0x30eca4=this['connections']['length'];logger[_0x2ae386(0x2ae)]({'event':_0x2ae386(0x29e),'registeredJobs':_0x2568fd,'totalConfigs':_0x2810d['length'],'redisConnections':_0x30eca4},_0x2ae386(0x336)+_0x2568fd+_0x2ae386(0x236)+_0x30eca4+'\x20Redis\x20connections');}async[a0_0x990eac(0x228)](){const _0x2efbaa=a0_0x990eac,_0x8d0d2e={'uNyGp':function(_0x1f1ee8,_0x1b53c2,_0x24d9dd){return _0x1f1ee8(_0x1b53c2,_0x24d9dd);},'tZEkh':'job_manager_shutdown_start','vOkXk':function(_0x3c6cf7,_0x5536ff){return _0x3c6cf7===_0x5536ff;},'YPjPO':'job_manager_shutdown_complete','vSwSm':_0x2efbaa(0x1ef)};if(!this[_0x2efbaa(0x21f)])return;const _0x2b5fa4=_0x8d0d2e['uNyGp'](parseInt,process['env'][_0x2efbaa(0x27f)],0xa)||0x2710;logger[_0x2efbaa(0x2ae)]({'event':_0x8d0d2e[_0x2efbaa(0x2ad)],'timeoutMs':_0x2b5fa4},'Job\x20Manager\x20shutting\x20down\x20(timeout:\x20'+_0x2b5fa4+'ms)...');const _0xad616e=Object[_0x2efbaa(0x201)](this[_0x2efbaa(0x2bb)])[_0x2efbaa(0x1f4)](async _0x1d11cd=>{const _0x5b5aed=_0x2efbaa;try{await _0x1d11cd[_0x5b5aed(0x28d)]();}catch(_0x599190){}});await Promise[_0x2efbaa(0x338)](_0xad616e);const _0x22c950=Date['now']();while(Date[_0x2efbaa(0x254)]()-_0x22c950<_0x2b5fa4){let _0x4b0714=0x0;for(const _0x35c575 of Object[_0x2efbaa(0x201)](this['queues'])){try{const _0x1c7822=await _0x35c575['getJobCounts']('active');_0x4b0714+=_0x1c7822[_0x2efbaa(0x24f)]||0x0;}catch(_0x4274d2){}}if(_0x8d0d2e['vOkXk'](_0x4b0714,0x0))break;await new Promise(_0x26262f=>setTimeout(_0x26262f,0x1f4));}const _0x4b8138=Object[_0x2efbaa(0x201)](this[_0x2efbaa(0x2bb)])[_0x2efbaa(0x1f4)](async _0x33c671=>{const _0x3eb6c5=_0x2efbaa;try{await _0x33c671[_0x3eb6c5(0x2b3)]();}catch(_0x24aec8){}});await Promise['all'](_0x4b8138);const _0x4b88cd=Object['values'](this[_0x2efbaa(0x2f1)])['map'](async _0xffbcc6=>{const _0x105426=_0x2efbaa;try{await _0xffbcc6[_0x105426(0x2b3)]();}catch(_0x11e73f){}});await Promise[_0x2efbaa(0x338)](_0x4b88cd);for(const _0x2878f3 of this[_0x2efbaa(0x2d5)]){try{await _0x2878f3[_0x2efbaa(0x268)]();}catch(_0x142152){}}this[_0x2efbaa(0x2f1)]={},this[_0x2efbaa(0x2bb)]={},this['connections']=[],await this['setAllJobsOffline'](),this['activeHistoryIds'][_0x2efbaa(0x2a2)](),this['initialized']=![],logger[_0x2efbaa(0x2ae)]({'event':_0x8d0d2e[_0x2efbaa(0x2b8)]},_0x8d0d2e[_0x2efbaa(0x326)]);}[a0_0x990eac(0x33d)](){const _0x3842ca=a0_0x990eac,_0x5ebba7={'QMBDF':_0x3842ca(0x2ea),'zGGen':'jobs','pKSMc':_0x3842ca(0x1f8),'gwUnt':'utf8','hSTqY':'job_config_parse_error','vSjYK':_0x3842ca(0x293)},_0x1fba6d=path[_0x3842ca(0x2be)](this[_0x3842ca(0x2fc)],_0x5ebba7[_0x3842ca(0x2e8)],_0x5ebba7['zGGen']);if(!fs['existsSync'](_0x1fba6d))return logger['info']({'event':_0x5ebba7[_0x3842ca(0x219)],'path':_0x1fba6d},_0x3842ca(0x323)),[];const _0x474392=fs[_0x3842ca(0x276)](_0x1fba6d)['filter'](_0x4c194f=>_0x4c194f[_0x3842ca(0x2e2)](_0x3842ca(0x2b7))),_0x5303c6=[];for(const _0x22dc21 of _0x474392){const _0x434b6d=path[_0x3842ca(0x2be)](_0x1fba6d,_0x22dc21);try{const _0x533eea=fs[_0x3842ca(0x218)](_0x434b6d,_0x5ebba7[_0x3842ca(0x2ff)]),_0x5cfb98=JSON[_0x3842ca(0x332)](_0x533eea);_0x5cfb98[_0x3842ca(0x2f4)]=_0x22dc21,_0x5303c6['push'](_0x5cfb98);}catch(_0x1b2011){logger['error']({'event':_0x5ebba7['hSTqY'],'file':_0x22dc21,'error':_0x1b2011['message']},_0x3842ca(0x329)+_0x22dc21+'\x20—\x20'+_0x1b2011['message']);}}return logger[_0x3842ca(0x2ae)]({'event':_0x5ebba7[_0x3842ca(0x1ee)],'count':_0x5303c6[_0x3842ca(0x30c)]},_0x3842ca(0x2d3)+_0x5303c6[_0x3842ca(0x30c)]+_0x3842ca(0x304)),_0x5303c6;}async[a0_0x990eac(0x26a)](_0x3ea680){const _0x40772b=a0_0x990eac,_0x5dbf9e={'LkABy':_0x40772b(0x205),'kLLMD':_0x40772b(0x2b4),'xiCVg':function(_0x4c7b6f,_0x3e2c3){return _0x4c7b6f(_0x3e2c3);},'eYebZ':'cron','DidiP':_0x40772b(0x246),'SNDyn':_0x40772b(0x26c),'SGWmL':function(_0x134d79,_0x253f7a){return _0x134d79===_0x253f7a;},'UvmeE':function(_0x53f20f,_0x4691ff){return _0x53f20f!==_0x4691ff;},'klmux':_0x40772b(0x265),'oBPzH':_0x40772b(0x23b)},_0x483454=path[_0x40772b(0x2be)](this[_0x40772b(0x2fc)],_0x5dbf9e['LkABy'],_0x5dbf9e[_0x40772b(0x210)],_0x3ea680[_0x40772b(0x334)]+'.js');this[_0x40772b(0x2fb)][_0x3ea680['name']]=_0x5dbf9e['xiCVg'](require,_0x483454),this[_0x40772b(0x28f)][_0x3ea680['name']]=_0x3ea680;if(_0x3ea680['type']===_0x5dbf9e[_0x40772b(0x220)]&&_0x3ea680[_0x40772b(0x20f)]!==![]){const _0x4768d3=this['queues'][_0x3ea680['queue']||_0x5dbf9e[_0x40772b(0x263)]];await _0x4768d3[_0x40772b(0x313)](_0x3ea680[_0x40772b(0x231)],{'pattern':_0x3ea680[_0x40772b(0x1f3)],'tz':_0x3ea680['timezone']||undefined},{'name':_0x3ea680[_0x40772b(0x231)],'data':{'handler':_0x3ea680[_0x40772b(0x334)],'triggeredBy':_0x5dbf9e[_0x40772b(0x220)],'metadata':_0x3ea680[_0x40772b(0x315)]||{}},'opts':{'attempts':_0x3ea680['retry']?.[_0x40772b(0x296)]||0x3,'backoff':{'type':_0x3ea680['retry']?.[_0x40772b(0x2bf)]||_0x40772b(0x30f),'delay':_0x3ea680['retry']?.['initialDelay']||0x1388},'timeout':_0x3ea680['timeout']||0x7530}}),logger[_0x40772b(0x2ae)]({'event':_0x5dbf9e['SNDyn'],'name':_0x3ea680['name'],'schedule':_0x3ea680['schedule'],'queue':_0x3ea680['queue']||_0x40772b(0x246)},_0x40772b(0x248)+_0x3ea680['name']+'\x20['+_0x3ea680['schedule']+']');}const _0x216ebe=_0x5dbf9e['SGWmL'](_0x3ea680['type'],'cron')&&_0x5dbf9e[_0x40772b(0x230)](_0x3ea680['enabled'],![])?_0x40772b(0x23b):_0x5dbf9e[_0x40772b(0x30d)];let _0x36f446=null;_0x216ebe===_0x5dbf9e['oBPzH']&&(_0x36f446=await this[_0x40772b(0x28e)](_0x3ea680['name'])),await this[_0x40772b(0x305)](_0x3ea680,_0x216ebe,_0x36f446);}async[a0_0x990eac(0x240)](_0x4ea16e){const _0x441179=a0_0x990eac,_0x2b3278={'ZWTqA':_0x441179(0x302),'RUvAn':function(_0x42b5f2,_0x1661e1){return _0x42b5f2+_0x1661e1;},'tBxqm':_0x441179(0x203),'wbhDs':function(_0x493686){return _0x493686();},'bZrmp':function(_0x2606a2,_0x396ab6){return _0x2606a2===_0x396ab6;},'QfFav':_0x441179(0x2a7),'MjzlI':function(_0xa68d9c,_0x5d8ad1){return _0xa68d9c===_0x5d8ad1;},'PJANz':_0x441179(0x280),'GhBlz':_0x441179(0x243),'ftbBu':_0x441179(0x2bd)},_0x5dfd5d=this[_0x441179(0x28f)][_0x4ea16e['name']],_0x429d68=this['handlers'][_0x4ea16e['name']];if(!_0x429d68)throw new Error('Handler\x20tidak\x20ditemukan\x20untuk\x20job:\x20'+_0x4ea16e[_0x441179(0x231)]);const _0x391e4a=logger[_0x441179(0x206)]({'jobId':_0x4ea16e['id'],'jobName':_0x4ea16e['name']});_0x391e4a['info']({'event':_0x2b3278['ZWTqA'],'attempt':_0x2b3278[_0x441179(0x31d)](_0x4ea16e['attemptsMade'],0x1),'triggeredBy':_0x4ea16e[_0x441179(0x319)]?.['triggeredBy']||_0x2b3278['tBxqm']},'Job\x20started:\x20'+_0x4ea16e['name']+_0x441179(0x31c)+(_0x4ea16e[_0x441179(0x2bc)]+0x1)+')');const _0x39a500=_0x2b3278[_0x441179(0x2c2)](uuidv7),_0x2a6353=_0x4ea16e[_0x441179(0x319)]?.[_0x441179(0x213)]||_0x2b3278[_0x441179(0x2e4)],_0x6bd6bb=this['insertJobHistory']({'id':_0x39a500,'jobName':_0x4ea16e[_0x441179(0x231)],'bullmqJobId':_0x4ea16e['id'],'triggerType':_0x2a6353==='api-delayed'?_0x441179(0x23d):_0x2b3278[_0x441179(0x2ef)](_0x2a6353,_0x441179(0x335))?_0x2b3278[_0x441179(0x32e)]:'cron','triggeredBy':_0x2b3278[_0x441179(0x224)](_0x2a6353,_0x2b3278[_0x441179(0x250)])?_0x441179(0x2c4):_0x2a6353,'queue':_0x5dfd5d?.['queue']||'default','attempt':_0x2b3278['RUvAn'](_0x4ea16e[_0x441179(0x2bc)],0x1),'configFile':_0x5dfd5d?.[_0x441179(0x2f4)]||null})['catch'](_0x2b0432=>{const _0x3dc45e=_0x441179;_0x391e4a['warn']({'event':'job_history_insert_bg_error','error':_0x2b0432['message']},'Background\x20insert\x20job\x20history\x20failed:\x20'+_0x2b0432[_0x3dc45e(0x217)]);});this[_0x441179(0x260)]['set'](_0x4ea16e['id'],{'historyId':_0x39a500,'insertPromise':_0x6bd6bb});const _0x504002=this['buildContext'](_0x4ea16e,_0x5dfd5d,_0x391e4a),_0x4424dd=_0x2b3278[_0x441179(0x2c2)](getComponentEngine);if(_0x4424dd&&_0x2b3278[_0x441179(0x2ef)](typeof _0x4424dd[_0x441179(0x22f)],_0x2b3278['GhBlz'])){const _0x41af04=await _0x4424dd['executeEventHandlers'](_0x441179(0x212),_0x504002,!![]);if(!_0x41af04[_0x441179(0x32c)])throw new Error('Job\x20cancelled\x20by\x20onBeforeJobExecute:\x20'+_0x41af04[_0x441179(0x2f8)]);}const _0xc2f91e=await _0x429d68(_0x504002);return _0x391e4a[_0x441179(0x2ae)]({'event':_0x2b3278[_0x441179(0x2d2)],'result':_0xc2f91e},'Job\x20handler\x20completed:\x20'+_0x4ea16e['name']),_0xc2f91e;}[a0_0x990eac(0x2a6)](_0x3427bf,_0x361dba,_0x157cdb){const _0x55d64f=a0_0x990eac,_0x222827={'lsJCm':function(_0xdaa369,_0x5cd030){return _0xdaa369+_0x5cd030;},'XSgxQ':function(_0x32b2b8,_0x102010){return _0x32b2b8||_0x102010;}};return{'jobId':_0x3427bf['id'],'jobName':_0x3427bf['name'],'attempt':_0x222827['lsJCm'](_0x3427bf['attemptsMade'],0x1),'maxAttempts':_0x361dba?.[_0x55d64f(0x321)]?.[_0x55d64f(0x296)]||0x3,'payload':_0x3427bf[_0x55d64f(0x319)]||{},'config':_0x222827[_0x55d64f(0x33c)](_0x361dba,{}),'db':this[_0x55d64f(0x32d)](),'redis':this[_0x55d64f(0x225)](),'logger':_0x157cdb,'kafka':this[_0x55d64f(0x2ba)](),'cache':this['getCacheManager'](),'updateProgress':async _0x46d8c6=>{const _0xe6cbea=_0x55d64f;await _0x3427bf[_0xe6cbea(0x306)](_0x46d8c6);},'emit':async(_0x4a3990,_0x4673a5)=>{const _0x168dc9=_0x55d64f,_0x2b7c6f=this['getKafkaService']();_0x2b7c6f&&await _0x2b7c6f['publishEvent'](_0x4a3990,'JOB_EVENT',null,_0x4673a5,{'module':'job-scheduler','endpoint':_0x3427bf[_0x168dc9(0x231)]});},'job':_0x3427bf};}[a0_0x990eac(0x237)](){const _0x3246e2=a0_0x990eac,_0x29900a={'GDVFa':'postgresql'};return(process['env'][_0x3246e2(0x271)]||_0x29900a[_0x3246e2(0x2f2)])[_0x3246e2(0x266)]();}async[a0_0x990eac(0x2d4)](){const _0x37c73f=a0_0x990eac,_0x42bafd={'rNLXP':_0x37c73f(0x244),'iZmPv':_0x37c73f(0x324),'kpUWC':_0x37c73f(0x20c),'ddNHI':'job_db_type_unsupported','aMLYs':'job_sql_not_found','kbPek':'utf8','thZsE':'already\x20exists','qKIGk':'ora-00955','uIHGF':'duplicate','mCSCT':_0x37c73f(0x214),'EiBtx':'job_tables_ensured'},_0x82529a=this['getDbUtils']();if(!_0x82529a){logger[_0x37c73f(0x23c)]({'event':_0x37c73f(0x245)},_0x42bafd['rNLXP']);return;}const _0x1aa345=this[_0x37c73f(0x237)](),_0x1f0891={'postgresql':_0x42bafd['iZmPv'],'oracle':_0x37c73f(0x21a),'mysql':_0x42bafd[_0x37c73f(0x300)]},_0x5e229d=_0x1f0891[_0x1aa345];if(!_0x5e229d){logger[_0x37c73f(0x23c)]({'event':_0x42bafd['ddNHI'],'dbType':_0x1aa345},'DB_TYPE\x20\x27'+_0x1aa345+'\x27\x20tidak\x20didukung\x20untuk\x20job\x20monitoring\x20tables');return;}const _0x19a206=path['join'](__dirname,'sql-scripts',_0x5e229d);if(!fs[_0x37c73f(0x2a4)](_0x19a206)){logger['warn']({'event':_0x42bafd[_0x37c73f(0x2b1)],'path':_0x19a206},'SQL\x20script\x20tidak\x20ditemukan:\x20'+_0x19a206);return;}const _0x238be2=fs[_0x37c73f(0x218)](_0x19a206,_0x42bafd[_0x37c73f(0x20e)]),_0x25c620=this['splitSqlStatements'](_0x238be2,_0x1aa345);let _0x41742c=0x0;for(const _0x273c4a of _0x25c620){try{await _0x82529a['executeQuery'](_0x273c4a),_0x41742c++;}catch(_0x300243){const _0x350777=(_0x300243[_0x37c73f(0x217)]||'')[_0x37c73f(0x266)](),_0x5a8b2b=_0x350777['includes'](_0x42bafd[_0x37c73f(0x241)])||_0x350777[_0x37c73f(0x2ed)](_0x42bafd['qKIGk'])||_0x350777[_0x37c73f(0x2ed)](_0x42bafd[_0x37c73f(0x1f9)]);!_0x5a8b2b&&logger['warn']({'event':_0x42bafd['mCSCT'],'error':_0x300243['message']},_0x37c73f(0x27e)+_0x300243[_0x37c73f(0x217)]);}}logger['info']({'event':_0x42bafd[_0x37c73f(0x33f)],'dbType':_0x1aa345,'executed':_0x41742c},_0x37c73f(0x303)+_0x1aa345+')');}[a0_0x990eac(0x2ca)](_0x33818a,_0x2594be){const _0x553723=a0_0x990eac,_0x51f349={'StZCJ':function(_0x1368c4,_0x2e7a37){return _0x1368c4===_0x2e7a37;},'zMqDu':function(_0x460961,_0x286943){return _0x460961===_0x286943;},'yvelW':_0x553723(0x242)};let _0x4957cb;return _0x51f349[_0x553723(0x2c7)](_0x2594be,_0x51f349['yvelW'])?_0x4957cb=_0x33818a['split'](/\n\/\s*(?:\n|$)/):_0x4957cb=_0x33818a[_0x553723(0x2e3)](/;\s*(?:\n|$)/),_0x4957cb['map'](_0x38ae97=>_0x38ae97['trim']())['filter'](_0x596013=>{const _0x3e1f52=_0x553723;if(_0x51f349[_0x3e1f52(0x26e)](_0x596013[_0x3e1f52(0x30c)],0x0))return![];const _0xf339f=_0x596013[_0x3e1f52(0x2e3)]('\x0a')['filter'](_0x57ba1d=>!_0x57ba1d['trim']()[_0x3e1f52(0x20d)]('--')&&_0x57ba1d['trim']()['length']>0x0);return _0xf339f[_0x3e1f52(0x30c)]>0x0;});}async[a0_0x990eac(0x305)](_0x4b2003,_0x472f04=a0_0x990eac(0x23b),_0x148249=null){const _0xb13daa=a0_0x990eac,_0x5e8f7c={'wOvor':'default','MHeHW':'exponential','kXeoj':function(_0x3b20e5,_0x3681e1){return _0x3b20e5===_0x3681e1;},'XErFi':_0xb13daa(0x242),'NEZUp':_0xb13daa(0x251)},_0xbbd325=this[_0xb13daa(0x32d)]();if(!_0xbbd325)return;const _0x2b1a0b=this['getDbType'](),_0x21fae9=[_0x4b2003[_0xb13daa(0x231)],_0x4b2003['description']||_0x4b2003[_0xb13daa(0x231)],_0x4b2003['type']||'cron',_0x4b2003['schedule']||null,_0x4b2003['queue']||_0x5e8f7c['wOvor'],_0x4b2003['handler'],_0x4b2003[_0xb13daa(0x2f4)]||'',_0x4b2003['timeout']||0x7530,_0x4b2003['retry']?.['maxAttempts']||0x3,_0x4b2003['retry']?.['backoff']||_0x5e8f7c[_0xb13daa(0x2a3)],_0x472f04,_0x148249];try{if(_0x5e8f7c[_0xb13daa(0x27d)](_0x2b1a0b,_0x5e8f7c[_0xb13daa(0x24d)]))await _0xbbd325['executeQuery']('MERGE\x20INTO\x20job_registry\x20r\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20USING\x20(SELECT\x20:1\x20AS\x20jn\x20FROM\x20DUAL)\x20s\x20ON\x20(r.job_name\x20=\x20s.jn)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHEN\x20MATCHED\x20THEN\x20UPDATE\x20SET\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display_name\x20=\x20:2,\x20type\x20=\x20:3,\x20schedule\x20=\x20:4,\x20queue\x20=\x20:5,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20handler\x20=\x20:6,\x20config_file\x20=\x20:7,\x20timeout\x20=\x20:8,\x20retry_max\x20=\x20:9,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20retry_backoff\x20=\x20:10,\x20status\x20=\x20:11,\x20next_run_at\x20=\x20:12,\x20updated_at\x20=\x20SYSTIMESTAMP\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHEN\x20NOT\x20MATCHED\x20THEN\x20INSERT\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(job_name,\x20display_name,\x20type,\x20schedule,\x20queue,\x20handler,\x20config_file,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout,\x20retry_max,\x20retry_backoff,\x20status,\x20next_run_at,\x20created_at,\x20updated_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(:1,\x20:2,\x20:3,\x20:4,\x20:5,\x20:6,\x20:7,\x20:8,\x20:9,\x20:10,\x20:11,\x20:12,\x20SYSTIMESTAMP,\x20SYSTIMESTAMP)',_0x21fae9);else _0x2b1a0b===_0x5e8f7c['NEZUp']?await _0xbbd325[_0xb13daa(0x2f0)](_0xb13daa(0x2ce),_0x21fae9):await _0xbbd325[_0xb13daa(0x2f0)](_0xb13daa(0x247),_0x21fae9);}catch(_0x5b6e54){logger[_0xb13daa(0x23c)]({'event':_0xb13daa(0x33a),'name':_0x4b2003[_0xb13daa(0x231)],'error':_0x5b6e54['message']},'Failed\x20to\x20upsert\x20job\x20registry:\x20'+_0x4b2003[_0xb13daa(0x231)]+'\x20—\x20'+_0x5b6e54[_0xb13daa(0x217)]);}}async['insertJobHistory'](_0x2fad94){const _0x589e95=a0_0x990eac,_0x2f6220={'mqJKP':'cron','XWjkd':_0x589e95(0x2c4),'DUapn':'default','xBNjd':_0x589e95(0x242),'ZSkbT':function(_0x116f40,_0xe26383){return _0x116f40===_0xe26383;},'xIGAt':_0x589e95(0x24a),'hEMyH':'job_history_insert_error'},_0x3ece46=this[_0x589e95(0x32d)]();if(!_0x3ece46)return;const _0x84515b=this['getDbType'](),_0x4ff198=[_0x2fad94['id'],_0x2fad94['jobName'],_0x2fad94[_0x589e95(0x1fa)]||null,_0x2fad94['triggerType']||_0x2f6220['mqJKP'],_0x2fad94[_0x589e95(0x213)]||_0x2f6220[_0x589e95(0x2c5)],_0x2fad94['queue']||_0x2f6220[_0x589e95(0x2c1)],_0x2fad94['attempt']||0x1,_0x2fad94[_0x589e95(0x229)]||null,process['pid']];try{if(_0x84515b===_0x2f6220['xBNjd'])await _0x3ece46['executeQuery'](_0x589e95(0x274),_0x4ff198);else _0x2f6220[_0x589e95(0x286)](_0x84515b,'mysql')?await _0x3ece46['executeQuery']('INSERT\x20INTO\x20job_history\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(id,\x20job_name,\x20bullmq_job_id,\x20trigger_type,\x20triggered_by,\x20status,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20queue,\x20attempt,\x20config_file,\x20started_at,\x20worker_pid,\x20created_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20\x27running\x27,\x20?,\x20?,\x20?,\x20NOW(),\x20?,\x20NOW())',_0x4ff198):await _0x3ece46[_0x589e95(0x2f0)]('INSERT\x20INTO\x20job_history\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(id,\x20job_name,\x20bullmq_job_id,\x20trigger_type,\x20triggered_by,\x20status,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20queue,\x20attempt,\x20config_file,\x20started_at,\x20worker_pid,\x20created_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20($1,\x20$2,\x20$3,\x20$4,\x20$5,\x20\x27running\x27,\x20$6,\x20$7,\x20$8,\x20NOW(),\x20$9,\x20NOW())',_0x4ff198);await this[_0x589e95(0x2f9)](_0x2fad94[_0x589e95(0x297)],_0x2f6220['xIGAt']);}catch(_0x41006d){logger[_0x589e95(0x23c)]({'event':_0x2f6220[_0x589e95(0x29a)],'jobName':_0x2fad94[_0x589e95(0x297)],'error':_0x41006d['message']},_0x589e95(0x2d7)+_0x41006d['message']);}}async[a0_0x990eac(0x20b)](_0x4bced0,_0x354a61,_0x366bb8){const _0xe5a507=a0_0x990eac,_0x3ea5ad={'MHWNy':function(_0x3e7d89,_0xcda266){return _0x3e7d89(_0xcda266);},'IkEjr':function(_0x5bb16d,_0x30cff7){return _0x5bb16d===_0x30cff7;},'GTbic':'oracle','GgSMt':_0xe5a507(0x2e6)},_0x3670b0=this[_0xe5a507(0x32d)]();if(!_0x3670b0)return;const _0x3b37cf=this['getDbType'](),_0x2dbe1b=_0x366bb8?_0x3ea5ad['MHWNy'](String,_0x366bb8)['substring'](0x0,0x1f4):null;try{if(_0x3ea5ad[_0xe5a507(0x312)](_0x3b37cf,_0x3ea5ad['GTbic']))await _0x3670b0['executeQuery'](_0xe5a507(0x226),[_0x354a61,_0x2dbe1b,_0x4bced0]);else _0x3b37cf==='mysql'?await _0x3670b0['executeQuery']('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27success\x27,\x20completed_at\x20=\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20?,\x20progress\x20=\x20100,\x20result_summary\x20=\x20?\x20WHERE\x20id\x20=\x20?',[_0x354a61,_0x2dbe1b,_0x4bced0]):await _0x3670b0[_0xe5a507(0x2f0)]('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27success\x27,\x20completed_at\x20=\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20$1,\x20progress\x20=\x20100,\x20result_summary\x20=\x20$2\x20WHERE\x20id\x20=\x20$3',[_0x354a61,_0x2dbe1b,_0x4bced0]);}catch(_0x2f2018){logger[_0xe5a507(0x23c)]({'event':_0x3ea5ad['GgSMt'],'historyId':_0x4bced0,'error':_0x2f2018[_0xe5a507(0x217)]},_0xe5a507(0x209)+_0x2f2018[_0xe5a507(0x217)]);}}async['updateJobHistoryFailed'](_0x3ef0fb,_0x15ecdb,_0x178bd9,_0x1c949f,_0x1e3731){const _0x1ed384=a0_0x990eac,_0x6aab7a={'hqibo':function(_0xba8fd8,_0x38190d){return _0xba8fd8(_0x38190d);},'jnBUn':function(_0x44df60,_0x3e28d0){return _0x44df60(_0x3e28d0);},'FcUQH':_0x1ed384(0x242),'YpHji':function(_0x40be84,_0x26b77d){return _0x40be84===_0x26b77d;},'krrtT':_0x1ed384(0x251),'APhME':function(_0x57523f,_0x3cee3d){return _0x57523f||_0x3cee3d;},'AaglJ':_0x1ed384(0x1f7)},_0x272bfe=this['getDbUtils']();if(!_0x272bfe)return;const _0x2b9cd9=this[_0x1ed384(0x237)](),_0x18a7c8=_0x1c949f?_0x6aab7a[_0x1ed384(0x232)](String,_0x1c949f)['substring'](0x0,0x3e8):null,_0x23f842=_0x1e3731?_0x6aab7a[_0x1ed384(0x25b)](String,_0x1e3731)[_0x1ed384(0x1ff)](0x0,0xfa0):null;try{if(_0x2b9cd9===_0x6aab7a[_0x1ed384(0x258)])await _0x272bfe[_0x1ed384(0x2f0)](_0x1ed384(0x2e0),[_0x15ecdb,_0x178bd9||0x0,_0x18a7c8,_0x23f842,_0x3ef0fb]);else _0x6aab7a[_0x1ed384(0x318)](_0x2b9cd9,_0x6aab7a['krrtT'])?await _0x272bfe['executeQuery']('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27failed\x27,\x20completed_at\x20=\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20?,\x20progress\x20=\x20?,\x20error_message\x20=\x20?,\x20error_stack\x20=\x20?\x20WHERE\x20id\x20=\x20?',[_0x15ecdb,_0x6aab7a['APhME'](_0x178bd9,0x0),_0x18a7c8,_0x23f842,_0x3ef0fb]):await _0x272bfe['executeQuery'](_0x1ed384(0x2aa),[_0x15ecdb,_0x6aab7a[_0x1ed384(0x22b)](_0x178bd9,0x0),_0x18a7c8,_0x23f842,_0x3ef0fb]);}catch(_0x4be19b){logger['warn']({'event':_0x6aab7a[_0x1ed384(0x2cd)],'historyId':_0x3ef0fb,'error':_0x4be19b[_0x1ed384(0x217)]},'Failed\x20to\x20update\x20job\x20history\x20(failed):\x20'+_0x4be19b['message']);}}async['updateRegistryStatus'](_0x24b863,_0x5060e9){const _0x1d8e2c=a0_0x990eac,_0x582db8={'Vsbrw':_0x1d8e2c(0x242),'lFYFy':_0x1d8e2c(0x251)},_0x337836=this['getDbUtils']();if(!_0x337836)return;const _0x229056=this['getDbType']();try{if(_0x229056===_0x582db8[_0x1d8e2c(0x28c)])await _0x337836[_0x1d8e2c(0x2f0)](_0x1d8e2c(0x25a),[_0x5060e9,_0x24b863]);else _0x229056===_0x582db8[_0x1d8e2c(0x200)]?await _0x337836[_0x1d8e2c(0x2f0)]('UPDATE\x20job_registry\x20SET\x20last_status\x20=\x20?,\x20last_run_at\x20=\x20NOW()\x20WHERE\x20job_name\x20=\x20?',[_0x5060e9,_0x24b863]):await _0x337836['executeQuery'](_0x1d8e2c(0x1f6),[_0x5060e9,_0x24b863]);}catch(_0x434023){}}async['updateRegistryCounters'](_0x53c405,_0x4f06ba,_0x2e7092,_0x2c8343){const _0x3db204=a0_0x990eac,_0x5a2383={'XXYBz':'total_failed','aRLBx':function(_0x59486d,_0x5ab845){return _0x59486d===_0x5ab845;},'AmhBb':_0x3db204(0x251),'dSQyN':'job_registry_counter_error'},_0x3f29de=this[_0x3db204(0x32d)]();if(!_0x3f29de)return;const _0x235e83=this[_0x3db204(0x237)](),_0x28bbc4=_0x4f06ba==='success'?_0x3db204(0x255):_0x5a2383['XXYBz'];try{if(_0x235e83===_0x3db204(0x242))await _0x3f29de['executeQuery'](_0x3db204(0x283)+_0x28bbc4+'\x20=\x20'+_0x28bbc4+_0x3db204(0x316),[_0x4f06ba,_0x2e7092,_0x2c8343,_0x53c405]);else _0x5a2383['aRLBx'](_0x235e83,_0x5a2383[_0x3db204(0x25e)])?await _0x3f29de['executeQuery'](_0x3db204(0x256)+_0x28bbc4+'\x20=\x20'+_0x28bbc4+'\x20+\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20?\x20WHERE\x20job_name\x20=\x20?',[_0x4f06ba,_0x2e7092,_0x2c8343,_0x53c405]):await _0x3f29de[_0x3db204(0x2f0)](_0x3db204(0x322)+_0x28bbc4+'\x20=\x20'+_0x28bbc4+'\x20+\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20$3,\x20updated_at\x20=\x20NOW()\x20WHERE\x20job_name\x20=\x20$4',[_0x4f06ba,_0x2e7092,_0x2c8343,_0x53c405]);}catch(_0x5a9261){logger[_0x3db204(0x23c)]({'event':_0x5a2383[_0x3db204(0x24b)],'jobName':_0x53c405,'error':_0x5a9261[_0x3db204(0x217)]},_0x3db204(0x2b2)+_0x5a9261[_0x3db204(0x217)]);}}async[a0_0x990eac(0x28e)](_0xa4c8f8){const _0x18e9ac=a0_0x990eac,_0x30ec5d={'yMKTM':function(_0x77e0ef,_0x30794f){return _0x77e0ef===_0x30794f;},'JQQdf':'default'},_0x2b0bc7=this[_0x18e9ac(0x28f)][_0xa4c8f8];if(!_0x2b0bc7||_0x2b0bc7['type']!==_0x18e9ac(0x280)||_0x30ec5d['yMKTM'](_0x2b0bc7[_0x18e9ac(0x20f)],![]))return null;const _0x5f283e=this['queues'][_0x2b0bc7[_0x18e9ac(0x2a9)]||_0x30ec5d[_0x18e9ac(0x264)]];if(!_0x5f283e)return null;try{if(typeof _0x5f283e['getJobSchedulers']===_0x18e9ac(0x243)){const _0x4a4d4d=await _0x5f283e['getJobSchedulers'](0x0,0x64),_0x475e75=_0x4a4d4d['find'](_0x34c9d6=>_0x34c9d6[_0x18e9ac(0x231)]===_0xa4c8f8);return _0x475e75?.[_0x18e9ac(0x31a)]?new Date(_0x475e75[_0x18e9ac(0x31a)]):null;}}catch(_0xd638b3){}return null;}async['setAllJobsOffline'](){const _0x470011=a0_0x990eac,_0x488578={'IvxKm':'oracle','mfaOa':'job_registry_offline_error'},_0x42634f=this[_0x470011(0x32d)]();if(!_0x42634f)return;const _0x1fb0f5=this['getDbType']();try{if(_0x1fb0f5===_0x488578['IvxKm'])await _0x42634f['executeQuery'](_0x470011(0x211));else _0x1fb0f5===_0x470011(0x251)?await _0x42634f[_0x470011(0x2f0)]('UPDATE\x20job_registry\x20SET\x20status\x20=\x20\x27offline\x27,\x20next_run_at\x20=\x20NULL'):await _0x42634f[_0x470011(0x2f0)]('UPDATE\x20job_registry\x20SET\x20status\x20=\x20\x27offline\x27,\x20next_run_at\x20=\x20NULL,\x20updated_at\x20=\x20NOW()');}catch(_0x44b286){logger[_0x470011(0x23c)]({'event':_0x488578[_0x470011(0x281)],'error':_0x44b286[_0x470011(0x217)]},_0x470011(0x299)+_0x44b286[_0x470011(0x217)]);}}['getDbUtils'](){const _0x5754ab=a0_0x990eac,_0x47333b={'xAwMt':function(_0x40a6a8,_0x511318){return _0x40a6a8===_0x511318;},'UDoTx':'../../utils/db-oracle','tLbAm':'Oracle\x20DB\x20module\x20not\x20available','vSTik':_0x5754ab(0x251),'TIwdO':function(_0x434e6c,_0x27edba){return _0x434e6c(_0x27edba);},'IUyXX':_0x5754ab(0x1fd),'BIqss':_0x5754ab(0x337),'idXxK':_0x5754ab(0x31f)},_0x288ccf=(process['env']['DB_TYPE']||'postgresql')['toLowerCase']();if(_0x47333b[_0x5754ab(0x2c8)](_0x288ccf,_0x5754ab(0x242)))try{const _0x448717=require(_0x47333b['UDoTx']);return{'executeQuery':(_0x1d350a,_0x422628)=>_0x448717['executeQuery'](_0x1d350a,_0x422628),'executeTransaction':_0x2df529=>_0x448717[_0x5754ab(0x308)](_0x2df529),'getPool':()=>_0x448717['getPool']()};}catch(_0x2befd1){return logger['warn']({'event':'db_oracle_unavailable'},_0x47333b['tLbAm']),null;}if(_0x288ccf===_0x47333b[_0x5754ab(0x33e)])try{const _0x53eb1b=_0x47333b[_0x5754ab(0x310)](require,_0x47333b['IUyXX']);return{'executeQuery':(_0x5a9f9b,_0x4995a1)=>_0x53eb1b['executeQuery'](_0x5a9f9b,_0x4995a1),'executeTransaction':_0x57a13f=>_0x53eb1b['executeTransaction'](_0x57a13f),'getPool':()=>_0x53eb1b[_0x5754ab(0x289)]()};}catch(_0x4a9a76){return logger[_0x5754ab(0x23c)]({'event':_0x5754ab(0x2a1)},'MySQL\x20DB\x20module\x20not\x20available'),null;}try{const _0x3fcee5=_0x47333b['TIwdO'](require,_0x47333b[_0x5754ab(0x249)]);return{'executeQuery':_0x3fcee5['executeQuery'],'executeTransaction':_0x3fcee5[_0x5754ab(0x308)],'getPool':_0x3fcee5['getPool']};}catch(_0x2e490e){return logger['warn']({'event':_0x47333b['idXxK']},'PostgreSQL\x20DB\x20module\x20not\x20available'),null;}}['getRedisClient'](){const _0x49beed=a0_0x990eac,_0x13468a={'FnqLM':_0x49beed(0x273)};try{const _0xd738eb=require(_0x13468a['FnqLM']);return _0xd738eb['getClient']?_0xd738eb['getClient']():_0xd738eb;}catch(_0x2091f3){return null;}}['getKafkaService'](){const _0x405f11=a0_0x990eac,_0x4cfd45={'FsVti':function(_0x4db554,_0xcac97a){return _0x4db554===_0xcac97a;},'sobUr':_0x405f11(0x317),'VjvOL':'../../services/kafkaService'};try{if(_0x4cfd45[_0x405f11(0x2e5)](process['env'][_0x405f11(0x204)],_0x4cfd45[_0x405f11(0x234)])){const _0x3aa1d5=require(_0x4cfd45[_0x405f11(0x2af)]);return _0x3aa1d5[_0x405f11(0x26d)]?_0x3aa1d5[_0x405f11(0x26d)]():_0x3aa1d5;}}catch(_0x5bba2e){}return null;}[a0_0x990eac(0x287)](){const _0x140bf6=a0_0x990eac;try{return require(_0x140bf6(0x2b6));}catch(_0x2df21b){return null;}}async[a0_0x990eac(0x202)](_0x37854e,_0x20fc5f={}){const _0x58a5e0=a0_0x990eac,_0x595b95={'NttwH':'default','MbNWC':'api'},_0x1b9b18=this[_0x58a5e0(0x28f)][_0x37854e];if(!_0x1b9b18)throw new Error('Job\x20tidak\x20ditemukan:\x20'+_0x37854e);const _0x2c2572=this['queues'][_0x1b9b18[_0x58a5e0(0x2a9)]||_0x595b95[_0x58a5e0(0x32b)]],_0x5a7892=await _0x2c2572['add'](_0x37854e,{..._0x20fc5f,'handler':_0x1b9b18[_0x58a5e0(0x334)],'triggeredBy':'api'},{'attempts':_0x1b9b18['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0x1b9b18['retry']?.['backoff']||'exponential','delay':_0x1b9b18['retry']?.[_0x58a5e0(0x2ee)]||0x1388},'timeout':_0x1b9b18['timeout']||0x7530});return logger['info']({'event':'job_dispatched','jobId':_0x5a7892['id'],'name':_0x37854e,'triggeredBy':_0x595b95[_0x58a5e0(0x29d)]},'Job\x20dispatched:\x20'+_0x37854e+'\x20(id:\x20'+_0x5a7892['id']+')'),{'jobId':_0x5a7892['id'],'name':_0x37854e};}async['dispatchDelayed'](_0x3b0f50,_0x563494={},_0x261e23=0x0){const _0x352872=a0_0x990eac,_0x341974={'poWdz':'default','xCvYv':_0x352872(0x20a)},_0x77b0a6=this['jobConfigs'][_0x3b0f50];if(!_0x77b0a6)throw new Error(_0x352872(0x1f2)+_0x3b0f50);const _0x4fb9e3=this[_0x352872(0x2f1)][_0x77b0a6['queue']||_0x341974[_0x352872(0x327)]],_0x452746=await _0x4fb9e3['add'](_0x3b0f50,{..._0x563494,'handler':_0x77b0a6['handler'],'triggeredBy':_0x341974['xCvYv']},{'delay':_0x261e23,'attempts':_0x77b0a6['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0x77b0a6['retry']?.[_0x352872(0x2bf)]||_0x352872(0x30f),'delay':_0x77b0a6[_0x352872(0x321)]?.[_0x352872(0x2ee)]||0x1388},'timeout':_0x77b0a6[_0x352872(0x314)]||0x7530});return logger[_0x352872(0x2ae)]({'event':_0x352872(0x278),'jobId':_0x452746['id'],'name':_0x3b0f50,'delayMs':_0x261e23},_0x352872(0x215)+_0x261e23+_0x352872(0x2a0)+_0x3b0f50+'\x20(id:\x20'+_0x452746['id']+')'),{'jobId':_0x452746['id'],'name':_0x3b0f50};}async[a0_0x990eac(0x261)](_0x9f3cf3){const _0x483f96=a0_0x990eac;for(const _0x42f0fb of Object[_0x483f96(0x201)](this[_0x483f96(0x2f1)])){const _0x10f108=await _0x42f0fb[_0x483f96(0x32f)](_0x9f3cf3);if(_0x10f108){const _0x46be7e=await _0x10f108['getState']();return{'jobId':_0x10f108['id'],'name':_0x10f108[_0x483f96(0x231)],'state':_0x46be7e,'progress':_0x10f108[_0x483f96(0x22a)],'attemptsMade':_0x10f108['attemptsMade'],'failedReason':_0x10f108[_0x483f96(0x30e)],'returnvalue':_0x10f108['returnvalue'],'data':_0x10f108['data'],'timestamps':{'created':_0x10f108['timestamp'],'started':_0x10f108[_0x483f96(0x22d)],'completed':_0x10f108['finishedOn']}};}}return null;}['listJobs'](){const _0x45a102=a0_0x990eac;return Object[_0x45a102(0x201)](this['jobConfigs'])[_0x45a102(0x1f4)](_0x376651=>({'name':_0x376651['name'],'description':_0x376651['description']||'','type':_0x376651['type'],'schedule':_0x376651[_0x45a102(0x1f3)],'handler':_0x376651[_0x45a102(0x334)],'enabled':_0x376651['enabled']!==![],'queue':_0x376651[_0x45a102(0x2a9)]||'default','timeout':_0x376651[_0x45a102(0x314)]||0x7530,'retry':_0x376651['retry']||{'maxAttempts':0x3,'backoff':_0x45a102(0x30f),'initialDelay':0x1388},'metadata':_0x376651[_0x45a102(0x315)]||{}}));}async[a0_0x990eac(0x25f)](){const _0x236d85=a0_0x990eac,_0x5801fb=[];for(const [_0x2152ca,_0x14a70f]of Object['entries'](this['queues'])){const _0x5d97fa=await _0x14a70f[_0x236d85(0x25d)]([_0x236d85(0x24f)]);for(const _0x12a0e2 of _0x5d97fa){_0x5801fb[_0x236d85(0x257)]({'jobId':_0x12a0e2['id'],'name':_0x12a0e2['name'],'queue':_0x2152ca,'progress':_0x12a0e2[_0x236d85(0x22a)],'attemptsMade':_0x12a0e2['attemptsMade'],'startedAt':_0x12a0e2['processedOn']});}}return _0x5801fb;}async[a0_0x990eac(0x1fe)](_0x15f3d2={}){const _0x4065da=a0_0x990eac,_0x2cde2a={'sRaBa':function(_0x122ee1,_0x2a5355,_0x10453e){return _0x122ee1(_0x2a5355,_0x10453e);},'zStCP':function(_0x4a6f30,_0x401730,_0x2fd730){return _0x4a6f30(_0x401730,_0x2fd730);},'kgBFe':function(_0x3e7f18,_0x352edd){return _0x3e7f18*_0x352edd;},'HrCaG':function(_0x3e25db,_0xe9c363){return _0x3e25db-_0xe9c363;},'onOrm':function(_0x5cd83a,_0x42dbdd){return _0x5cd83a+_0x42dbdd;},'KRswq':_0x4065da(0x2f3),'WLgQo':'failed'},_0xad0df3=_0x2cde2a['sRaBa'](parseInt,_0x15f3d2[_0x4065da(0x307)],0xa)||0x1,_0x554af1=Math[_0x4065da(0x31b)](_0x2cde2a[_0x4065da(0x23f)](parseInt,_0x15f3d2['limit'],0xa)||0x14,0x64),_0xe6256c=_0x2cde2a[_0x4065da(0x30b)](_0xad0df3-0x1,_0x554af1),_0x2caa40=_0x2cde2a['HrCaG'](_0x2cde2a[_0x4065da(0x24e)](_0xe6256c,_0x554af1),0x1),_0x2e997d=[];for(const [_0x1db2fd,_0x3ecb6f]of Object['entries'](this[_0x4065da(0x2f1)])){const _0x23b4b3=await _0x3ecb6f['getJobs']([_0x2cde2a['KRswq']],_0xe6256c,_0x2caa40),_0x53c49f=await _0x3ecb6f['getJobs']([_0x2cde2a[_0x4065da(0x29c)]],_0xe6256c,_0x2caa40);for(const _0x165584 of[..._0x23b4b3,..._0x53c49f]){const _0x18feb2=await _0x165584[_0x4065da(0x2b9)]();_0x2e997d['push']({'jobId':_0x165584['id'],'name':_0x165584['name'],'state':_0x18feb2,'queue':_0x1db2fd,'attemptsMade':_0x165584[_0x4065da(0x2bc)],'failedReason':_0x165584[_0x4065da(0x30e)],'returnvalue':_0x165584['returnvalue'],'timestamps':{'created':_0x165584['timestamp'],'started':_0x165584['processedOn'],'completed':_0x165584[_0x4065da(0x30a)]}});}}return _0x2e997d['sort']((_0x16c45c,_0x8ad0a4)=>(_0x8ad0a4[_0x4065da(0x284)]['created']||0x0)-(_0x16c45c[_0x4065da(0x284)][_0x4065da(0x21b)]||0x0)),{'jobs':_0x2e997d['slice'](0x0,_0x554af1),'total':_0x2e997d[_0x4065da(0x30c)],'page':_0xad0df3,'limit':_0x554af1};}async[a0_0x990eac(0x22e)](_0x358b7a){const _0x25f0ab=a0_0x990eac,_0x38cb0e={'eaTZx':function(_0x594cab,_0x311815){return _0x594cab===_0x311815;},'GxiWX':_0x25f0ab(0x2cc),'BmUjf':'api-cancel','YabVR':function(_0x1a9dfa,_0x1daa85){return _0x1a9dfa===_0x1daa85;},'VVsQJ':function(_0x146de9,_0x87ee7){return _0x146de9===_0x87ee7;},'IQPkm':'delayed'};for(const _0xd5c19b of Object[_0x25f0ab(0x201)](this[_0x25f0ab(0x2f1)])){const _0x3f4ad5=await _0xd5c19b['getJob'](_0x358b7a);if(_0x3f4ad5){const _0x4a63bb=await _0x3f4ad5[_0x25f0ab(0x2b9)]();if(_0x38cb0e['eaTZx'](_0x4a63bb,'active'))return await _0x3f4ad5[_0x25f0ab(0x221)](new Error(_0x38cb0e[_0x25f0ab(0x2f6)]),_0x38cb0e['BmUjf'],!![]),{'success':!![],'message':_0x25f0ab(0x285)+_0x358b7a+_0x25f0ab(0x2d8)};if(_0x38cb0e['YabVR'](_0x4a63bb,'waiting')||_0x38cb0e[_0x25f0ab(0x2fd)](_0x4a63bb,_0x38cb0e[_0x25f0ab(0x259)]))return await _0x3f4ad5[_0x25f0ab(0x2de)](),{'success':!![],'message':_0x25f0ab(0x285)+_0x358b7a+'\x20removed\x20(was\x20'+_0x4a63bb+')'};return{'success':![],'message':'Job\x20'+_0x358b7a+_0x25f0ab(0x2c9)+_0x4a63bb+')'};}}return{'success':![],'message':_0x25f0ab(0x285)+_0x358b7a+'\x20tidak\x20ditemukan'};}async[a0_0x990eac(0x239)](){const _0x100dd8=a0_0x990eac,_0x3ff272={'HojQo':'delayed','NfwkZ':_0x100dd8(0x331)},_0x2ff8a5={};for(const [_0x3efd7d,_0x21d0ef]of Object['entries'](this['queues'])){try{const _0x11f457=await _0x21d0ef[_0x100dd8(0x2da)](_0x100dd8(0x24f),'completed',_0x3ff272[_0x100dd8(0x288)],_0x100dd8(0x277),_0x100dd8(0x2a5),_0x3ff272['NfwkZ']);_0x2ff8a5[_0x3efd7d]=_0x11f457;}catch(_0x139f32){_0x2ff8a5[_0x3efd7d]={'error':_0x139f32['message']};}}const _0x26a55f={};for(const [_0x3ef038,_0x4bd6cc]of Object['entries'](this['workers'])){_0x26a55f[_0x3ef038]={'running':_0x4bd6cc['isRunning'](),'paused':_0x4bd6cc[_0x100dd8(0x292)]()};}return{'initialized':this[_0x100dd8(0x21f)],'registeredJobs':Object[_0x100dd8(0x23a)](this['jobConfigs'])[_0x100dd8(0x30c)],'redisConnections':this[_0x100dd8(0x2d5)]['length'],'queues':_0x2ff8a5,'workers':_0x26a55f};}async[a0_0x990eac(0x339)](_0x5292a5,_0x5723ba){const _0x32bb7c=a0_0x990eac,_0x4059fc={'ZwCLX':_0x32bb7c(0x2fa),'dliqG':function(_0xc4fa42,_0x3d4691){return _0xc4fa42-_0x3d4691;},'tkdVm':function(_0xbe7543,_0x438374){return _0xbe7543-_0x438374;},'DwdzC':function(_0x39bb81){return _0x39bb81();},'tyEgt':_0x32bb7c(0x28b),'dFvuC':'job-scheduler','qmWay':_0x32bb7c(0x2ab)},_0x48e7a3=logger[_0x32bb7c(0x206)]({'jobId':_0x5292a5['id'],'jobName':_0x5292a5[_0x32bb7c(0x231)]});_0x48e7a3[_0x32bb7c(0x2ae)]({'event':_0x4059fc['ZwCLX'],'attemptsMade':_0x5292a5['attemptsMade'],'duration':_0x5292a5['finishedOn']?_0x4059fc['dliqG'](_0x5292a5[_0x32bb7c(0x30a)],_0x5292a5[_0x32bb7c(0x22d)]):null},_0x32bb7c(0x26f)+_0x5292a5['name']);const _0x53cd69=this[_0x32bb7c(0x260)]['get'](_0x5292a5['id']);if(_0x53cd69){if(_0x53cd69['insertPromise'])await _0x53cd69['insertPromise'];const _0x39d03e=_0x5292a5[_0x32bb7c(0x30a)]&&_0x5292a5['processedOn']?_0x4059fc[_0x32bb7c(0x1fc)](_0x5292a5['finishedOn'],_0x5292a5['processedOn']):null,_0x1fb8c4=typeof _0x5723ba==='string'?_0x5723ba:_0x5723ba?JSON[_0x32bb7c(0x2d0)](_0x5723ba)[_0x32bb7c(0x1ff)](0x0,0x1f4):null;await this[_0x32bb7c(0x20b)](_0x53cd69[_0x32bb7c(0x216)],_0x39d03e,_0x1fb8c4);const _0x54a09d=await this[_0x32bb7c(0x28e)](_0x5292a5['name']);await this['updateRegistryCounters'](_0x5292a5['name'],_0x32bb7c(0x32c),_0x39d03e,_0x54a09d),this['activeHistoryIds']['delete'](_0x5292a5['id']);}const _0x29bc4f=_0x4059fc['DwdzC'](getComponentEngine);if(_0x29bc4f&&typeof _0x29bc4f['executeEventHandlers']==='function'){const _0x19b66b={'jobId':_0x5292a5['id'],'jobName':_0x5292a5[_0x32bb7c(0x231)],'result':_0x5723ba,'config':this[_0x32bb7c(0x28f)][_0x5292a5['name']]||{}};_0x29bc4f[_0x32bb7c(0x22f)](_0x32bb7c(0x2cf),_0x19b66b,![])[_0x32bb7c(0x2df)](_0x352e1d=>{const _0x2fec9a=_0x32bb7c;_0x48e7a3['warn']({'event':'after_job_complete_hook_error','error':_0x352e1d[_0x2fec9a(0x217)]},'onAfterJobComplete\x20handler\x20error\x20(non-blocking)');});}const _0x4953c9=this['getKafkaService']();if(_0x4953c9)try{await _0x4953c9['publishEvent'](_0x32bb7c(0x272),_0x4059fc['tyEgt'],null,{'jobId':_0x5292a5['id'],'name':_0x5292a5[_0x32bb7c(0x231)],'result':_0x5723ba},{'module':_0x4059fc[_0x32bb7c(0x27c)],'endpoint':_0x5292a5['name']});}catch(_0x13a426){_0x48e7a3[_0x32bb7c(0x23c)]({'event':_0x4059fc[_0x32bb7c(0x279)],'error':_0x13a426['message']},'Failed\x20to\x20publish\x20JOB_COMPLETED\x20to\x20Kafka');}}async[a0_0x990eac(0x290)](_0x30ddca,_0x42b181){const _0x150a7b=a0_0x990eac,_0x727b96={'sexOb':'after_job_failed_hook_error','gAaLJ':function(_0x16dbf2,_0x34d97f){return _0x16dbf2<_0x34d97f;},'WayZT':_0x150a7b(0x277),'TDPLh':function(_0xace46e){return _0xace46e();},'LlWgz':_0x150a7b(0x243),'hiroS':_0x150a7b(0x267),'mVTQR':'JOB_FAILED','qZLoF':'job-scheduler'},_0x1b698d=logger['child']({'jobId':_0x30ddca['id'],'jobName':_0x30ddca[_0x150a7b(0x231)]});_0x1b698d['error']({'event':'job_failed','attemptsMade':_0x30ddca['attemptsMade'],'failedReason':_0x42b181?.['message'],'willRetry':_0x727b96[_0x150a7b(0x23e)](_0x30ddca[_0x150a7b(0x2bc)],this[_0x150a7b(0x28f)][_0x30ddca['name']]?.[_0x150a7b(0x321)]?.[_0x150a7b(0x296)]||0x3)},_0x150a7b(0x2b5)+_0x30ddca[_0x150a7b(0x231)]+'\x20—\x20'+_0x42b181?.[_0x150a7b(0x217)]);const _0x1d4562=this['activeHistoryIds'][_0x150a7b(0x2ec)](_0x30ddca['id']);if(_0x1d4562){if(_0x1d4562['insertPromise'])await _0x1d4562['insertPromise'];const _0xda6955=_0x30ddca[_0x150a7b(0x30a)]&&_0x30ddca[_0x150a7b(0x22d)]?_0x30ddca[_0x150a7b(0x30a)]-_0x30ddca['processedOn']:null;await this['updateJobHistoryFailed'](_0x1d4562[_0x150a7b(0x216)],_0xda6955,_0x30ddca['progress'],_0x42b181?.[_0x150a7b(0x217)],_0x42b181?.[_0x150a7b(0x2eb)]);const _0x1567e1=await this[_0x150a7b(0x28e)](_0x30ddca[_0x150a7b(0x231)]);await this['updateRegistryCounters'](_0x30ddca['name'],_0x727b96['WayZT'],_0xda6955,_0x1567e1),this[_0x150a7b(0x260)]['delete'](_0x30ddca['id']);}const _0x40d85c=_0x727b96['TDPLh'](getComponentEngine);if(_0x40d85c&&typeof _0x40d85c[_0x150a7b(0x22f)]===_0x727b96[_0x150a7b(0x2d9)]){const _0x4057d1={'jobId':_0x30ddca['id'],'jobName':_0x30ddca[_0x150a7b(0x231)],'error':_0x42b181?.['message'],'attemptsMade':_0x30ddca[_0x150a7b(0x2bc)],'config':this['jobConfigs'][_0x30ddca[_0x150a7b(0x231)]]||{}};_0x40d85c[_0x150a7b(0x22f)](_0x727b96[_0x150a7b(0x27b)],_0x4057d1,![])[_0x150a7b(0x2df)](_0x49251e=>{const _0x4da1da=_0x150a7b;_0x1b698d['warn']({'event':_0x727b96['sexOb'],'error':_0x49251e[_0x4da1da(0x217)]},'onAfterJobFailed\x20handler\x20error\x20(non-blocking)');});}const _0x1ffec2=this['getKafkaService']();if(_0x1ffec2)try{await _0x1ffec2['publishEvent']('restforge.jobs.failed',_0x727b96['mVTQR'],null,{'jobId':_0x30ddca['id'],'name':_0x30ddca['name'],'error':_0x42b181?.['message'],'attemptsMade':_0x30ddca['attemptsMade']},{'module':_0x727b96[_0x150a7b(0x25c)],'endpoint':_0x30ddca[_0x150a7b(0x231)]});}catch(_0x20ad69){_0x1b698d['warn']({'event':_0x150a7b(0x2ab),'error':_0x20ad69['message']},'Failed\x20to\x20publish\x20JOB_FAILED\x20to\x20Kafka');}}[a0_0x990eac(0x325)](_0x34107e,_0x4a7085){const _0x44165b=a0_0x990eac;logger[_0x44165b(0x2e1)]({'event':_0x44165b(0x222),'jobId':_0x34107e['id'],'jobName':_0x34107e['name'],'progress':_0x4a7085},'Job\x20progress:\x20'+_0x34107e['name']+_0x44165b(0x27a)+_0x4a7085+'%');}}module['exports']=new JobManager();
|
|
1
|
+
const a0_0x3e2f79=a0_0x1aad;(function(_0x386bfd,_0x3b184d){const _0x44297a=a0_0x1aad,_0x5a289d=_0x386bfd();while(!![]){try{const _0xda6e93=parseInt(_0x44297a(0x19d))/0x1*(parseInt(_0x44297a(0x1ec))/0x2)+-parseInt(_0x44297a(0xee))/0x3+-parseInt(_0x44297a(0x1ca))/0x4*(-parseInt(_0x44297a(0x177))/0x5)+parseInt(_0x44297a(0x1b3))/0x6*(parseInt(_0x44297a(0x153))/0x7)+parseInt(_0x44297a(0xe1))/0x8*(parseInt(_0x44297a(0x1d1))/0x9)+-parseInt(_0x44297a(0xda))/0xa+-parseInt(_0x44297a(0x1e6))/0xb;if(_0xda6e93===_0x3b184d)break;else _0x5a289d['push'](_0x5a289d['shift']());}catch(_0x1da5d8){_0x5a289d['push'](_0x5a289d['shift']());}}}(a0_0x4f59,0x2475b));function a0_0x4f59(){const _0x54f54c=['zxHPC3rZu3LUyW','z2v0rgjvDgLSCW','zMfPBgvKuMvHC29U','igPVyIbJB25MAwCOCYKGzNjVBsbWyxLSB2fKl2PVyNmV','DgLTzxn0yw1W','C2v0','B25SAw5L','BwfW','sM9IignHBMnLBgXLzcb2AweGqvbj','y29UzMLNrMLSzq','AM9Ix3jLz2LZDhj5x29MzMXPBMvFzxjYB3i','DxbKyxrLuMvNAxn0CNLtDgf0Dxm','vK1uCNm','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGC3rHDhvZid0Gj29MzMXPBMuNlcbUzxH0x3j1BL9HDca9ie5vteWSihvWzgf0zwrFyxqGpsbtwvnusu1fu1rbtva','CuvmwgC','sK9cx1nuquXmrurFsu5urvjwquW','s2DOBvu','B3jHy2XL','DMfSAwq','Be1dyMm','BMv4Da','sM9Iie1HBMfNzxiGC3vKywGGzgLPBMLZAwfSAxnHC2KSihnRAxa','AwvnDuC','C3vIC3rYAw5N','Cgf1C2u','z2v0q2fJAgvnyw5Hz2vY','q2vsAum','rMveCg8','rKXZrfy','AM9Ix2vUC3vYzv90ywjSzxnFD2fYBG','zgvZy3jPChrPB24','AM9Ix3bYB2DYzxnZ','nZq1mZuZtgn4zuzy','B25kB2jgywLSzwq','y2f0y2G','z2v0q2XPzw50','Aw5JBhvKzxm','zxHLy3v0zuv2zw50sgfUzgXLCNm','BMfTzq','zhD3sgu','DgLTzxPVBMu','ywn0AxzL','y2XVC2u','rejFvfLqrq','Aw5PDgLHBgL6zwq','AM9Ix3DVCMTLCNnFy3jLyxrLza','B25kB2jqCM9NCMvZCW','BM93','Dw5RBM93BG','zw52','DLLeve8','u1fmihnJCMLWDcb0AwrHAYbKAxrLBxvRyw46ia','AM9Ix2HPC3rVCNLFzMfPBgvKx2vYCM9Y','qMTXr24','z2v0u3rHDgu','AM9Ix3jLz2LZDgvYx2zHAwXLza','AM9Ix21HBMfNzxjFywXYzwfKEv9PBML0AwfSAxPLza','igPVyIHZksbYzwDPC3rLCMvKlca','z1LoC1u','D2fYBG','CMy6','BxmPoIa','vezAvhu','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticG/lca/lca/lca/lca/lcaNCNvUBMLUzYCSid8Sid8Sid8Sie5pvYGPlca/lcbot1COksK','CxvPDa','uePhvNa','Aw5PDgLHBerLBgf5','AM9PBG','mtm0mduWs3z5Agfs','Aw5Zzxj0uhjVBwLZzq','DMfSAwrHDgvdB25MAwC','Bwf4qxr0zw1WDhm','AgLZDg9YEuLK','A09vuxi','sM9Iie1HBMfNzxiGCMvHzhK6ia','ChjVy2vZC2vKt24','uMvKAxmGy29UBMvJDgLVBIbMywLSzwq6ia','C29YDa','ifjLzgLZignVBM5Ly3rPB25Z','y3DK','AM9ICW','C3b0Ee8','wvvSr0m','yMfJA29MzG','AM9Ix2nVBxbSzxrLza','CxvLDwu','BxLZCwWUC3fS','y29TCgXLDgvK','sM9IihrPzgfRigrPDgvTDwTHBJOG','Aw5Zzxj0sM9IsgLZDg9YEq','ChjVz3jLC3m','DgLTzw91Da','sM9IigrPC3bHDgnOzwqGkgrLBgf5zwqG','qNDJDwy','zxHLy3v0zvrYyw5Zywn0Aw9U','BwLU','vhHQy1a','x3nVDxjJzuzPBgu','sM9IignVBxbSzxrLzdOG','AM9Iq29UzMLNCW','zgjFCgDFDw5HDMfPBgfIBgu','rMfPBgvKihrVihvWzgf0zsbQB2iGAgLZDg9YEsaOzMfPBgvKktOG','zw5ZDxjLvgfIBgvZ','AgfUzgXLCNm','ChvZAa','yM16rfK','mxrNqwnjwq','zwzLA2q','zgvSzxrL','zMLUAxnOzwrpBG','iokaLca','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNzMfPBgvKjYWGy29TCgXLDgvKx2f0id0GtK9xkcKScIaGicaGicaGicaGzhvYyxrPB25FBxmGpsa/lcbWCM9NCMvZCYa9id8SigvYCM9Yx21LC3nHz2uGpsa/lcbLCNjVCL9ZDgfJAYa9id8Gv0HfuKuGAwqGpsa/','q0Drrhe','Awf3Egi','ChvIBgLZAev2zw50','rMfPBgvKihrVihvWC2vYDcbQB2iGCMvNAxn0CNK6ia','zw5HyMXLza','AM9Ix3n0ywXSzwq','z2v0ug9VBa','rMfPBgvKihrVihb1yMXPC2GGsK9cx0nptvbmrvrfrcb0BYblywzRyq','yxr0zw1WDhnnywrL','yNvSBg1Xx3jLzgLZx2vYCM9Y','ywn0AxzLsgLZDg9YEuLKCW','B3jHy2XLlNnXBa','tMv5qvC','zgvMyxvSDa','rgzAzK4','r2TAt3G','nNzns2LXyq','lIbkB2iGu2nOzwr1BgvYihrPzgfRigfRyw4GywT0AwyU','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa/lcbSyxn0x2r1CMf0Aw9Ux21Zid0GpYWkicaGicaGicaGica','BwfUDwfS','uKvesvnFueftu1DpuKq','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticGKmsWGjdiSicqZlcaKncWGjduSicDYDw5UAw5NjYWGjdySicq3lcaKocWGtK9xkcKSicq5lcbot1COksK','sgfUzgXLCIb0AwrHAYbKAxrLBxvRyw4GDw50DwSGAM9IoIa','CMvHzezPBgvtEw5J','lI4VlI4VC2vYDMLJzxmVA2fMA2ftzxj2AwnL','y29UBMvJDgLVBNm','z2v0s2fMA2ftzxj2AwnL','AM9Ix3jLzgLZx2nVBM5Ly3rLza','CgHQtgS','ywrK','sK9cx0zbsuXfrf9srvrftLrjt05Fse9vuLm','z2v0uMvKAxndBgLLBNq','z2v0rgjuExbL','vgPcDwi','DxbZzxj0sM9IuMvNAxn0CNK','BgLZDfj1BM5PBMC','icHHDhrLBxb0ia','r0nuAuG','Aw5MBW','mJHVy1zYt0u','ihjLBw92zwqGkhDHCYa','vgrPDxC','q0zWr2O','zgvSyxLLza','y29TCg9Uzw50rw5NAw5L','zNvUy3rPB24','ou9tuvvmuG','zw50CMLLCW','sK9cx0nptKnvuLjftKnz','u1bgEhq','id0G','EuTzuKm','reflsxe','uKvesvnFue9sva','z2v0sM9ICW','CxvLDwvZ','txLtuuWGreiGBw9KDwXLig5VDcbHDMfPBgfIBgu','DxvPza','sM9Iihn0ywXSzwq6ia','CMv0CNK','Dvj3C0O','AM9Ix2rPC3bHDgnOzwq','wuvzB0q','Bg93','q3jVBIbYzwDPC3rLCMvKoIa','D29YA2LUz0rPCG','zwrZue0','mJe2mdy4nKHeqwvTrG','z2vPt2e','ChjVy2vZC0PVyG','zgf0yq','zMLSDgvY','zxHWB25LBNrPywW','ntiXmti0AM9dvKny','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa6msWGBgfZDf9YDw5FyxqGpsbtwvnusu1fu1rbtvaScIaGicaGicaGicaGDxbKyxrLzf9HDca9ifnzu1rjtuvtvefnucbxsevsrsbQB2jFBMfTzsa9idOY','vvLOtKu','sujPBuW','AM9Ix3jLzgLZx2zHAwXLza','AM9Ix3jLz2LZDhj5x2nVDw50zxjFzxjYB3i','rMfPBgvKihrVihnLDcbQB2jZig9MzMXPBMu6ia','Aw5PDgLHBgL6zq','DxbKyxrLuMvNAxn0CNLdB3vUDgvYCW','CgLK','v3HfzKi','Dg90ywXFC3vJy2vZCW','AxnsDw5UAw5N','ywz0zxjFAM9Ix2zHAwXLzf9OB29Rx2vYCM9Y','y3jLyxrLqNvSBe1rq29UBMvJDgLVBG','mZCYntaWAvzssgfg','Cgf0Aa','C3rHBgXLza','z2v0sgvHBhrOu3rHDhvZ','DxbKyxrLuhjVz3jLC3m','lI4VlI4VDxrPBhmVzgiTB3jHy2XL','lI4VlI4VDxrPBhmVzgiTBxLZCwW','mZiWnJr1AMnZweC','B3DxsNm','zw5KC1DPDgG','Bwv0ywrHDge','sK9cx0vwru5u','rM9SzgvYihbHEwXVywqVAM9ICY8GDgLKywSGzgL0zw11A2fU','Cvvuv3O','z2v0sM9Iu2nOzwr1BgvYCW','BgLMD00','wMz2BeC','AgfUzgXLCG','zxjYB3jZ','C3vJy2vZCW','nti3mteYDgzwueTA','t0Doufm','C3fSlxnJCMLWDhm','y3jVBG','DhLWzq','rvnYCgy','rMfPBgvKihrVihbHCNnLigPVyIbJB25MAwC6ia','BMT2the','sK9cx1jfvevoveLptL9it1vsuW','DgLTzxn0yw1WCW','Chzlq2S','yxbPlwrLBgf5zwq','BwvZC2fNzq','D2fPDgLUzW','CMv0DxjUDMfSDwu','DMfSDwvZ','mYbcDwXStveGv29YA2vYCYbJCMvHDgvKicHJB25JDxjYzw5JEtOG','CgLUzW','z2v0tMv4Dfj1BKzYB21cDwXStve','y2HPBgq','zMfPBgvK','C3bSAxq','EvveEwW','rejFvfLqrsaN','CMvNAxn0zxjkB2i','y0zyBha','ignHBMnLBgXLzcaOD2fZigfJDgL2zsK','t0P0qK4','DxbKyxrLsM9IsgLZDg9YEuzHAwXLza','AM9Ix2nVBMzPz19PBNzHBgLK','qMfJA2DYB3vUzcbPBNnLCNqGAM9IigHPC3rVCNKGzMfPBgvKoIa','B2zMBgLUzq','icHPzdOG','CMzXueq','B25bzNrLCKPVyKzHAwXLzcbOyw5KBgvYigvYCM9YicHUB24TyMXVy2TPBMCP','zxjYB3i','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','A0vJBfC','qNvSBe1rifjLzgLZignVBM5Ly3rPB24GzxjYB3i6ia','C2nOzwr1Bgu','lMPZ','C0fxzxG','B25bzNrLCKPVyKzHAwXLza','z2v0sgLZDg9YEq','sM9Iia','zxHLy3v0zvf1zxj5','BxLZCwW','BeDKwvm','sM9IignHBMnLBgXLzcbIEsbVBKjLzM9YzuPVyKv4zwn1Dgu6ia','AM9ItMfTzq','suLUzeC','D29YA2vYCW','yxr0zw1WDa','BgvUz3rO','tNrwrvu','AM9Ix2HPC3rVCNLFAw5Zzxj0x2vYCM9Y','BgLZDePVyNm','AM9Ix3f1zxvLC19JCMvHDgvK','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNC3vJy2vZCYCSignVBxbSzxrLzf9HDca9ie5pvYGPlaOGicaGicaGicaGigr1CMf0Aw9Ux21Zid0GjdeSihbYB2DYzxnZid0GmtaWlcbYzxn1BhrFC3vTBwfYEsa9icqYifDirvjfigLKid0Gjdm','DhjPBq','yxbP','AM9Ix2vUC3vYzv90ywjSzxnFzxjYB3i','C3jJ','Buryv3K','svHxwLO','lI4VlI4VDxrPBhmVy2fJAguTBwfUywDLCG','qNvSBe1rifjLzgLZignVBM5Ly3rPB24GDMvYAwzPzwq','DxrMoa','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsaKmsWGBgfZDf9YDw5FyxqGpsbot1COksWkicaGicaGicaGicb1CgrHDgvKx2f0id0GtK9xkcKGv0HfuKuGAM9Ix25HBwuGpsaKmG'];a0_0x4f59=function(){return _0x54f54c;};return a0_0x4f59();}const {Queue,Worker}=require('bullmq'),Redis=require('ioredis'),crypto=require('crypto'),{v7:uuidv7}=require(a0_0x3e2f79(0x1dc)),fs=require('fs'),path=require(a0_0x3e2f79(0xdb)),{logger}=require('../../utils/logger'),jobValidator=require('./job-validator');let componentEngine=null;function getComponentEngine(){const _0x94e953=a0_0x3e2f79,_0x4c3caf={'WxEfB':'../../utils/component-engine'};if(!componentEngine)try{const _0xf81587=require(_0x4c3caf[_0x94e953(0x1f6)]);componentEngine=_0xf81587[_0x94e953(0x1cf)]||_0xf81587;}catch(_0x381f79){}return componentEngine;}function a0_0x1aad(_0x1cfb0a,_0x30a244){_0x1cfb0a=_0x1cfb0a-0xd8;const _0x4f5941=a0_0x4f59();let _0x1aad94=_0x4f5941[_0x1cfb0a];if(a0_0x1aad['RQuxQe']===undefined){var _0x4976ff=function(_0x9f64ba){const _0x309aff='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xff2bb='',_0x48680e='';for(let _0x5a0c34=0x0,_0x5546e4,_0x1ecff0,_0x425a91=0x0;_0x1ecff0=_0x9f64ba['charAt'](_0x425a91++);~_0x1ecff0&&(_0x5546e4=_0x5a0c34%0x4?_0x5546e4*0x40+_0x1ecff0:_0x1ecff0,_0x5a0c34++%0x4)?_0xff2bb+=String['fromCharCode'](0xff&_0x5546e4>>(-0x2*_0x5a0c34&0x6)):0x0){_0x1ecff0=_0x309aff['indexOf'](_0x1ecff0);}for(let _0x3a1e9b=0x0,_0x5b9723=_0xff2bb['length'];_0x3a1e9b<_0x5b9723;_0x3a1e9b++){_0x48680e+='%'+('00'+_0xff2bb['charCodeAt'](_0x3a1e9b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x48680e);};a0_0x1aad['CHJVpc']=_0x4976ff,a0_0x1aad['xzlKzs']={},a0_0x1aad['RQuxQe']=!![];}const _0xb778ab=_0x4f5941[0x0],_0x3fb03f=_0x1cfb0a+_0xb778ab,_0x323423=a0_0x1aad['xzlKzs'][_0x3fb03f];return!_0x323423?(_0x1aad94=a0_0x1aad['CHJVpc'](_0x1aad94),a0_0x1aad['xzlKzs'][_0x3fb03f]=_0x1aad94):_0x1aad94=_0x323423,_0x1aad94;}class JobManager{constructor(){const _0x1103a0=a0_0x3e2f79,_0x3bf969={'qELXg':'4|1|5|0|3|6|2|7'},_0x55d982=_0x3bf969[_0x1103a0(0x141)]['split']('|');let _0x314ac8=0x0;while(!![]){switch(_0x55d982[_0x314ac8++]){case'0':this['handlers']={};continue;case'1':this['workers']={};continue;case'2':this[_0x1103a0(0x1e4)]=process[_0x1103a0(0x182)]();continue;case'3':this['connections']=[];continue;case'4':this['queues']={};continue;case'5':this['jobConfigs']={};continue;case'6':this['initialized']=![];continue;case'7':this[_0x1103a0(0x1ad)]=new Map();continue;}break;}}[a0_0x3e2f79(0xd9)](){const _0x151723=a0_0x3e2f79,_0x4052ae={'BUFEG':function(_0x16c42f,_0x3302aa,_0x3d8259){return _0x16c42f(_0x3302aa,_0x3d8259);},'KghmU':_0x151723(0x111)},_0x4ebe18=new Redis({'host':process[_0x151723(0x164)]['REDIS_HOST']||'localhost','port':_0x4052ae['BUFEG'](parseInt,process['env'][_0x151723(0x1d8)],0xa)||0x18ec,'password':process[_0x151723(0x164)][_0x151723(0x1b7)]||undefined,'db':_0x4052ae['BUFEG'](parseInt,process[_0x151723(0x164)]['REDIS_DB'],0xa)||0x0,'maxRetriesPerRequest':null,'retryStrategy'(_0x4a93da){const _0x19fe12=Math['min'](_0x4a93da*0x32,0x7d0);return _0x19fe12;}});return _0x4ebe18['on'](_0x4052ae[_0x151723(0x143)],_0x282055=>{const _0x24bcfa=_0x151723;logger['error']({'event':_0x24bcfa(0x1ac),'error':_0x282055[_0x24bcfa(0xfa)]},_0x24bcfa(0x114)+_0x282055['message']);}),this['connections'][_0x151723(0x19b)](_0x4ebe18),_0x4ebe18;}async[a0_0x3e2f79(0x1f3)](){const _0x3237c1=a0_0x3e2f79,_0x1c8dc1={'Tikds':_0x3237c1(0x1a8),'DfZfN':'bullmq_worker_error','JAfeV':_0x3237c1(0x16b),'Lwbax':_0x3237c1(0x148),'MbDQk':'job_manager_init_start','gThhK':'unknown','TxjcP':'default','TjBub':function(_0x317ecc,_0x53c774,_0x11fb41){return _0x317ecc(_0x53c774,_0x11fb41);},'igePj':function(_0x912e5a,_0x92ff94){return _0x912e5a*_0x92ff94;},'XPwEw':'high','POnQQ':'3\x20BullMQ\x20Queues\x20created\x20(high,\x20default,\x20low)','lhSfW':function(_0x2fbc20,_0x4b5a32,_0x121192){return _0x2fbc20(_0x4b5a32,_0x121192);},'lMCbc':'failed','NeyAW':'progress','NtVEU':_0x3237c1(0xdc),'YUlGC':_0x3237c1(0x160),'yKYRC':_0x3237c1(0x16a),'RzKFU':'job_manager_ready'};if(this[_0x3237c1(0x15f)]){logger['warn']({'event':_0x1c8dc1['JAfeV']},_0x1c8dc1['Lwbax']);return;}logger['info']({'event':_0x1c8dc1['MbDQk']},'Initializing\x20Job\x20Manager...');const _0x2af6fb=this[_0x3237c1(0xd9)]();try{await _0x2af6fb[_0x3237c1(0xff)](),logger[_0x3237c1(0x1c9)]({'event':_0x3237c1(0x1be)},_0x3237c1(0x130));}catch(_0x27828f){logger['error']({'event':_0x3237c1(0x1f0),'error':_0x27828f['message']},_0x3237c1(0x17f)+_0x27828f['message']+_0x3237c1(0x1b4));try{await _0x2af6fb[_0x3237c1(0x173)]();}catch(_0x2f508b){}this[_0x3237c1(0x1bc)]=this[_0x3237c1(0x1bc)]['filter'](_0x9cb274=>_0x9cb274!==_0x2af6fb);return;}try{await _0x2af6fb[_0x3237c1(0x173)]();}catch(_0x38dc58){}this[_0x3237c1(0x1bc)]=this['connections'][_0x3237c1(0x1ea)](_0x19c04b=>_0x19c04b!==_0x2af6fb);try{await this[_0x3237c1(0x199)]();}catch(_0x404267){logger['warn']({'event':_0x3237c1(0x12b),'error':_0x404267[_0x3237c1(0xfa)]},'Failed\x20to\x20ensure\x20job\x20tables:\x20'+_0x404267[_0x3237c1(0xfa)]+'.\x20DB\x20monitoring\x20disabled.');}const _0x4e3f1a=this['loadJobConfigs']();_0x4e3f1a['length']===0x0&&logger['info']({'event':'job_no_configs'},'Tidak\x20ada\x20job\x20config\x20ditemukan\x20di\x20payload/jobs/.\x20Job\x20Manager\x20aktif\x20tanpa\x20cron.');const _0x579883=[];for(const _0x28677b of _0x4e3f1a){const _0x4a61aa=jobValidator[_0x3237c1(0x179)](_0x28677b,this[_0x3237c1(0x1e4)]);_0x4a61aa[_0x3237c1(0x145)]?_0x579883['push'](_0x28677b):logger[_0x3237c1(0x111)]({'event':_0x3237c1(0x10b),'name':_0x28677b['name']||_0x1c8dc1['gThhK'],'errors':_0x4a61aa[_0x3237c1(0xec)]},'Job\x20config\x20invalid:\x20'+(_0x28677b[_0x3237c1(0x159)]||_0x3237c1(0x163))+'\x20—\x20'+_0x4a61aa[_0x3237c1(0xec)]['join'](';\x20'));}const _0x152e8b=process[_0x3237c1(0x164)][_0x3237c1(0x112)]||_0x1c8dc1[_0x3237c1(0x193)],_0x24a528=process['env']['JOB_REDIS_PREFIX']||_0x3237c1(0x16f)+_0x152e8b+':job',_0x243d80=parseInt(process[_0x3237c1(0x164)][_0x3237c1(0xf6)],0xa)||0x48,_0x353330=_0x1c8dc1[_0x3237c1(0x1c4)](parseInt,process['env'][_0x3237c1(0x1c1)],0xa)||0xa8,_0x43be6e={'removeOnComplete':{'age':_0x243d80*0xe10},'removeOnFail':{'age':_0x1c8dc1['igePj'](_0x353330,0xe10)}},_0x56be78={'high-priority':_0x1c8dc1['XPwEw'],'default':_0x3237c1(0x1b0),'low-priority':_0x3237c1(0x1e2)};for(const [_0x1e7018,_0x4cac18]of Object['entries'](_0x56be78)){this[_0x3237c1(0x1da)][_0x1e7018]=new Queue(_0x4cac18,{'connection':this[_0x3237c1(0xd9)](),'prefix':_0x24a528,'defaultJobOptions':_0x43be6e});}logger['info']({'event':_0x3237c1(0x127),'count':0x3},_0x1c8dc1['POnQQ']);const _0x54c359=_0x1c8dc1['TjBub'](parseInt,process[_0x3237c1(0x164)][_0x3237c1(0x1d3)],0xa)||0x5,_0x1b8ad7=_0x1c8dc1['lhSfW'](parseInt,process[_0x3237c1(0x164)][_0x3237c1(0x142)],0xa)||0x7530,_0x2bc8ec=parseInt(process[_0x3237c1(0x164)]['JOB_MAX_STALLED_COUNT'],0xa)||0x2;for(const [_0x571f4e,_0x57f7a1]of Object['entries'](_0x56be78)){const _0xb235db=new Worker(_0x57f7a1,async _0x47d897=>this['processJob'](_0x47d897),{'connection':this['createBullMQConnection'](),'prefix':_0x24a528,'concurrency':_0x54c359,'stalledInterval':_0x1b8ad7,'maxStalledCount':_0x2bc8ec});_0xb235db['on']('completed',(_0x2d79df,_0x2c7492)=>this['onJobCompleted'](_0x2d79df,_0x2c7492)),_0xb235db['on'](_0x1c8dc1[_0x3237c1(0x146)],(_0x32776a,_0x384179)=>this['onJobFailed'](_0x32776a,_0x384179)),_0xb235db['on'](_0x1c8dc1[_0x3237c1(0x1af)],(_0x3f026a,_0xc94e92)=>this[_0x3237c1(0x161)](_0x3f026a,_0xc94e92)),_0xb235db['on'](_0x1c8dc1[_0x3237c1(0x124)],_0x507e04=>{const _0x561174=_0x3237c1;logger['warn']({'event':_0x1c8dc1['Tikds'],'jobId':_0x507e04},_0x561174(0x1dd)+_0x507e04);}),_0xb235db['on'](_0x3237c1(0x111),_0x42adeb=>{const _0x3f2cfb=_0x3237c1;logger[_0x3f2cfb(0x111)]({'event':_0x1c8dc1[_0x3f2cfb(0x1b1)],'queue':_0x571f4e,'error':_0x42adeb['message']},'BullMQ\x20Worker\x20error\x20('+_0x571f4e+'):\x20'+_0x42adeb[_0x3f2cfb(0xfa)]);}),this[_0x3237c1(0x121)][_0x571f4e]=_0xb235db;}logger[_0x3237c1(0x1c9)]({'event':_0x1c8dc1[_0x3237c1(0x185)],'count':0x3,'concurrency':_0x54c359},_0x3237c1(0xfe)+_0x54c359+')');let _0x11e31e=0x0;for(const _0x2db26e of _0x579883){try{await this[_0x3237c1(0x106)](_0x2db26e),_0x11e31e++;}catch(_0x4a2600){logger[_0x3237c1(0x111)]({'event':_0x1c8dc1[_0x3237c1(0x1d6)],'name':_0x2db26e['name'],'error':_0x4a2600[_0x3237c1(0xfa)]},'Failed\x20to\x20register\x20job:\x20'+_0x2db26e[_0x3237c1(0x159)]+'\x20—\x20'+_0x4a2600['message']);}}this['initialized']=!![];const _0xad9908=this['connections']['length'];logger[_0x3237c1(0x1c9)]({'event':_0x1c8dc1['RzKFU'],'registeredJobs':_0x11e31e,'totalConfigs':_0x579883['length'],'redisConnections':_0xad9908},_0x3237c1(0x17d)+_0x11e31e+_0x3237c1(0x16c)+_0xad9908+_0x3237c1(0x181));}async['shutdown'](){const _0x5f432d=a0_0x3e2f79,_0x4eb835={'RqbKS':function(_0x3eccb8,_0x1ce2da,_0x2b931b){return _0x3eccb8(_0x1ce2da,_0x2b931b);},'MXrPm':_0x5f432d(0x15c)};if(!this[_0x5f432d(0x15f)])return;const _0x1cd988=_0x4eb835['RqbKS'](parseInt,process[_0x5f432d(0x164)]['JOB_SHUTDOWN_TIMEOUT'],0xa)||0x2710;logger['info']({'event':'job_manager_shutdown_start','timeoutMs':_0x1cd988},'Job\x20Manager\x20shutting\x20down\x20(timeout:\x20'+_0x1cd988+'ms)...');const _0x34c228=Object['values'](this[_0x5f432d(0x121)])[_0x5f432d(0x13a)](async _0x41bcdd=>{const _0x5f1a1a=_0x5f432d;try{await _0x41bcdd[_0x5f1a1a(0x14b)]();}catch(_0x2bb34e){}});await Promise['all'](_0x34c228);const _0x5f4293=Date[_0x5f432d(0x162)]();while(Date['now']()-_0x5f4293<_0x1cd988){let _0x1d9853=0x0;for(const _0x6b11aa of Object[_0x5f432d(0xfd)](this['queues'])){try{const _0x23e152=await _0x6b11aa['getJobCounts'](_0x4eb835['MXrPm']);_0x1d9853+=_0x23e152['active']||0x0;}catch(_0x4b0eba){}}if(_0x1d9853===0x0)break;await new Promise(_0x192243=>setTimeout(_0x192243,0x1f4));}const _0x5469fa=Object['values'](this['workers'])['map'](async _0xe841af=>{try{await _0xe841af['close']();}catch(_0x41b257){}});await Promise['all'](_0x5469fa);const _0x3d1418=Object['values'](this[_0x5f432d(0x1da)])['map'](async _0x8415ad=>{const _0x169fc2=_0x5f432d;try{await _0x8415ad[_0x169fc2(0x15d)]();}catch(_0x1c7d1a){}});await Promise['all'](_0x3d1418);for(const _0x2d189d of this[_0x5f432d(0x1bc)]){try{await _0x2d189d['quit']();}catch(_0x259e57){}}this[_0x5f432d(0x1da)]={},this['workers']={},this[_0x5f432d(0x1bc)]=[],await this['setAllJobsOffline'](),this['activeHistoryIds']['clear'](),this['initialized']=![],logger['info']({'event':'job_manager_shutdown_complete'},'Job\x20Manager\x20shutdown\x20complete');}['loadJobConfigs'](){const _0x35a899=a0_0x3e2f79,_0x2d2375={'ttocY':'payload','lQahE':'utf8'},_0x33f4d3=path[_0x35a899(0x176)](this['workingDir'],_0x2d2375['ttocY'],'jobs');if(!fs['existsSync'](_0x33f4d3))return logger['info']({'event':'job_config_dir_missing','path':_0x33f4d3},_0x35a899(0xe6)),[];const _0x362978=fs['readdirSync'](_0x33f4d3)['filter'](_0x43525c=>_0x43525c[_0x35a899(0xe3)]('.json')),_0x121b3a=[];for(const _0x37fadf of _0x362978){const _0x5805c4=path['join'](_0x33f4d3,_0x37fadf);try{const _0x4c0bd6=fs[_0x35a899(0x1ba)](_0x5805c4,_0x2d2375['lQahE']),_0xe1d9a2=JSON['parse'](_0x4c0bd6);_0xe1d9a2['_sourceFile']=_0x37fadf,_0x121b3a[_0x35a899(0x19b)](_0xe1d9a2);}catch(_0x107d38){logger[_0x35a899(0x111)]({'event':'job_config_parse_error','file':_0x37fadf,'error':_0x107d38[_0x35a899(0xfa)]},_0x35a899(0xf4)+_0x37fadf+_0x35a899(0x1a1)+_0x107d38['message']);}}return logger[_0x35a899(0x1c9)]({'event':'job_configs_loaded','count':_0x121b3a['length']},'Loaded\x20'+_0x121b3a['length']+_0x35a899(0x136)),_0x121b3a;}async[a0_0x3e2f79(0x106)](_0x2fd6f1){const _0x2d4eda=a0_0x3e2f79,_0x4843d3={'bGcCe':_0x2d4eda(0x12c),'FAaJC':function(_0x34ec2c,_0x38b1ed){return _0x34ec2c(_0x38b1ed);},'qmeuw':function(_0x21bbc6,_0x11a448){return _0x21bbc6===_0x11a448;},'rfqPD':_0x2d4eda(0xf1),'WsNWy':function(_0xc8e4a2,_0x3bd981){return _0xc8e4a2!==_0x3bd981;},'YRaSi':'default','GSVdk':function(_0xe92d78,_0x4108c6){return _0xe92d78!==_0x4108c6;},'qUTWz':_0x2d4eda(0x139),'EbBKY':_0x2d4eda(0x10d)},_0x4d70f0=path[_0x2d4eda(0x176)](this[_0x2d4eda(0x1e4)],_0x4843d3['bGcCe'],_0x2d4eda(0x183),_0x2fd6f1['handler']+_0x2d4eda(0x116));this[_0x2d4eda(0x19a)][_0x2fd6f1[_0x2d4eda(0x159)]]=_0x4843d3['FAaJC'](require,_0x4d70f0),this[_0x2d4eda(0x196)][_0x2fd6f1['name']]=_0x2fd6f1;if(_0x4843d3['qmeuw'](_0x2fd6f1[_0x2d4eda(0xf2)],_0x4843d3[_0x2d4eda(0x10f)])&&_0x4843d3['WsNWy'](_0x2fd6f1['enabled'],![])){const _0xb0855e=this[_0x2d4eda(0x1da)][_0x2fd6f1[_0x2d4eda(0x188)]||'default'];await _0xb0855e['upsertJobScheduler'](_0x2fd6f1['name'],{'pattern':_0x2fd6f1['schedule'],'tz':_0x2fd6f1[_0x2d4eda(0x15b)]||undefined},{'name':_0x2fd6f1[_0x2d4eda(0x159)],'data':{'handler':_0x2fd6f1[_0x2d4eda(0xeb)],'triggeredBy':_0x2d4eda(0xf1),'metadata':_0x2fd6f1[_0x2d4eda(0xe4)]||{}},'opts':{'attempts':_0x2fd6f1[_0x2d4eda(0x1de)]?.['maxAttempts']||0x3,'backoff':{'type':_0x2fd6f1['retry']?.['backoff']||_0x2d4eda(0x1eb),'delay':_0x2fd6f1['retry']?.[_0x2d4eda(0x175)]||0x1388},'timeout':_0x2fd6f1['timeout']||0x7530}}),logger['info']({'event':'cron_registered','name':_0x2fd6f1[_0x2d4eda(0x159)],'schedule':_0x2fd6f1['schedule'],'queue':_0x2fd6f1['queue']||_0x4843d3['YRaSi']},_0x2d4eda(0x1e3)+_0x2fd6f1['name']+'\x20['+_0x2fd6f1[_0x2d4eda(0x115)]+']');}const _0xb0a8ba=_0x2fd6f1['type']==='cron'&&_0x4843d3['GSVdk'](_0x2fd6f1['enabled'],![])?_0x4843d3['qUTWz']:_0x4843d3['EbBKY'];let _0x4123da=null;_0x4843d3['qmeuw'](_0xb0a8ba,_0x4843d3[_0x2d4eda(0xe7)])&&(_0x4123da=await this['getNextRunFromBullMQ'](_0x2fd6f1[_0x2d4eda(0x159)])),await this['upsertJobRegistry'](_0x2fd6f1,_0xb0a8ba,_0x4123da);}async[a0_0x3e2f79(0x1e8)](_0x23876e){const _0x19af03=a0_0x3e2f79,_0x38e45f={'UYhNE':function(_0x21b1e5,_0x388932){return _0x21b1e5+_0x388932;},'mDXWy':'unknown','bmzDY':function(_0x1fca56){return _0x1fca56();},'Sbkuv':_0x19af03(0xf9),'cpPTy':'delayed','GAcSW':function(_0x48f031,_0x294504){return _0x48f031===_0x294504;},'fVoMl':function(_0x4df3b6,_0x5052eb){return _0x4df3b6===_0x5052eb;},'xLZat':function(_0x424f68){return _0x424f68();},'edsPM':function(_0x3588dd,_0x3c3293){return _0x3588dd===_0x3c3293;},'BkqGn':_0x19af03(0x1d0),'geiOa':'onBeforeJobExecute','VMTrs':function(_0xa744b8,_0x50c00a){return _0xa744b8(_0x50c00a);}},_0x2f67ee=this[_0x19af03(0x196)][_0x23876e[_0x19af03(0x159)]],_0x4ace22=this['handlers'][_0x23876e[_0x19af03(0x159)]];if(!_0x4ace22)throw new Error(_0x19af03(0x1b9)+_0x23876e[_0x19af03(0x159)]);const _0x2df705=logger[_0x19af03(0x101)]({'jobId':_0x23876e['id'],'jobName':_0x23876e[_0x19af03(0x159)]});_0x2df705['info']({'event':'job_started','attempt':_0x38e45f[_0x19af03(0x1ee)](_0x23876e[_0x19af03(0x1ab)],0x1),'triggeredBy':_0x23876e[_0x19af03(0x1e9)]?.['triggeredBy']||_0x38e45f[_0x19af03(0x12d)]},'Job\x20started:\x20'+_0x23876e[_0x19af03(0x159)]+_0x19af03(0x1c7)+(_0x23876e[_0x19af03(0x1ab)]+0x1)+')');const _0x1a162e=_0x38e45f[_0x19af03(0x19c)](uuidv7),_0x4c6377=_0x23876e[_0x19af03(0x1e9)]?.['triggeredBy']||_0x38e45f['mDXWy'],_0x5951ea=this[_0x19af03(0x18c)]({'id':_0x1a162e,'jobName':_0x23876e['name'],'bullmqJobId':_0x23876e['id'],'triggerType':_0x4c6377===_0x38e45f['Sbkuv']?_0x38e45f['cpPTy']:_0x38e45f['GAcSW'](_0x4c6377,_0x19af03(0x12a))?_0x19af03(0x1b6):'cron','triggeredBy':_0x38e45f['fVoMl'](_0x4c6377,_0x19af03(0xf1))?'system':_0x4c6377,'queue':_0x2f67ee?.['queue']||_0x19af03(0x1b0),'attempt':_0x23876e['attemptsMade']+0x1,'configFile':_0x2f67ee?.[_0x19af03(0x194)]||null})['catch'](_0x390faa=>{const _0x392441=_0x19af03;_0x2df705[_0x392441(0x16e)]({'event':'job_history_insert_bg_error','error':_0x390faa[_0x392441(0xfa)]},_0x392441(0x10c)+_0x390faa['message']);});this['activeHistoryIds'][_0x19af03(0x138)](_0x23876e['id'],{'historyId':_0x1a162e,'insertPromise':_0x5951ea});const _0x8eeaa9=this['buildContext'](_0x23876e,_0x2f67ee,_0x2df705),_0x41fff4=_0x38e45f['xLZat'](getComponentEngine);if(_0x41fff4&&_0x38e45f[_0x19af03(0x1e5)](typeof _0x41fff4['executeEventHandlers'],_0x38e45f[_0x19af03(0x168)])){const _0x1470b4=await _0x41fff4[_0x19af03(0x158)](_0x38e45f[_0x19af03(0x1e7)],_0x8eeaa9,!![]);if(!_0x1470b4[_0x19af03(0xed)])throw new Error(_0x19af03(0x11e)+_0x1470b4[_0x19af03(0x111)]);}const _0x21299f=await _0x38e45f[_0x19af03(0x13f)](_0x4ace22,_0x8eeaa9);return _0x2df705['info']({'event':'job_handler_done','result':_0x21299f},'Job\x20handler\x20completed:\x20'+_0x23876e[_0x19af03(0x159)]),_0x21299f;}['buildContext'](_0x24351b,_0x4a6cf5,_0x43a9b2){const _0x62e169=a0_0x3e2f79,_0x205399={'kEclW':_0x62e169(0xe5),'lGdYS':function(_0x1b95fd,_0x5f2e19){return _0x1b95fd+_0x5f2e19;},'xzZPP':function(_0x202be1,_0x183548){return _0x202be1||_0x183548;}};return{'jobId':_0x24351b['id'],'jobName':_0x24351b['name'],'attempt':_0x205399[_0x62e169(0x11d)](_0x24351b[_0x62e169(0x1ab)],0x1),'maxAttempts':_0x4a6cf5?.[_0x62e169(0x1de)]?.['maxAttempts']||0x3,'payload':_0x24351b['data']||{},'config':_0x205399['xzZPP'](_0x4a6cf5,{}),'db':this['getDbUtils'](),'redis':this['getRedisClient'](),'logger':_0x43a9b2,'kafka':this[_0x62e169(0x1bd)](),'cache':this['getCacheManager'](),'updateProgress':async _0x4d6d05=>{const _0x5e9c9d=_0x62e169;await _0x24351b[_0x5e9c9d(0xde)](_0x4d6d05);},'emit':async(_0x4d146f,_0x47e598)=>{const _0x12f76a=_0x62e169,_0x8f2d61=this[_0x12f76a(0x1bd)]();_0x8f2d61&&await _0x8f2d61[_0x12f76a(0x1a5)](_0x4d146f,_0x205399[_0x12f76a(0x113)],null,_0x47e598,{'module':'job-scheduler','endpoint':_0x24351b['name']});},'job':_0x24351b};}['getDbType'](){const _0x183cda=a0_0x3e2f79,_0x43ac2f={'TFZTu':'postgresql'};return(process['env'][_0x183cda(0x15e)]||_0x43ac2f[_0x183cda(0x171)])['toLowerCase']();}async['ensureTables'](){const _0x2a9464=a0_0x3e2f79,_0x496493={'ESrpf':'job_db_unavailable','CGQDq':_0x2a9464(0x1ae),'ZfvlG':'job_db_type_unsupported','phjLk':'job_sql_not_found','KfDEX':'ora-00955','owWJs':'duplicate'},_0x3795be=this[_0x2a9464(0x134)]();if(!_0x3795be){logger['warn']({'event':_0x496493[_0x2a9464(0xf3)]},'Database\x20tidak\x20tersedia,\x20skip\x20auto-create\x20job\x20tables');return;}const _0x925141=this[_0x2a9464(0x1c3)](),_0x2d25f8={'postgresql':'postgresql.sql','oracle':_0x496493[_0x2a9464(0x1a3)],'mysql':_0x2a9464(0x189)},_0x2e36e6=_0x2d25f8[_0x925141];if(!_0x2e36e6){logger[_0x2a9464(0x16e)]({'event':_0x496493[_0x2a9464(0xea)],'dbType':_0x925141},_0x2a9464(0x105)+_0x925141+'\x27\x20tidak\x20didukung\x20untuk\x20job\x20monitoring\x20tables');return;}const _0x195627=path['join'](__dirname,_0x2a9464(0xf0),_0x2e36e6);if(!fs[_0x2a9464(0x133)](_0x195627)){logger[_0x2a9464(0x16e)]({'event':_0x496493[_0x2a9464(0x1bf)],'path':_0x195627},_0x2a9464(0x166)+_0x195627);return;}const _0x4641e1=fs['readFileSync'](_0x195627,_0x2a9464(0x131)),_0x5b56fb=this['splitSqlStatements'](_0x4641e1,_0x925141);let _0x187d60=0x0;for(const _0x23ccdf of _0x5b56fb){try{await _0x3795be[_0x2a9464(0x11b)](_0x23ccdf),_0x187d60++;}catch(_0xbe027c){const _0x4a4b83=(_0xbe027c['message']||'')['toLowerCase'](),_0x4c41b7=_0x4a4b83['includes']('already\x20exists')||_0x4a4b83['includes'](_0x496493['KfDEX'])||_0x4a4b83[_0x2a9464(0x157)](_0x496493[_0x2a9464(0xe2)]);!_0x4c41b7&&logger['warn']({'event':_0x2a9464(0x150),'error':_0xbe027c[_0x2a9464(0xfa)]},'Job\x20ensureTables\x20warning:\x20'+_0xbe027c[_0x2a9464(0xfa)]);}}logger['info']({'event':'job_tables_ensured','dbType':_0x925141,'executed':_0x187d60},'Job\x20monitoring\x20tables\x20ensured\x20('+_0x925141+')');}['splitSqlStatements'](_0x291ce3,_0x26ab8b){const _0x381465={'aBlnd':function(_0x49e640,_0xce593c){return _0x49e640===_0xce593c;},'HWPDy':function(_0x566c21,_0x3af412){return _0x566c21>_0x3af412;}};let _0xceabf;return _0x26ab8b==='oracle'?_0xceabf=_0x291ce3['split'](/\n\/\s*(?:\n|$)/):_0xceabf=_0x291ce3['split'](/;\s*(?:\n|$)/),_0xceabf['map'](_0x107c7a=>_0x107c7a['trim']())['filter'](_0xe7e978=>{const _0x12094f=a0_0x1aad;if(_0x381465['aBlnd'](_0xe7e978['length'],0x0))return![];const _0x5e25b0=_0xe7e978[_0x12094f(0x103)]('\x0a')['filter'](_0x23482b=>!_0x23482b[_0x12094f(0x129)]()['startsWith']('--')&&_0x23482b[_0x12094f(0x129)]()['length']>0x0);return _0x381465['HWPDy'](_0x5e25b0['length'],0x0);});}async[a0_0x3e2f79(0x1c5)](_0x4cc42d,_0xc1a1d='online',_0x21aea4=null){const _0x724dc=a0_0x3e2f79,_0x2cba37={'IXWZZ':_0x724dc(0x1eb),'iawxb':function(_0x1115d2,_0x54fcc2){return _0x1115d2===_0x54fcc2;}},_0x261f6b=this['getDbUtils']();if(!_0x261f6b)return;const _0x48adfc=this[_0x724dc(0x1c3)](),_0x5a6076=[_0x4cc42d[_0x724dc(0x159)],_0x4cc42d['description']||_0x4cc42d['name'],_0x4cc42d['type']||_0x724dc(0xf1),_0x4cc42d['schedule']||null,_0x4cc42d[_0x724dc(0x188)]||_0x724dc(0x1b0),_0x4cc42d[_0x724dc(0xeb)],_0x4cc42d['_sourceFile']||'',_0x4cc42d['timeout']||0x7530,_0x4cc42d[_0x724dc(0x1de)]?.['maxAttempts']||0x3,_0x4cc42d['retry']?.['backoff']||_0x2cba37[_0x724dc(0x12e)],_0xc1a1d,_0x21aea4];try{if(_0x48adfc===_0x724dc(0x144))await _0x261f6b[_0x724dc(0x11b)]('MERGE\x20INTO\x20job_registry\x20r\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20USING\x20(SELECT\x20:1\x20AS\x20jn\x20FROM\x20DUAL)\x20s\x20ON\x20(r.job_name\x20=\x20s.jn)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHEN\x20MATCHED\x20THEN\x20UPDATE\x20SET\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display_name\x20=\x20:2,\x20type\x20=\x20:3,\x20schedule\x20=\x20:4,\x20queue\x20=\x20:5,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20handler\x20=\x20:6,\x20config_file\x20=\x20:7,\x20timeout\x20=\x20:8,\x20retry_max\x20=\x20:9,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20retry_backoff\x20=\x20:10,\x20status\x20=\x20:11,\x20next_run_at\x20=\x20:12,\x20updated_at\x20=\x20SYSTIMESTAMP\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHEN\x20NOT\x20MATCHED\x20THEN\x20INSERT\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(job_name,\x20display_name,\x20type,\x20schedule,\x20queue,\x20handler,\x20config_file,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout,\x20retry_max,\x20retry_backoff,\x20status,\x20next_run_at,\x20created_at,\x20updated_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(:1,\x20:2,\x20:3,\x20:4,\x20:5,\x20:6,\x20:7,\x20:8,\x20:9,\x20:10,\x20:11,\x20:12,\x20SYSTIMESTAMP,\x20SYSTIMESTAMP)',_0x5a6076);else _0x2cba37[_0x724dc(0x1a4)](_0x48adfc,_0x724dc(0x11c))?await _0x261f6b['executeQuery']('INSERT\x20INTO\x20job_registry\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(job_name,\x20display_name,\x20type,\x20schedule,\x20queue,\x20handler,\x20config_file,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout,\x20retry_max,\x20retry_backoff,\x20status,\x20next_run_at,\x20created_at,\x20updated_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20NOW(),\x20NOW())\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20DUPLICATE\x20KEY\x20UPDATE\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display_name\x20=\x20VALUES(display_name),\x20type\x20=\x20VALUES(type),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20schedule\x20=\x20VALUES(schedule),\x20queue\x20=\x20VALUES(queue),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20handler\x20=\x20VALUES(handler),\x20config_file\x20=\x20VALUES(config_file),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout\x20=\x20VALUES(timeout),\x20retry_max\x20=\x20VALUES(retry_max),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20retry_backoff\x20=\x20VALUES(retry_backoff),\x20status\x20=\x20VALUES(status),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20VALUES(next_run_at)',_0x5a6076):await _0x261f6b['executeQuery']('INSERT\x20INTO\x20job_registry\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(job_name,\x20display_name,\x20type,\x20schedule,\x20queue,\x20handler,\x20config_file,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout,\x20retry_max,\x20retry_backoff,\x20status,\x20next_run_at,\x20created_at,\x20updated_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20($1,\x20$2,\x20$3,\x20$4,\x20$5,\x20$6,\x20$7,\x20$8,\x20$9,\x20$10,\x20$11,\x20$12,\x20NOW(),\x20NOW())\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20CONFLICT\x20(job_name)\x20DO\x20UPDATE\x20SET\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display_name\x20=\x20EXCLUDED.display_name,\x20type\x20=\x20EXCLUDED.type,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20schedule\x20=\x20EXCLUDED.schedule,\x20queue\x20=\x20EXCLUDED.queue,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20handler\x20=\x20EXCLUDED.handler,\x20config_file\x20=\x20EXCLUDED.config_file,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout\x20=\x20EXCLUDED.timeout,\x20retry_max\x20=\x20EXCLUDED.retry_max,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20retry_backoff\x20=\x20EXCLUDED.retry_backoff,\x20status\x20=\x20EXCLUDED.status,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20EXCLUDED.next_run_at,\x20updated_at\x20=\x20NOW()',_0x5a6076);}catch(_0x5e40d0){logger['warn']({'event':'job_registry_upsert_error','name':_0x4cc42d[_0x724dc(0x159)],'error':_0x5e40d0[_0x724dc(0xfa)]},_0x724dc(0x1a6)+_0x4cc42d[_0x724dc(0x159)]+_0x724dc(0x1a1)+_0x5e40d0['message']);}}async[a0_0x3e2f79(0x18c)](_0x45ae28){const _0x5b27eb=a0_0x3e2f79,_0x385a36={'gYNsU':'cron','hXaAe':function(_0x5a2778,_0x1f776d){return _0x5a2778===_0x1f776d;},'EPtfy':_0x5b27eb(0x11c),'iVFtF':_0x5b27eb(0x125)},_0x3f084d=this[_0x5b27eb(0x134)]();if(!_0x3f084d)return;const _0x3dbfa0=this['getDbType'](),_0x2dbfc4=[_0x45ae28['id'],_0x45ae28[_0x5b27eb(0x11f)],_0x45ae28['bullmqJobId']||null,_0x45ae28['triggerType']||_0x385a36[_0x5b27eb(0x16d)],_0x45ae28['triggeredBy']||'system',_0x45ae28['queue']||_0x5b27eb(0x1b0),_0x45ae28[_0x5b27eb(0x122)]||0x1,_0x45ae28[_0x5b27eb(0x13c)]||null,process[_0x5b27eb(0x1f5)]];try{if(_0x385a36['hXaAe'](_0x3dbfa0,_0x5b27eb(0x144)))await _0x3f084d['executeQuery']('INSERT\x20INTO\x20job_history\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(id,\x20job_name,\x20bullmq_job_id,\x20trigger_type,\x20triggered_by,\x20status,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20queue,\x20attempt,\x20config_file,\x20started_at,\x20worker_pid,\x20created_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(:1,\x20:2,\x20:3,\x20:4,\x20:5,\x20\x27running\x27,\x20:6,\x20:7,\x20:8,\x20SYSTIMESTAMP,\x20:9,\x20SYSTIMESTAMP)',_0x2dbfc4);else _0x3dbfa0===_0x385a36['EPtfy']?await _0x3f084d[_0x5b27eb(0x11b)](_0x5b27eb(0x172),_0x2dbfc4):await _0x3f084d['executeQuery'](_0x5b27eb(0x1b8),_0x2dbfc4);await this[_0x5b27eb(0x13e)](_0x45ae28['jobName'],'running');}catch(_0x116ec1){logger['warn']({'event':_0x385a36['iVFtF'],'jobName':_0x45ae28['jobName'],'error':_0x116ec1[_0x5b27eb(0xfa)]},'Failed\x20to\x20insert\x20job\x20history:\x20'+_0x116ec1['message']);}}async['updateJobHistoryCompleted'](_0x43cc5c,_0x56c92f,_0x323895){const _0x5aee66=a0_0x3e2f79,_0x24954c={'lcVeV':'mysql'},_0xf1e471=this[_0x5aee66(0x134)]();if(!_0xf1e471)return;const _0x37644b=this[_0x5aee66(0x1c3)](),_0x478133=_0x323895?String(_0x323895)[_0x5aee66(0x14a)](0x0,0x1f4):null;try{if(_0x37644b==='oracle')await _0xf1e471[_0x5aee66(0x11b)]('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27success\x27,\x20completed_at\x20=\x20SYSTIMESTAMP,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20:1,\x20progress\x20=\x20100,\x20result_summary\x20=\x20:2\x20WHERE\x20id\x20=\x20:3',[_0x56c92f,_0x478133,_0x43cc5c]);else _0x37644b===_0x24954c['lcVeV']?await _0xf1e471[_0x5aee66(0x11b)]('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27success\x27,\x20completed_at\x20=\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20?,\x20progress\x20=\x20100,\x20result_summary\x20=\x20?\x20WHERE\x20id\x20=\x20?',[_0x56c92f,_0x478133,_0x43cc5c]):await _0xf1e471['executeQuery'](_0x5aee66(0x128),[_0x56c92f,_0x478133,_0x43cc5c]);}catch(_0x1b50b8){logger[_0x5aee66(0x16e)]({'event':'job_history_complete_error','historyId':_0x43cc5c,'error':_0x1b50b8[_0x5aee66(0xfa)]},'Failed\x20to\x20update\x20job\x20history\x20(completed):\x20'+_0x1b50b8[_0x5aee66(0xfa)]);}}async[a0_0x3e2f79(0x10a)](_0x5d9468,_0x2891f1,_0xbb1d07,_0x1671a5,_0x356f8e){const _0x1c9253=a0_0x3e2f79,_0x53157b={'UbgFv':function(_0xa2a2ba,_0x4a9dc3){return _0xa2a2ba===_0x4a9dc3;},'jhPIZ':'oracle','uRwsJ':function(_0x4a1265,_0x4bf10a){return _0x4a1265||_0x4bf10a;},'SPOcb':_0x1c9253(0x11c),'lifwM':_0x1c9253(0x167)},_0x2f8ce4=this[_0x1c9253(0x134)]();if(!_0x2f8ce4)return;const _0x32cdb5=this['getDbType'](),_0x540abd=_0x1671a5?String(_0x1671a5)[_0x1c9253(0x14a)](0x0,0x3e8):null,_0x20cabd=_0x356f8e?String(_0x356f8e)['substring'](0x0,0xfa0):null;try{if(_0x53157b['UbgFv'](_0x32cdb5,_0x53157b['jhPIZ']))await _0x2f8ce4[_0x1c9253(0x11b)]('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27failed\x27,\x20completed_at\x20=\x20SYSTIMESTAMP,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20:1,\x20progress\x20=\x20:2,\x20error_message\x20=\x20:3,\x20error_stack\x20=\x20:4\x20WHERE\x20id\x20=\x20:5',[_0x2891f1,_0x53157b[_0x1c9253(0x1df)](_0xbb1d07,0x0),_0x540abd,_0x20cabd,_0x5d9468]);else _0x32cdb5===_0x53157b['SPOcb']?await _0x2f8ce4[_0x1c9253(0x11b)](_0x1c9253(0x1a2),[_0x2891f1,_0x53157b['uRwsJ'](_0xbb1d07,0x0),_0x540abd,_0x20cabd,_0x5d9468]):await _0x2f8ce4[_0x1c9253(0x11b)]('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27failed\x27,\x20completed_at\x20=\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20$1,\x20progress\x20=\x20$2,\x20error_message\x20=\x20$3,\x20error_stack\x20=\x20$4\x20WHERE\x20id\x20=\x20$5',[_0x2891f1,_0xbb1d07||0x0,_0x540abd,_0x20cabd,_0x5d9468]);}catch(_0x4432d3){logger[_0x1c9253(0x16e)]({'event':_0x53157b[_0x1c9253(0xe9)],'historyId':_0x5d9468,'error':_0x4432d3['message']},_0x1c9253(0x198)+_0x4432d3['message']);}}async[a0_0x3e2f79(0x13e)](_0x3b52b3,_0x2282af){const _0x5d95e3=a0_0x3e2f79,_0x11a33a={'SHiAT':_0x5d95e3(0x144)},_0x29c034=this[_0x5d95e3(0x134)]();if(!_0x29c034)return;const _0x3ca2e3=this[_0x5d95e3(0x1c3)]();try{if(_0x3ca2e3===_0x11a33a['SHiAT'])await _0x29c034[_0x5d95e3(0x11b)](_0x5d95e3(0x1ed),[_0x2282af,_0x3b52b3]);else _0x3ca2e3===_0x5d95e3(0x11c)?await _0x29c034[_0x5d95e3(0x11b)]('UPDATE\x20job_registry\x20SET\x20last_status\x20=\x20?,\x20last_run_at\x20=\x20NOW()\x20WHERE\x20job_name\x20=\x20?',[_0x2282af,_0x3b52b3]):await _0x29c034[_0x5d95e3(0x11b)](_0x5d95e3(0x132),[_0x2282af,_0x3b52b3]);}catch(_0x3ed47e){}}async[a0_0x3e2f79(0x1f4)](_0x369c7f,_0x25a9e2,_0x2114f8,_0x2dac57){const _0x1723b6=a0_0x3e2f79,_0x56d712={'IBimL':_0x1723b6(0xed),'gzmiV':_0x1723b6(0x1f7),'DAKIq':function(_0x17200a,_0x357b9d){return _0x17200a===_0x357b9d;},'eOyjX':function(_0x173163,_0x3d9be9){return _0x173163===_0x3d9be9;},'vYDTO':'mysql','CeRiC':_0x1723b6(0x1f1)},_0xa0e28f=this[_0x1723b6(0x134)]();if(!_0xa0e28f)return;const _0x454075=this['getDbType'](),_0x2f7786=_0x25a9e2===_0x56d712[_0x1723b6(0x1ef)]?_0x56d712['gzmiV']:'total_failed';try{if(_0x56d712[_0x1723b6(0x1d7)](_0x454075,_0x1723b6(0x144)))await _0xa0e28f['executeQuery']('UPDATE\x20job_registry\x20SET\x20last_status\x20=\x20:1,\x20last_duration_ms\x20=\x20:2,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x2f7786+_0x1723b6(0x1d5)+_0x2f7786+'\x20+\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20:3,\x20updated_at\x20=\x20SYSTIMESTAMP\x20WHERE\x20job_name\x20=\x20:4',[_0x25a9e2,_0x2114f8,_0x2dac57,_0x369c7f]);else _0x56d712['eOyjX'](_0x454075,_0x56d712[_0x1723b6(0x165)])?await _0xa0e28f['executeQuery'](_0x1723b6(0x1b5)+_0x2f7786+'\x20=\x20'+_0x2f7786+'\x20+\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20?\x20WHERE\x20job_name\x20=\x20?',[_0x25a9e2,_0x2114f8,_0x2dac57,_0x369c7f]):await _0xa0e28f['executeQuery']('UPDATE\x20job_registry\x20SET\x20last_status\x20=\x20$1,\x20last_duration_ms\x20=\x20$2,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x2f7786+'\x20=\x20'+_0x2f7786+'\x20+\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20$3,\x20updated_at\x20=\x20NOW()\x20WHERE\x20job_name\x20=\x20$4',[_0x25a9e2,_0x2114f8,_0x2dac57,_0x369c7f]);}catch(_0x32b30b){logger[_0x1723b6(0x16e)]({'event':_0x56d712[_0x1723b6(0x14d)],'jobName':_0x369c7f,'error':_0x32b30b[_0x1723b6(0xfa)]},'Failed\x20to\x20update\x20job\x20registry\x20counters:\x20'+_0x32b30b[_0x1723b6(0xfa)]);}}async['getNextRunFromBullMQ'](_0x52656f){const _0xe09e16=a0_0x3e2f79,_0x3857f1={'PJGVp':function(_0x1327a2,_0x28d848){return _0x1327a2!==_0x28d848;},'XOcmX':function(_0x167068,_0x53c8eb){return _0x167068===_0x53c8eb;},'nkvLq':'function'},_0x5ec65a=this[_0xe09e16(0x196)][_0x52656f];if(!_0x5ec65a||_0x3857f1[_0xe09e16(0x174)](_0x5ec65a['type'],_0xe09e16(0xf1))||_0x3857f1['XOcmX'](_0x5ec65a['enabled'],![]))return null;const _0x33f427=this['queues'][_0x5ec65a[_0xe09e16(0x188)]||_0xe09e16(0x1b0)];if(!_0x33f427)return null;try{if(typeof _0x33f427['getJobSchedulers']===_0x3857f1[_0xe09e16(0xf5)]){const _0x5c3450=await _0x33f427[_0xe09e16(0xe8)](0x0,0x64),_0x1149c5=_0x5c3450['find'](_0x4e0723=>_0x4e0723['name']===_0x52656f);return _0x1149c5?.[_0xe09e16(0x147)]?new Date(_0x1149c5['next']):null;}}catch(_0x6ead04){}return null;}async['setAllJobsOffline'](){const _0x2981a4=a0_0x3e2f79,_0x2238c5={'sptxO':function(_0x1cccf6,_0x2f4bb3){return _0x1cccf6===_0x2f4bb3;},'yvZEt':function(_0x2ab0b2,_0x57cda5){return _0x2ab0b2===_0x57cda5;},'YEYoD':_0x2981a4(0x11c)},_0x329ebd=this['getDbUtils']();if(!_0x329ebd)return;const _0x58a4d9=this['getDbType']();try{if(_0x2238c5[_0x2981a4(0x184)](_0x58a4d9,'oracle'))await _0x329ebd[_0x2981a4(0x11b)](_0x2981a4(0x140));else _0x2238c5['yvZEt'](_0x58a4d9,_0x2238c5[_0x2981a4(0x1e1)])?await _0x329ebd[_0x2981a4(0x11b)]('UPDATE\x20job_registry\x20SET\x20status\x20=\x20\x27offline\x27,\x20next_run_at\x20=\x20NULL'):await _0x329ebd[_0x2981a4(0x11b)]('UPDATE\x20job_registry\x20SET\x20status\x20=\x20\x27offline\x27,\x20next_run_at\x20=\x20NULL,\x20updated_at\x20=\x20NOW()');}catch(_0x1ee373){logger[_0x2981a4(0x16e)]({'event':_0x2981a4(0x13d),'error':_0x1ee373[_0x2981a4(0xfa)]},_0x2981a4(0x1f2)+_0x1ee373['message']);}}[a0_0x3e2f79(0x134)](){const _0x33f2ac=a0_0x3e2f79,_0xa60137={'fCBus':'postgresql','GkZOx':function(_0x22dff6,_0x3385d9){return _0x22dff6===_0x3385d9;},'KeEOU':_0x33f2ac(0xdf),'SPFxt':'db_oracle_unavailable','Dphgu':'Oracle\x20DB\x20module\x20not\x20available','ErDAl':function(_0x3dbdb1,_0x2da247){return _0x3dbdb1(_0x2da247);},'jeYMs':function(_0x12cc93,_0xc0af53){return _0x12cc93(_0xc0af53);},'Bwcuf':_0x33f2ac(0x197)},_0x2ea8bd=(process['env'][_0x33f2ac(0x15e)]||_0xa60137['fCBus'])['toLowerCase']();if(_0xa60137[_0x33f2ac(0x1b2)](_0x2ea8bd,'oracle'))try{const _0x25e58d=require(_0xa60137['KeEOU']);return{'executeQuery':(_0x4cbbca,_0x54e630)=>_0x25e58d['executeQuery'](_0x4cbbca,_0x54e630),'executeTransaction':_0x2ee39f=>_0x25e58d['executeTransaction'](_0x2ee39f),'getPool':()=>_0x25e58d['getPool']()};}catch(_0x41246a){return logger[_0x33f2ac(0x16e)]({'event':_0xa60137[_0x33f2ac(0x1d4)]},_0xa60137['Dphgu']),null;}if(_0x2ea8bd==='mysql')try{const _0x55c3cd=_0xa60137['ErDAl'](require,_0x33f2ac(0xe0));return{'executeQuery':(_0x1fc9c7,_0x16e2d8)=>_0x55c3cd['executeQuery'](_0x1fc9c7,_0x16e2d8),'executeTransaction':_0x24782b=>_0x55c3cd['executeTransaction'](_0x24782b),'getPool':()=>_0x55c3cd[_0x33f2ac(0x1a9)]()};}catch(_0x36c89e){return logger['warn']({'event':'db_mysql_unavailable'},_0x33f2ac(0x1db)),null;}try{const _0x3f1f2f=_0xa60137['jeYMs'](require,'../../utils/db');return{'executeQuery':_0x3f1f2f[_0x33f2ac(0x11b)],'executeTransaction':_0x3f1f2f[_0x33f2ac(0x191)],'getPool':_0x3f1f2f[_0x33f2ac(0x1a9)]};}catch(_0x30527c){return logger['warn']({'event':_0xa60137[_0x33f2ac(0x190)]},'PostgreSQL\x20DB\x20module\x20not\x20available'),null;}}[a0_0x3e2f79(0x1c2)](){const _0x2fff0d=a0_0x3e2f79;try{const _0x6d63e3=require('../../utils/redis-client');return _0x6d63e3[_0x2fff0d(0x156)]?_0x6d63e3['getClient']():_0x6d63e3;}catch(_0x36603c){return null;}}['getKafkaService'](){const _0x1eaf63=a0_0x3e2f79,_0xa594b0={'efekd':'true'};try{if(process['env']['KAFKA_ENABLED']===_0xa594b0[_0x1eaf63(0x19e)]){const _0x4ce5ae=require(_0x1eaf63(0x1bb));return _0x4ce5ae['getInstance']?_0x4ce5ae['getInstance']():_0x4ce5ae;}}catch(_0xbc4769){}return null;}[a0_0x3e2f79(0x14c)](){const _0x281d5f=a0_0x3e2f79,_0x3eea9c={'yUDyl':_0x281d5f(0x12f)};try{return require(_0x3eea9c[_0x281d5f(0x104)]);}catch(_0x294914){return null;}}async['dispatch'](_0x1aa7d9,_0x505b19={}){const _0x27886d=a0_0x3e2f79,_0x5405ff={'qtUSk':_0x27886d(0x1eb),'OGNPS':'api'},_0x59c690=this['jobConfigs'][_0x1aa7d9];if(!_0x59c690)throw new Error(_0x27886d(0x18b)+_0x1aa7d9);const _0x496643=this[_0x27886d(0x1da)][_0x59c690['queue']||_0x27886d(0x1b0)],_0x5c54c0=await _0x496643[_0x27886d(0x1c0)](_0x1aa7d9,{..._0x505b19,'handler':_0x59c690[_0x27886d(0xeb)],'triggeredBy':_0x27886d(0x12a)},{'attempts':_0x59c690['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0x59c690['retry']?.[_0x27886d(0x186)]||_0x5405ff['qtUSk'],'delay':_0x59c690[_0x27886d(0x1de)]?.[_0x27886d(0x175)]||0x1388},'timeout':_0x59c690[_0x27886d(0x18e)]||0x7530});return logger['info']({'event':_0x27886d(0x1e0),'jobId':_0x5c54c0['id'],'name':_0x1aa7d9,'triggeredBy':_0x5405ff[_0x27886d(0xef)]},'Job\x20dispatched:\x20'+_0x1aa7d9+_0x27886d(0x10e)+_0x5c54c0['id']+')'),{'jobId':_0x5c54c0['id'],'name':_0x1aa7d9};}async['dispatchDelayed'](_0x37c48f,_0x4ef5df={},_0x5a99f3=0x0){const _0x5a7392=a0_0x3e2f79,_0x1bf54d={'KaCNI':'default','fdwRC':_0x5a7392(0xf9)},_0x25b826=this['jobConfigs'][_0x37c48f];if(!_0x25b826)throw new Error(_0x5a7392(0x18b)+_0x37c48f);const _0x48719a=this[_0x5a7392(0x1da)][_0x25b826['queue']||_0x1bf54d['KaCNI']],_0x10c99b=await _0x48719a[_0x5a7392(0x1c0)](_0x37c48f,{..._0x4ef5df,'handler':_0x25b826[_0x5a7392(0xeb)],'triggeredBy':_0x1bf54d['fdwRC']},{'delay':_0x5a99f3,'attempts':_0x25b826['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0x25b826['retry']?.['backoff']||_0x5a7392(0x1eb),'delay':_0x25b826['retry']?.['initialDelay']||0x1388},'timeout':_0x25b826[_0x5a7392(0x18e)]||0x7530});return logger[_0x5a7392(0x1c9)]({'event':'job_dispatched_delayed','jobId':_0x10c99b['id'],'name':_0x37c48f,'delayMs':_0x5a99f3},_0x5a7392(0x18f)+_0x5a99f3+_0x5a7392(0x170)+_0x37c48f+_0x5a7392(0x10e)+_0x10c99b['id']+')'),{'jobId':_0x10c99b['id'],'name':_0x37c48f};}async['getJobStatus'](_0x23d105){const _0x3d0066=a0_0x3e2f79;for(const _0x5389aa of Object[_0x3d0066(0xfd)](this['queues'])){const _0x2dda33=await _0x5389aa['getJob'](_0x23d105);if(_0x2dda33){const _0x5a6180=await _0x2dda33['getState']();return{'jobId':_0x2dda33['id'],'name':_0x2dda33[_0x3d0066(0x159)],'state':_0x5a6180,'progress':_0x2dda33[_0x3d0066(0x18d)],'attemptsMade':_0x2dda33['attemptsMade'],'failedReason':_0x2dda33['failedReason'],'returnvalue':_0x2dda33[_0x3d0066(0xfc)],'data':_0x2dda33['data'],'timestamps':{'created':_0x2dda33[_0x3d0066(0x137)],'started':_0x2dda33['processedOn'],'completed':_0x2dda33['finishedOn']}};}}return null;}[a0_0x3e2f79(0x126)](){const _0x30bdf2=a0_0x3e2f79;return Object[_0x30bdf2(0xfd)](this['jobConfigs'])[_0x30bdf2(0x13a)](_0xb7bf56=>({'name':_0xb7bf56[_0x30bdf2(0x159)],'description':_0xb7bf56[_0x30bdf2(0x151)]||'','type':_0xb7bf56[_0x30bdf2(0xf2)],'schedule':_0xb7bf56[_0x30bdf2(0x115)],'handler':_0xb7bf56[_0x30bdf2(0xeb)],'enabled':_0xb7bf56[_0x30bdf2(0x1a7)]!==![],'queue':_0xb7bf56[_0x30bdf2(0x188)]||_0x30bdf2(0x1b0),'timeout':_0xb7bf56['timeout']||0x7530,'retry':_0xb7bf56[_0x30bdf2(0x1de)]||{'maxAttempts':0x3,'backoff':_0x30bdf2(0x1eb),'initialDelay':0x1388},'metadata':_0xb7bf56['metadata']||{}}));}async[a0_0x3e2f79(0x1c6)](){const _0x1d913a=a0_0x3e2f79,_0x2e8d5b={'FeDpo':_0x1d913a(0x15c)},_0x380ec4=[];for(const [_0x14282b,_0xcc0989]of Object[_0x1d913a(0x1d2)](this[_0x1d913a(0x1da)])){const _0x4b4504=await _0xcc0989[_0x1d913a(0x1d9)]([_0x2e8d5b[_0x1d913a(0x14e)]]);for(const _0x51ec1b of _0x4b4504){_0x380ec4[_0x1d913a(0x19b)]({'jobId':_0x51ec1b['id'],'name':_0x51ec1b[_0x1d913a(0x159)],'queue':_0x14282b,'progress':_0x51ec1b['progress'],'attemptsMade':_0x51ec1b['attemptsMade'],'startedAt':_0x51ec1b['processedOn']});}}return _0x380ec4;}async[a0_0x3e2f79(0x119)](_0x1590f5={}){const _0x5291a0=a0_0x3e2f79,_0x162974={'VQiDi':_0x5291a0(0x18a),'cFXlp':_0x5291a0(0x102)},_0x5b1e8d=parseInt(_0x1590f5['page'],0xa)||0x1,_0x32b1b9=Math[_0x5291a0(0x192)](parseInt(_0x1590f5['limit'],0xa)||0x14,0x64),_0x4eb0e7=(_0x5b1e8d-0x1)*_0x32b1b9,_0x212c14=_0x4eb0e7+_0x32b1b9-0x1,_0x53fab2=[];for(const [_0x239f8c,_0x5c6fcf]of Object[_0x5291a0(0x1d2)](this[_0x5291a0(0x1da)])){const _0x4f0bd7=await _0x5c6fcf[_0x5291a0(0x1d9)]([_0x162974['VQiDi']],_0x4eb0e7,_0x212c14),_0x645b84=await _0x5c6fcf[_0x5291a0(0x1d9)]([_0x162974[_0x5291a0(0x107)]],_0x4eb0e7,_0x212c14);for(const _0x1a0980 of[..._0x4f0bd7,..._0x645b84]){const _0x9c066d=await _0x1a0980[_0x5291a0(0x169)]();_0x53fab2[_0x5291a0(0x19b)]({'jobId':_0x1a0980['id'],'name':_0x1a0980[_0x5291a0(0x159)],'state':_0x9c066d,'queue':_0x239f8c,'attemptsMade':_0x1a0980[_0x5291a0(0x1ab)],'failedReason':_0x1a0980[_0x5291a0(0x135)],'returnvalue':_0x1a0980['returnvalue'],'timestamps':{'created':_0x1a0980[_0x5291a0(0x137)],'started':_0x1a0980['processedOn'],'completed':_0x1a0980['finishedOn']}});}}return _0x53fab2[_0x5291a0(0x180)]((_0x1587e8,_0x39bb47)=>(_0x39bb47[_0x5291a0(0xf7)]['created']||0x0)-(_0x1587e8[_0x5291a0(0xf7)]['created']||0x0)),{'jobs':_0x53fab2['slice'](0x0,_0x32b1b9),'total':_0x53fab2['length'],'page':_0x5b1e8d,'limit':_0x32b1b9};}async['cancelJob'](_0x87e51e){const _0x2ab304=a0_0x3e2f79,_0x2d96e2={'HBdmC':_0x2ab304(0x15c),'dwwHe':function(_0x5459d4,_0x34328d){return _0x5459d4===_0x34328d;},'xQPBJ':_0x2ab304(0xfb)};for(const _0x17fba8 of Object['values'](this[_0x2ab304(0x1da)])){const _0x616d46=await _0x17fba8['getJob'](_0x87e51e);if(_0x616d46){const _0x5b387b=await _0x616d46[_0x2ab304(0x169)]();if(_0x5b387b===_0x2d96e2['HBdmC'])return await _0x616d46['moveToFailed'](new Error(_0x2ab304(0x13b)),'api-cancel',!![]),{'success':!![],'message':_0x2ab304(0x11a)+_0x87e51e+_0x2ab304(0x108)};if(_0x2d96e2[_0x2ab304(0x15a)](_0x5b387b,_0x2d96e2['xQPBJ'])||_0x5b387b===_0x2ab304(0x1ce))return await _0x616d46['remove'](),{'success':!![],'message':'Job\x20'+_0x87e51e+_0x2ab304(0x1cb)+_0x5b387b+')'};return{'success':![],'message':'Job\x20'+_0x87e51e+'\x20tidak\x20bisa\x20di-cancel\x20(state:\x20'+_0x5b387b+')'};}}return{'success':![],'message':_0x2ab304(0x11a)+_0x87e51e+'\x20tidak\x20ditemukan'};}async[a0_0x3e2f79(0xdd)](){const _0x2cb806=a0_0x3e2f79,_0x42381d={'CFpGj':_0x2cb806(0x15c),'oaYnG':'completed','ieMuG':'failed','kOUQr':'waiting'},_0x346c22={};for(const [_0x1d54f1,_0xd04610]of Object[_0x2cb806(0x1d2)](this[_0x2cb806(0x1da)])){try{const _0x12b083=await _0xd04610['getJobCounts'](_0x42381d[_0x2cb806(0x1cd)],_0x42381d['oaYnG'],_0x2cb806(0x1ce),_0x42381d[_0x2cb806(0x149)],'paused',_0x42381d[_0x2cb806(0x17c)]);_0x346c22[_0x1d54f1]=_0x12b083;}catch(_0x342d02){_0x346c22[_0x1d54f1]={'error':_0x342d02[_0x2cb806(0xfa)]};}}const _0x3a4b21={};for(const [_0x38f2ce,_0x1a2d41]of Object['entries'](this['workers'])){_0x3a4b21[_0x38f2ce]={'running':_0x1a2d41[_0x2cb806(0x1f8)](),'paused':_0x1a2d41['isPaused']()};}return{'initialized':this['initialized'],'registeredJobs':Object['keys'](this[_0x2cb806(0x196)])[_0x2cb806(0x123)],'redisConnections':this[_0x2cb806(0x1bc)]['length'],'queues':_0x346c22,'workers':_0x3a4b21};}async['onJobCompleted'](_0x785373,_0xe484f6){const _0x1f4e19=a0_0x3e2f79,_0x26c973={'GCTiH':_0x1f4e19(0x187),'Tdiuw':function(_0x508499,_0x22ba37){return _0x508499-_0x22ba37;},'OJtBN':function(_0x2f6699,_0x279615){return _0x2f6699===_0x279615;},'izMiS':_0x1f4e19(0x1d0),'FLsDV':'onAfterJobComplete','IIndG':_0x1f4e19(0x1aa)},_0x3f1996=logger['child']({'jobId':_0x785373['id'],'jobName':_0x785373['name']});_0x3f1996[_0x1f4e19(0x1c9)]({'event':_0x26c973[_0x1f4e19(0x1c8)],'attemptsMade':_0x785373['attemptsMade'],'duration':_0x785373['finishedOn']?_0x785373['finishedOn']-_0x785373['processedOn']:null},_0x1f4e19(0x195)+_0x785373[_0x1f4e19(0x159)]);const _0x3ed3a0=this['activeHistoryIds']['get'](_0x785373['id']);if(_0x3ed3a0){if(_0x3ed3a0['insertPromise'])await _0x3ed3a0['insertPromise'];const _0x35ccc1=_0x785373['finishedOn']&&_0x785373['processedOn']?_0x26c973[_0x1f4e19(0x1cc)](_0x785373['finishedOn'],_0x785373[_0x1f4e19(0x17e)]):null,_0x28d2da=_0x26c973[_0x1f4e19(0x109)](typeof _0xe484f6,'string')?_0xe484f6:_0xe484f6?JSON['stringify'](_0xe484f6)[_0x1f4e19(0x14a)](0x0,0x1f4):null;await this['updateJobHistoryCompleted'](_0x3ed3a0[_0x1f4e19(0x17b)],_0x35ccc1,_0x28d2da);const _0x4895e4=await this[_0x1f4e19(0x100)](_0x785373[_0x1f4e19(0x159)]);await this[_0x1f4e19(0x1f4)](_0x785373['name'],'success',_0x35ccc1,_0x4895e4),this[_0x1f4e19(0x1ad)]['delete'](_0x785373['id']);}const _0x3a782c=getComponentEngine();if(_0x3a782c&&typeof _0x3a782c['executeEventHandlers']===_0x26c973['izMiS']){const _0x181aba={'jobId':_0x785373['id'],'jobName':_0x785373[_0x1f4e19(0x159)],'result':_0xe484f6,'config':this['jobConfigs'][_0x785373[_0x1f4e19(0x159)]]||{}};_0x3a782c[_0x1f4e19(0x158)](_0x26c973[_0x1f4e19(0x14f)],_0x181aba,![])[_0x1f4e19(0x155)](_0x19397f=>{const _0x3b7803=_0x1f4e19;_0x3f1996[_0x3b7803(0x16e)]({'event':'after_job_complete_hook_error','error':_0x19397f[_0x3b7803(0xfa)]},'onAfterJobComplete\x20handler\x20error\x20(non-blocking)');});}const _0x6cd9c8=this['getKafkaService']();if(_0x6cd9c8)try{await _0x6cd9c8[_0x1f4e19(0x1a5)]('restforge.jobs.completed','JOB_COMPLETED',null,{'jobId':_0x785373['id'],'name':_0x785373[_0x1f4e19(0x159)],'result':_0xe484f6},{'module':'job-scheduler','endpoint':_0x785373[_0x1f4e19(0x159)]});}catch(_0x5aea33){_0x3f1996['warn']({'event':'job_kafka_publish_error','error':_0x5aea33['message']},_0x26c973[_0x1f4e19(0x120)]);}}async[a0_0x3e2f79(0x154)](_0x5d33e9,_0x5815d2){const _0x502d62=a0_0x3e2f79,_0x136d5a={'mZsEk':_0x502d62(0xd8),'wVJWh':'job_failed','sAWex':function(_0x47b519,_0x1f4ba8){return _0x47b519<_0x1f4ba8;},'pFBLr':function(_0x4af0f2,_0x5be3e9){return _0x4af0f2-_0x5be3e9;},'ZKXdv':function(_0x3fc15b){return _0x3fc15b();},'kWewQ':_0x502d62(0x1d0),'pvKCk':'job-scheduler'},_0x235422=logger[_0x502d62(0x101)]({'jobId':_0x5d33e9['id'],'jobName':_0x5d33e9[_0x502d62(0x159)]});_0x235422[_0x502d62(0x111)]({'event':_0x136d5a['wVJWh'],'attemptsMade':_0x5d33e9['attemptsMade'],'failedReason':_0x5815d2?.['message'],'willRetry':_0x136d5a[_0x502d62(0x117)](_0x5d33e9[_0x502d62(0x1ab)],this[_0x502d62(0x196)][_0x5d33e9['name']]?.[_0x502d62(0x1de)]?.[_0x502d62(0x17a)]||0x3)},'Job\x20failed:\x20'+_0x5d33e9['name']+'\x20—\x20'+_0x5815d2?.[_0x502d62(0xfa)]);const _0x55a1d6=this['activeHistoryIds']['get'](_0x5d33e9['id']);if(_0x55a1d6){if(_0x55a1d6['insertPromise'])await _0x55a1d6[_0x502d62(0x178)];const _0x364ebc=_0x5d33e9[_0x502d62(0x1a0)]&&_0x5d33e9['processedOn']?_0x136d5a['pFBLr'](_0x5d33e9['finishedOn'],_0x5d33e9['processedOn']):null;await this['updateJobHistoryFailed'](_0x55a1d6['historyId'],_0x364ebc,_0x5d33e9['progress'],_0x5815d2?.[_0x502d62(0xfa)],_0x5815d2?.['stack']);const _0x21835d=await this['getNextRunFromBullMQ'](_0x5d33e9[_0x502d62(0x159)]);await this['updateRegistryCounters'](_0x5d33e9['name'],_0x502d62(0x102),_0x364ebc,_0x21835d),this['activeHistoryIds'][_0x502d62(0x19f)](_0x5d33e9['id']);}const _0x219f84=_0x136d5a['ZKXdv'](getComponentEngine);if(_0x219f84&&typeof _0x219f84[_0x502d62(0x158)]===_0x136d5a['kWewQ']){const _0x554bb1={'jobId':_0x5d33e9['id'],'jobName':_0x5d33e9[_0x502d62(0x159)],'error':_0x5815d2?.[_0x502d62(0xfa)],'attemptsMade':_0x5d33e9['attemptsMade'],'config':this['jobConfigs'][_0x5d33e9[_0x502d62(0x159)]]||{}};_0x219f84['executeEventHandlers'](_0x502d62(0x118),_0x554bb1,![])[_0x502d62(0x155)](_0x5646e8=>{const _0x41665d=_0x502d62;_0x235422[_0x41665d(0x16e)]({'event':_0x136d5a['mZsEk'],'error':_0x5646e8[_0x41665d(0xfa)]},_0x41665d(0x110));});}const _0x21cbbe=this['getKafkaService']();if(_0x21cbbe)try{await _0x21cbbe[_0x502d62(0x1a5)]('restforge.jobs.failed','JOB_FAILED',null,{'jobId':_0x5d33e9['id'],'name':_0x5d33e9['name'],'error':_0x5815d2?.[_0x502d62(0xfa)],'attemptsMade':_0x5d33e9['attemptsMade']},{'module':_0x136d5a[_0x502d62(0xf8)],'endpoint':_0x5d33e9['name']});}catch(_0x35eb55){_0x235422['warn']({'event':'job_kafka_publish_error','error':_0x35eb55[_0x502d62(0xfa)]},'Failed\x20to\x20publish\x20JOB_FAILED\x20to\x20Kafka');}}['onJobProgress'](_0x40f93f,_0x530cea){const _0x3df307=a0_0x3e2f79;logger['debug']({'event':_0x3df307(0x152),'jobId':_0x40f93f['id'],'jobName':_0x40f93f[_0x3df307(0x159)],'progress':_0x530cea},'Job\x20progress:\x20'+_0x40f93f[_0x3df307(0x159)]+_0x3df307(0x1a1)+_0x530cea+'%');}}module['exports']=new JobManager();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0xbfa0ed=a0_0x4257;function a0_0x4257(_0x209818,_0x48ae92){_0x209818=_0x209818-0x12a;const _0x578cdc=a0_0x578c();let _0x4257b5=_0x578cdc[_0x209818];if(a0_0x4257['QokUXC']===undefined){var _0x562ac9=function(_0x28d4fd){const _0x26e640='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x513988='',_0x123924='';for(let _0x307f11=0x0,_0x1bbd79,_0x187802,_0x13174c=0x0;_0x187802=_0x28d4fd['charAt'](_0x13174c++);~_0x187802&&(_0x1bbd79=_0x307f11%0x4?_0x1bbd79*0x40+_0x187802:_0x187802,_0x307f11++%0x4)?_0x513988+=String['fromCharCode'](0xff&_0x1bbd79>>(-0x2*_0x307f11&0x6)):0x0){_0x187802=_0x26e640['indexOf'](_0x187802);}for(let _0x2509f3=0x0,_0x34ffd0=_0x513988['length'];_0x2509f3<_0x34ffd0;_0x2509f3++){_0x123924+='%'+('00'+_0x513988['charCodeAt'](_0x2509f3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x123924);};a0_0x4257['VOZeJv']=_0x562ac9,a0_0x4257['LKlqyt']={},a0_0x4257['QokUXC']=!![];}const _0x472c49=_0x578cdc[0x0],_0x403185=_0x209818+_0x472c49,_0x212b27=a0_0x4257['LKlqyt'][_0x403185];return!_0x212b27?(_0x4257b5=a0_0x4257['VOZeJv'](_0x4257b5),a0_0x4257['LKlqyt'][_0x403185]=_0x4257b5):_0x4257b5=_0x212b27,_0x4257b5;}(function(_0x1f5353,_0x593f1c){const _0x54c9bb=a0_0x4257,_0x33e435=_0x1f5353();while(!![]){try{const _0x52b6fe=-parseInt(_0x54c9bb(0x135))/0x1*(parseInt(_0x54c9bb(0x131))/0x2)+parseInt(_0x54c9bb(0x158))/0x3+parseInt(_0x54c9bb(0x14c))/0x4*(parseInt(_0x54c9bb(0x133))/0x5)+-parseInt(_0x54c9bb(0x154))/0x6+-parseInt(_0x54c9bb(0x14d))/0x7+-parseInt(_0x54c9bb(0x18d))/0x8*(-parseInt(_0x54c9bb(0x171))/0x9)+parseInt(_0x54c9bb(0x168))/0xa;if(_0x52b6fe===_0x593f1c)break;else _0x33e435['push'](_0x33e435['shift']());}catch(_0x59649f){_0x33e435['push'](_0x33e435['shift']());}}}(a0_0x578c,0x3a34a));const express=require(a0_0xbfa0ed(0x185)),{Queue}=require(a0_0xbfa0ed(0x169)),Redis=require('ioredis'),{logger}=require('../../utils/logger');function a0_0x578c(){const _0x26cb41=['ndyXmJiZCePywuTg','AM9Ix2HPC3rVCNLFzxjYB3i','CMv0DxjUDMfSDwu','iIb0AwrHAYbKAxrLBxvRyw4GzgKGA29UzMLNDxjHC2K','tNjyBxy','ug5bwNe','Cgf0Aa','rxjYB3iGz2v0DgLUzYbQB2iGC3rHDhvZ','zw50CMLLCW','EKjjqKC','sM9IifjVDxrLCYbszwrPCYbLCNjVCJOG','sK9cx1jfreLtx1bsruzjwa','vKHSzgm','CMv0CNK','AgLNAa','zgvSyxLLza','nJy4otK3mhDMCKzIAW','yNvSBg1X','zfnQuu8','icHPzdOG','C3rHDhvZ','AM9PBG','Afj4qxa','ignHBMnLBgXLzcaOD2fZigfJDgL2zsK','ywn0AxzL','mte5n0LqAxjPta','ChjVy2vZC2vKt24','De54BM8','Cgf5Bg9Hza','CxvLDwu','zgvMyxvSDa','z2v0u3rHDgu','zxHWB25LBNrPywW','CMy6AM9I','y0POsem','z2v0sM9I','zMLSDgvY','uKvesvnFrei','CgfYC2u','Dw5OzwfSDgH5','l3rYAwDNzxiVoMPVyK5HBwu','DhLWzq','zMfPBgvKuMvHC29U','rxjYB3iGBgLZDgLUzYbQB2jZ','y29UBMvJDgvK','zxHWCMvZCW','uhHzzLq','CgfYyw1Z','CxvLCNK','uM91DgvY','zMfPBgvK','zgvNCMfKzwq','BwvZC2fNzq','mJaYotzSwwX2zwG','C2XPy2u','BwfW','D2fPDgLUzW','thfIDfi','B0LqAMm','ihrPzgfRigjPC2eGzgKTy2fUy2vSicHZDgf0ztOG','ENzeBhG','BMfTzq','z2v0sM9Iq291BNrZ','sM9IihrYAwDNzxjLzcb2AweGqvbjoIa','Bw92zvrVrMfPBgvK','sM9IignHBMnLBgXLzcb2AweGqvbj','Cg9ZDa','EwLxzNK','yxbPlwnHBMnLBa','z2v0sM9ICW','mtKWmde0z0nOC1nn','AM9Ix3rYAwDNzxjLzf92AwfFyxbP','mZqZnJbWv1rzBxC','zxjYB3i','nxvwrfvRqW','zw5HyMXLza','AgvHBhrOEq','zw5KC1DPDgG','ChjVz3jLC3m','ANnVBG','zwvRzMe','y3jLyxrLza','uwPRAvq','BgvUz3rO','igjLCMHHC2LSigrPlxrYAwDNzxi','C1nSCvu','D0jeBxq','z2v0','yxr0zw1WDhnnywrL','DMfSDwvZ','uxLcAei','DgLTzxn0yw1WCW','AgfUzgXLCG','zw52','DgLTzw91Da','lMPZB24','CgfNzq','mtjuvM9Kt3G','mJqWmJC3ohHyuhLNDa','CMvTB3zL','EurmywW','Bwf4qxr0zw1WDhm','DgHsDLi','sM9Iia','l3f1zxvLCW','nZq0ndu2uw9juhnQ','zxHPC3rZu3LUyW','A2v5CW','zgvZy3jPChrPB24'];a0_0x578c=function(){return _0x26cb41;};return a0_0x578c();}let readConnection=null,readQueues=null,cachedJobConfigs=null;const QUEUE_NAMES={'high-priority':a0_0xbfa0ed(0x166),'default':'default','low-priority':'low'};function getReadQueues(){const _0x393ebf=a0_0xbfa0ed,_0x1f79c2={'zBIBG':_0x393ebf(0x179),'nggEf':'localhost','VmQZG':function(_0x274680,_0x5c4bab,_0x4edf19){return _0x274680(_0x5c4bab,_0x4edf19);}};if(readQueues)return readQueues;const _0x1c1bab=process['env'][_0x393ebf(0x163)]||_0x1f79c2[_0x393ebf(0x161)];readConnection=new Redis({'host':process['env']['REDIS_HOST']||_0x1f79c2['nggEf'],'port':parseInt(process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process[_0x393ebf(0x148)]['REDIS_PASSWORD']||undefined,'db':_0x1f79c2['VmQZG'](parseInt,process['env'][_0x393ebf(0x17d)],0xa)||0x0,'maxRetriesPerRequest':null}),readConnection['on'](_0x393ebf(0x134),_0x29bbd6=>{const _0x4951b2=_0x393ebf;logger['error']({'event':'job_routes_redis_error','error':_0x29bbd6['message']},_0x4951b2(0x162)+_0x29bbd6[_0x4951b2(0x18c)]);}),readQueues={};for(const [_0xeed19e,_0x3c2264]of Object['entries'](QUEUE_NAMES)){readQueues[_0xeed19e]=new Queue(_0x3c2264,{'connection':readConnection,'prefix':_0x1c1bab});}return readQueues;}function createJobRoutes(_0x4380b3){const _0x4f3797=a0_0xbfa0ed,_0x22ac59={'MSuYZ':function(_0x53cfc2,_0x5dc0ae){return _0x53cfc2(_0x5dc0ae);},'LqbtR':'jobs','tNxno':function(_0x2d6db7,_0x30d4d1){return _0x2d6db7!==_0x30d4d1;},'PxYfT':'job_list_error','yDLal':_0x4f3797(0x183),'hRxAp':function(_0x5229b7){return _0x5229b7();},'uEhSb':function(_0x1e0531,_0x441ff9){return _0x1e0531(_0x441ff9);},'rVpar':function(_0x11169d,_0x33d616){return _0x11169d===_0x33d616;},'cJhHC':'exponential','yiWfy':'Error\x20triggering\x20job','knPBS':_0x4f3797(0x170),'PnAZq':_0x4f3797(0x12c),'dSjQO':_0x4f3797(0x12f),'NrXmv':function(_0x22a572,_0xf9fadb){return _0x22a572===_0xf9fadb;},'sSlqU':function(_0x366d07,_0x7e215f,_0x25619e){return _0x366d07(_0x7e215f,_0x25619e);},'ZyPuo':function(_0x163d9a,_0x5a29e5){return _0x163d9a*_0x5a29e5;},'wCPyu':function(_0x1944a5,_0x461162){return _0x1944a5-_0x461162;},'eekfa':'completed','QyBhB':'Error\x20getting\x20job\x20history','QjkiT':_0x4f3797(0x167),'thRvR':'paused','oIPjc':'job_queues_error','VHldc':'Error\x20getting\x20queue\x20stats','KZrZe':function(_0x4354f1){return _0x4354f1();},'NYovi':_0x4f3797(0x137),'wBDmt':'disconnected','uGIAr':_0x4f3797(0x17f),'VctoE':function(_0x1e3706,_0xb60b8){return _0x1e3706>_0xb60b8;},'zvDlx':'/list','zNPdq':'/status/:jobId','TuMlm':_0x4f3797(0x180),'tNMtb':'/cancel/:jobId','snkpQ':'/history'},_0x495b3a=express[_0x4f3797(0x189)]();return _0x4380b3&&_0x22ac59['VctoE'](Object[_0x4f3797(0x156)](_0x4380b3)[_0x4f3797(0x13e)],0x0)&&(cachedJobConfigs=_0x4380b3),_0x495b3a[_0x4f3797(0x142)](_0x22ac59[_0x4f3797(0x194)],(_0x54e6c3,_0x1f8a4f)=>{const _0x188d88=_0x4f3797;try{if(cachedJobConfigs){const _0x466e37=Object[_0x188d88(0x144)](cachedJobConfigs)[_0x188d88(0x18f)](_0x578088=>({'name':_0x578088[_0x188d88(0x195)],'description':_0x578088[_0x188d88(0x157)]||'','type':_0x578088[_0x188d88(0x181)],'schedule':_0x578088['schedule'],'handler':_0x578088[_0x188d88(0x147)],'enabled':_0x578088['enabled']!==![],'queue':_0x578088[_0x188d88(0x175)]||'default','timeout':_0x578088['timeout']||0x7530,'retry':_0x578088[_0x188d88(0x165)]||{'maxAttempts':0x3,'backoff':_0x188d88(0x178),'initialDelay':0x1388},'metadata':_0x578088['metadata']||{}}));return _0x1f8a4f['json']({'success':!![],'data':_0x466e37,'total':_0x466e37[_0x188d88(0x13e)]});}const _0x1728bc=_0x22ac59['MSuYZ'](require,'fs'),_0x2a3410=require(_0x188d88(0x15e)),_0x3b85fc=_0x2a3410['join'](process['cwd'](),_0x188d88(0x174),_0x22ac59[_0x188d88(0x191)]);if(!_0x1728bc[_0x188d88(0x155)](_0x3b85fc))return _0x1f8a4f['json']({'success':!![],'data':[],'total':0x0});const _0x3e1ae3=_0x1728bc['readdirSync'](_0x3b85fc)[_0x188d88(0x17c)](_0x5db0bc=>_0x5db0bc['endsWith']('.json')),_0x59f01d=[];for(const _0x2a6db5 of _0x3e1ae3){try{const _0x4f7238=_0x1728bc['readFileSync'](_0x2a3410[_0x188d88(0x16d)](_0x3b85fc,_0x2a6db5),'utf8'),_0xe7e2a4=JSON[_0x188d88(0x17e)](_0x4f7238);_0x59f01d['push']({'name':_0xe7e2a4[_0x188d88(0x195)],'description':_0xe7e2a4['description']||'','type':_0xe7e2a4[_0x188d88(0x181)],'schedule':_0xe7e2a4['schedule'],'handler':_0xe7e2a4[_0x188d88(0x147)],'enabled':_0x22ac59[_0x188d88(0x173)](_0xe7e2a4[_0x188d88(0x136)],![]),'queue':_0xe7e2a4[_0x188d88(0x175)]||_0x188d88(0x176),'timeout':_0xe7e2a4[_0x188d88(0x149)]||0x7530,'retry':_0xe7e2a4['retry']||{},'metadata':_0xe7e2a4['metadata']||{}});}catch(_0x58bf5a){}}_0x1f8a4f[_0x188d88(0x13a)]({'success':!![],'data':_0x59f01d,'total':_0x59f01d['length']});}catch(_0x2ceff3){logger['error']({'event':_0x22ac59[_0x188d88(0x186)],'error':_0x2ceff3['message']},_0x22ac59[_0x188d88(0x14f)]),_0x1f8a4f[_0x188d88(0x16c)](0x1f4)['json']({'success':![],'error':_0x2ceff3['message']});}}),_0x495b3a[_0x4f3797(0x142)](_0x22ac59['zNPdq'],async(_0x206717,_0x512c17)=>{const _0x3acda7=_0x4f3797;try{const {jobId:_0xa7e0ae}=_0x206717[_0x3acda7(0x187)],_0x4f6cb8=_0x22ac59['hRxAp'](getReadQueues);for(const _0x33708d of Object[_0x3acda7(0x144)](_0x4f6cb8)){const _0x5dceb8=await _0x33708d['getJob'](_0xa7e0ae);if(_0x5dceb8){const _0x962308=await _0x5dceb8[_0x3acda7(0x177)]();return _0x512c17['json']({'success':!![],'data':{'jobId':_0x5dceb8['id'],'name':_0x5dceb8[_0x3acda7(0x195)],'state':_0x962308,'progress':_0x5dceb8[_0x3acda7(0x139)],'attemptsMade':_0x5dceb8[_0x3acda7(0x143)],'failedReason':_0x5dceb8[_0x3acda7(0x182)],'returnvalue':_0x5dceb8[_0x3acda7(0x15a)],'data':_0x5dceb8['data'],'timestamps':{'created':_0x5dceb8['timestamp'],'started':_0x5dceb8['processedOn'],'completed':_0x5dceb8['finishedOn']}}});}}_0x512c17['status'](0x194)['json']({'success':![],'error':_0x3acda7(0x152)+_0xa7e0ae+'\x20tidak\x20ditemukan'});}catch(_0x4921cc){logger[_0x3acda7(0x134)]({'event':'job_status_error','error':_0x4921cc[_0x3acda7(0x18c)]},_0x3acda7(0x15f)),_0x512c17['status'](0x1f4)[_0x3acda7(0x13a)]({'success':![],'error':_0x4921cc['message']});}}),_0x495b3a[_0x4f3797(0x12d)](_0x22ac59['TuMlm'],async(_0x4805be,_0x2dd801)=>{const _0x49552b=_0x4f3797;try{const {jobName:_0x803b9a}=_0x4805be['params'],_0x2d5985=_0x4805be['body']||{};let _0x7469b1=cachedJobConfigs?.[_0x803b9a];if(!_0x7469b1){const _0x22b7fa=_0x22ac59['MSuYZ'](require,'fs'),_0x372c8f=_0x22ac59['uEhSb'](require,_0x49552b(0x15e)),_0x426309=_0x372c8f[_0x49552b(0x16d)](process['cwd'](),_0x49552b(0x174),_0x22ac59['LqbtR']),_0x4a184e=_0x22b7fa['existsSync'](_0x426309)?_0x22b7fa['readdirSync'](_0x426309)[_0x49552b(0x17c)](_0x380262=>_0x380262[_0x49552b(0x138)](_0x49552b(0x14a))):[];for(const _0x1cdc6e of _0x4a184e){try{const _0xd89538=_0x22b7fa['readFileSync'](_0x372c8f[_0x49552b(0x16d)](_0x426309,_0x1cdc6e),'utf8'),_0x257ff3=JSON[_0x49552b(0x17e)](_0xd89538);if(_0x22ac59['rVpar'](_0x257ff3['name'],_0x803b9a)){_0x7469b1=_0x257ff3;break;}}catch(_0x11bfc7){}}}if(!_0x7469b1)return _0x2dd801['status'](0x194)[_0x49552b(0x13a)]({'success':![],'error':'Job\x20\x22'+_0x803b9a+_0x49552b(0x15b)});const _0x11a7c1=_0x22ac59['hRxAp'](getReadQueues),_0x296e5e=_0x11a7c1[_0x7469b1[_0x49552b(0x175)]||'default'],_0x174b59=await _0x296e5e['add'](_0x803b9a,{..._0x2d5985,'handler':_0x7469b1[_0x49552b(0x147)],'triggeredBy':'api'},{'attempts':_0x7469b1['retry']?.[_0x49552b(0x150)]||0x3,'backoff':{'type':_0x7469b1['retry']?.['backoff']||_0x22ac59[_0x49552b(0x17a)],'delay':_0x7469b1[_0x49552b(0x165)]?.['initialDelay']||0x1388},'timeout':_0x7469b1[_0x49552b(0x149)]||0x7530});logger['info']({'event':_0x49552b(0x132),'jobId':_0x174b59['id'],'name':_0x803b9a},_0x49552b(0x12a)+_0x803b9a+_0x49552b(0x16b)+_0x174b59['id']+')'),_0x2dd801[_0x49552b(0x13a)]({'success':!![],'jobId':_0x174b59['id'],'message':'Job\x20'+_0x803b9a+_0x49552b(0x13f)});}catch(_0x1a25a1){logger['error']({'event':'job_trigger_error','error':_0x1a25a1['message']},_0x22ac59[_0x49552b(0x12e)]),_0x2dd801['status'](0x1f4)[_0x49552b(0x13a)]({'success':![],'error':_0x1a25a1['message']});}}),_0x495b3a[_0x4f3797(0x12d)](_0x22ac59['tNMtb'],async(_0x20d9c9,_0x3bd08c)=>{const _0x3e4907=_0x4f3797;try{const {jobId:_0x1f3532}=_0x20d9c9['params'],_0x376d5a=_0x22ac59['hRxAp'](getReadQueues);for(const _0x1496d3 of Object[_0x3e4907(0x144)](_0x376d5a)){const _0x20f2fb=await _0x1496d3[_0x3e4907(0x17b)](_0x1f3532);if(_0x20f2fb){const _0x5da3ed=await _0x20f2fb[_0x3e4907(0x177)]();if(_0x5da3ed===_0x22ac59['knPBS'])return await _0x20f2fb[_0x3e4907(0x12b)](new Error(_0x22ac59[_0x3e4907(0x15d)]),_0x22ac59[_0x3e4907(0x16a)],!![]),_0x3bd08c['json']({'success':!![],'message':_0x3e4907(0x152)+_0x1f3532+_0x3e4907(0x16f)});if(_0x5da3ed==='waiting'||_0x22ac59[_0x3e4907(0x15c)](_0x5da3ed,'delayed'))return await _0x20f2fb[_0x3e4907(0x14e)](),_0x3bd08c['json']({'success':!![],'message':'Job\x20'+_0x1f3532+'\x20removed\x20(was\x20'+_0x5da3ed+')'});return _0x3bd08c[_0x3e4907(0x13a)]({'success':![],'message':_0x3e4907(0x152)+_0x1f3532+_0x3e4907(0x193)+_0x5da3ed+')'});}}_0x3bd08c['status'](0x194)[_0x3e4907(0x13a)]({'success':![],'error':_0x3e4907(0x152)+_0x1f3532+'\x20tidak\x20ditemukan'});}catch(_0x2f4385){logger['error']({'event':'job_cancel_error','error':_0x2f4385['message']},'Error\x20cancelling\x20job'),_0x3bd08c[_0x3e4907(0x16c)](0x1f4)[_0x3e4907(0x13a)]({'success':![],'error':_0x2f4385['message']});}}),_0x495b3a[_0x4f3797(0x142)](_0x22ac59['snkpQ'],async(_0x4016fb,_0x2a98fe)=>{const _0x4e9ac1=_0x4f3797;try{const _0x564c0d=parseInt(_0x4016fb[_0x4e9ac1(0x188)][_0x4e9ac1(0x14b)],0xa)||0x1,_0x36e881=Math['min'](_0x22ac59[_0x4e9ac1(0x140)](parseInt,_0x4016fb['query']['limit'],0xa)||0x14,0x64),_0x136a05=_0x22ac59['ZyPuo'](_0x22ac59['wCPyu'](_0x564c0d,0x1),_0x36e881),_0xeb4ff7=_0x22ac59['wCPyu'](_0x136a05+_0x36e881,0x1),_0xa73241=_0x22ac59[_0x4e9ac1(0x16e)](getReadQueues),_0x36c0bd=[];for(const [_0x405a1a,_0x109adc]of Object[_0x4e9ac1(0x160)](_0xa73241)){const _0x1bc4e0=await _0x109adc[_0x4e9ac1(0x130)]([_0x22ac59[_0x4e9ac1(0x13b)]],_0x136a05,_0xeb4ff7),_0x3f0220=await _0x109adc['getJobs']([_0x4e9ac1(0x18a)],_0x136a05,_0xeb4ff7);for(const _0x2f9a3a of[..._0x1bc4e0,..._0x3f0220]){const _0x734cdc=await _0x2f9a3a[_0x4e9ac1(0x177)]();_0x36c0bd['push']({'jobId':_0x2f9a3a['id'],'name':_0x2f9a3a[_0x4e9ac1(0x195)],'state':_0x734cdc,'queue':_0x405a1a,'attemptsMade':_0x2f9a3a['attemptsMade'],'failedReason':_0x2f9a3a[_0x4e9ac1(0x182)],'returnvalue':_0x2f9a3a['returnvalue'],'timestamps':{'created':_0x2f9a3a['timestamp'],'started':_0x2f9a3a[_0x4e9ac1(0x172)],'completed':_0x2f9a3a['finishedOn']}});}}_0x36c0bd['sort']((_0x226705,_0x46e2d9)=>(_0x46e2d9[_0x4e9ac1(0x146)][_0x4e9ac1(0x13c)]||0x0)-(_0x226705['timestamps']['created']||0x0)),_0x2a98fe['json']({'success':!![],'data':_0x36c0bd[_0x4e9ac1(0x18e)](0x0,_0x36e881),'total':_0x36c0bd['length'],'page':_0x564c0d,'limit':_0x36e881});}catch(_0x4c41f7){logger[_0x4e9ac1(0x134)]({'event':_0x4e9ac1(0x159),'error':_0x4c41f7['message']},_0x22ac59[_0x4e9ac1(0x145)]),_0x2a98fe[_0x4e9ac1(0x16c)](0x1f4)['json']({'success':![],'error':_0x4c41f7[_0x4e9ac1(0x18c)]});}}),_0x495b3a['get'](_0x4f3797(0x153),async(_0x40f58b,_0x2684d5)=>{const _0x4d5d2e=_0x4f3797;try{const _0x287cb0=getReadQueues(),_0x4dd53b={};for(const [_0x36d6c6,_0xb7197f]of Object[_0x4d5d2e(0x160)](_0x287cb0)){try{const _0x2710c8=await _0xb7197f['getJobCounts'](_0x22ac59['knPBS'],_0x22ac59[_0x4d5d2e(0x13b)],_0x22ac59[_0x4d5d2e(0x13d)],_0x4d5d2e(0x18a),_0x22ac59[_0x4d5d2e(0x151)],'waiting');_0x4dd53b[_0x36d6c6]=_0x2710c8;}catch(_0x2d6a05){_0x4dd53b[_0x36d6c6]={'error':_0x2d6a05[_0x4d5d2e(0x18c)]};}}_0x2684d5[_0x4d5d2e(0x13a)]({'success':!![],'data':_0x4dd53b});}catch(_0x207aa6){logger['error']({'event':_0x22ac59[_0x4d5d2e(0x192)],'error':_0x207aa6['message']},_0x22ac59[_0x4d5d2e(0x164)]),_0x2684d5['status'](0x1f4)['json']({'success':![],'error':_0x207aa6[_0x4d5d2e(0x18c)]});}}),_0x495b3a[_0x4f3797(0x142)]('/health',async(_0x5610ba,_0x26a32e)=>{const _0x55d106=_0x4f3797;try{const _0x1d0aa1=_0x22ac59['KZrZe'](getReadQueues),_0x47f359={};let _0x18cf8f=![];for(const [_0x39561f,_0xcf8a1a]of Object['entries'](_0x1d0aa1)){try{const _0x4e67b1=await _0xcf8a1a[_0x55d106(0x196)](_0x22ac59['knPBS'],_0x55d106(0x190),'failed');_0x47f359[_0x39561f]=_0x4e67b1,_0x18cf8f=!![];}catch(_0x29455e){_0x47f359[_0x39561f]={'error':_0x29455e['message']};}}let _0x3b71a5=0x0;cachedJobConfigs&&(_0x3b71a5=Object['keys'](cachedJobConfigs)[_0x55d106(0x13e)]),_0x26a32e['json']({'success':!![],'data':{'status':_0x18cf8f?_0x22ac59['NYovi']:_0x55d106(0x18b),'redis':_0x18cf8f?_0x55d106(0x184):_0x22ac59[_0x55d106(0x141)],'registeredJobs':_0x3b71a5,'queues':_0x47f359}});}catch(_0x5ae6e7){_0x26a32e['status'](0x1f7)['json']({'success':![],'data':{'status':_0x22ac59['uGIAr'],'error':_0x5ae6e7['message']}});}}),_0x495b3a;}module['exports']=createJobRoutes;
|
|
1
|
+
const a0_0x260f63=a0_0x270c;(function(_0x37f963,_0x51ea83){const _0x49f18c=a0_0x270c,_0x24c68b=_0x37f963();while(!![]){try{const _0x5cdcde=parseInt(_0x49f18c(0x100))/0x1+parseInt(_0x49f18c(0x10c))/0x2*(parseInt(_0x49f18c(0x112))/0x3)+-parseInt(_0x49f18c(0xf0))/0x4+parseInt(_0x49f18c(0x11b))/0x5*(-parseInt(_0x49f18c(0x10e))/0x6)+parseInt(_0x49f18c(0xf6))/0x7+-parseInt(_0x49f18c(0x119))/0x8*(-parseInt(_0x49f18c(0xea))/0x9)+parseInt(_0x49f18c(0x135))/0xa*(-parseInt(_0x49f18c(0x12a))/0xb);if(_0x5cdcde===_0x51ea83)break;else _0x24c68b['push'](_0x24c68b['shift']());}catch(_0x4ed0a5){_0x24c68b['push'](_0x24c68b['shift']());}}}(a0_0x49ab,0x67fae));function a0_0x49ab(){const _0x38ce4c=['ANnVBG','CgfYC2u','zxjYB3i','odmXody2BgTuve1N','z2v0sM9ICW','CMv0CNK','tvnpwgK','t3DUyM8','zw5KC1DPDgG','zgvZy3jPChrPB24','zMLUAxnOzwrpBG','zgLZy29UBMvJDgvK','BMfTzq','D2fPDgLUzW','sM9IihrYAwDNzxjLzcb2AweGqvbjoIa','ogj3D0fNtG','rxjYB3iGz2v0DgLUzYbXDwv1zsbZDgf0CW','mZaWtLr3ruHh','z2v0','sM9Iia','ihrPzgfRigrPDgvTDwTHBG','ndi0mdu2rgnQAff6','zw52','zxHWB25LBNrPywW','Cgf5Bg9Hza','l3f1zxvLCW','AM9Ix2HPC3rVCNLFzxjYB3i','BwfW','nJu4mJaXnNrurwvPwa','AM9Ix3rYAwDNzxjLzf92AwfFyxbP','nZyYnZv1BNzWz2m','AM9PBG','AgLNAa','BwvZC2fNzq','y3jLyxrLza','BuvPwuW','z1bpAve','l2HPC3rVCNK','z2v0u3rHDgu','ELbgEK8','Cg9ZDa','uKvesvnFrei','zgvSyxLLza','uKvesvnFueftu1DpuKq','B3nsyvu','mJa5DwD0DMTt','icHPzdOG','qKrYCvq','zxHPC3rZu3LUyW','AM9Ix3n0yxr1C19LCNjVCG','ChjVz3jLC3m','zgvNCMfKzwq','CMy6AM9I','DMfSDwvZ','Bg93','yNvSBg1X','nZCYotmWsKHAAwn5','BgLTAxq','CgfYyw1Z','zgvMyxvSDa','C29YDa','rNPeCgW','yxbP','ChvZAa','iIb0AwrHAYbKAxrLBxvRyw4GzgKGA29UzMLNDxjHC2K','uKvesvnFse9tva','CxvLCNK','zMLSDgvY','z2v0sM9I','txn5q20','AM9Ix3jVDxrLC19YzwrPC19LCNjVCG','ywn0AxzL','y3nWt1G','zgf0yq','Bw92zvrVrMfPBgvK','CMvHzgrPCLn5BMm','Bg9JywXOB3n0','rhjrzKC','sK9cx1jfreLtx1bsruzjwa','y2Dczge','AgfUzgXLCG','DgLTzw91Da','rxjYB3iGBgLZDgLUzYbQB2jZ','v2r3Dfa','sM9IignHBMnLBgXLzcb2AweGqvbj','Bxjkt1i','C3rHDhvZ','Bwf4qxr0zw1WDhm','DxrMoa','Bwv0ywrHDge','t2jzywG','ChjVy2vZC2vKt24','ouLUEMHfvW','BgvUz3rO','zgTkC1q','DgLTzxn0yw1WCW','l2HLywX0Aa','BwLU','mtu3mZy2ngrTAu1AtW','z2v0sM9Iq291BNrZ','lMPZB24','zw5HyMXLza','zMjJsNe','uKvesvnFue9sva','ntGXndi2m1rQrhLnBG','zMfPBgvKuMvHC29U','AM9Ix3rYAwDNzxjFzxjYB3i','sM9IifjVDxrLCYbszwrPCYbLCNjVCJOG','l2XPC3q','zxHWB3j0CW','ihjLBw92zwqGkhDHCYa'];a0_0x49ab=function(){return _0x38ce4c;};return a0_0x49ab();}const express=require('express'),{Queue}=require(a0_0x260f63(0x134)),Redis=require('ioredis'),{logger}=require('../../utils/logger');let readConnection=null,readQueues=null,cachedJobConfigs=null;const QUEUE_NAMES={'high-priority':a0_0x260f63(0x11d),'default':'default','low-priority':a0_0x260f63(0x133)};function getReadQueues(){const _0x387e11=a0_0x260f63,_0x5f3982={'BnrwF':_0x387e11(0xda),'RIlMl':function(_0x45e427,_0x9acd7f,_0x2a3199){return _0x45e427(_0x9acd7f,_0x2a3199);},'Ownbo':'error'};if(readQueues)return readQueues;const _0x145f2f=process['env'][_0x387e11(0xdc)]||_0x387e11(0x131);readConnection=new Redis({'host':process[_0x387e11(0x113)][_0x387e11(0x13e)]||_0x5f3982['BnrwF'],'port':_0x5f3982['RIlMl'](parseInt,process['env'][_0x387e11(0xf5)],0xa)||0x18ec,'password':process['env'][_0x387e11(0x128)]||undefined,'db':_0x5f3982['RIlMl'](parseInt,process['env'][_0x387e11(0x126)],0xa)||0x0,'maxRetriesPerRequest':null}),readConnection['on'](_0x5f3982[_0x387e11(0x104)],_0xbba1c8=>{const _0x279c79=_0x387e11;logger['error']({'event':_0x279c79(0x143),'error':_0xbba1c8['message']},_0x279c79(0xf9)+_0xbba1c8['message']);}),readQueues={};for(const [_0xf4e498,_0x926333]of Object['entries'](QUEUE_NAMES)){readQueues[_0xf4e498]=new Queue(_0x926333,{'connection':readConnection,'prefix':_0x145f2f});}return readQueues;}function createJobRoutes(_0x79830d){const _0x3150b9=a0_0x260f63,_0x545f96={'fbcJq':function(_0x248b9d,_0xab4b1e){return _0x248b9d(_0xab4b1e);},'FzDpl':'utf8','gPOiQ':'default','jgUZb':function(_0x4f7b66){return _0x4f7b66();},'MsyCm':'Error\x20getting\x20job\x20status','BDrqT':'jobs','YRgek':function(_0x1122a3,_0x6aceb4){return _0x1122a3===_0x6aceb4;},'PRDfI':function(_0x1e49d5){return _0x1e49d5();},'cspOX':_0x3150b9(0x114),'osRaU':_0x3150b9(0xf8),'TeBNw':function(_0x41e223){return _0x41e223();},'NVlDK':_0x3150b9(0xe2),'haQap':'api-cancel','mrJOR':'waiting','aKCCv':function(_0xbd34c4,_0x7bac82){return _0xbd34c4===_0x7bac82;},'ObYah':function(_0x88f772,_0x3060ae,_0x1c4cd7){return _0x88f772(_0x3060ae,_0x1c4cd7);},'dkJsT':function(_0x3bf528,_0x823e2a){return _0x3bf528-_0x823e2a;},'MtAQN':function(_0x44155f,_0x142e89){return _0x44155f+_0x142e89;},'cgBda':'failed','lKUCw':'active','zPFzO':'completed','mEiYL':function(_0x20aadd){return _0x20aadd();},'qpfFG':'healthy','DrQfG':_0x3150b9(0x130),'YKWmS':'unhealthy','VfeUY':'/status/:jobId','MSOXi':'/trigger/:jobName','WdwtP':_0x3150b9(0x116),'xzsUL':_0x3150b9(0xee)},_0x26991a=express['Router']();return _0x79830d&&Object['keys'](_0x79830d)[_0x3150b9(0xeb)]>0x0&&(cachedJobConfigs=_0x79830d),_0x26991a[_0x3150b9(0x10f)](_0x3150b9(0xfa),(_0xc124e9,_0x3eb9b7)=>{const _0x1d6264=_0x3150b9;try{if(cachedJobConfigs){const _0x2d4c13=Object[_0x1d6264(0x132)](cachedJobConfigs)[_0x1d6264(0x118)](_0x2632ac=>({'name':_0x2632ac['name'],'description':_0x2632ac['description']||'','type':_0x2632ac['type'],'schedule':_0x2632ac['schedule'],'handler':_0x2632ac[_0x1d6264(0xde)],'enabled':_0x2632ac['enabled']!==![],'queue':_0x2632ac['queue']||'default','timeout':_0x2632ac[_0x1d6264(0xdf)]||0x7530,'retry':_0x2632ac[_0x1d6264(0x102)]||{'maxAttempts':0x3,'backoff':'exponential','initialDelay':0x1388},'metadata':_0x2632ac[_0x1d6264(0xe7)]||{}}));return _0x3eb9b7['json']({'success':!![],'data':_0x2d4c13,'total':_0x2d4c13['length']});}const _0x2a5b8e=_0x545f96[_0x1d6264(0xf4)](require,'fs'),_0x482435=require('path'),_0x29d7e9=_0x482435['join'](process['cwd'](),'payload','jobs');if(!_0x2a5b8e[_0x1d6264(0x12d)](_0x29d7e9))return _0x3eb9b7['json']({'success':!![],'data':[],'total':0x0});const _0x9f4103=_0x2a5b8e[_0x1d6264(0x148)](_0x29d7e9)['filter'](_0x377895=>_0x377895[_0x1d6264(0x105)](_0x1d6264(0xf2))),_0x6dc259=[];for(const _0x100e51 of _0x9f4103){try{const _0x31a6ea=_0x2a5b8e['readFileSync'](_0x482435[_0x1d6264(0x11c)](_0x29d7e9,_0x100e51),_0x545f96[_0x1d6264(0x13a)]),_0x272699=JSON[_0x1d6264(0xfe)](_0x31a6ea);_0x6dc259[_0x1d6264(0x13c)]({'name':_0x272699[_0x1d6264(0x109)],'description':_0x272699[_0x1d6264(0x106)]||'','type':_0x272699['type'],'schedule':_0x272699['schedule'],'handler':_0x272699[_0x1d6264(0xde)],'enabled':_0x272699[_0x1d6264(0xf3)]!==![],'queue':_0x272699['queue']||_0x545f96[_0x1d6264(0x121)],'timeout':_0x272699['timeout']||0x7530,'retry':_0x272699['retry']||{},'metadata':_0x272699['metadata']||{}});}catch(_0x23fa10){}}_0x3eb9b7[_0x1d6264(0xfd)]({'success':!![],'data':_0x6dc259,'total':_0x6dc259['length']});}catch(_0x1d3771){logger['error']({'event':'job_list_error','error':_0x1d3771['message']},_0x1d6264(0xe0)),_0x3eb9b7[_0x1d6264(0xe4)](0x1f4)['json']({'success':![],'error':_0x1d3771[_0x1d6264(0x11e)]});}}),_0x26991a['get'](_0x545f96['VfeUY'],async(_0x4127b8,_0xcb24dc)=>{const _0x3d7b5b=_0x3150b9;try{const {jobId:_0x1ebb2f}=_0x4127b8[_0x3d7b5b(0x137)],_0x4cac9a=_0x545f96['jgUZb'](getReadQueues);for(const _0x5bcbae of Object['values'](_0x4cac9a)){const _0x43b4f8=await _0x5bcbae[_0x3d7b5b(0x141)](_0x1ebb2f);if(_0x43b4f8){const _0x350d90=await _0x43b4f8[_0x3d7b5b(0x123)]();return _0xcb24dc['json']({'success':!![],'data':{'jobId':_0x43b4f8['id'],'name':_0x43b4f8['name'],'state':_0x350d90,'progress':_0x43b4f8[_0x3d7b5b(0x12f)],'attemptsMade':_0x43b4f8['attemptsMade'],'failedReason':_0x43b4f8['failedReason'],'returnvalue':_0x43b4f8['returnvalue'],'data':_0x43b4f8[_0x3d7b5b(0x146)],'timestamps':{'created':_0x43b4f8['timestamp'],'started':_0x43b4f8[_0x3d7b5b(0xe9)],'completed':_0x43b4f8[_0x3d7b5b(0x107)]}}});}}_0xcb24dc[_0x3d7b5b(0xe4)](0x194)[_0x3d7b5b(0xfd)]({'success':![],'error':_0x3d7b5b(0x110)+_0x1ebb2f+'\x20tidak\x20ditemukan'});}catch(_0x25e8be){logger[_0x3d7b5b(0xff)]({'event':_0x3d7b5b(0x12e),'error':_0x25e8be['message']},_0x545f96[_0x3d7b5b(0x142)]),_0xcb24dc['status'](0x1f4)[_0x3d7b5b(0xfd)]({'success':![],'error':_0x25e8be[_0x3d7b5b(0x11e)]});}}),_0x26991a[_0x3150b9(0x125)](_0x545f96[_0x3150b9(0x103)],async(_0xf4ebaa,_0x4cc59f)=>{const _0x4b1e6b=_0x3150b9;try{const {jobName:_0x233bc1}=_0xf4ebaa[_0x4b1e6b(0x137)],_0x3cdb9c=_0xf4ebaa['body']||{};let _0x49e250=cachedJobConfigs?.[_0x233bc1];if(!_0x49e250){const _0x5d3c34=require('fs'),_0x6fcd10=require('path'),_0x9308a=_0x6fcd10[_0x4b1e6b(0x11c)](process['cwd'](),_0x4b1e6b(0x115),_0x545f96[_0x4b1e6b(0x12c)]),_0x2f4562=_0x5d3c34['existsSync'](_0x9308a)?_0x5d3c34[_0x4b1e6b(0x148)](_0x9308a)[_0x4b1e6b(0x140)](_0x5ce8c1=>_0x5ce8c1['endsWith'](_0x4b1e6b(0xf2))):[];for(const _0x342fe3 of _0x2f4562){try{const _0xd703be=_0x5d3c34['readFileSync'](_0x6fcd10[_0x4b1e6b(0x11c)](_0x9308a,_0x342fe3),_0x4b1e6b(0xe6)),_0x3d928a=JSON['parse'](_0xd703be);if(_0x545f96['YRgek'](_0x3d928a[_0x4b1e6b(0x109)],_0x233bc1)){_0x49e250=_0x3d928a;break;}}catch(_0xed66e7){}}}if(!_0x49e250)return _0x4cc59f[_0x4b1e6b(0xe4)](0x194)[_0x4b1e6b(0xfd)]({'success':![],'error':'Job\x20\x22'+_0x233bc1+_0x4b1e6b(0x13d)});const _0x1c05ac=_0x545f96['PRDfI'](getReadQueues),_0x25c889=_0x1c05ac[_0x49e250['queue']||_0x4b1e6b(0x138)],_0x4ea11f=await _0x25c889['add'](_0x233bc1,{..._0x3cdb9c,'handler':_0x49e250[_0x4b1e6b(0xde)],'triggeredBy':_0x4b1e6b(0x13b)},{'attempts':_0x49e250['retry']?.[_0x4b1e6b(0xe5)]||0x3,'backoff':{'type':_0x49e250['retry']?.['backoff']||_0x545f96[_0x4b1e6b(0x145)],'delay':_0x49e250[_0x4b1e6b(0x102)]?.['initialDelay']||0x1388},'timeout':_0x49e250[_0x4b1e6b(0xdf)]||0x7530});logger['info']({'event':_0x4b1e6b(0x11a),'jobId':_0x4ea11f['id'],'name':_0x233bc1},_0x4b1e6b(0x10b)+_0x233bc1+_0x4b1e6b(0x12b)+_0x4ea11f['id']+')'),_0x4cc59f[_0x4b1e6b(0xfd)]({'success':!![],'jobId':_0x4ea11f['id'],'message':_0x4b1e6b(0x110)+_0x233bc1+'\x20berhasil\x20di-trigger'});}catch(_0x281a23){logger['error']({'event':_0x545f96[_0x4b1e6b(0x129)],'error':_0x281a23[_0x4b1e6b(0x11e)]},'Error\x20triggering\x20job'),_0x4cc59f[_0x4b1e6b(0xe4)](0x1f4)[_0x4b1e6b(0xfd)]({'success':![],'error':_0x281a23[_0x4b1e6b(0x11e)]});}}),_0x26991a['post']('/cancel/:jobId',async(_0x6ab01e,_0x36759c)=>{const _0xf6f027=_0x3150b9;try{const {jobId:_0x57d01d}=_0x6ab01e[_0xf6f027(0x137)],_0x4d5051=_0x545f96['TeBNw'](getReadQueues);for(const _0x1180d1 of Object[_0xf6f027(0x132)](_0x4d5051)){const _0x375db2=await _0x1180d1['getJob'](_0x57d01d);if(_0x375db2){const _0x1303fa=await _0x375db2['getState']();if(_0x1303fa===_0xf6f027(0x144))return await _0x375db2[_0xf6f027(0x147)](new Error(_0x545f96['NVlDK']),_0x545f96['haQap'],!![]),_0x36759c[_0xf6f027(0xfd)]({'success':!![],'message':'Job\x20'+_0x57d01d+'\x20cancelled\x20(was\x20active)'});if(_0x1303fa===_0x545f96[_0xf6f027(0xe3)]||_0x545f96['aKCCv'](_0x1303fa,_0xf6f027(0x127)))return await _0x375db2['remove'](),_0x36759c[_0xf6f027(0xfd)]({'success':!![],'message':'Job\x20'+_0x57d01d+_0xf6f027(0xfc)+_0x1303fa+')'});return _0x36759c['json']({'success':![],'message':_0xf6f027(0x110)+_0x57d01d+'\x20tidak\x20bisa\x20di-cancel\x20(state:\x20'+_0x1303fa+')'});}}_0x36759c['status'](0x194)[_0xf6f027(0xfd)]({'success':![],'error':_0xf6f027(0x110)+_0x57d01d+_0xf6f027(0x111)});}catch(_0x490593){logger[_0xf6f027(0xff)]({'event':'job_cancel_error','error':_0x490593['message']},'Error\x20cancelling\x20job'),_0x36759c[_0xf6f027(0xe4)](0x1f4)[_0xf6f027(0xfd)]({'success':![],'error':_0x490593['message']});}}),_0x26991a[_0x3150b9(0x10f)](_0x3150b9(0x122),async(_0xc7e768,_0x2e9dae)=>{const _0x6a9d56=_0x3150b9;try{const _0x5e6f3b=_0x545f96[_0x6a9d56(0xe8)](parseInt,_0xc7e768[_0x6a9d56(0x13f)]['page'],0xa)||0x1,_0x51b1ef=Math[_0x6a9d56(0xef)](parseInt(_0xc7e768[_0x6a9d56(0x13f)][_0x6a9d56(0x136)],0xa)||0x14,0x64),_0x157901=_0x545f96[_0x6a9d56(0xec)](_0x5e6f3b,0x1)*_0x51b1ef,_0x380339=_0x545f96['MtAQN'](_0x157901,_0x51b1ef)-0x1,_0x522d31=getReadQueues(),_0x926043=[];for(const [_0x511e75,_0xdddd37]of Object['entries'](_0x522d31)){const _0x579a1a=await _0xdddd37['getJobs'](['completed'],_0x157901,_0x380339),_0x11bfe0=await _0xdddd37[_0x6a9d56(0x101)]([_0x545f96['cgBda']],_0x157901,_0x380339);for(const _0x56cb6d of[..._0x579a1a,..._0x11bfe0]){const _0x3d514b=await _0x56cb6d['getState']();_0x926043[_0x6a9d56(0x13c)]({'jobId':_0x56cb6d['id'],'name':_0x56cb6d['name'],'state':_0x3d514b,'queue':_0x511e75,'attemptsMade':_0x56cb6d['attemptsMade'],'failedReason':_0x56cb6d[_0x6a9d56(0xf7)],'returnvalue':_0x56cb6d['returnvalue'],'timestamps':{'created':_0x56cb6d['timestamp'],'started':_0x56cb6d['processedOn'],'completed':_0x56cb6d[_0x6a9d56(0x107)]}});}}_0x926043[_0x6a9d56(0x139)]((_0x2a328d,_0x4116fd)=>(_0x4116fd[_0x6a9d56(0xed)][_0x6a9d56(0x11f)]||0x0)-(_0x2a328d['timestamps'][_0x6a9d56(0x11f)]||0x0)),_0x2e9dae[_0x6a9d56(0xfd)]({'success':!![],'data':_0x926043['slice'](0x0,_0x51b1ef),'total':_0x926043[_0x6a9d56(0xeb)],'page':_0x5e6f3b,'limit':_0x51b1ef});}catch(_0x44f95c){logger['error']({'event':_0x6a9d56(0x117),'error':_0x44f95c[_0x6a9d56(0x11e)]},'Error\x20getting\x20job\x20history'),_0x2e9dae[_0x6a9d56(0xe4)](0x1f4)[_0x6a9d56(0xfd)]({'success':![],'error':_0x44f95c['message']});}}),_0x26991a[_0x3150b9(0x10f)](_0x545f96[_0x3150b9(0xe1)],async(_0x297ed4,_0x44717a)=>{const _0x2a5e55=_0x3150b9;try{const _0x1827ea=getReadQueues(),_0x69a8d8={};for(const [_0x4b624c,_0x5cdacb]of Object['entries'](_0x1827ea)){try{const _0x148e2e=await _0x5cdacb['getJobCounts'](_0x545f96['lKUCw'],_0x545f96[_0x2a5e55(0x124)],'delayed',_0x545f96['cgBda'],'paused',_0x2a5e55(0x10a));_0x69a8d8[_0x4b624c]=_0x148e2e;}catch(_0x237a1b){_0x69a8d8[_0x4b624c]={'error':_0x237a1b[_0x2a5e55(0x11e)]};}}_0x44717a['json']({'success':!![],'data':_0x69a8d8});}catch(_0x41685c){logger[_0x2a5e55(0xff)]({'event':'job_queues_error','error':_0x41685c['message']},_0x2a5e55(0x10d)),_0x44717a[_0x2a5e55(0xe4)](0x1f4)[_0x2a5e55(0xfd)]({'success':![],'error':_0x41685c['message']});}}),_0x26991a['get'](_0x545f96['xzsUL'],async(_0x4ba408,_0x30eb5b)=>{const _0x565a86=_0x3150b9;try{const _0x1ca9ca=_0x545f96[_0x565a86(0x120)](getReadQueues),_0x297e20={};let _0x24a1f6=![];for(const [_0x172823,_0x22897c]of Object['entries'](_0x1ca9ca)){try{const _0x195a91=await _0x22897c[_0x565a86(0xf1)](_0x545f96['lKUCw'],_0x565a86(0x10a),_0x545f96[_0x565a86(0xdd)]);_0x297e20[_0x172823]=_0x195a91,_0x24a1f6=!![];}catch(_0x2bc0d1){_0x297e20[_0x172823]={'error':_0x2bc0d1[_0x565a86(0x11e)]};}}let _0x534ca0=0x0;cachedJobConfigs&&(_0x534ca0=Object['keys'](cachedJobConfigs)['length']),_0x30eb5b[_0x565a86(0xfd)]({'success':!![],'data':{'status':_0x24a1f6?_0x545f96['qpfFG']:_0x545f96[_0x565a86(0xdb)],'redis':_0x24a1f6?'connected':_0x565a86(0x108),'registeredJobs':_0x534ca0,'queues':_0x297e20}});}catch(_0x49e232){_0x30eb5b['status'](0x1f7)[_0x565a86(0xfd)]({'success':![],'data':{'status':_0x545f96['YKWmS'],'error':_0x49e232['message']}});}}),_0x26991a;}function a0_0x270c(_0x549b02,_0x22e907){_0x549b02=_0x549b02-0xda;const _0x49abe0=a0_0x49ab();let _0x270c3d=_0x49abe0[_0x549b02];if(a0_0x270c['ZDZyqa']===undefined){var _0x4bf222=function(_0x2bc4cd){const _0x515a9d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2d6924='',_0x39ef38='';for(let _0x272e82=0x0,_0x22bffc,_0x3b7616,_0x23f361=0x0;_0x3b7616=_0x2bc4cd['charAt'](_0x23f361++);~_0x3b7616&&(_0x22bffc=_0x272e82%0x4?_0x22bffc*0x40+_0x3b7616:_0x3b7616,_0x272e82++%0x4)?_0x2d6924+=String['fromCharCode'](0xff&_0x22bffc>>(-0x2*_0x272e82&0x6)):0x0){_0x3b7616=_0x515a9d['indexOf'](_0x3b7616);}for(let _0x5adf83=0x0,_0x21b113=_0x2d6924['length'];_0x5adf83<_0x21b113;_0x5adf83++){_0x39ef38+='%'+('00'+_0x2d6924['charCodeAt'](_0x5adf83)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x39ef38);};a0_0x270c['OEZZxm']=_0x4bf222,a0_0x270c['ZUXNja']={},a0_0x270c['ZDZyqa']=!![];}const _0x4d0220=_0x49abe0[0x0],_0x69008d=_0x549b02+_0x4d0220,_0xed674a=a0_0x270c['ZUXNja'][_0x69008d];return!_0xed674a?(_0x270c3d=a0_0x270c['OEZZxm'](_0x270c3d),a0_0x270c['ZUXNja'][_0x69008d]=_0x270c3d):_0x270c3d=_0xed674a,_0x270c3d;}module[a0_0x260f63(0xfb)]=createJobRoutes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x296a29=a0_0x1743;function a0_0x1743(_0x267727,_0xbdc0ad){_0x267727=_0x267727-0x6b;const _0x2ebf83=a0_0x2ebf();let _0x1743e2=_0x2ebf83[_0x267727];if(a0_0x1743['UPMbow']===undefined){var _0x1b5e12=function(_0x21ba8e){const _0x1b5220='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2f458a='',_0x6fd09b='';for(let _0x5e7d04=0x0,_0xffe5f,_0x57d942,_0x6ab1e4=0x0;_0x57d942=_0x21ba8e['charAt'](_0x6ab1e4++);~_0x57d942&&(_0xffe5f=_0x5e7d04%0x4?_0xffe5f*0x40+_0x57d942:_0x57d942,_0x5e7d04++%0x4)?_0x2f458a+=String['fromCharCode'](0xff&_0xffe5f>>(-0x2*_0x5e7d04&0x6)):0x0){_0x57d942=_0x1b5220['indexOf'](_0x57d942);}for(let _0x2ba6e0=0x0,_0x498c52=_0x2f458a['length'];_0x2ba6e0<_0x498c52;_0x2ba6e0++){_0x6fd09b+='%'+('00'+_0x2f458a['charCodeAt'](_0x2ba6e0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x6fd09b);};a0_0x1743['QUFhKr']=_0x1b5e12,a0_0x1743['ZbIXAU']={},a0_0x1743['UPMbow']=!![];}const _0x3098ca=_0x2ebf83[0x0],_0x253dd6=_0x267727+_0x3098ca,_0x29001d=a0_0x1743['ZbIXAU'][_0x253dd6];return!_0x29001d?(_0x1743e2=a0_0x1743['QUFhKr'](_0x1743e2),a0_0x1743['ZbIXAU'][_0x253dd6]=_0x1743e2):_0x1743e2=_0x29001d,_0x1743e2;}(function(_0x33c652,_0x30595b){const _0x3e76d8=a0_0x1743,_0x907b42=_0x33c652();while(!![]){try{const _0x2d27c7=parseInt(_0x3e76d8(0x8e))/0x1*(parseInt(_0x3e76d8(0x84))/0x2)+parseInt(_0x3e76d8(0xb8))/0x3+-parseInt(_0x3e76d8(0x97))/0x4+parseInt(_0x3e76d8(0x86))/0x5*(-parseInt(_0x3e76d8(0xa4))/0x6)+-parseInt(_0x3e76d8(0x91))/0x7+parseInt(_0x3e76d8(0x83))/0x8+parseInt(_0x3e76d8(0x95))/0x9*(-parseInt(_0x3e76d8(0x77))/0xa);if(_0x2d27c7===_0x30595b)break;else _0x907b42['push'](_0x907b42['shift']());}catch(_0x46a599){_0x907b42['push'](_0x907b42['shift']());}}}(a0_0x2ebf,0xdc92c));const fs=require('fs'),path=require('path'),VALID_QUEUE_NAMES=[a0_0x296a29(0xbc),'default','low-priority'],VALID_BACKOFF_TYPES=['fixed','exponential'],SLUG_REGEX=/^[a-z0-9]+(?:-[a-z0-9]+)*$/;class JobValidator{['validateConfig'](_0xe49eef,_0x265517){const _0x1bcf48=a0_0x296a29,_0x43f9f5={'FMlgH':_0x1bcf48(0x82),'Hqwef':_0x1bcf48(0xb9),'lupgm':function(_0x28298e,_0x434c2e){return _0x28298e!==_0x434c2e;},'pUCNc':_0x1bcf48(0xb1),'lqlDc':function(_0x59aa78,_0x3c076a){return _0x59aa78!==_0x3c076a;},'hnnws':'Field\x20\x22type\x22\x20wajib\x20diisi\x20(string)','KtiFH':'cron','QhKhl':function(_0x1223af,_0x2c9df1){return _0x1223af!==_0x2c9df1;},'lSCwO':_0x1bcf48(0x73),'GUwrg':_0x1bcf48(0x87),'ufkHd':'number','Eggfo':function(_0x25baac,_0x4ed0c3){return _0x25baac<=_0x4ed0c3;},'LLfxb':function(_0x5b6fd6,_0x1019c9){return _0x5b6fd6!==_0x1019c9;},'txWDv':function(_0x128909,_0x42b72d){return _0x128909<_0x42b72d;},'Fmqtd':function(_0x37605,_0x3817d3){return _0x37605>_0x3817d3;},'aBotC':'Field\x20\x22concurrency\x22\x20harus\x20number\x20antara\x201-50','goZsg':function(_0x1a316b,_0x4d2cb2){return _0x1a316b!==_0x4d2cb2;},'AmtIm':function(_0x55b985,_0x34003e){return _0x55b985===_0x34003e;},'VWjfb':_0x1bcf48(0x7e)},_0x81b5a6=[];if(!_0xe49eef||typeof _0xe49eef!==_0x43f9f5[_0x1bcf48(0xb6)])return{'valid':![],'errors':[_0x43f9f5['Hqwef']]};if(!_0xe49eef['name']||_0x43f9f5[_0x1bcf48(0x81)](typeof _0xe49eef['name'],_0x43f9f5[_0x1bcf48(0x7c)]))_0x81b5a6[_0x1bcf48(0xb4)](_0x1bcf48(0x90));else!SLUG_REGEX[_0x1bcf48(0x93)](_0xe49eef['name'])&&_0x81b5a6['push'](_0x1bcf48(0x7a)+_0xe49eef['name']+'\x22');if(!_0xe49eef[_0x1bcf48(0x9f)]||_0x43f9f5[_0x1bcf48(0x6f)](typeof _0xe49eef['type'],_0x43f9f5[_0x1bcf48(0x7c)]))_0x81b5a6[_0x1bcf48(0xb4)](_0x43f9f5['hnnws']);else _0x43f9f5[_0x1bcf48(0x6f)](_0xe49eef[_0x1bcf48(0x9f)],_0x43f9f5[_0x1bcf48(0xb2)])&&_0x81b5a6['push'](_0x1bcf48(0x6b)+_0xe49eef['type']+'\x22');if(!_0xe49eef['schedule']||_0x43f9f5['QhKhl'](typeof _0xe49eef[_0x1bcf48(0x6c)],_0x1bcf48(0xb1)))_0x81b5a6['push']('Field\x20\x22schedule\x22\x20wajib\x20diisi\x20(cron\x20expression\x20string)');else{const _0x166aaa=this['validateCronExpression'](_0xe49eef['schedule']);!_0x166aaa['valid']&&_0x81b5a6[_0x1bcf48(0xb4)](..._0x166aaa['errors']);}if(!_0xe49eef[_0x1bcf48(0x72)]||typeof _0xe49eef['handler']!=='string')_0x81b5a6[_0x1bcf48(0xb4)](_0x43f9f5[_0x1bcf48(0x9a)]);else{if(_0x265517){const _0x42d4f7=this[_0x1bcf48(0x94)](_0xe49eef['handler'],_0x265517);!_0x42d4f7[_0x1bcf48(0xa8)]&&_0x81b5a6[_0x1bcf48(0xb4)](..._0x42d4f7['errors']);}}_0xe49eef['enabled']!==undefined&&typeof _0xe49eef['enabled']!==_0x43f9f5[_0x1bcf48(0xb3)]&&_0x81b5a6['push']('Field\x20\x22enabled\x22\x20harus\x20boolean');_0xe49eef['timeout']!==undefined&&((typeof _0xe49eef[_0x1bcf48(0xa5)]!==_0x43f9f5[_0x1bcf48(0x8f)]||_0x43f9f5[_0x1bcf48(0x88)](_0xe49eef[_0x1bcf48(0xa5)],0x0))&&_0x81b5a6[_0x1bcf48(0xb4)](_0x1bcf48(0xa1)));if(_0xe49eef[_0x1bcf48(0xbb)]!==undefined){const _0x2bce2c=this['validateQueueName'](_0xe49eef[_0x1bcf48(0xbb)]);!_0x2bce2c[_0x1bcf48(0xa8)]&&_0x81b5a6['push'](..._0x2bce2c[_0x1bcf48(0x9b)]);}_0xe49eef['concurrency']!==undefined&&((_0x43f9f5[_0x1bcf48(0x9c)](typeof _0xe49eef['concurrency'],_0x43f9f5['ufkHd'])||_0x43f9f5['txWDv'](_0xe49eef['concurrency'],0x1)||_0x43f9f5['Fmqtd'](_0xe49eef[_0x1bcf48(0x80)],0x32))&&_0x81b5a6[_0x1bcf48(0xb4)](_0x43f9f5['aBotC']));if(_0x43f9f5['goZsg'](_0xe49eef['retry'],undefined)){if(typeof _0xe49eef['retry']!==_0x1bcf48(0x82)||_0x43f9f5['AmtIm'](_0xe49eef[_0x1bcf48(0xad)],null))_0x81b5a6['push'](_0x43f9f5['VWjfb']);else{const _0x4f1d60=this[_0x1bcf48(0xa6)](_0xe49eef['retry']);!_0x4f1d60[_0x1bcf48(0xa8)]&&_0x81b5a6['push'](..._0x4f1d60['errors']);}}return _0xe49eef[_0x1bcf48(0x7b)]!==undefined&&((typeof _0xe49eef['metadata']!==_0x43f9f5['FMlgH']||_0xe49eef[_0x1bcf48(0x7b)]===null||Array['isArray'](_0xe49eef['metadata']))&&_0x81b5a6['push'](_0x1bcf48(0x76))),{'valid':_0x81b5a6[_0x1bcf48(0x92)]===0x0,'errors':_0x81b5a6};}[a0_0x296a29(0x74)](_0x226c2e){const _0x249b9e=a0_0x296a29,_0x70ff7b={'LiSBn':_0x249b9e(0xb7),'kTBop':_0x249b9e(0x7d),'TyFQA':'month','qaCJv':function(_0x437e96,_0x55e958){return _0x437e96<_0x55e958;},'giTkh':function(_0x4772b0,_0x176fda){return _0x4772b0===_0x176fda;}},_0x16abbe=[],_0x4f9749=_0x226c2e[_0x249b9e(0x8d)]()[_0x249b9e(0xab)](/\s+/);if(_0x4f9749['length']!==0x5)return _0x16abbe[_0x249b9e(0xb4)](_0x249b9e(0xba)+_0x4f9749['length']+'\x20field:\x20\x22'+_0x226c2e+'\x22'),{'valid':![],'errors':_0x16abbe};const _0x3b3eaa=['minute',_0x70ff7b[_0x249b9e(0x78)],_0x70ff7b[_0x249b9e(0x9e)],_0x70ff7b['TyFQA'],'day-of-week'],_0x2cef1a=[{'min':0x0,'max':0x3b},{'min':0x0,'max':0x17},{'min':0x1,'max':0x1f},{'min':0x1,'max':0xc},{'min':0x0,'max':0x7}],_0x495d82=/^(\*|[0-9]+(-[0-9]+)?)([,/](\*|[0-9]+(-[0-9]+)?))*$/;for(let _0x526eb1=0x0;_0x526eb1<0x5;_0x526eb1++){const _0x1afaa0=_0x4f9749[_0x526eb1];if(_0x1afaa0==='*')continue;if(_0x1afaa0['includes']('/')){const [_0x3f439e,_0x50f47f]=_0x1afaa0[_0x249b9e(0xab)]('/');_0x3f439e!=='*'&&!this[_0x249b9e(0xae)](_0x3f439e,_0x2cef1a[_0x526eb1])&&_0x16abbe[_0x249b9e(0xb4)](_0x249b9e(0x6d)+_0x3b3eaa[_0x526eb1]+_0x249b9e(0x7f)+_0x3f439e+_0x249b9e(0x89));const _0x1c67c8=parseInt(_0x50f47f,0xa);(isNaN(_0x1c67c8)||_0x70ff7b['qaCJv'](_0x1c67c8,0x1))&&_0x16abbe['push'](_0x249b9e(0x6d)+_0x3b3eaa[_0x526eb1]+'\x22:\x20step\x20\x22/'+_0x50f47f+'\x22\x20harus\x20angka\x20>\x200');continue;}const _0x4c10ed=_0x1afaa0['split'](',');for(const _0x124640 of _0x4c10ed){!this['_isValidRange'](_0x124640,_0x2cef1a[_0x526eb1])&&_0x16abbe['push']('Cron\x20field\x20\x22'+_0x3b3eaa[_0x526eb1]+_0x249b9e(0xb0)+_0x124640+_0x249b9e(0x8a)+_0x2cef1a[_0x526eb1][_0x249b9e(0xaf)]+'-'+_0x2cef1a[_0x526eb1][_0x249b9e(0x6e)]);}}return{'valid':_0x70ff7b['giTkh'](_0x16abbe[_0x249b9e(0x92)],0x0),'errors':_0x16abbe};}['_isValidRange'](_0x2dfe82,_0x3166a1){const _0x50281d=a0_0x296a29,_0x55122c={'TfWhR':function(_0x5e174d,_0x408532){return _0x5e174d(_0x408532);},'pgivh':function(_0xadac32,_0x26fe9d){return _0xadac32>=_0x26fe9d;},'SJwWJ':function(_0x21a465,_0x1bd65d,_0x5abd4d){return _0x21a465(_0x1bd65d,_0x5abd4d);},'wtBjk':function(_0x4036d5,_0x5599a8){return _0x4036d5(_0x5599a8);}};if(_0x2dfe82['includes']('-')){const [_0x2d25b7,_0x3a2b25]=_0x2dfe82['split']('-')[_0x50281d(0x79)](Number);return!_0x55122c['TfWhR'](isNaN,_0x2d25b7)&&!_0x55122c[_0x50281d(0xaa)](isNaN,_0x3a2b25)&&_0x55122c['pgivh'](_0x2d25b7,_0x3166a1['min'])&&_0x2d25b7<=_0x3166a1[_0x50281d(0x6e)]&&_0x3a2b25>=_0x3166a1['min']&&_0x3a2b25<=_0x3166a1[_0x50281d(0x6e)]&&_0x2d25b7<=_0x3a2b25;}const _0x7e6535=_0x55122c['SJwWJ'](parseInt,_0x2dfe82,0xa);return!_0x55122c['wtBjk'](isNaN,_0x7e6535)&&_0x7e6535>=_0x3166a1[_0x50281d(0xaf)]&&_0x7e6535<=_0x3166a1['max'];}['validateQueueName'](_0x5a4c7d){const _0xe12d6a=a0_0x296a29;if(!VALID_QUEUE_NAMES['includes'](_0x5a4c7d))return{'valid':![],'errors':['Queue\x20\x22'+_0x5a4c7d+_0xe12d6a(0xa2)+VALID_QUEUE_NAMES['join'](',\x20')]};return{'valid':!![],'errors':[]};}['validateRetryConfig'](_0x9ce484){const _0x3476a7=a0_0x296a29,_0x215dcc={'zAeQa':function(_0x2d6c1a,_0x223a3b){return _0x2d6c1a!==_0x223a3b;},'kuGZb':function(_0x5f2fb2,_0x459a02){return _0x5f2fb2!==_0x459a02;},'Bbkck':function(_0x3956d7,_0x2ac3c8){return _0x3956d7<_0x2ac3c8;},'uvsGA':function(_0x1303c0,_0x20bc5e){return _0x1303c0>_0x20bc5e;},'QLJaR':_0x3476a7(0x8b),'ZrqvJ':function(_0x1cbd99,_0x347e88){return _0x1cbd99<=_0x347e88;}},_0x3ae8ad=[];return _0x215dcc[_0x3476a7(0x96)](_0x9ce484[_0x3476a7(0x75)],undefined)&&((_0x215dcc[_0x3476a7(0xac)](typeof _0x9ce484[_0x3476a7(0x75)],'number')||_0x215dcc['Bbkck'](_0x9ce484[_0x3476a7(0x75)],0x1)||_0x215dcc['uvsGA'](_0x9ce484['maxAttempts'],0xa))&&_0x3ae8ad[_0x3476a7(0xb4)]('Field\x20\x22retry.maxAttempts\x22\x20harus\x20number\x20antara\x201-10')),_0x9ce484['backoff']!==undefined&&(!VALID_BACKOFF_TYPES['includes'](_0x9ce484[_0x3476a7(0x71)])&&_0x3ae8ad[_0x3476a7(0xb4)](_0x3476a7(0xa7)+VALID_BACKOFF_TYPES[_0x3476a7(0x85)](_0x215dcc['QLJaR'])+'\x22')),_0x9ce484[_0x3476a7(0x98)]!==undefined&&((typeof _0x9ce484['initialDelay']!==_0x3476a7(0xa9)||_0x215dcc[_0x3476a7(0x9d)](_0x9ce484['initialDelay'],0x0))&&_0x3ae8ad[_0x3476a7(0xb4)](_0x3476a7(0xa0))),{'valid':_0x3ae8ad[_0x3476a7(0x92)]===0x0,'errors':_0x3ae8ad};}['validateHandlerExists'](_0x5dc0d9,_0x369ec1){const _0x3aec89=a0_0x296a29,_0x3c94f8=path['join'](_0x369ec1,_0x3aec89(0x8c),_0x3aec89(0x70),_0x5dc0d9+_0x3aec89(0xb5));if(!fs[_0x3aec89(0x99)](_0x3c94f8))return{'valid':![],'errors':['Handler\x20file\x20tidak\x20ditemukan:\x20src/jobs/'+_0x5dc0d9+'.js\x20(absolute:\x20'+_0x3c94f8+')']};return{'valid':!![],'errors':[]};}}module[a0_0x296a29(0xa3)]=new JobValidator();function a0_0x2ebf(){const _0x24910c=['Aw5PDgLHBerLBgf5','zxHPC3rZu3LUyW','BfndD08','zxjYB3jZ','teXMEgi','wNjXDKO','A1rcB3a','DhLWzq','rMLLBgqGiNjLDhj5lMLUAxrPywXezwXHEsiGAgfYDxmGBNvTyMvYid4GmcaOzgfSyw0GBxmP','rMLLBgqGiNrPBwvVDxqIigHHCNvZig51BwjLCIa+idaGkgrHBgfTig1Zkq','iIb0AwrHAYb2ywXPzc4GugLSAwHHBJOG','zxHWB3j0CW','oteYmeLNs25UDq','DgLTzw91Da','DMfSAwrHDgvszxrYEunVBMzPzW','rMLLBgqGiNjLDhj5lMjHy2TVzMyIigHHCNvZici','DMfSAwq','BNvTyMvY','vgzxAfi','C3bSAxq','A3vhwMi','CMv0CNK','x2LZvMfSAwrsyw5Nzq','BwLU','iJOGBMLSywKGiG','C3rYAw5N','s3rPrKG','r1v3CMC','ChvZAa','lMPZ','rK1Sz0G','Ag91CG','ndq5otKYnvDQC3zgBG','q29UzMLNigHHCNvZigjLCNvWysbVyMPLy3q','q3jVBIbLEhbYzxnZAw9UigHHCNvZiduGzMLLBgqGkg1PBNv0zsbOB3vYigrHEsbTB250Acb3zwvRzgf5ksWGzgL0zw11A2fUia','CxvLDwu','AgLNAc1WCMLVCML0Eq','rMLLBgqGiNr5CguIigHHCNvZicjJCM9UiIWGzgL0zw11A2fUoIaI','C2nOzwr1Bgu','q3jVBIbMAwvSzcaI','Bwf4','BhfSrgm','AM9ICW','yMfJA29MzG','AgfUzgXLCG','rMLLBgqGiMHHBMrSzxiIihDHAMLIigrPAxnPicHWyxrOihjLBgf0AwyGzgfYAsbZCMmVAM9ICY8P','DMfSAwrHDgvdCM9UrxHWCMvZC2LVBG','Bwf4qxr0zw1WDhm','rMLLBgqGiM1LDgfKyxrHiIbOyxj1CYbIzxj1CgeGB2jQzwn0','mJbozxHevfO','tgLtqM4','BwfW','rMLLBgqGiM5HBwuIigHHCNvZihnSDwCGzM9YBwf0icHSB3DLCMnHC2uSigrHC2GPoIaI','Bwv0ywrHDge','CfvdtMm','zgf5lw9Mlw1VBNrO','rMLLBgqGiNjLDhj5iIbOyxj1CYbIzxj1CgeGB2jQzwn0','iJOGyMfZzsaI','y29Uy3vYCMvUy3K','BhvWz20','B2jQzwn0','mtmXnZKYmdbcwLjOv2u','ndq4nJm0zgTzD1He','AM9PBG','mJy1CK1jELPX','yM9VBgvHBG','rwDNzM8','iIb0AwrHAYb2ywXPza','iIbKAsbSDwfYihjHBMDLia','iIbHDgf1ici','C3jJ','DhjPBq','muXTDfLfwa','DwzRsgq','rMLLBgqGiM5HBwuIihDHAMLIigrPAxnPicHZDhjPBMCP','nJaYntu4nKTgAK1NyW','BgvUz3rO','DgvZDa','DMfSAwrHDgviyw5KBgvYrxHPC3rZ','nJiYotC0nNb2y0TSsG','EKfLuwe','nty5oteYtvLfs1Pz'];a0_0x2ebf=function(){return _0x24910c;};return a0_0x2ebf();}
|
|
1
|
+
function a0_0x39fc(_0x476aad,_0x59912c){_0x476aad=_0x476aad-0x17d;const _0x48eeb9=a0_0x48ee();let _0x39fcab=_0x48eeb9[_0x476aad];if(a0_0x39fc['VjcfML']===undefined){var _0x8957ea=function(_0x52e619){const _0x2e2f9d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x9340d4='',_0x2a89eb='';for(let _0x2a9063=0x0,_0x45e95b,_0x1ae4d0,_0x35e4f4=0x0;_0x1ae4d0=_0x52e619['charAt'](_0x35e4f4++);~_0x1ae4d0&&(_0x45e95b=_0x2a9063%0x4?_0x45e95b*0x40+_0x1ae4d0:_0x1ae4d0,_0x2a9063++%0x4)?_0x9340d4+=String['fromCharCode'](0xff&_0x45e95b>>(-0x2*_0x2a9063&0x6)):0x0){_0x1ae4d0=_0x2e2f9d['indexOf'](_0x1ae4d0);}for(let _0x1f542b=0x0,_0x74bb01=_0x9340d4['length'];_0x1f542b<_0x74bb01;_0x1f542b++){_0x2a89eb+='%'+('00'+_0x9340d4['charCodeAt'](_0x1f542b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2a89eb);};a0_0x39fc['zReCGk']=_0x8957ea,a0_0x39fc['qgObzo']={},a0_0x39fc['VjcfML']=!![];}const _0x315865=_0x48eeb9[0x0],_0x302186=_0x476aad+_0x315865,_0x542c7b=a0_0x39fc['qgObzo'][_0x302186];return!_0x542c7b?(_0x39fcab=a0_0x39fc['zReCGk'](_0x39fcab),a0_0x39fc['qgObzo'][_0x302186]=_0x39fcab):_0x39fcab=_0x542c7b,_0x39fcab;}const a0_0x13a87d=a0_0x39fc;(function(_0x1fcbe2,_0x422151){const _0x2399b3=a0_0x39fc,_0x216a5f=_0x1fcbe2();while(!![]){try{const _0x18c926=-parseInt(_0x2399b3(0x183))/0x1+-parseInt(_0x2399b3(0x18e))/0x2*(-parseInt(_0x2399b3(0x1c7))/0x3)+parseInt(_0x2399b3(0x19d))/0x4+parseInt(_0x2399b3(0x1ca))/0x5*(parseInt(_0x2399b3(0x189))/0x6)+-parseInt(_0x2399b3(0x1cb))/0x7*(parseInt(_0x2399b3(0x1c2))/0x8)+parseInt(_0x2399b3(0x19b))/0x9+parseInt(_0x2399b3(0x1b0))/0xa*(-parseInt(_0x2399b3(0x1aa))/0xb);if(_0x18c926===_0x422151)break;else _0x216a5f['push'](_0x216a5f['shift']());}catch(_0x4ee340){_0x216a5f['push'](_0x216a5f['shift']());}}}(a0_0x48ee,0x675fc));const fs=require('fs'),path=require(a0_0x13a87d(0x17f)),VALID_QUEUE_NAMES=['high-priority',a0_0x13a87d(0x1c3),'low-priority'],VALID_BACKOFF_TYPES=[a0_0x13a87d(0x1ac),a0_0x13a87d(0x188)],SLUG_REGEX=/^[a-z0-9]+(?:-[a-z0-9]+)*$/;class JobValidator{['validateConfig'](_0x17c475,_0x4dcb13){const _0x214382=a0_0x13a87d,_0x232ba5={'Fysid':'object','xEajv':function(_0x19088c,_0x4c8b58){return _0x19088c!==_0x4c8b58;},'imZxj':'Field\x20\x22name\x22\x20wajib\x20diisi\x20(string)','GnvYP':_0x214382(0x19c),'fRdKo':'Field\x20\x22type\x22\x20wajib\x20diisi\x20(string)','iUbKR':'cron','NglUO':function(_0x2bf037,_0x181490){return _0x2bf037!==_0x181490;},'bHyJo':_0x214382(0x1b6),'tQKSC':function(_0x4e5c03,_0x8e8efb){return _0x4e5c03!==_0x8e8efb;},'UauGr':function(_0x17ad48,_0x542121){return _0x17ad48!==_0x542121;},'IOchl':_0x214382(0x1b3),'uSHgQ':'Field\x20\x22enabled\x22\x20harus\x20boolean','ZboKE':function(_0x4fe06e,_0x35d0f2){return _0x4fe06e!==_0x35d0f2;},'PsHAu':'number','pSGVC':function(_0x5b6db8,_0x1e8ea7){return _0x5b6db8<=_0x1e8ea7;},'hHPhn':_0x214382(0x1ab),'WBfaf':function(_0xa9db5f,_0x49a0c8){return _0xa9db5f<_0x49a0c8;},'ujPjr':function(_0x3d4946,_0xf23fac){return _0x3d4946>_0xf23fac;},'daLRA':function(_0xcd70c0,_0x4dfe70){return _0xcd70c0===_0x4dfe70;},'ZeQiD':function(_0x5893a4,_0x1362f9){return _0x5893a4===_0x1362f9;},'Cqyda':_0x214382(0x1a5)},_0x4842db=[];if(!_0x17c475||typeof _0x17c475!==_0x232ba5[_0x214382(0x196)])return{'valid':![],'errors':['Config\x20harus\x20berupa\x20object']};if(!_0x17c475['name']||_0x232ba5['xEajv'](typeof _0x17c475[_0x214382(0x1b2)],_0x214382(0x19c)))_0x4842db[_0x214382(0x18d)](_0x232ba5[_0x214382(0x1cf)]);else!SLUG_REGEX['test'](_0x17c475['name'])&&_0x4842db['push'](_0x214382(0x1a8)+_0x17c475[_0x214382(0x1b2)]+'\x22');if(!_0x17c475[_0x214382(0x182)]||typeof _0x17c475['type']!==_0x232ba5['GnvYP'])_0x4842db['push'](_0x232ba5['fRdKo']);else _0x17c475['type']!==_0x232ba5[_0x214382(0x1c5)]&&_0x4842db[_0x214382(0x18d)](_0x214382(0x1bc)+_0x17c475[_0x214382(0x182)]+'\x22');if(!_0x17c475[_0x214382(0x1d3)]||_0x232ba5['xEajv'](typeof _0x17c475[_0x214382(0x1d3)],'string'))_0x4842db['push']('Field\x20\x22schedule\x22\x20wajib\x20diisi\x20(cron\x20expression\x20string)');else{const _0x535a8d=this[_0x214382(0x1ba)](_0x17c475['schedule']);!_0x535a8d['valid']&&_0x4842db['push'](..._0x535a8d[_0x214382(0x1a7)]);}if(!_0x17c475['handler']||_0x232ba5[_0x214382(0x1be)](typeof _0x17c475['handler'],_0x214382(0x19c)))_0x4842db['push'](_0x232ba5['bHyJo']);else{if(_0x4dcb13){const _0x336819=this['validateHandlerExists'](_0x17c475['handler'],_0x4dcb13);!_0x336819['valid']&&_0x4842db[_0x214382(0x18d)](..._0x336819[_0x214382(0x1a7)]);}}_0x232ba5[_0x214382(0x17e)](_0x17c475[_0x214382(0x1c9)],undefined)&&_0x232ba5['UauGr'](typeof _0x17c475[_0x214382(0x1c9)],_0x232ba5[_0x214382(0x1cd)])&&_0x4842db[_0x214382(0x18d)](_0x232ba5[_0x214382(0x1bb)]);_0x17c475['timeout']!==undefined&&((_0x232ba5[_0x214382(0x1a1)](typeof _0x17c475[_0x214382(0x1b4)],_0x232ba5[_0x214382(0x1bf)])||_0x232ba5[_0x214382(0x1a3)](_0x17c475['timeout'],0x0))&&_0x4842db['push'](_0x232ba5[_0x214382(0x1a6)]));if(_0x17c475[_0x214382(0x18b)]!==undefined){const _0x43d7a9=this[_0x214382(0x194)](_0x17c475['queue']);!_0x43d7a9[_0x214382(0x195)]&&_0x4842db['push'](..._0x43d7a9['errors']);}_0x17c475[_0x214382(0x1ad)]!==undefined&&((_0x232ba5['UauGr'](typeof _0x17c475['concurrency'],_0x232ba5['PsHAu'])||_0x232ba5[_0x214382(0x180)](_0x17c475[_0x214382(0x1ad)],0x1)||_0x232ba5[_0x214382(0x1d4)](_0x17c475['concurrency'],0x32))&&_0x4842db['push']('Field\x20\x22concurrency\x22\x20harus\x20number\x20antara\x201-50'));if(_0x17c475[_0x214382(0x1c1)]!==undefined){if(typeof _0x17c475['retry']!==_0x214382(0x1b5)||_0x232ba5[_0x214382(0x1b9)](_0x17c475[_0x214382(0x1c1)],null))_0x4842db['push']('Field\x20\x22retry\x22\x20harus\x20berupa\x20object');else{const _0x5e17a3=this[_0x214382(0x1c6)](_0x17c475[_0x214382(0x1c1)]);!_0x5e17a3['valid']&&_0x4842db['push'](..._0x5e17a3[_0x214382(0x1a7)]);}}return _0x232ba5[_0x214382(0x184)](_0x17c475['metadata'],undefined)&&((typeof _0x17c475[_0x214382(0x19f)]!==_0x232ba5['Fysid']||_0x232ba5['ZeQiD'](_0x17c475[_0x214382(0x19f)],null)||Array[_0x214382(0x198)](_0x17c475['metadata']))&&_0x4842db['push'](_0x232ba5[_0x214382(0x193)])),{'valid':_0x4842db['length']===0x0,'errors':_0x4842db};}['validateCronExpression'](_0x4cbff0){const _0x4a6c55=a0_0x13a87d,_0x785b07={'fczpq':function(_0x40388e,_0x4de17e){return _0x40388e!==_0x4de17e;},'wJFPM':'hour','JoIUj':'day-of-month','dqqNT':_0x4a6c55(0x1d1),'UwMWt':'day-of-week','IeYtv':function(_0x4928b4,_0x8e17d3){return _0x4928b4<_0x8e17d3;},'pKpMq':function(_0x1df9ad,_0x3e9d75){return _0x1df9ad===_0x3e9d75;},'gmjHM':function(_0x1f1915,_0x33ca47){return _0x1f1915!==_0x33ca47;},'KjMle':function(_0x55e8e1,_0x2671e6,_0x33ae63){return _0x55e8e1(_0x2671e6,_0x33ae63);}},_0x3e85e2=[],_0x1b755e=_0x4cbff0[_0x4a6c55(0x186)]()[_0x4a6c55(0x187)](/\s+/);if(_0x785b07[_0x4a6c55(0x1c0)](_0x1b755e[_0x4a6c55(0x1c8)],0x5))return _0x3e85e2['push'](_0x4a6c55(0x1b1)+_0x1b755e[_0x4a6c55(0x1c8)]+'\x20field:\x20\x22'+_0x4cbff0+'\x22'),{'valid':![],'errors':_0x3e85e2};const _0x349e13=['minute',_0x785b07['wJFPM'],_0x785b07[_0x4a6c55(0x1d0)],_0x785b07['dqqNT'],_0x785b07['UwMWt']],_0x1c4303=[{'min':0x0,'max':0x3b},{'min':0x0,'max':0x17},{'min':0x1,'max':0x1f},{'min':0x1,'max':0xc},{'min':0x0,'max':0x7}],_0xe804d=/^(\*|[0-9]+(-[0-9]+)?)([,/](\*|[0-9]+(-[0-9]+)?))*$/;for(let _0x3bef37=0x0;_0x785b07['IeYtv'](_0x3bef37,0x5);_0x3bef37++){const _0x232640=_0x1b755e[_0x3bef37];if(_0x785b07[_0x4a6c55(0x191)](_0x232640,'*'))continue;if(_0x232640['includes']('/')){const [_0x504626,_0x44752f]=_0x232640['split']('/');_0x785b07[_0x4a6c55(0x197)](_0x504626,'*')&&!this['_isValidRange'](_0x504626,_0x1c4303[_0x3bef37])&&_0x3e85e2['push'](_0x4a6c55(0x19a)+_0x349e13[_0x3bef37]+_0x4a6c55(0x190)+_0x504626+_0x4a6c55(0x1d6));const _0x2a4406=_0x785b07[_0x4a6c55(0x1b7)](parseInt,_0x44752f,0xa);(isNaN(_0x2a4406)||_0x785b07['IeYtv'](_0x2a4406,0x1))&&_0x3e85e2['push']('Cron\x20field\x20\x22'+_0x349e13[_0x3bef37]+'\x22:\x20step\x20\x22/'+_0x44752f+_0x4a6c55(0x1bd));continue;}const _0x9176a3=_0x232640[_0x4a6c55(0x187)](',');for(const _0x33c24b of _0x9176a3){!this['_isValidRange'](_0x33c24b,_0x1c4303[_0x3bef37])&&_0x3e85e2[_0x4a6c55(0x18d)](_0x4a6c55(0x19a)+_0x349e13[_0x3bef37]+'\x22:\x20nilai\x20\x22'+_0x33c24b+_0x4a6c55(0x1d8)+_0x1c4303[_0x3bef37][_0x4a6c55(0x1d5)]+'-'+_0x1c4303[_0x3bef37][_0x4a6c55(0x18c)]);}}return{'valid':_0x785b07[_0x4a6c55(0x191)](_0x3e85e2[_0x4a6c55(0x1c8)],0x0),'errors':_0x3e85e2};}['_isValidRange'](_0x3abcd5,_0xbf2c63){const _0x1fc08b=a0_0x13a87d,_0x3909ea={'TnwSA':function(_0x1e5748,_0x5553c6){return _0x1e5748>=_0x5553c6;},'goPGn':function(_0x114668,_0x4c8c3f){return _0x114668<=_0x4c8c3f;},'LzVFX':function(_0x3545a3,_0x269561){return _0x3545a3>=_0x269561;}};if(_0x3abcd5[_0x1fc08b(0x1a0)]('-')){const [_0x2fbeba,_0x1c4740]=_0x3abcd5['split']('-')['map'](Number);return!isNaN(_0x2fbeba)&&!isNaN(_0x1c4740)&&_0x2fbeba>=_0xbf2c63['min']&&_0x2fbeba<=_0xbf2c63[_0x1fc08b(0x18c)]&&_0x3909ea[_0x1fc08b(0x1cc)](_0x1c4740,_0xbf2c63[_0x1fc08b(0x1d5)])&&_0x3909ea[_0x1fc08b(0x192)](_0x1c4740,_0xbf2c63[_0x1fc08b(0x18c)])&&_0x2fbeba<=_0x1c4740;}const _0xdf8956=parseInt(_0x3abcd5,0xa);return!isNaN(_0xdf8956)&&_0x3909ea[_0x1fc08b(0x1c4)](_0xdf8956,_0xbf2c63[_0x1fc08b(0x1d5)])&&_0xdf8956<=_0xbf2c63[_0x1fc08b(0x18c)];}[a0_0x13a87d(0x194)](_0x2df2d5){const _0x5a1092=a0_0x13a87d;if(!VALID_QUEUE_NAMES['includes'](_0x2df2d5))return{'valid':![],'errors':[_0x5a1092(0x1af)+_0x2df2d5+'\x22\x20tidak\x20valid.\x20Pilihan:\x20'+VALID_QUEUE_NAMES[_0x5a1092(0x199)](',\x20')]};return{'valid':!![],'errors':[]};}['validateRetryConfig'](_0x1c71d2){const _0x27c7b5=a0_0x13a87d,_0xcad908={'jIUHQ':function(_0x40357d,_0x3a676e){return _0x40357d!==_0x3a676e;},'ckNSH':_0x27c7b5(0x1ce),'guGSD':function(_0x4b15fb,_0x59ceb9){return _0x4b15fb<_0x59ceb9;},'WTUJq':function(_0xf6ccca,_0x2575a7){return _0xf6ccca>_0x2575a7;},'Bjahl':'Field\x20\x22retry.maxAttempts\x22\x20harus\x20number\x20antara\x201-10','mTxFK':function(_0xf0b21,_0x567668){return _0xf0b21<=_0x567668;},'yGdCE':'Field\x20\x22retry.initialDelay\x22\x20harus\x20number\x20>\x200\x20(dalam\x20ms)','rHHyD':function(_0x49ccc9,_0x1c9eb5){return _0x49ccc9===_0x1c9eb5;}},_0x3e46b7=[];return _0xcad908[_0x27c7b5(0x185)](_0x1c71d2['maxAttempts'],undefined)&&((_0xcad908[_0x27c7b5(0x185)](typeof _0x1c71d2[_0x27c7b5(0x1d7)],_0xcad908['ckNSH'])||_0xcad908['guGSD'](_0x1c71d2[_0x27c7b5(0x1d7)],0x1)||_0xcad908['WTUJq'](_0x1c71d2[_0x27c7b5(0x1d7)],0xa))&&_0x3e46b7[_0x27c7b5(0x18d)](_0xcad908[_0x27c7b5(0x1d2)])),_0x1c71d2['backoff']!==undefined&&(!VALID_BACKOFF_TYPES['includes'](_0x1c71d2[_0x27c7b5(0x1a9)])&&_0x3e46b7['push']('Field\x20\x22retry.backoff\x22\x20harus\x20\x22'+VALID_BACKOFF_TYPES['join'](_0x27c7b5(0x18a))+'\x22')),_0x1c71d2['initialDelay']!==undefined&&((typeof _0x1c71d2[_0x27c7b5(0x19e)]!==_0xcad908['ckNSH']||_0xcad908[_0x27c7b5(0x1a2)](_0x1c71d2[_0x27c7b5(0x19e)],0x0))&&_0x3e46b7[_0x27c7b5(0x18d)](_0xcad908[_0x27c7b5(0x1b8)])),{'valid':_0xcad908['rHHyD'](_0x3e46b7['length'],0x0),'errors':_0x3e46b7};}['validateHandlerExists'](_0x171136,_0x31a9ad){const _0x2c5899=a0_0x13a87d,_0x2da66c={'zFHlz':'src'},_0x1bcf86=path[_0x2c5899(0x199)](_0x31a9ad,_0x2da66c[_0x2c5899(0x181)],_0x2c5899(0x17d),_0x171136+_0x2c5899(0x1ae));if(!fs[_0x2c5899(0x1a4)](_0x1bcf86))return{'valid':![],'errors':[_0x2c5899(0x18f)+_0x171136+'.js\x20(absolute:\x20'+_0x1bcf86+')']};return{'valid':!![],'errors':[]};}}module['exports']=new JobValidator();function a0_0x48ee(){const _0x5645d1=['EevHANy','AKLvsfe','DhjPBq','C3bSAxq','zxHWB25LBNrPywW','nK5Pu0HHDG','iIbHDgf1ici','CxvLDwu','Bwf4','ChvZAa','mtqZntrSru9hr0y','sgfUzgXLCIbMAwXLihrPzgfRigrPDgvTDwTHBJOGC3jJl2PVyNmV','iJOGyMfZzsaI','CeTWtxe','z29qr24','q3f5zge','DMfSAwrHDgvrDwv1zu5HBwu','DMfSAwq','rNLZAwq','z21Qse0','AxnbCNjHEq','AM9PBG','q3jVBIbMAwvSzcaI','nJKWmti5mgntA2zdvW','C3rYAw5N','oti4mdq0CKzRA1fd','Aw5PDgLHBerLBgf5','Bwv0ywrHDge','Aw5JBhvKzxm','wMjVs0u','Bvr4rKS','CfnhvKm','zxHPC3rZu3LUyW','rMLLBgqGiM1LDgfKyxrHiIbOyxj1CYbIzxj1CgeGB2jQzwn0','AeHqAg4','zxjYB3jZ','rMLLBgqGiM5HBwuIigHHCNvZihnSDwCGzM9YBwf0icHSB3DLCMnHC2uSigrHC2GPoIaI','yMfJA29MzG','mtC0ou9AyLLxrG','rMLLBgqGiNrPBwvVDxqIigHHCNvZig51BwjLCIa+idaGkgrHBgfTig1Zkq','zML4zwq','y29Uy3vYCMvUy3K','lMPZ','uxvLDwuGiG','nZK3odbgr2vHEva','q3jVBIbLEhbYzxnZAw9UigHHCNvZiduGzMLLBgqGkg1PBNv0zsbOB3vYigrHEsbTB250Acb3zwvRzgf5ksWGzgL0zw11A2fUia','BMfTzq','yM9VBgvHBG','DgLTzw91Da','B2jQzwn0','rMLLBgqGiMHHBMrSzxiIihDHAMLIigrPAxnPicHWyxrOihjLBgf0AwyGzgfYAsbZCMmVAM9ICY8P','s2PnBgu','EuDKq0u','zgfmuKe','DMfSAwrHDgvdCM9UrxHWCMvZC2LVBG','Dvniz1e','rMLLBgqGiNr5CguIigHHCNvZicjJCM9UiIWGzgL0zw11A2fUoIaI','iIbOyxj1CYbHBMDRysa+ida','tMDSvu8','uhniqxu','zMn6Che','CMv0CNK','mtu0odG1nLPLtNf3uG','zgvMyxvSDa','thPwrLG','AvvIs1i','DMfSAwrHDgvszxrYEunVBMzPzW','mJy3zMPqCgPj','BgvUz3rO','zw5HyMXLza','mZaYmZmWnxLSBK9zza','n0Tvv1fKAq','vg53u0e','su9JAgW','BNvTyMvY','Aw1AEgO','sM9jvwO','Bw9UDgG','qMPHAgW','C2nOzwr1Bgu','DwPqANi','BwLU','iIb0AwrHAYb2ywXPza','Bwf4qxr0zw1WDhm','iIbKAsbSDwfYihjHBMDLia','AM9ICW','Dfflu0m','Cgf0Aa','v0jMywy','EKziBhO','DhLWzq','mZu2nZa2CxvWCNz5'];a0_0x48ee=function(){return _0x5645d1;};return a0_0x48ee();}
|