@restforgejs/platform 5.1.20 → 5.1.21
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/lib/dbschema-kit/apply-executor.js +20 -0
- package/generators/lib/generators/processor-validation-generator.js +4 -1
- package/generators/lib/migrate/field-type-resolver.js +23 -0
- package/generators/lib/payload/payload-runner.js +17 -3
- 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/soft-delete-dashboard-guard.js +1 -1
- package/src/utils/sql-table-extractor.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_0x4e6a(){const _0x12d8fb=['ChjLzMv0y2G','D2fYBG','xsblB25LA3nPifjHyMjPDe1rihrLCNb1DhvZ','ntu5mJC2ogjZrLDwrG','xsbnzxnZywDLihnLBNqGDg8GuMfIyML0tveGC3vJy2vZC2z1BgX5oG','C3rYAw5NAwz5','mtC0mdjsA3PzrLq','t1DIvKW','mJC3otq1qNzUwwPt','DgLTzxn0yw1W','ndCYvfzizujS','xsbqCMvMzxrJAcbKAwf0DxiGA2uGmq','xsbgywLSzwqGDg8GChjVy2vZCYbTzxnZywDLlcbYzxf1zxvPBMC','yMLUzff1zxvL','yxnZzxj0rxHJAgfUz2u','AxndB25Uzwn0zwq','ChjVy2vZC01LC3nHz2u','BwvZC2fNzq','lI4VDxrPBhmVzgf0zuHLBhbLCG','CxvLDwuT','Bg9N','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','tNvXsvC','xsbtDgfYDcbJB25ZDw1PBMCGBwvZC2fNzxmGzNjVBsbXDwv1zsaI','zxjYB3i','y29UzMLN','lxjLDhj5lwv4y2HHBMDL','ksbJCMvHDgvK','xsbdyw5UB3qGC3rHCNqGy29UC3vTAw5NoIbUB3qGy29UBMvJDgvKihrVifjHyMjPDe1r','tuPsqwC','Aw5PDgLHBgL6zq','sLf1yNC','xsbfuLjpuJOGuxvLDwuG','xsbfCNjVCIbZzw5KAw5NihrVifjHyMjPDe1roIa','C3rHCNrdB25ZDw1L','C3vIC3rYAw5N','xsbfCNjVCIbZywf0ihnLDhvWigLUzNjHC3rYDwT0Dxi6ia','zxHJAgfUz2u','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','z2v0vgLTzq','Aw5JBhvKzxm','CMvNAxn0zxjnzxnZywDLsgfUzgXLCG','CK1Msgu','mtm3AKXYB3Lk','zgLYzwn0','ihDPDgGGreXy','y2XVC2u','nde3mZiWmwnUvgLXAG','zM91BMq','xsbtDwnJzxnZzNvSBhKGCMvJB25Uzwn0zwqGDg8GuMfIyML0tve','Ehnnq1G','AfLVwKy','rMfPBgvKihrVihnLBMqGBwvZC2fNzsb0BYbsywjIAxrnuq','t3jcDLm','Aw5LCxvPDMfSzw50igfYzW','ignYzwf0zwqVCMvHzhK','vhj5Aw5NigfSDgvYBMf0AxzLihf1zxvLig5HBwuUlI4','mJy1mdKYnZbUENHmt3G','C2v0DxbdB2XSzwn0B3jjBMzYyxn0CNvJDhvYzq','ChjVCgvYDgLLCW','mJiWotG2A25lquXd','yxbWBgLJyxrPB24VANnVBG','C3bSAxq','xsbcAw5KAw5Nia','CxvLDwu','ic0+ia','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','mJuYnJiZmfzMvK9Wva','qMzdCM4','Dg9ju09tDhjPBMC','z1LlA2q','xsbszxrYEsbLEgnOyw5Nzsa','xsbbBhrLCM5HDgL2zsbXDwv1zsa','CNbbBKm','CfDPv04','ywnR','DKjsz2m','wvfOy0i','mtC0y1bJruTv','twvZC2fNzsbJB250zw50oIa','CMvJB25Uzwn0','xsbgywLSzwqGDg8GCgfYC2uGBwvZC2fNztOG','x3f1zxvL','C0DRAKS','AhfYBge','ls0T','y2HHBM5LBa','xsbgywLSzwqGDg8GAw5PDgLHBgL6zsbsywjIAxrnutOG','BwvZC2fNzuHHBMrSzxjZ','y29UDgvUDa','CM91DgLUz0TLEq','B3fWr0i','y3jLyxrLzc9YzwfKEq','vxPdwMC','y29UC3vTzq','iI4UlG','zgvMyxvSDa','tKvAyMS','xsbgywLSzwqGDg8GC3rHCNqGy29UC3vTAw5NoIa','zNjVBq','y29UBMvJDgLVBG','xsbnzxnZywDLigHHBMrSzxiGBxvZDcbIzsbHigz1BMn0Aw9U'];a0_0x4e6a=function(){return _0x12d8fb;};return a0_0x4e6a();}const a0_0x40a24a=a0_0x193e;(function(_0x3d8777,_0x345c44){const _0x253c10=a0_0x193e,_0x1dd404=_0x3d8777();while(!![]){try{const _0x8747a0=-parseInt(_0x253c10(0x133))/0x1*(-parseInt(_0x253c10(0x174))/0x2)+-parseInt(_0x253c10(0x137))/0x3+-parseInt(_0x253c10(0x171))/0x4+parseInt(_0x253c10(0x176))/0x5*(parseInt(_0x253c10(0x156))/0x6)+-parseInt(_0x253c10(0x14b))/0x7+-parseInt(_0x253c10(0x178))/0x8*(parseInt(_0x253c10(0x144))/0x9)+parseInt(_0x253c10(0x141))/0xa;if(_0x8747a0===_0x345c44)break;else _0x1dd404['push'](_0x1dd404['shift']());}catch(_0x19256b){_0x1dd404['push'](_0x1dd404['shift']());}}}(a0_0x4e6a,0xd1092));function a0_0x193e(_0x335012,_0x3505c2){_0x335012=_0x335012-0x122;const _0x4e6a50=a0_0x4e6a();let _0x193ebc=_0x4e6a50[_0x335012];if(a0_0x193e['TFZpQU']===undefined){var _0x5bdb9d=function(_0x52400a){const _0x3ce5ff='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x15cf56='',_0x385dcd='';for(let _0x273fba=0x0,_0x4d048e,_0x1b1840,_0x112422=0x0;_0x1b1840=_0x52400a['charAt'](_0x112422++);~_0x1b1840&&(_0x4d048e=_0x273fba%0x4?_0x4d048e*0x40+_0x1b1840:_0x1b1840,_0x273fba++%0x4)?_0x15cf56+=String['fromCharCode'](0xff&_0x4d048e>>(-0x2*_0x273fba&0x6)):0x0){_0x1b1840=_0x3ce5ff['indexOf'](_0x1b1840);}for(let _0xcb8a1c=0x0,_0x4032db=_0x15cf56['length'];_0xcb8a1c<_0x4032db;_0xcb8a1c++){_0x385dcd+='%'+('00'+_0x15cf56['charCodeAt'](_0xcb8a1c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x385dcd);};a0_0x193e['yqzSLh']=_0x5bdb9d,a0_0x193e['XwKuDd']={},a0_0x193e['TFZpQU']=!![];}const _0x5c0934=_0x4e6a50[0x0],_0x15f1b6=_0x335012+_0x5c0934,_0x5f5b2b=a0_0x193e['XwKuDd'][_0x15f1b6];return!_0x5f5b2b?(_0x193ebc=a0_0x193e['yqzSLh'](_0x193ebc),a0_0x193e['XwKuDd'][_0x15f1b6]=_0x193ebc):_0x193ebc=_0x5f5b2b,_0x193ebc;}const {createConnection,createChannel,setupInfrastructure,closeConnection,getConfig}=require('../utils/rabbitmq'),{formatDate}=require(a0_0x40a24a(0x180));class RabbitMQService{constructor(){const _0x34ee88=a0_0x40a24a,_0xd47b58={'vBRgc':'1|3|4|0|2'},_0x3cc1e9=_0xd47b58[_0x34ee88(0x154)]['split']('|');let _0x561461=0x0;while(!![]){switch(_0x3cc1e9[_0x561461++]){case'0':this[_0x34ee88(0x17d)]=![];continue;case'1':this['connection']=null;continue;case'2':this['messageHandlers']=[];continue;case'3':this['channel']=null;continue;case'4':this[_0x34ee88(0x187)]=getConfig();continue;}break;}}async[a0_0x40a24a(0x126)](){const _0x486061=a0_0x40a24a,_0x39d903={'oJcZl':function(_0x44050a,_0x175450){return _0x44050a(_0x175450);},'OWbVL':function(_0x1df90a,_0x3b1d47,_0x2a515f){return _0x1df90a(_0x3b1d47,_0x2a515f);},'jOAGP':'2|7|0|5|6|3|4|1','hYoZF':function(_0x134501){return _0x134501();}};try{const _0x494050=_0x39d903['jOAGP'][_0x486061(0x146)]('|');let _0x35dbe8=0x0;while(!![]){switch(_0x494050[_0x35dbe8++]){case'0':await this[_0x486061(0x15e)][_0x486061(0x16e)](0x1);continue;case'1':return!![];case'2':this['connection']=await _0x39d903[_0x486061(0x13b)](createConnection);continue;case'3':this[_0x486061(0x17d)]=!![];continue;case'4':this['connection']['on'](_0x486061(0x136),()=>{const _0x414519=_0x486061;console['error']('['+_0x39d903['oJcZl'](formatDate,new Date())+_0x414519(0x170)),this[_0x414519(0x17d)]=![],_0x39d903[_0x414519(0x175)](setTimeout,()=>this['reconnect'](),0x1388);});continue;case'5':console[_0x486061(0x182)]('['+formatDate(new Date())+_0x486061(0x179));continue;case'6':await setupInfrastructure(this[_0x486061(0x15e)]);continue;case'7':this['channel']=await _0x39d903['oJcZl'](createChannel,this['connection']);continue;}break;}}catch(_0x35a52a){return console['error']('['+formatDate(new Date())+_0x486061(0x15f)+_0x35a52a['message']),this['isConnected']=![],![];}}async[a0_0x40a24a(0x158)](){const _0x477142=a0_0x40a24a,_0x1b0992={'MJRAg':function(_0x143daa,_0x3f88ee){return _0x143daa(_0x3f88ee);}};console[_0x477142(0x182)]('['+formatDate(new Date())+']\x20Attempting\x20to\x20reconnect\x20to\x20RabbitMQ...');try{await this[_0x477142(0x126)](),this[_0x477142(0x17d)]&&(console['log']('['+_0x1b0992[_0x477142(0x125)](formatDate,new Date())+_0x477142(0x139)),await this[_0x477142(0x12a)]());}catch(_0x57a475){console[_0x477142(0x186)]('['+_0x1b0992[_0x477142(0x125)](formatDate,new Date())+']\x20Failed\x20to\x20reconnect\x20to\x20RabbitMQ:\x20'+_0x57a475[_0x477142(0x17f)]),setTimeout(()=>this[_0x477142(0x158)](),0x1388);}}async[a0_0x40a24a(0x142)](_0x2cbe3c){const _0x2591d3=a0_0x40a24a,_0x228b2b={'NEZbk':function(_0x347a72){return _0x347a72();},'xsMCX':function(_0xb5efa4,_0x114e9e){return _0xb5efa4(_0x114e9e);},'UlVDJ':_0x2591d3(0x168),'sGkjK':_0x2591d3(0x134),'hqrla':function(_0x42acd9,_0x27c68e){return _0x42acd9(_0x27c68e);},'kHQvJ':function(_0x53de92,_0x3a4144){return _0x53de92===_0x3a4144;},'bvrdy':_0x2591d3(0x164),'JQubw':function(_0x47eb9c,_0x18441c){return _0x47eb9c(_0x18441c);},'rMfHe':_0x2591d3(0x13e),'UzCZg':'x-dead-letter-routing-key','rpAnC':function(_0x10bf4d,_0x2c4b66){return _0x10bf4d(_0x2c4b66);},'pWiWN':function(_0x19fa33,_0x7db78f){return _0x19fa33(_0x7db78f);}};try{!this['isConnected']&&(this[_0x2591d3(0x16c)]=await _0x228b2b[_0x2591d3(0x169)](createConnection),this['channel']=await _0x228b2b['xsMCX'](createChannel,this[_0x2591d3(0x16c)]),this[_0x2591d3(0x17d)]=!![]);const _0x3bd1a9=process['env'][_0x2591d3(0x183)]||_0x228b2b['UlVDJ'],_0x2cb844=_0x3bd1a9+_0x2591d3(0x122);await this[_0x2591d3(0x15e)][_0x2591d3(0x17c)](_0x2cb844,_0x228b2b[_0x2591d3(0x15b)],{'durable':!![],'autoDelete':![]}),console[_0x2591d3(0x182)]('['+formatDate(new Date())+_0x2591d3(0x14f)+_0x2cb844+_0x2591d3(0x13f)),await this[_0x2591d3(0x15e)][_0x2591d3(0x17c)](_0x2cbe3c[_0x2591d3(0x12d)],_0x228b2b[_0x2591d3(0x15b)],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x228b2b[_0x2591d3(0x15c)](formatDate,new Date())+']\x20Exchange\x20'+_0x2cbe3c['exchange']+'\x20created/ready');const _0x35be7c=_0x2cbe3c['routingKey']+'_retry',_0x118c16={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':_0x2cbe3c['exchange'],'x-dead-letter-routing-key':_0x2cbe3c[_0x2591d3(0x162)]}};await this[_0x2591d3(0x15e)]['assertQueue'](_0x35be7c,_0x118c16),console[_0x2591d3(0x182)]('['+_0x228b2b['hqrla'](formatDate,new Date())+']\x20Retry\x20queue\x20'+_0x35be7c+_0x2591d3(0x13f)),await this[_0x2591d3(0x15e)][_0x2591d3(0x17b)](_0x35be7c,_0x2cb844,_0x2cbe3c['routingKey']),console['log']('['+formatDate(new Date())+']\x20Retry\x20binding\x20for\x20'+_0x2cbe3c[_0x2591d3(0x162)]+'\x20created');const _0x517396={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x2cb844,'x-dead-letter-routing-key':_0x2cbe3c[_0x2591d3(0x162)]}};try{const _0x39425f=await this['channel']['assertQueue'](_0x2cbe3c[_0x2591d3(0x148)],_0x517396);console[_0x2591d3(0x182)]('['+formatDate(new Date())+']\x20Queue\x20'+_0x2cbe3c[_0x2591d3(0x148)]+'\x20'+(_0x228b2b['kHQvJ'](_0x39425f[_0x2591d3(0x148)],_0x2cbe3c['queue'])?_0x228b2b['bvrdy']:_0x2591d3(0x138))+_0x2591d3(0x135)),await this[_0x2591d3(0x15e)][_0x2591d3(0x17b)](_0x2cbe3c[_0x2591d3(0x148)],_0x2cbe3c['exchange'],_0x2cbe3c['routingKey']),console['log']('['+_0x228b2b[_0x2591d3(0x127)](formatDate,new Date())+']\x20Binding\x20'+_0x2cbe3c['exchange']+'\x20->\x20'+_0x2cbe3c[_0x2591d3(0x148)]+'\x20('+_0x2cbe3c['routingKey']+_0x2591d3(0x123));}catch(_0x5cadae){if(_0x5cadae[_0x2591d3(0x17f)]['includes'](_0x228b2b[_0x2591d3(0x132)])&&_0x5cadae[_0x2591d3(0x17f)][_0x2591d3(0x130)](_0x228b2b[_0x2591d3(0x165)])){console[_0x2591d3(0x186)]('\x0a['+_0x228b2b[_0x2591d3(0x151)](formatDate,new Date())+_0x2591d3(0x128)+_0x2cbe3c['queue']+_0x2591d3(0x12e)),console[_0x2591d3(0x186)](_0x2591d3(0x140));const _0x2e455f=_0x2cbe3c[_0x2591d3(0x162)]+_0x2591d3(0x15a),_0x203678=await this[_0x2591d3(0x15e)]['assertQueue'](_0x2e455f,_0x517396);console['log']('['+_0x228b2b[_0x2591d3(0x152)](formatDate,new Date())+_0x2591d3(0x150)+_0x2e455f+'\x20created\x20with\x20DLX'),await this['channel']['bindQueue'](_0x2e455f,_0x2cbe3c['exchange'],_0x2cbe3c['routingKey']),console[_0x2591d3(0x182)]('['+formatDate(new Date())+_0x2591d3(0x147)+_0x2cbe3c[_0x2591d3(0x12d)]+_0x2591d3(0x149)+_0x2e455f+'\x20('+_0x2cbe3c['routingKey']+_0x2591d3(0x123)),_0x2cbe3c[_0x2591d3(0x148)]=_0x2e455f;}else{console[_0x2591d3(0x186)]('['+_0x228b2b[_0x2591d3(0x13a)](formatDate,new Date())+_0x2591d3(0x14a)+_0x2cbe3c[_0x2591d3(0x148)]+':',_0x5cadae[_0x2591d3(0x17f)]);throw _0x5cadae;}}return!![];}catch(_0x4167c8){return console[_0x2591d3(0x186)]('['+formatDate(new Date())+_0x2591d3(0x12c)+_0x4167c8[_0x2591d3(0x17f)]),![];}}async['sendToQueue'](_0x50530d,_0x5346ee){const _0x299eca=a0_0x40a24a,_0x3a740c={'gYKkd':function(_0x467a84,_0x585677){return _0x467a84!==_0x585677;},'oqpGB':_0x299eca(0x145),'NuqIW':_0x299eca(0x13c)};if(!this['isConnected'])try{await this['initialize']();}catch(_0xca049a){return{'success':![],'message':'Cannot\x20connect\x20to\x20RabbitMQ:\x20'+_0xca049a['message'],'data':null};}try{const _0x14cf08=_0x3a740c[_0x299eca(0x14e)](_0x5346ee['auto_retry'],undefined)?_0x5346ee['auto_retry']:![],_0x1243e7=_0x5346ee['max_retries']||0x3,_0x262612={'rabbitmq':{'exchange':_0x5346ee['exchange'],'queue':_0x5346ee[_0x299eca(0x148)],'routing_key':_0x5346ee['routingKey'],'auto_retry':_0x14cf08,'max_retries':_0x1243e7},'message':_0x50530d};await this[_0x299eca(0x142)](_0x5346ee);const _0x3652f2=new Date(),_0x4e7a09={'timestamp':_0x3652f2['toISOString'](),'content':JSON['stringify'](_0x262612)},_0x155597=this['channel']['publish'](_0x5346ee[_0x299eca(0x12d)],_0x5346ee[_0x299eca(0x162)],Buffer[_0x299eca(0x16b)](JSON[_0x299eca(0x173)](_0x4e7a09)),{'persistent':!![],'contentType':_0x3a740c[_0x299eca(0x163)],'timestamp':_0x3652f2[_0x299eca(0x12f)](),'messageId':_0x3652f2['getTime']()+'-'+Math['random']()['toString'](0x24)[_0x299eca(0x12b)](0x7),'headers':{'x-auto-retry':_0x14cf08,'x-max-retry':_0x1243e7,'x-retry-count':0x0,'x-retry-interval':0x2710}});if(_0x155597){console[_0x299eca(0x182)]('['+formatDate(_0x3652f2)+_0x299eca(0x172),{'exchange':_0x5346ee['exchange'],'routing_key':_0x5346ee[_0x299eca(0x162)],'queue':_0x5346ee[_0x299eca(0x148)],'sendAt':_0x3652f2[_0x299eca(0x14d)]()});const _0x5aa1f9=_0x299eca(0x181)+_0x3652f2['getTime']()+'-'+Math['random']()['toString'](0x24)[_0x299eca(0x12b)](0x7);return{'success':!![],'message':'Data\x20sent\x20to\x20queue\x20successfully','data':{'id':_0x5aa1f9,'queueInfo':{'exchange':_0x5346ee['exchange'],'queue':_0x5346ee['queue'],'routingKey':_0x5346ee[_0x299eca(0x162)]}}};}else throw new Error(_0x3a740c[_0x299eca(0x184)]);}catch(_0x1cf524){return console['error']('['+formatDate(new Date())+_0x299eca(0x129)+_0x1cf524[_0x299eca(0x17f)]),{'success':![],'message':'Error:\x20'+_0x1cf524['message'],'data':null};}}[a0_0x40a24a(0x131)](_0x54d94d){const _0xf972b3=a0_0x40a24a,_0x68506b={'zbTYV':'function','gyZoi':function(_0x17c6df,_0x15787e){return _0x17c6df(_0x15787e);}};typeof _0x54d94d===_0x68506b['zbTYV']?(this['messageHandlers']['push'](_0x54d94d),console['log']('['+_0x68506b['gyZoi'](formatDate,new Date())+']\x20Message\x20handler\x20registered')):console[_0xf972b3(0x186)]('['+_0x68506b['gyZoi'](formatDate,new Date())+_0xf972b3(0x16d));}async[a0_0x40a24a(0x17e)](_0x5d0da2){const _0x3de7ef=a0_0x40a24a,_0x621030={'RDoYd':function(_0x56e3cb,_0x20c920){return _0x56e3cb(_0x20c920);}};if(this[_0x3de7ef(0x160)]['length']===0x0)return console[_0x3de7ef(0x16f)]('['+_0x621030['RDoYd'](formatDate,new Date())+']\x20No\x20handlers\x20registered\x20to\x20process\x20messages'),!![];try{for(const _0x47b46a of this['messageHandlers']){await _0x47b46a(_0x5d0da2);}return!![];}catch(_0x5ac3a2){return console['error']('['+_0x621030['RDoYd'](formatDate,new Date())+']\x20Error\x20processing\x20message:\x20'+_0x5ac3a2[_0x3de7ef(0x17f)]),![];}}async['startConsume'](){const _0x566628=a0_0x40a24a,_0x3e74f5={'OrBvS':function(_0x5a0967,_0x3f7216){return _0x5a0967!==_0x3f7216;},'YQhcB':function(_0x15c172,_0x3fc13f){return _0x15c172(_0x3fc13f);},'BfCrn':function(_0x37aec9,_0x218d28){return _0x37aec9(_0x218d28);}};if(!this[_0x566628(0x17d)])return console[_0x566628(0x186)]('['+_0x3e74f5[_0x566628(0x14c)](formatDate,new Date())+_0x566628(0x124)),![];try{return console['log']('['+formatDate(new Date())+_0x566628(0x185)+this[_0x566628(0x187)][_0x566628(0x148)]+_0x566628(0x167)),this['channel'][_0x566628(0x166)](this[_0x566628(0x187)]['queue'],async _0x327a6d=>{const _0x341d2d=_0x566628;if(_0x3e74f5[_0x341d2d(0x13d)](_0x327a6d,null)){const _0xadf5aa=new Date();let _0x360e0a;try{_0x360e0a=JSON['parse'](_0x327a6d[_0x341d2d(0x161)]['toString']());}catch(_0x40b552){console[_0x341d2d(0x186)]('['+_0x3e74f5[_0x341d2d(0x155)](formatDate,_0xadf5aa)+_0x341d2d(0x159)+_0x40b552[_0x341d2d(0x17f)]),console['error'](_0x341d2d(0x157)+_0x327a6d['content']['toString']()),this['channel'][_0x341d2d(0x153)](_0x327a6d);return;}const _0xad30da=_0x327a6d[_0x341d2d(0x143)][_0x341d2d(0x177)]?new Date(_0x327a6d['properties'][_0x341d2d(0x177)]):new Date(),_0x81fcee=await this[_0x341d2d(0x17e)](_0x360e0a);_0x81fcee?(console[_0x341d2d(0x182)]('['+formatDate(new Date())+']\x20Message\x20processed\x20successfully'),this['channel']['ack'](_0x327a6d)):(console['error']('['+formatDate(new Date())+_0x341d2d(0x17a)),this[_0x341d2d(0x15e)]['nack'](_0x327a6d,![],!![])),console[_0x341d2d(0x182)](_0x341d2d(0x15d));}},{'noAck':![]}),!![];}catch(_0x1d1070){return console[_0x566628(0x186)]('['+formatDate(new Date())+_0x566628(0x16a)+_0x1d1070['message']),![];}}async[a0_0x40a24a(0x136)](){const _0x4fc83f=a0_0x40a24a;this[_0x4fc83f(0x16c)]&&(await closeConnection(this['connection']),this[_0x4fc83f(0x17d)]=![]);}}let instance=null;function getInstance(){return!instance&&(instance=new RabbitMQService()),instance;}module['exports']={'getInstance':getInstance};
|
|
1
|
+
const a0_0xd01213=a0_0x3bbf;(function(_0x3c2e60,_0x28402c){const _0x21ab9b=a0_0x3bbf,_0x46a8cc=_0x3c2e60();while(!![]){try{const _0x274953=-parseInt(_0x21ab9b(0xab))/0x1*(parseInt(_0x21ab9b(0xbe))/0x2)+-parseInt(_0x21ab9b(0xa8))/0x3*(-parseInt(_0x21ab9b(0xcf))/0x4)+parseInt(_0x21ab9b(0xcb))/0x5*(parseInt(_0x21ab9b(0xc7))/0x6)+parseInt(_0x21ab9b(0xc3))/0x7+parseInt(_0x21ab9b(0x82))/0x8+-parseInt(_0x21ab9b(0x7b))/0x9+parseInt(_0x21ab9b(0x94))/0xa;if(_0x274953===_0x28402c)break;else _0x46a8cc['push'](_0x46a8cc['shift']());}catch(_0x57ca20){_0x46a8cc['push'](_0x46a8cc['shift']());}}}(a0_0x2e9b,0x78a43));const {createConnection,createChannel,setupInfrastructure,closeConnection,getConfig}=require('../utils/rabbitmq'),{formatDate}=require(a0_0xd01213(0x97));class RabbitMQService{constructor(){const _0x2656a8=a0_0xd01213,_0x477562={'SCZFI':'0|1|2|4|3','AWDtg':function(_0x161e13){return _0x161e13();}},_0xc4e649=_0x477562['SCZFI'][_0x2656a8(0x96)]('|');let _0x5775cd=0x0;while(!![]){switch(_0xc4e649[_0x5775cd++]){case'0':this[_0x2656a8(0x8c)]=null;continue;case'1':this['channel']=null;continue;case'2':this[_0x2656a8(0x87)]=_0x477562['AWDtg'](getConfig);continue;case'3':this['messageHandlers']=[];continue;case'4':this[_0x2656a8(0x99)]=![];continue;}break;}}async['initialize'](){const _0x552e84=a0_0xd01213,_0x1adf5d={'HmDxb':function(_0x349623,_0x6bd3c8){return _0x349623(_0x6bd3c8);},'XyYDi':function(_0x12af78,_0x13d6f3,_0x42088a){return _0x12af78(_0x13d6f3,_0x42088a);},'ewIWZ':function(_0x413063,_0x2bb8ef){return _0x413063(_0x2bb8ef);},'MiNUN':function(_0x5a7d8e,_0x45ebed){return _0x5a7d8e(_0x45ebed);}};try{return this[_0x552e84(0x8c)]=await createConnection(),this[_0x552e84(0x8f)]=await _0x1adf5d['HmDxb'](createChannel,this['connection']),await this[_0x552e84(0x8f)][_0x552e84(0xc8)](0x1),console['log']('['+_0x1adf5d['ewIWZ'](formatDate,new Date())+']\x20Prefetch\x20diatur\x20ke\x201'),await _0x1adf5d['HmDxb'](setupInfrastructure,this[_0x552e84(0x8f)]),this['isConnected']=!![],this[_0x552e84(0x8c)]['on']('close',()=>{const _0x384fe7=_0x552e84;console['error']('['+_0x1adf5d['HmDxb'](formatDate,new Date())+_0x384fe7(0xb0)),this[_0x384fe7(0x99)]=![],_0x1adf5d[_0x384fe7(0x9c)](setTimeout,()=>this[_0x384fe7(0xd3)](),0x1388);}),!![];}catch(_0x2c724b){return console[_0x552e84(0xaf)]('['+_0x1adf5d[_0x552e84(0xbd)](formatDate,new Date())+']\x20Failed\x20to\x20initialize\x20RabbitMQ:\x20'+_0x2c724b[_0x552e84(0x7c)]),this['isConnected']=![],![];}}async['reconnect'](){const _0x5ad216=a0_0xd01213,_0x569bc1={'EseeD':function(_0x174a9e,_0x41f1a0){return _0x174a9e(_0x41f1a0);}};console[_0x5ad216(0xba)]('['+formatDate(new Date())+']\x20Attempting\x20to\x20reconnect\x20to\x20RabbitMQ...');try{await this[_0x5ad216(0x81)](),this['isConnected']&&(console[_0x5ad216(0xba)]('['+formatDate(new Date())+']\x20Successfully\x20reconnected\x20to\x20RabbitMQ'),await this[_0x5ad216(0x91)]());}catch(_0x48a8d3){console['error']('['+_0x569bc1['EseeD'](formatDate,new Date())+_0x5ad216(0xbf)+_0x48a8d3['message']),setTimeout(()=>this['reconnect'](),0x1388);}}async[a0_0xd01213(0xce)](_0xaf4f4f){const _0x4cde84=a0_0xd01213,_0x222bd3={'PvhiB':function(_0x54c5e9){return _0x54c5e9();},'gLMMP':_0x4cde84(0xc1),'MtOoW':function(_0x569ad7,_0x260f68){return _0x569ad7(_0x260f68);},'cgCPk':'inequivalent\x20arg','CyDUb':function(_0x4150a1,_0x1de0d3){return _0x4150a1(_0x1de0d3);},'oaKsB':function(_0x53a550,_0x2ac5da){return _0x53a550(_0x2ac5da);},'HqEgY':function(_0x38e65a,_0x2c51cc){return _0x38e65a(_0x2c51cc);}};try{!this['isConnected']&&(this['connection']=await _0x222bd3[_0x4cde84(0xd1)](createConnection),this['channel']=await createChannel(this['connection']),this['isConnected']=!![]);const _0x11ea55=process[_0x4cde84(0xbb)][_0x4cde84(0x7f)]||'default',_0x553d1b=_0x11ea55+'-retry-exchange';await this[_0x4cde84(0x8f)][_0x4cde84(0x9d)](_0x553d1b,_0x222bd3[_0x4cde84(0xc9)],{'durable':!![],'autoDelete':![]}),console[_0x4cde84(0xba)]('['+formatDate(new Date())+_0x4cde84(0xb8)+_0x553d1b+'\x20created/ready'),await this['channel']['assertExchange'](_0xaf4f4f[_0x4cde84(0xac)],_0x222bd3['gLMMP'],{'durable':!![],'autoDelete':![]}),console[_0x4cde84(0xba)]('['+formatDate(new Date())+_0x4cde84(0x74)+_0xaf4f4f['exchange']+_0x4cde84(0x98));const _0xaf46a8=_0xaf4f4f['routingKey']+'_retry',_0x269328={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':_0xaf4f4f[_0x4cde84(0xac)],'x-dead-letter-routing-key':_0xaf4f4f['routingKey']}};await this['channel'][_0x4cde84(0xb5)](_0xaf46a8,_0x269328),console[_0x4cde84(0xba)]('['+_0x222bd3['MtOoW'](formatDate,new Date())+_0x4cde84(0xbc)+_0xaf46a8+_0x4cde84(0x98)),await this['channel'][_0x4cde84(0x9a)](_0xaf46a8,_0x553d1b,_0xaf4f4f['routingKey']),console['log']('['+_0x222bd3[_0x4cde84(0xcc)](formatDate,new Date())+']\x20Retry\x20binding\x20for\x20'+_0xaf4f4f[_0x4cde84(0xb7)]+_0x4cde84(0xc2));const _0x2471f4={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x553d1b,'x-dead-letter-routing-key':_0xaf4f4f['routingKey']}};try{const _0x56dcf2=await this['channel'][_0x4cde84(0xb5)](_0xaf4f4f[_0x4cde84(0x77)],_0x2471f4);console[_0x4cde84(0xba)]('['+_0x222bd3['MtOoW'](formatDate,new Date())+']\x20Queue\x20'+_0xaf4f4f[_0x4cde84(0x77)]+'\x20'+(_0x56dcf2[_0x4cde84(0x77)]===_0xaf4f4f['queue']?'created/ready':'found')+'\x20with\x20DLX'),await this['channel'][_0x4cde84(0x9a)](_0xaf4f4f[_0x4cde84(0x77)],_0xaf4f4f['exchange'],_0xaf4f4f[_0x4cde84(0xb7)]),console['log']('['+formatDate(new Date())+']\x20Binding\x20'+_0xaf4f4f['exchange']+_0x4cde84(0x9b)+_0xaf4f4f[_0x4cde84(0x77)]+'\x20('+_0xaf4f4f[_0x4cde84(0xb7)]+')\x20created');}catch(_0x1b0591){if(_0x1b0591['message']['includes'](_0x222bd3['cgCPk'])&&_0x1b0591[_0x4cde84(0x7c)][_0x4cde84(0x76)](_0x4cde84(0xb2))){console['error']('\x0a['+_0x222bd3[_0x4cde84(0xa5)](formatDate,new Date())+_0x4cde84(0x86)+_0xaf4f4f[_0x4cde84(0x77)]+_0x4cde84(0x90)),console['error'](_0x4cde84(0xd2));const _0x4908b3=_0xaf4f4f[_0x4cde84(0xb7)]+'_queue',_0x54585e=await this['channel'][_0x4cde84(0xb5)](_0x4908b3,_0x2471f4);console['log']('['+formatDate(new Date())+_0x4cde84(0xc6)+_0x4908b3+'\x20created\x20with\x20DLX'),await this['channel']['bindQueue'](_0x4908b3,_0xaf4f4f[_0x4cde84(0xac)],_0xaf4f4f['routingKey']),console[_0x4cde84(0xba)]('['+_0x222bd3['oaKsB'](formatDate,new Date())+']\x20Binding\x20'+_0xaf4f4f[_0x4cde84(0xac)]+_0x4cde84(0x9b)+_0x4908b3+'\x20('+_0xaf4f4f[_0x4cde84(0xb7)]+_0x4cde84(0x85)),_0xaf4f4f['queue']=_0x4908b3;}else{console[_0x4cde84(0xaf)]('['+_0x222bd3[_0x4cde84(0x7a)](formatDate,new Date())+']\x20Error\x20creating\x20queue\x20'+_0xaf4f4f[_0x4cde84(0x77)]+':',_0x1b0591['message']);throw _0x1b0591;}}return!![];}catch(_0x46aa2d){return console[_0x4cde84(0xaf)]('['+formatDate(new Date())+_0x4cde84(0xc0)+_0x46aa2d['message']),![];}}async['sendToQueue'](_0x40da2d,_0x31e50a){const _0x1001e3=a0_0xd01213,_0x24880d={'mTsnq':function(_0x36ad5a,_0x157d1f){return _0x36ad5a!==_0x157d1f;},'cKxGg':'application/json','tLuME':function(_0x3c1e42,_0x3c0541){return _0x3c1e42(_0x3c0541);},'cZQSg':'Data\x20sent\x20to\x20queue\x20successfully'};if(!this['isConnected'])try{await this[_0x1001e3(0x81)]();}catch(_0x39fe67){return{'success':![],'message':_0x1001e3(0xc5)+_0x39fe67[_0x1001e3(0x7c)],'data':null};}try{const _0x228263=_0x24880d[_0x1001e3(0x8a)](_0x31e50a['auto_retry'],undefined)?_0x31e50a[_0x1001e3(0xb6)]:![],_0x27f309=_0x31e50a[_0x1001e3(0x78)]||0x3,_0x421749={'rabbitmq':{'exchange':_0x31e50a['exchange'],'queue':_0x31e50a[_0x1001e3(0x77)],'routing_key':_0x31e50a[_0x1001e3(0xb7)],'auto_retry':_0x228263,'max_retries':_0x27f309},'message':_0x40da2d};await this['setupCollectorInfrastructure'](_0x31e50a);const _0x138905=new Date(),_0x27f181={'timestamp':_0x138905['toISOString'](),'content':JSON[_0x1001e3(0x93)](_0x421749)},_0x4e872c=this[_0x1001e3(0x8f)][_0x1001e3(0xa1)](_0x31e50a[_0x1001e3(0xac)],_0x31e50a['routingKey'],Buffer[_0x1001e3(0xa4)](JSON['stringify'](_0x27f181)),{'persistent':!![],'contentType':_0x24880d[_0x1001e3(0xb3)],'timestamp':_0x138905[_0x1001e3(0x8e)](),'messageId':_0x138905[_0x1001e3(0x8e)]()+'-'+Math['random']()[_0x1001e3(0x95)](0x24)['substring'](0x7),'headers':{'x-auto-retry':_0x228263,'x-max-retry':_0x27f309,'x-retry-count':0x0,'x-retry-interval':0x2710}});if(_0x4e872c){console['log']('['+_0x24880d[_0x1001e3(0xa7)](formatDate,_0x138905)+_0x1001e3(0x9f),{'exchange':_0x31e50a[_0x1001e3(0xac)],'routing_key':_0x31e50a['routingKey'],'queue':_0x31e50a['queue'],'sendAt':_0x138905[_0x1001e3(0xa3)]()});const _0x309d42=_0x1001e3(0x79)+_0x138905[_0x1001e3(0x8e)]()+'-'+Math[_0x1001e3(0xa0)]()[_0x1001e3(0x95)](0x24)[_0x1001e3(0x75)](0x7);return{'success':!![],'message':_0x24880d['cZQSg'],'data':{'id':_0x309d42,'queueInfo':{'exchange':_0x31e50a['exchange'],'queue':_0x31e50a['queue'],'routingKey':_0x31e50a['routingKey']}}};}else throw new Error(_0x1001e3(0x88));}catch(_0x1795cf){return console['error']('['+formatDate(new Date())+_0x1001e3(0x83)+_0x1795cf[_0x1001e3(0x7c)]),{'success':![],'message':'Error:\x20'+_0x1795cf['message'],'data':null};}}[a0_0xd01213(0x84)](_0x1e6427){const _0x590a33=a0_0xd01213,_0x4fdc85={'xsvpM':_0x590a33(0xcd),'pMEOZ':function(_0x389d39,_0x2f3bd5){return _0x389d39(_0x2f3bd5);}};typeof _0x1e6427===_0x4fdc85[_0x590a33(0xb9)]?(this[_0x590a33(0xa2)][_0x590a33(0x8d)](_0x1e6427),console['log']('['+_0x4fdc85['pMEOZ'](formatDate,new Date())+_0x590a33(0xaa))):console['error']('['+formatDate(new Date())+']\x20Message\x20handler\x20must\x20be\x20a\x20function');}async[a0_0xd01213(0xa9)](_0x4c42c8){const _0x3b756f=a0_0xd01213,_0x25aba2={'jAoUn':function(_0x4a0ad2,_0x1965c6){return _0x4a0ad2(_0x1965c6);}};if(this[_0x3b756f(0xa2)]['length']===0x0)return console[_0x3b756f(0xae)]('['+formatDate(new Date())+']\x20No\x20handlers\x20registered\x20to\x20process\x20messages'),!![];try{for(const _0x41ed8b of this['messageHandlers']){await _0x41ed8b(_0x4c42c8);}return!![];}catch(_0x5661f2){return console['error']('['+_0x25aba2[_0x3b756f(0x80)](formatDate,new Date())+']\x20Error\x20processing\x20message:\x20'+_0x5661f2[_0x3b756f(0x7c)]),![];}}async[a0_0xd01213(0x91)](){const _0x2d0c57=a0_0xd01213,_0x3c56c5={'zLVSb':function(_0xcebf6,_0x2736fb){return _0xcebf6!==_0x2736fb;},'VOWtv':function(_0x491e36,_0xb3e6be){return _0x491e36(_0xb3e6be);},'muNAv':function(_0x20f46c,_0x2d1cfb){return _0x20f46c(_0x2d1cfb);}};if(!this[_0x2d0c57(0x99)])return console['error']('['+_0x3c56c5[_0x2d0c57(0x89)](formatDate,new Date())+_0x2d0c57(0xc4)),![];try{return console['log']('['+_0x3c56c5[_0x2d0c57(0xd0)](formatDate,new Date())+']\x20Start\x20consuming\x20messages\x20from\x20queue\x20\x22'+this[_0x2d0c57(0x87)][_0x2d0c57(0x77)]+_0x2d0c57(0x7d)),this['channel']['consume'](this['config']['queue'],async _0x2fbd77=>{const _0x1496c7=_0x2d0c57;if(_0x3c56c5[_0x1496c7(0xa6)](_0x2fbd77,null)){const _0x49c255=new Date();let _0x1bbce2;try{_0x1bbce2=JSON[_0x1496c7(0x7e)](_0x2fbd77['content'][_0x1496c7(0x95)]());}catch(_0xed3f23){console['error']('['+_0x3c56c5['VOWtv'](formatDate,_0x49c255)+_0x1496c7(0xb4)+_0xed3f23['message']),console['error']('Message\x20content:\x20'+_0x2fbd77[_0x1496c7(0xca)]['toString']()),this[_0x1496c7(0x8f)]['ack'](_0x2fbd77);return;}const _0x3c1580=_0x2fbd77[_0x1496c7(0xad)]['timestamp']?new Date(_0x2fbd77['properties']['timestamp']):new Date(),_0x55ed19=await this[_0x1496c7(0xa9)](_0x1bbce2);_0x55ed19?(console['log']('['+formatDate(new Date())+']\x20Message\x20processed\x20successfully'),this[_0x1496c7(0x8f)]['ack'](_0x2fbd77)):(console[_0x1496c7(0xaf)]('['+_0x3c56c5['VOWtv'](formatDate,new Date())+_0x1496c7(0x9e)),this[_0x1496c7(0x8f)][_0x1496c7(0xb1)](_0x2fbd77,![],!![])),console[_0x1496c7(0xba)](_0x1496c7(0x8b));}},{'noAck':![]}),!![];}catch(_0x35e585){return console[_0x2d0c57(0xaf)]('['+formatDate(new Date())+']\x20Failed\x20to\x20start\x20consuming:\x20'+_0x35e585[_0x2d0c57(0x7c)]),![];}}async[a0_0xd01213(0x92)](){this['connection']&&(await closeConnection(this['connection']),this['isConnected']=![]);}}function a0_0x3bbf(_0x30f3e2,_0xdf2e0e){_0x30f3e2=_0x30f3e2-0x74;const _0x2e9b88=a0_0x2e9b();let _0x3bbfea=_0x2e9b88[_0x30f3e2];if(a0_0x3bbf['WeEZQZ']===undefined){var _0x1991b8=function(_0x322b92){const _0x505648='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x12be20='',_0x406316='';for(let _0x5a2e77=0x0,_0x4798a4,_0x45c3ab,_0x378026=0x0;_0x45c3ab=_0x322b92['charAt'](_0x378026++);~_0x45c3ab&&(_0x4798a4=_0x5a2e77%0x4?_0x4798a4*0x40+_0x45c3ab:_0x45c3ab,_0x5a2e77++%0x4)?_0x12be20+=String['fromCharCode'](0xff&_0x4798a4>>(-0x2*_0x5a2e77&0x6)):0x0){_0x45c3ab=_0x505648['indexOf'](_0x45c3ab);}for(let _0x301bd0=0x0,_0x24c129=_0x12be20['length'];_0x301bd0<_0x24c129;_0x301bd0++){_0x406316+='%'+('00'+_0x12be20['charCodeAt'](_0x301bd0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x406316);};a0_0x3bbf['KPQySf']=_0x1991b8,a0_0x3bbf['rRAZUz']={},a0_0x3bbf['WeEZQZ']=!![];}const _0x3643a7=_0x2e9b88[0x0],_0x5c18dc=_0x30f3e2+_0x3643a7,_0x39c508=a0_0x3bbf['rRAZUz'][_0x5c18dc];return!_0x39c508?(_0x3bbfea=a0_0x3bbf['KPQySf'](_0x3bbfea),a0_0x3bbf['rRAZUz'][_0x5c18dc]=_0x3bbfea):_0x3bbfea=_0x39c508,_0x3bbfea;}let instance=null;function getInstance(){return!instance&&(instance=new RabbitMQService()),instance;}module['exports']={'getInstance':getInstance};function a0_0x2e9b(){const _0x5f059a=['CMvNAxn0zxjnzxnZywDLsgfUzgXLCG','ksbJCMvHDgvK','xsbfuLjpuJOGuxvLDwuG','y29UzMLN','rMfPBgvKihrVihnLBMqGBwvZC2fNzsb0BYbsywjIAxrnuq','vK9xDhy','BvrZBNe','ls0T','y29UBMvJDgLVBG','ChvZAa','z2v0vgLTzq','y2HHBM5LBa','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','C3rHCNrdB25ZDw1L','y2XVC2u','C3rYAw5NAwz5','otq1mdaYmgLbq091tq','Dg9tDhjPBMC','C3bSAxq','lI4VDxrPBhmVzgf0zuHLBhbLCG','ignYzwf0zwqVCMvHzhK','AxndB25Uzwn0zwq','yMLUzff1zxvL','ic0+ia','whLzrgK','yxnZzxj0rxHJAgfUz2u','xsbgywLSzwqGDg8GChjVy2vZCYbTzxnZywDLlcbYzxf1zxvPBMC','xsbnzxnZywDLihnLBNqGDg8GuMfIyML0tveGC3vJy2vZC2z1BgX5oG','CMfUzg9T','ChvIBgLZAa','BwvZC2fNzuHHBMrSzxjZ','Dg9ju09tDhjPBMC','zNjVBq','q3Levwi','EKXwu2i','DeX1tuu','mti5EM5ODfDm','ChjVy2vZC01LC3nHz2u','xsbnzxnZywDLigHHBMrSzxiGCMvNAxn0zxjLza','ndq4mezbyKHMta','zxHJAgfUz2u','ChjVCgvYDgLLCW','D2fYBG','zxjYB3i','xsblB25LA3nPifjHyMjPDe1rihrLCNb1DhvZ','BMfJAW','Ec1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEq','y0T4r2C','xsbgywLSzwqGDg8GCgfYC2uGBwvZC2fNztOG','yxnZzxj0uxvLDwu','yxv0B19YzxrYEq','CM91DgLUz0TLEq','xsbszxrYEsbLEgnOyw5Nzsa','Ehn2Ce0','Bg9N','zw52','xsbszxrYEsbXDwv1zsa','twLovu4','mZK0EK9MALbs','xsbgywLSzwqGDg8GCMvJB25Uzwn0ihrVifjHyMjPDe1roIa','xsbfCNjVCIbZywf0ihnLDhvWigLUzNjHC3rYDwT0Dxi6ia','zgLYzwn0','ignYzwf0zwq','mtmYnJi3nMPSBerUyG','xsbdyw5UB3qGC3rHCNqGy29UC3vTAw5NoIbUB3qGy29UBMvJDgvKihrVifjHyMjPDe1r','q2fUBM90ignVBM5Ly3qGDg8GuMfIyML0tve6ia','xsbbBhrLCM5HDgL2zsbXDwv1zsa','mZaZode2DxfKCNDr','ChjLzMv0y2G','z0Xntva','y29UDgvUDa','mJvWEM5Kzxq','txrpB1C','zNvUy3rPB24','C2v0DxbdB2XSzwn0B3jjBMzYyxn0CNvJDhvYzq','mZy0odHcvej2r1y','Bxvoqxy','uhzOAui','vhj5Aw5NigfSDgvYBMf0AxzLihf1zxvLig5HBwuUlI4','CMvJB25Uzwn0','xsbfEgnOyw5Nzsa','C3vIC3rYAw5N','Aw5JBhvKzxm','CxvLDwu','Bwf4x3jLDhjPzxm','CxvLDwuT','shffz1K','nty5mti0owzqDgP6Ba','BwvZC2fNzq','iI4UlG','CgfYC2u','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','AKfVvw4','Aw5PDgLHBgL6zq','mtGZmZm3nMrktKTmzW','xsbfCNjVCIbZzw5KAw5NihrVifjHyMjPDe1roIa'];a0_0x2e9b=function(){return _0x5f059a;};return a0_0x2e9b();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x4dced4=a0_0x260a;function a0_0x260a(_0x2f0bc9,_0x2f22ec){_0x2f0bc9=_0x2f0bc9-0x1aa;const _0x2ad1ab=a0_0x2ad1();let _0x260a87=_0x2ad1ab[_0x2f0bc9];if(a0_0x260a['mtBBxk']===undefined){var _0x7f6be=function(_0x59a1df){const _0x4dc67b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1dcdb3='',_0x1f2c97='';for(let _0x3028ef=0x0,_0x55f7b8,_0x2ccda0,_0x4defb3=0x0;_0x2ccda0=_0x59a1df['charAt'](_0x4defb3++);~_0x2ccda0&&(_0x55f7b8=_0x3028ef%0x4?_0x55f7b8*0x40+_0x2ccda0:_0x2ccda0,_0x3028ef++%0x4)?_0x1dcdb3+=String['fromCharCode'](0xff&_0x55f7b8>>(-0x2*_0x3028ef&0x6)):0x0){_0x2ccda0=_0x4dc67b['indexOf'](_0x2ccda0);}for(let _0x285bd3=0x0,_0x586931=_0x1dcdb3['length'];_0x285bd3<_0x586931;_0x285bd3++){_0x1f2c97+='%'+('00'+_0x1dcdb3['charCodeAt'](_0x285bd3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1f2c97);};a0_0x260a['LSsafv']=_0x7f6be,a0_0x260a['nvMhff']={},a0_0x260a['mtBBxk']=!![];}const _0x1a522a=_0x2ad1ab[0x0],_0x26e898=_0x2f0bc9+_0x1a522a,_0x5230b4=a0_0x260a['nvMhff'][_0x26e898];return!_0x5230b4?(_0x260a87=a0_0x260a['LSsafv'](_0x260a87),a0_0x260a['nvMhff'][_0x26e898]=_0x260a87):_0x260a87=_0x5230b4,_0x260a87;}(function(_0x5ab4c1,_0x43733a){const _0x3a42d4=a0_0x260a,_0x54f845=_0x5ab4c1();while(!![]){try{const _0x5280ac=parseInt(_0x3a42d4(0x233))/0x1+parseInt(_0x3a42d4(0x2c5))/0x2*(-parseInt(_0x3a42d4(0x215))/0x3)+-parseInt(_0x3a42d4(0x27a))/0x4*(-parseInt(_0x3a42d4(0x223))/0x5)+parseInt(_0x3a42d4(0x239))/0x6+-parseInt(_0x3a42d4(0x2a0))/0x7+-parseInt(_0x3a42d4(0x1ea))/0x8+-parseInt(_0x3a42d4(0x1ed))/0x9*(-parseInt(_0x3a42d4(0x26f))/0xa);if(_0x5280ac===_0x43733a)break;else _0x54f845['push'](_0x54f845['shift']());}catch(_0x723039){_0x54f845['push'](_0x54f845['shift']());}}}(a0_0x2ad1,0x843f9));const {Queue,Worker}=require(a0_0x4dced4(0x292)),Redis=require(a0_0x4dced4(0x1e6)),crypto=require(a0_0x4dced4(0x2b9)),{v7:uuidv7}=require('uuid'),fs=require('fs'),path=require('path'),{logger}=require(a0_0x4dced4(0x250)),jobValidator=require(a0_0x4dced4(0x1be));function a0_0x2ad1(){const _0x37c38d=['y3jLyxrLqNvSBe1rq29UBMvJDgLVBG','Cgf1C2vK','y2f0y2G','zw9LD1m','vuT4zgu','y01TqKu','rejFvfLqrsaN','sM9Iia','yNvSBg1X','z2v0sgvHBhrOu3rHDhvZ','rMfPBgvKihrVihvWC2vYDcbQB2iGCMvNAxn0CNK6ia','x3nVDxjJzuzPBgu','BwvZC2fNzq','Aw5PDgLHBerLBgf5','B3jHy2XL','zw5HyMXLza','rMfPBgvKihrVihvWzgf0zsbQB2iGAgLZDg9YEsaOy29TCgXLDgvKktOG','BxmPoIa','zgvSyxLLza','DMfSAwrHDgvdB25MAwC','C2nOzwr1Bgu','Ee9TwKO','mJy1ndK2ufvcEhbd','D29YA2vYCW','ifjLzgLZignVBM5Ly3rPB25Z','sM9Iig5VDcbMB3vUzdOG','iokaLca','AM9Ix3DVCMTLCNnFy3jLyxrLza','CxvLDwu','igPVyIbJB25MAwCOCYKGzNjVBsbWyxLSB2fKl2PVyNmV','C2v0','z2v0q2fJAgvnyw5Hz2vY','Bwf4qxr0zw1WDhm','zw52','z2T5A1a','AgfUzgXLCG','zgvZy3jPChrPB24','q1fwBeq','z2v0u3rHDgu','yvD2rwu','zMLSDgvY','DxbKyxrLuhjVz3jLC3m','DfDWEgu','lMPZ','BMfTzq','AM9Ix3jLz2LZDhj5x3vWC2vYDf9LCNjVCG','EKzZvfu','y3j5ChrV','BxLZCwW','yxr0zw1WDhnnywrL','AM9Ix2nVBMzPz19PBNzHBgLK','mxWWFdz8n3W1Fdj8m3W0','CxvRrfq','C3vJy2vZCW','z2v0','DfzUy28','zMfPBgvKuMvHC29U','DhLWzq','CMv0CNK','mKTMt1vYvq','D29YA2LUz0rPCG','sK9cx1jfreLtx1bsruzjwa','r25huee','y29TCg9Uzw50rw5NAw5L','AM9Ix2HPC3rVCNLFzMfPBgvKx2vYCM9Y','DxbZzxj0sM9Iu2nOzwr1BgvY','sK9cx01bwf9tvefmtevex0npvu5u','DxrMoa','icHPzdOG','id0G','z2v0sM9Iu2nOzwr1BgvYCW','ChvZAa','yxbPlwrLBgf5zwq','EgjYB3e','CgLK','yMfJA29MzG','AM9PBG','y29UBMvJDgLVBNm','ANvgALi','C3vIC3rYAw5N','zgf0yq','AM9Ix21HBMfNzxjFC2H1DgrVD25Fy29TCgXLDgu','Aw5MBW','uuz5v1C','ig5VDcbMB3vUza','sM9Iihn0yxj0zwq6ia','wNrUt2K','DurArLe','zMnJreu','C1LhuNi','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNzMfPBgvKjYWGy29TCgXLDgvKx2f0id0Gu1LtveLnrvnuqu1qlaOGicaGicaGicaGigr1CMf0Aw9Ux21Zid0GoJeSihbYB2DYzxnZid0GoJiSigvYCM9Yx21LC3nHz2uGpsa6mYWGzxjYB3jFC3rHy2SGpsa6ncbxsevsrsbPzca9idO1','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGC3rHDhvZid0Gj29MzMXPBMuNlcbUzxH0x3j1BL9HDca9ie5vteWSihvWzgf0zwrFyxqGpsbot1COkq','CMv0DxjUDMfSDwu','z2v0uMvKAxndBgLLBNq','wNjnqw8','zxHLy3v0zuv2zw50sgfUzgXLCNm','AgLZDg9YEuLK','lI4VlI4VC2vYDMLJzxmVA2fMA2ftzxj2AwnL','yxbP','B25bzNrLCKPVyKzHAwXLzcbOyw5KBgvYigvYCM9YicHUB24TyMXVy2TPBMCP','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa/lcbSyxn0x3j1BL9HDca9ie5pvYGPifDirvjfigPVyL9Uyw1Lid0GpW','ug9ZDgDYzvnrtcbeqIbTB2r1BguGBM90igf2ywLSywjSzq','zMfPBgvK','zMLUza','lI9QB2iTDMfSAwrHDg9Y','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNC3vJy2vZCYCSignVBxbSzxrLzf9HDca9ie5pvYGPlaOGicaGicaGicaGigr1CMf0Aw9Ux21Zid0GjdeSihbYB2DYzxnZid0GmtaWlcbYzxn1BhrFC3vTBwfYEsa9icqYifDirvjfigLKid0Gjdm','BxLZCwWUC3fS','EwP1D24','AgLNAa','AM9Ix3n0yxj0zwq','zgjFBxLZCwXFDw5HDMfPBgfIBgu','ywrK','AM9Ix2HPC3rVCNLFy29TCgXLDgvFzxjYB3i','rw9hthm','DhjPz2DLCLr5Cgu','yunhzuu','ChvIBgLZAev2zw50','Dg9mB3DLCKnHC2u','C2v0qwXSsM9IC09MzMXPBMu','BxmPlI4U','DxbKyxrLuMvNAxn0CNLtDgf0Dxm','AM9Ix3jLzgLZx2nVBM5Ly3rLza','sM9Iie1HBMfNzxiGC3vKywGGzgLPBMLZAwfSAxnHC2KSihnRAxa','y3jLyxrLza','A1bOs1G','sK9cx1jfvevoveLptL9it1vsuW','zgLZCgf0y2HezwXHEwvK','AxnqyxvZzwq','DhjPBq','ywz0zxjFAM9Ix2zHAwXLzf9OB29Rx2vYCM9Y','q3jVBIbYzwDPC3rLCMvKoIa','sM9IigzHAwXLzdOG','AM9Ix2HHBMrSzxjFzg9Uzq','z2v0q2XPzw50','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNzMfPBgvKjYWGy29TCgXLDgvKx2f0id0GtK9xkcKScIaGicaGicaGicaGzhvYyxrPB25FBxmGpsaKmsWGChjVz3jLC3mGpsaKmIWGzxjYB3jFBwvZC2fNzsa9icqZlcbLCNjVCL9ZDgfJAYa9icq0ifDirvjfigLKid0Gjdu','zw5ZDxjLvgfIBgvZ','yNv5B1u','B25SAw5L','B3jHltaWotu1','AM9Ix2THzMTHx3b1yMXPC2HFzxjYB3i','sK9cx0nptKnvuLjftKnz','wMLmDgK','CgfYC2u','AM9ICW','Aw9YzwrPCW','AM9Ix2zHAwXLza','zu9KyK8','uKvesvnFrei','nZi2nZi3mKzZD1v4AG','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticG/lca/lca/lca/lca/lcaNCNvUBMLUzYCSid8Sid8Sid8Sie5pvYGPlca/lcbot1COksK','B25kB2jdB21WBgv0zwq','odfeAuXWv2W','y3jVBL9YzwDPC3rLCMvK','BgLZDePVyNm','AM9Ix21HBMfNzxjFC2H1DgrVD25FC3rHCNq','Dg90ywXFC3vJy2vZCW','icSGmsWkicaGicaGicaGicbUzxH0x3j1BL9HDca9id8Gv0HfuKuGAM9Ix25HBwuGpsa/','sfbcyKC','CMvHzgrPCLn5BMm','BNv5yuy','B25bzNrLCKPVyKnVBxbSzxrLigHHBMrSzxiGzxjYB3iGkg5VBI1IBg9JA2LUzYK','zw5KC1DPDgG','AvnOqxK','su5trvjuieLove8GAM9Ix3jLz2LZDhj5cIaGicaGicaGicaGkgPVyL9Uyw1LlcbKAxnWBgf5x25HBwuSihr5CguSihnJAgvKDwXLlcbXDwv1zsWGAgfUzgXLCIWGy29UzMLNx2zPBguScIaGicaGicaGicaGihrPBwvVDxqSihjLDhj5x21HEcWGCMv0CNLFyMfJA29MzIWGC3rHDhvZlcbUzxH0x3j1BL9HDcWGy3jLyxrLzf9HDcWGDxbKyxrLzf9HDcKkicaGicaGicaGicbwquXvrvmGkd8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sie5pvYGPlcbot1COksKkicaGicaGicaGicbptIbevvbmsunbveuGs0vzifvqrefurqOGicaGicaGicaGicaGzgLZCgXHEv9Uyw1Lid0GvKfmvuvtkgrPC3bSyxLFBMfTzsKSihr5CguGpsbwquXvrvmODhLWzsKScIaGicaGicaGicaGicbZy2HLzhvSzsa9ifzbtfvfuYHZy2HLzhvSzsKSihf1zxvLid0GvKfmvuvtkhf1zxvLksWkicaGicaGicaGicaGigHHBMrSzxiGpsbwquXvrvmOAgfUzgXLCIKSignVBMzPz19MAwXLid0GvKfmvuvtkgnVBMzPz19MAwXLksWkicaGicaGicaGicaGihrPBwvVDxqGpsbwquXvrvmODgLTzw91DcKSihjLDhj5x21HEca9ifzbtfvfuYHYzxrYEv9TyxGPlaOGicaGicaGicaGicaGCMv0CNLFyMfJA29MzIa9ifzbtfvfuYHYzxrYEv9IywnRB2zMksWGC3rHDhvZid0GvKfmvuvtkhn0yxr1CYKScIaGicaGicaGicaGicbUzxH0x3j1BL9HDca9ifzbtfvfuYHUzxH0x3j1BL9HDcK','AM9Ix2nVBMzPz19KAxjFBwLZC2LUzW','CxvPDa','z2v0ug9VBa','CMvNAxn0zxjkB2i','AM9Ix2rPC3bHDgnOzwrFzgvSyxLLza','zxjYB3jZ','y3jVBG','qNvSBe1rifjLzgLZignVBM5Ly3rPB24GzxjYB3i6ia','AfvQzfm','revSzva','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsaKmsWGBgfZDf9KDxjHDgLVBL9TCYa9icqYlaOGicaGicaGicaGia','ChjVy2vZC0PVyG','sLbfrLO','rMfPBgvKihrVihvWzgf0zsbQB2iGCMvNAxn0CNKGy291BNrLCNm6ia','Aw5JBhvKzxm','sK9cx0zbsuXfrf9srvrftLrjt05Fse9vuLm','AM9Iq29UzMLNCW','DhjPz2DLCMvKqNK','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','rejFvfLqrq','Dw5RBM93BG','ChjVy2vZC2vKt24','zMLUAxnOzwrpBG','yvPtyvG','BgLZDfj1BM5PBMC','y29TCgXLDgvK','AM9Ix3rHyMXLC19LBNn1CMvK','nJu2nde4wwL3uLLx','BKXlu2i','DvbYz24','zxHLy3v0zvrYyw5Zywn0Aw9U','ruvYCgq','uKnVz1u','z2v0s2fMA2ftzxj2AwnL','z2v0tMv4Dfj1BKzYB21cDwXStve','B2zMBgLUzq','AM9Ix3jLz2LZDhj5x29MzMXPBMvFzxjYB3i','DxbKyxrLuMvNAxn0CNLdB3vUDgvYCW','terUqwW','ChjVz3jLC3m','sK9cx1nuquXmrurFsu5urvjwquW','nwTeCLHIvW','AM9Ix21HBMfNzxjFywXYzwfKEv9PBML0AwfSAxPLza','y0jhu3i','tuvsr0uGsu5utYbQB2jFCMvNAxn0CNKGCGOGicaGicaGicaGifvtsu5hicHtruXfq1qGoJeGqvmGAM4GrLjptsbevufmksbZie9oicHYlMPVyL9Uyw1Lid0GCY5QBIKkicaGicaGicaGicbxsevoie1bveniruqGveHftIbvuerbveuGu0vucIaGicaGicaGicaGicbKAxnWBgf5x25HBwuGpsa6mIWGDhLWzsa9idOZlcbZy2HLzhvSzsa9idO0lcbXDwv1zsa9idO1laOGicaGicaGicaGicaGAgfUzgXLCIa9idO2lcbJB25MAwDFzMLSzsa9idO3lcb0Aw1LB3v0id0GoJGSihjLDhj5x21HEca9idO5laOGicaGicaGicaGicaGCMv0CNLFyMfJA29MzIa9idOXmcWGC3rHDhvZid0GoJeXlcbUzxH0x3j1BL9HDca9idOXmIWGDxbKyxrLzf9HDca9ifnzu1rjtuvtvefnuaOGicaGicaGicaGifDiru4GtK9uie1bveniruqGveHftIbjtLnfuLqkicaGicaGicaGicaGicHQB2jFBMfTzsWGzgLZCgXHEv9Uyw1Llcb0ExbLlcbZy2HLzhvSzsWGCxvLDwuSigHHBMrSzxiSignVBMzPz19MAwXLlaOGicaGicaGicaGicaGihrPBwvVDxqSihjLDhj5x21HEcWGCMv0CNLFyMfJA29MzIWGC3rHDhvZlcbUzxH0x3j1BL9HDcWGy3jLyxrLzf9HDcWGDxbKyxrLzf9HDcKkicaGicaGicaGicbwquXvrvmGkdOXlca6mIWGoJmSidO0lca6nsWGoJySidO3lca6ocWGoJKSidOXmcWGoJeXlca6mtiSifnzu1rjtuvtvefnucWGu1LtveLnrvnuqu1qkq','vgLKywSGywrHigPVyIbJB25MAwCGzgL0zw11A2fUigrPihbHEwXVywqVAM9ICY8UiePVyIbnyw5Hz2vYigfRDgLMihrHBNbHignYB24U','zgvMyxvSDa','vgfXC1e','uKvesvnFueftu1DpuKq','z2v0rgjvDgLSCW','Aw5Zzxj0uhjVBwLZzq','y1zozwS','C2XPy2u','lI4VlI4VDxrPBhmVzgiTB3jHy2XL','z2v0sM9I','ywn0AxzL','zxjYB3i','nty3nZu3vxrutM5Y','zxHWB25LBNrPywW','CMvHzezPBgvtEw5J','tw5wrKm','BgvUz3rO','AM9ItMfTzq','ndK2mtiXngnRBufjEG','A2Xhv0q','D0fUvKW','sM9IignHBMnLBgXLzcbIEsbVBKjLzM9YzuPVyKv4zwn1Dgu6ia','Bg9HzePVyKnVBMzPz3m','CxvLDwvZ','C3LZDgvT','AM9Ix2HPC3rVCNLFAw5Zzxj0x2vYCM9Y','D2fYBG','C3bSAxq','DxbKyxrLsM9IsgLZDg9YEunVBxbSzxrLza','DMfSAwq','AM9Ix3n0ywXSzwq','u2vJEeG','ignHBMnLBgXLzcaOD2fZigfJDgL2zsK','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa/lcbSyxn0x2r1CMf0Aw9Ux21Zid0GpYWkicaGicaGicaGica','z2jluuW','uw5zrvC','zw50CMLLCW','Cg9ZDgDYzxnXBc5ZCwW','yLPdExm','Aw5PDgLHBgL6zwq','sM9Iie1HBMfNzxiGCMvHzhK6ia','lI4VlI4VDxrPBhmVBg9Nz2vY','zxHPC3rZu3LUyW','zgjFB3jHy2XLx3vUyxzHAwXHyMXL','DxbZzxj0sM9IuMvNAxn0CNK','DgLTzxn0yw1WCW','AgfUzgXLCNm','DMfSDwvZ','DgLTzxPVBMu','oMPVyG','BwfUDwfS','Aw5PDgLHBgL6zq','BwfW','mYbcDwXStveGuxvLDwvZignYzwf0zwqGkgHPz2GSigrLzMf1BhqSigXVDYK','r1vVCvm','sLH5Ehe','uvrQtMe','EwjhzKS','DgLTzw91Da','rK12rvG','ENzvuhK','Dg90ywXFzMfPBgvK','rMfPBgvKihrVigLUC2vYDcbQB2iGAgLZDg9YEtOG','rMfPBgvKihrVihb1yMXPC2GGsK9cx0zbsuXfrcb0BYblywzRyq','AM9Ix2nVBMzPz19WyxjZzv9LCNjVCG','ywn0AxzLsgLZDg9YEuLKCW','zxHLy3v0zvf1zxj5','C3bSAxrtCwXtDgf0zw1LBNrZ','zMPUEeK','sK9cx0vwru5u','A2v5CW','z2v0sM9ICW','mtmXmtGWCvbTEMDJ','y2XLyxi','lIbkB2iGu2nOzwr1BgvYihrPzgfRigfRyw4GywT0AwyU','ExLnqMS','AM9IlxnJAgvKDwXLCG','lIbeqIbTB25PDg9YAw5NigrPC2fIBgvKlG','qNvSBe1rifDVCMTLCIbLCNjVCIaO','C3rYAw5NAwz5','sM9Iie1HBMfNzxiGC2H1DgrVD24Gy29TCgXLDgu','ze1dCKO','zgLZCgf0y2G','nZC2ntC2vg9wueTz','DxbKyxrLsM9IsgLZDg9YEuzHAwXLza','rurrCfi','D2fPDgLUzW','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGC3rHDhvZid0Gj29MzMXPBMuNlcbUzxH0x3j1BL9HDca9ie5vteW','AM9Ix2HPC3rVCNLFAw5Zzxj0x2jNx2vYCM9Y','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGC3rHDhvZid0Gj29MzMXPBMuNlcbUzxH0x3j1BL9HDca9ie5vteWSihvWzgf0zwrFyxqGpsbtwvnusu1fu1rbtva','q0Htu0K','wezSy0C','rMfPBgvKihrVihnLDcbQB2jZig9MzMXPBMu6ia','z2v0rgjuExbL','s3HeCLa','C2H1DgrVD24','wMLzugu','ywz0zxjFAM9Ix2nVBxbSzxrLx2HVB2TFzxjYB3i','B25kB2jgywLSzwq'];a0_0x2ad1=function(){return _0x37c38d;};return a0_0x2ad1();}let componentEngine=null;function getComponentEngine(){const _0x410787=a0_0x4dced4,_0x55b0e2={'tWpxe':function(_0x80622e,_0x24a8f5){return _0x80622e(_0x24a8f5);}};if(!componentEngine)try{const _0x43a65b=_0x55b0e2[_0x410787(0x2b4)](require,'../../utils/component-engine');componentEngine=_0x43a65b[_0x410787(0x2c9)]||_0x43a65b;}catch(_0x2529c3){}return componentEngine;}class JobManager{constructor(){const _0x1e0637=a0_0x4dced4,_0x3ee3a7={'IaOnL':_0x1e0637(0x2bd)},_0x3939b1=_0x3ee3a7['IaOnL'][_0x1e0637(0x242)]('|');let _0x406b6a=0x0;while(!![]){switch(_0x3939b1[_0x406b6a++]){case'0':this['workers']={};continue;case'1':this['queues']={};continue;case'2':this[_0x1e0637(0x24e)]=![];continue;case'3':this[_0x1e0637(0x2c6)]=process['cwd']();continue;case'4':this[_0x1e0637(0x268)]=new Map();continue;case'5':this[_0x1e0637(0x2d7)]=[];continue;case'6':this['jobConfigs']={};continue;case'7':this[_0x1e0637(0x255)]={};continue;}break;}}[a0_0x4dced4(0x28a)](){const _0x55af7c=a0_0x4dced4,_0x4e246b={'xbroq':function(_0x539835,_0x32abb5){return _0x539835*_0x32abb5;},'zFsTU':'localhost'},_0x1d52e7=new Redis({'host':process[_0x55af7c(0x2ab)]['REDIS_HOST']||_0x4e246b[_0x55af7c(0x2b8)],'port':parseInt(process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process['env'][_0x55af7c(0x22a)]||undefined,'db':parseInt(process['env'][_0x55af7c(0x1e9)],0xa)||0x0,'maxRetriesPerRequest':null,'retryStrategy'(_0x2ad4ef){const _0x5eedee=_0x55af7c,_0x18702e=Math['min'](_0x4e246b[_0x5eedee(0x2d3)](_0x2ad4ef,0x32),0x7d0);return _0x18702e;}});return _0x1d52e7['on']('error',_0x161400=>{const _0x3380b3=_0x55af7c;logger['error']({'event':'bullmq_redis_error','error':_0x161400[_0x3380b3(0x296)]},_0x3380b3(0x201)+_0x161400['message']);}),this['connections'][_0x55af7c(0x2d1)](_0x1d52e7),_0x1d52e7;}async[a0_0x4dced4(0x25a)](){const _0x1145b8=a0_0x4dced4,_0x38273c={'KxDrP':_0x1145b8(0x245),'fjnxI':_0x1145b8(0x224),'lbGXU':_0x1145b8(0x1d0),'hnqqY':'job_manager_init_start','EDQpR':'Initializing\x20Job\x20Manager...','nLKSb':'BullMQ\x20Redis\x20connection\x20verified','xOmZJ':'job_redis_failed','aWvEe':'job_ensure_tables_error','pBnNw':_0x1145b8(0x227),'kPhKX':_0x1145b8(0x2bc),'EoIYh':_0x1145b8(0x20e),'SXFhm':'default','SecxH':function(_0x3e259d,_0x3e2c6d,_0x22cd4c){return _0x3e259d(_0x3e2c6d,_0x22cd4c);},'buLGA':function(_0x1aa023,_0x1c3756){return _0x1aa023*_0x1c3756;},'TRZpy':'job_queues_created','TIjpO':_0x1145b8(0x25c),'HPBbG':function(_0x42b7f3,_0x46fff4,_0x587e24){return _0x42b7f3(_0x46fff4,_0x587e24);},'RKcsv':'completed','LDnAl':_0x1145b8(0x221),'CHSSI':'stalled','sYGRr':'error','buyoU':_0x1145b8(0x2a5),'uPrgn':'job_register_failed'};if(this['initialized']){logger[_0x1145b8(0x241)]({'event':_0x38273c[_0x1145b8(0x26b)]},_0x38273c['lbGXU']);return;}logger[_0x1145b8(0x2dc)]({'event':_0x38273c['hnqqY']},_0x38273c[_0x1145b8(0x27c)]);const _0xd8098e=this[_0x1145b8(0x28a)]();try{await _0xd8098e['ping'](),logger['info']({'event':_0x1145b8(0x1cf)},_0x38273c[_0x1145b8(0x216)]);}catch(_0x2390db){logger['error']({'event':_0x38273c[_0x1145b8(0x29f)],'error':_0x2390db[_0x1145b8(0x296)]},'Redis\x20connection\x20failed:\x20'+_0x2390db['message']+_0x1145b8(0x271));try{await _0xd8098e[_0x1145b8(0x1fb)]();}catch(_0x157940){}this[_0x1145b8(0x2d7)]=this['connections'][_0x1145b8(0x2b2)](_0x44536e=>_0x44536e!==_0xd8098e);return;}try{await _0xd8098e['quit']();}catch(_0xe49e48){}this['connections']=this['connections']['filter'](_0x23686b=>_0x23686b!==_0xd8098e);try{await this['ensureTables']();}catch(_0x2a8336){logger[_0x1145b8(0x241)]({'event':_0x38273c[_0x1145b8(0x2b1)],'error':_0x2a8336['message']},'Failed\x20to\x20ensure\x20job\x20tables:\x20'+_0x2a8336['message']+_0x1145b8(0x274));}const _0xcc8c6e=this['loadJobConfigs']();_0xcc8c6e[_0x1145b8(0x237)]===0x0&&logger[_0x1145b8(0x2dc)]({'event':'job_no_configs'},_0x38273c['pBnNw']);const _0x40e0f9=[];for(const _0x5cdccd of _0xcc8c6e){const _0xc9e716=jobValidator[_0x1145b8(0x29d)](_0x5cdccd,this[_0x1145b8(0x2c6)]);_0xc9e716[_0x1145b8(0x244)]?_0x40e0f9[_0x1145b8(0x2d1)](_0x5cdccd):logger['error']({'event':_0x38273c[_0x1145b8(0x1d2)],'name':_0x5cdccd[_0x1145b8(0x2b6)]||'unknown','errors':_0xc9e716[_0x1145b8(0x1ff)]},'Job\x20config\x20invalid:\x20'+(_0x5cdccd[_0x1145b8(0x2b6)]||_0x38273c['EoIYh'])+_0x1145b8(0x2a4)+_0xc9e716[_0x1145b8(0x1ff)]['join'](';\x20'));}const _0x365fa2=process[_0x1145b8(0x2ab)][_0x1145b8(0x20c)]||_0x38273c['SXFhm'],_0x3aebd2=process['env'][_0x1145b8(0x2c7)]||'rf:'+_0x365fa2+_0x1145b8(0x258),_0x22b42f=_0x38273c[_0x1145b8(0x246)](parseInt,process['env'][_0x1145b8(0x1d3)],0xa)||0x48,_0x56b443=_0x38273c['SecxH'](parseInt,process['env'][_0x1145b8(0x209)],0xa)||0xa8,_0x746d2f={'removeOnComplete':{'age':_0x38273c['buLGA'](_0x22b42f,0xe10)},'removeOnFail':{'age':_0x56b443*0xe10}},_0x1349be={'high-priority':_0x1145b8(0x1c2),'default':_0x1145b8(0x228),'low-priority':'low'};for(const [_0x53eac2,_0x3870e5]of Object['entries'](_0x1349be)){this[_0x1145b8(0x23e)][_0x53eac2]=new Queue(_0x3870e5,{'connection':this['createBullMQConnection'](),'prefix':_0x3aebd2,'defaultJobOptions':_0x746d2f});}logger[_0x1145b8(0x2dc)]({'event':_0x38273c['TRZpy'],'count':0x3},_0x38273c['TIjpO']);const _0x88f818=_0x38273c[_0x1145b8(0x1f3)](parseInt,process[_0x1145b8(0x2ab)][_0x1145b8(0x1e2)],0xa)||0x5,_0x49d7d6=parseInt(process['env'][_0x1145b8(0x222)],0xa)||0x7530,_0x79c803=_0x38273c[_0x1145b8(0x246)](parseInt,process[_0x1145b8(0x2ab)][_0x1145b8(0x2cc)],0xa)||0x2;for(const [_0x586a5b,_0x2e36b2]of Object['entries'](_0x1349be)){const _0x4325ff=new Worker(_0x2e36b2,async _0x561cca=>this[_0x1145b8(0x205)](_0x561cca),{'connection':this['createBullMQConnection'](),'prefix':_0x3aebd2,'concurrency':_0x88f818,'stalledInterval':_0x49d7d6,'maxStalledCount':_0x79c803});_0x4325ff['on'](_0x38273c['RKcsv'],(_0x545478,_0x2d71b2)=>this[_0x1145b8(0x1ec)](_0x545478,_0x2d71b2)),_0x4325ff['on'](_0x1145b8(0x1bc),(_0x3ec03f,_0x3afc23)=>this[_0x1145b8(0x289)](_0x3ec03f,_0x3afc23)),_0x4325ff['on'](_0x38273c[_0x1145b8(0x220)],(_0x137702,_0x2fe1b9)=>this['onJobProgress'](_0x137702,_0x2fe1b9)),_0x4325ff['on'](_0x38273c[_0x1145b8(0x281)],_0x386cbd=>{const _0x210ace=_0x1145b8;logger[_0x210ace(0x241)]({'event':_0x38273c[_0x210ace(0x285)],'jobId':_0x386cbd},'Job\x20stalled:\x20'+_0x386cbd);}),_0x4325ff['on'](_0x38273c[_0x1145b8(0x1af)],_0x499e7e=>{const _0x5bec49=_0x1145b8;logger['error']({'event':'bullmq_worker_error','queue':_0x586a5b,'error':_0x499e7e['message']},_0x5bec49(0x275)+_0x586a5b+'):\x20'+_0x499e7e['message']);}),this['workers'][_0x586a5b]=_0x4325ff;}logger[_0x1145b8(0x2dc)]({'event':_0x38273c[_0x1145b8(0x1de)],'count':0x3,'concurrency':_0x88f818},'3\x20BullMQ\x20Workers\x20created\x20(concurrency:\x20'+_0x88f818+')');let _0x23f929=0x0;for(const _0x3935d6 of _0x40e0f9){try{await this[_0x1145b8(0x1fd)](_0x3935d6),_0x23f929++;}catch(_0x1e030e){logger[_0x1145b8(0x232)]({'event':_0x38273c[_0x1145b8(0x217)],'name':_0x3935d6['name'],'error':_0x1e030e[_0x1145b8(0x296)]},'Failed\x20to\x20register\x20job:\x20'+_0x3935d6[_0x1145b8(0x2b6)]+'\x20—\x20'+_0x1e030e['message']);}}this['initialized']=!![];const _0x1c3e8d=this[_0x1145b8(0x2d7)][_0x1145b8(0x237)];logger[_0x1145b8(0x2dc)]({'event':'job_manager_ready','registeredJobs':_0x23f929,'totalConfigs':_0x40e0f9[_0x1145b8(0x237)],'redisConnections':_0x1c3e8d},_0x1145b8(0x24f)+_0x23f929+'\x20job(s)\x20registered,\x20'+_0x1c3e8d+_0x1145b8(0x2a2));}async[a0_0x4dced4(0x286)](){const _0x7d01fb=a0_0x4dced4,_0x2bba27={'FMvEX':_0x7d01fb(0x1f0),'EoGLs':function(_0x55a6e2,_0x36bd84){return _0x55a6e2-_0x36bd84;},'CQVlD':_0x7d01fb(0x231),'mMXAR':_0x7d01fb(0x2db),'ybGfK':_0x7d01fb(0x277)};if(!this['initialized'])return;const _0x27ea9f=parseInt(process[_0x7d01fb(0x2ab)]['JOB_SHUTDOWN_TIMEOUT'],0xa)||0x2710;logger['info']({'event':_0x2bba27[_0x7d01fb(0x262)],'timeoutMs':_0x27ea9f},'Job\x20Manager\x20shutting\x20down\x20(timeout:\x20'+_0x27ea9f+_0x7d01fb(0x1cd));const _0x509031=Object['values'](this['workers'])[_0x7d01fb(0x25b)](async _0x3bee49=>{try{await _0x3bee49['pause']();}catch(_0x5c918e){}});await Promise['all'](_0x509031);const _0x3f1d1a=Date['now']();while(_0x2bba27[_0x7d01fb(0x1c7)](Date['now'](),_0x3f1d1a)<_0x27ea9f){let _0x4389fe=0x0;for(const _0x4a7648 of Object['values'](this[_0x7d01fb(0x23e)])){try{const _0x33191b=await _0x4a7648['getJobCounts'](_0x2bba27[_0x7d01fb(0x2af)]);_0x4389fe+=_0x33191b[_0x7d01fb(0x231)]||0x0;}catch(_0x626550){}}if(_0x4389fe===0x0)break;await new Promise(_0x2596ff=>setTimeout(_0x2596ff,0x1f4));}const _0x369873=Object[_0x7d01fb(0x256)](this['workers'])[_0x7d01fb(0x25b)](async _0x1330a8=>{try{await _0x1330a8['close']();}catch(_0x517373){}});await Promise['all'](_0x369873);const _0x43e1fa=Object[_0x7d01fb(0x256)](this['queues'])['map'](async _0x2e10d3=>{try{await _0x2e10d3['close']();}catch(_0x1830e9){}});await Promise['all'](_0x43e1fa);for(const _0x3a148b of this[_0x7d01fb(0x2d7)]){try{await _0x3a148b[_0x7d01fb(0x1fb)]();}catch(_0x1ba40a){}}this['queues']={},this['workers']={},this[_0x7d01fb(0x2d7)]=[],await this[_0x7d01fb(0x1cc)](),this['activeHistoryIds'][_0x7d01fb(0x270)](),this['initialized']=![],logger['info']({'event':_0x2bba27['mMXAR']},_0x2bba27[_0x7d01fb(0x260)]);}[a0_0x4dced4(0x23d)](){const _0x49b206=a0_0x4dced4,_0x211f6={'JTsPe':'payload','bZCys':_0x49b206(0x1e5),'MsaaF':'Folder\x20payload/jobs/\x20tidak\x20ditemukan','TJduu':_0x49b206(0x2cd)},_0x400efb=path['join'](this[_0x49b206(0x2c6)],_0x211f6['JTsPe'],_0x211f6[_0x49b206(0x24d)]);if(!fs['existsSync'](_0x400efb))return logger['info']({'event':_0x49b206(0x1fa),'path':_0x400efb},_0x211f6['MsaaF']),[];const _0x4fc0e3=fs[_0x49b206(0x1f4)](_0x400efb)[_0x49b206(0x2b2)](_0x37d62c=>_0x37d62c[_0x49b206(0x1f7)]('.json')),_0x55e152=[];for(const _0x488770 of _0x4fc0e3){const _0x2b67ac=path[_0x49b206(0x2d6)](_0x400efb,_0x488770);try{const _0x2146be=fs['readFileSync'](_0x2b67ac,_0x211f6['TJduu']),_0x5d3bc8=JSON[_0x49b206(0x1e4)](_0x2146be);_0x5d3bc8[_0x49b206(0x295)]=_0x488770,_0x55e152['push'](_0x5d3bc8);}catch(_0x4990bc){logger[_0x49b206(0x232)]({'event':_0x49b206(0x267),'file':_0x488770,'error':_0x4990bc['message']},'Failed\x20to\x20parse\x20job\x20config:\x20'+_0x488770+'\x20—\x20'+_0x4990bc['message']);}}return logger['info']({'event':'job_configs_loaded','count':_0x55e152[_0x49b206(0x237)]},'Loaded\x20'+_0x55e152[_0x49b206(0x237)]+_0x49b206(0x2a7)),_0x55e152;}async['registerJob'](_0x37d293){const _0x1de820=a0_0x4dced4,_0x3cfd36={'MnVFC':'jobs','DEleP':function(_0x5461bd,_0x156b3d){return _0x5461bd(_0x156b3d);},'mTnwF':function(_0x2d2694,_0x4df864){return _0x2d2694===_0x4df864;},'mOpQU':function(_0x27b7fc,_0x7c267d){return _0x27b7fc!==_0x7c267d;},'JXyxq':'default','qukDT':'cron','FZquf':'online','KjwjF':function(_0x425400,_0x563537){return _0x425400===_0x563537;}},_0x34a55a=path['join'](this['workingDir'],'src',_0x3cfd36[_0x1de820(0x236)],_0x37d293[_0x1de820(0x2ad)]+_0x1de820(0x2b5));this['handlers'][_0x37d293['name']]=_0x3cfd36[_0x1de820(0x203)](require,_0x34a55a),this['jobConfigs'][_0x37d293[_0x1de820(0x2b6)]]=_0x37d293;if(_0x3cfd36['mTnwF'](_0x37d293['type'],_0x1de820(0x200))&&_0x3cfd36['mOpQU'](_0x37d293[_0x1de820(0x299)],![])){const _0xf95b24=this[_0x1de820(0x23e)][_0x37d293['queue']||_0x3cfd36[_0x1de820(0x25e)]];await _0xf95b24[_0x1de820(0x2cb)](_0x37d293['name'],{'pattern':_0x37d293[_0x1de820(0x29e)],'tz':_0x37d293[_0x1de820(0x257)]||undefined},{'name':_0x37d293['name'],'data':{'handler':_0x37d293[_0x1de820(0x2ad)],'triggeredBy':_0x1de820(0x200),'metadata':_0x37d293['metadata']||{}},'opts':{'attempts':_0x37d293['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0x37d293[_0x1de820(0x2c4)]?.['backoff']||_0x1de820(0x234),'delay':_0x37d293['retry']?.[_0x1de820(0x297)]||0x1388},'timeout':_0x37d293['timeout']||0x7530}}),logger[_0x1de820(0x2dc)]({'event':_0x1de820(0x1ee),'name':_0x37d293[_0x1de820(0x2b6)],'schedule':_0x37d293[_0x1de820(0x29e)],'queue':_0x37d293['queue']||'default'},_0x1de820(0x1d8)+_0x37d293[_0x1de820(0x2b6)]+'\x20['+_0x37d293['schedule']+']');}const _0xcd1afe=_0x37d293[_0x1de820(0x2c3)]===_0x3cfd36[_0x1de820(0x2be)]&&_0x37d293['enabled']!==![]?_0x3cfd36['FZquf']:_0x1de820(0x21d);let _0x1717b8=null;_0x3cfd36['KjwjF'](_0xcd1afe,_0x1de820(0x1df))&&(_0x1717b8=await this[_0x1de820(0x21c)](_0x37d293['name'])),await this['upsertJobRegistry'](_0x37d293,_0xcd1afe,_0x1717b8);}async[a0_0x4dced4(0x205)](_0x1ebf0f){const _0x47eb58=a0_0x4dced4,_0x647ab4={'ZtnOi':function(_0x5c5bf4,_0x32e832){return _0x5c5bf4+_0x32e832;},'zvUPy':_0x47eb58(0x20e),'ASssr':_0x47eb58(0x2d2),'dMCrJ':_0x47eb58(0x29c),'gkykP':_0x47eb58(0x1b8),'NVlLx':_0x47eb58(0x259),'FJEuR':_0x47eb58(0x200),'gbKQL':'default','RruGC':function(_0x49fd07,_0x301994){return _0x49fd07===_0x301994;},'yuIPg':'onBeforeJobExecute'},_0x4174c3=this[_0x47eb58(0x20a)][_0x1ebf0f[_0x47eb58(0x2b6)]],_0x52c51f=this['handlers'][_0x1ebf0f['name']];if(!_0x52c51f)throw new Error('Handler\x20not\x20found\x20for\x20job:\x20'+_0x1ebf0f['name']);const _0x1b37e1=logger['child']({'jobId':_0x1ebf0f['id'],'jobName':_0x1ebf0f['name']});_0x1b37e1['info']({'event':_0x47eb58(0x1c3),'attempt':_0x647ab4['ZtnOi'](_0x1ebf0f[_0x47eb58(0x2bb)],0x1),'triggeredBy':_0x1ebf0f[_0x47eb58(0x2da)]?.['triggeredBy']||_0x647ab4[_0x47eb58(0x263)]},_0x47eb58(0x1ab)+_0x1ebf0f[_0x47eb58(0x2b6)]+'\x20(attempt\x20'+_0x647ab4[_0x47eb58(0x1ac)](_0x1ebf0f['attemptsMade'],0x1)+')');const _0x15dada=uuidv7(),_0x189325=_0x1ebf0f[_0x47eb58(0x2da)]?.[_0x47eb58(0x20b)]||_0x647ab4[_0x47eb58(0x263)],_0x1d02b1=this['insertJobHistory']({'id':_0x15dada,'jobName':_0x1ebf0f['name'],'bullmqJobId':_0x1ebf0f['id'],'triggerType':_0x189325===_0x647ab4['ASssr']?_0x647ab4[_0x47eb58(0x278)]:_0x189325===_0x647ab4[_0x47eb58(0x2ac)]?_0x647ab4['NVlLx']:_0x647ab4['FJEuR'],'triggeredBy':_0x189325===_0x47eb58(0x200)?_0x47eb58(0x23f):_0x189325,'queue':_0x4174c3?.['queue']||_0x647ab4[_0x47eb58(0x249)],'attempt':_0x1ebf0f[_0x47eb58(0x2bb)]+0x1,'configFile':_0x4174c3?.[_0x47eb58(0x295)]||null})[_0x47eb58(0x28c)](_0x5e2e6d=>{const _0x4883f2=_0x47eb58;_0x1b37e1['warn']({'event':_0x4883f2(0x27f),'error':_0x5e2e6d[_0x4883f2(0x296)]},'Background\x20insert\x20job\x20history\x20failed:\x20'+_0x5e2e6d['message']);});this[_0x47eb58(0x268)][_0x47eb58(0x2a8)](_0x1ebf0f['id'],{'historyId':_0x15dada,'insertPromise':_0x1d02b1});const _0x2051db=this['buildContext'](_0x1ebf0f,_0x4174c3,_0x1b37e1),_0x1665da=getComponentEngine();if(_0x1665da&&_0x647ab4['RruGC'](typeof _0x1665da['executeEventHandlers'],'function')){const _0x8a8b92=await _0x1665da['executeEventHandlers'](_0x647ab4['yuIPg'],_0x2051db,!![]);if(!_0x8a8b92['success'])throw new Error(_0x47eb58(0x23c)+_0x8a8b92['error']);}const _0x377bb5=await _0x52c51f(_0x2051db);return _0x1b37e1[_0x47eb58(0x2dc)]({'event':_0x47eb58(0x1da),'result':_0x377bb5},'Job\x20handler\x20completed:\x20'+_0x1ebf0f['name']),_0x377bb5;}['buildContext'](_0x5612a9,_0x1f5d19,_0x5c561e){const _0x4741b0=a0_0x4dced4,_0x2dc28d={'XFlcG':_0x4741b0(0x26c),'GnGPA':_0x4741b0(0x273),'eoewS':function(_0x24ea96,_0x426277){return _0x24ea96+_0x426277;},'RbaWm':function(_0x28a4e5,_0x2156e9){return _0x28a4e5||_0x2156e9;}};return{'jobId':_0x5612a9['id'],'jobName':_0x5612a9[_0x4741b0(0x2b6)],'attempt':_0x2dc28d[_0x4741b0(0x28d)](_0x5612a9['attemptsMade'],0x1),'maxAttempts':_0x1f5d19?.[_0x4741b0(0x2c4)]?.[_0x4741b0(0x2aa)]||0x3,'payload':_0x5612a9[_0x4741b0(0x2da)]||{},'config':_0x2dc28d['RbaWm'](_0x1f5d19,{}),'db':this['getDbUtils'](),'redis':this[_0x4741b0(0x1b3)](),'logger':_0x5c561e,'kafka':this[_0x4741b0(0x21b)](),'cache':this[_0x4741b0(0x2a9)](),'updateProgress':async _0x192eeb=>{const _0x4f37de=_0x4741b0;await _0x5612a9[_0x4f37de(0x2b3)](_0x192eeb);},'emit':async(_0x448fd5,_0x53a18e)=>{const _0xde7d26=_0x4741b0,_0x369fe1=this['getKafkaService']();_0x369fe1&&await _0x369fe1[_0xde7d26(0x1ca)](_0x448fd5,_0x2dc28d[_0xde7d26(0x282)],null,_0x53a18e,{'module':_0x2dc28d[_0xde7d26(0x2c8)],'endpoint':_0x5612a9[_0xde7d26(0x2b6)]});},'job':_0x5612a9};}['getDbType'](){const _0x396026=a0_0x4dced4,_0x1d0c24={'uUyVY':'postgresql'};return(process['env'][_0x396026(0x20d)]||_0x1d0c24['uUyVY'])['toLowerCase']();}async[a0_0x4dced4(0x1dd)](){const _0x3253f1=a0_0x4dced4,_0x4f4264={'ORoJy':'Database\x20tidak\x20tersedia,\x20skip\x20auto-create\x20job\x20tables','EUNok':'oracle.sql','TaqsQ':'job_sql_not_found','cVNek':'utf8','FqQMd':'already\x20exists'},_0x42e845=this[_0x3253f1(0x22b)]();if(!_0x42e845){logger[_0x3253f1(0x241)]({'event':'job_db_unavailable'},_0x4f4264['ORoJy']);return;}const _0x3964c9=this['getDbType'](),_0x2dc42f={'postgresql':_0x3253f1(0x24c),'oracle':_0x4f4264['EUNok'],'mysql':_0x3253f1(0x1c0)},_0x452a1e=_0x2dc42f[_0x3964c9];if(!_0x452a1e){logger[_0x3253f1(0x241)]({'event':'job_db_type_unsupported','dbType':_0x3964c9},_0x3253f1(0x290)+_0x3964c9+'\x27\x20tidak\x20didukung\x20untuk\x20job\x20monitoring\x20tables');return;}const _0x1fad2f=path[_0x3253f1(0x2d6)](__dirname,'sql-scripts',_0x452a1e);if(!fs[_0x3253f1(0x251)](_0x1fad2f)){logger['warn']({'event':_0x4f4264[_0x3253f1(0x229)],'path':_0x1fad2f},'SQL\x20script\x20tidak\x20ditemukan:\x20'+_0x1fad2f);return;}const _0x2e78cd=fs[_0x3253f1(0x235)](_0x1fad2f,_0x4f4264[_0x3253f1(0x22d)]),_0x3990a1=this['splitSqlStatements'](_0x2e78cd,_0x3964c9);let _0x2a7332=0x0;for(const _0x1f142d of _0x3990a1){try{await _0x42e845['executeQuery'](_0x1f142d),_0x2a7332++;}catch(_0xdd1352){const _0x867ff0=(_0xdd1352[_0x3253f1(0x296)]||'')[_0x3253f1(0x1cb)](),_0x31dc10=_0x867ff0['includes'](_0x4f4264['FqQMd'])||_0x867ff0[_0x3253f1(0x208)](_0x3253f1(0x1e0))||_0x867ff0[_0x3253f1(0x208)]('duplicate');!_0x31dc10&&logger['warn']({'event':'job_ensure_tables_warn','error':_0xdd1352['message']},'Job\x20ensureTables\x20warning:\x20'+_0xdd1352['message']);}}logger[_0x3253f1(0x2dc)]({'event':_0x3253f1(0x214),'dbType':_0x3964c9,'executed':_0x2a7332},'Job\x20monitoring\x20tables\x20ensured\x20('+_0x3964c9+')');}[a0_0x4dced4(0x26a)](_0x53f826,_0x36ef7f){const _0x3fffcb=a0_0x4dced4,_0x486b31={'juFjR':function(_0x5b16b0,_0x1efff0){return _0x5b16b0>_0x1efff0;}};let _0x4a7bce;return _0x36ef7f===_0x3fffcb(0x298)?_0x4a7bce=_0x53f826[_0x3fffcb(0x242)](/\n\/\s*(?:\n|$)/):_0x4a7bce=_0x53f826[_0x3fffcb(0x242)](/;\s*(?:\n|$)/),_0x4a7bce['map'](_0x32b458=>_0x32b458[_0x3fffcb(0x1d6)]())['filter'](_0x1881ed=>{const _0x3f57c9=_0x3fffcb;if(_0x1881ed['length']===0x0)return![];const _0x2a7348=_0x1881ed[_0x3f57c9(0x242)]('\x0a')[_0x3f57c9(0x2b2)](_0x1c3d21=>!_0x1c3d21['trim']()['startsWith']('--')&&_0x1c3d21[_0x3f57c9(0x1d6)]()['length']>0x0);return _0x486b31[_0x3f57c9(0x2d8)](_0x2a7348[_0x3f57c9(0x237)],0x0);});}async[a0_0x4dced4(0x253)](_0x5454b8,_0x2d9203=a0_0x4dced4(0x1df),_0x2dd5d8=null){const _0x34b993=a0_0x4dced4,_0x111efc={'GLSlq':_0x34b993(0x200),'eMhph':'default','fccDE':function(_0x28ae25,_0x31e329){return _0x28ae25===_0x31e329;},'wAnVL':function(_0xb1d350,_0x1aedea){return _0xb1d350===_0x1aedea;}},_0x46b9be=this[_0x34b993(0x22b)]();if(!_0x46b9be)return;const _0x1ad64d=this[_0x34b993(0x284)](),_0x2cab05=[_0x5454b8[_0x34b993(0x2b6)],_0x5454b8['description']||_0x5454b8['name'],_0x5454b8['type']||_0x111efc['GLSlq'],_0x5454b8['schedule']||null,_0x5454b8['queue']||_0x111efc['eMhph'],_0x5454b8['handler'],_0x5454b8['_sourceFile']||'',_0x5454b8['timeout']||0x7530,_0x5454b8['retry']?.[_0x34b993(0x2aa)]||0x3,_0x5454b8[_0x34b993(0x2c4)]?.[_0x34b993(0x2d5)]||'exponential',_0x2d9203,_0x2dd5d8];try{if(_0x111efc[_0x34b993(0x1ae)](_0x1ad64d,_0x34b993(0x298)))await _0x46b9be[_0x34b993(0x269)](_0x34b993(0x226),_0x2cab05);else _0x111efc[_0x34b993(0x23b)](_0x1ad64d,_0x34b993(0x2ba))?await _0x46b9be['executeQuery'](_0x34b993(0x1f9),_0x2cab05):await _0x46b9be[_0x34b993(0x269)]('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()',_0x2cab05);}catch(_0x251dd1){logger[_0x34b993(0x241)]({'event':_0x34b993(0x2b7),'name':_0x5454b8['name'],'error':_0x251dd1[_0x34b993(0x296)]},_0x34b993(0x294)+_0x5454b8['name']+'\x20—\x20'+_0x251dd1[_0x34b993(0x296)]);}}async['insertJobHistory'](_0x536bc7){const _0x3187ed=a0_0x4dced4,_0x517064={'yjuwn':'cron','UKxde':'system','vVOcg':function(_0x5a176b,_0x38b91c){return _0x5a176b===_0x38b91c;},'dnQuT':_0x3187ed(0x298),'cBGSr':_0x3187ed(0x2ba),'fqsGi':_0x3187ed(0x240)},_0x14e73c=this['getDbUtils']();if(!_0x14e73c)return;const _0x4513e3=this['getDbType'](),_0x291498=[_0x536bc7['id'],_0x536bc7['jobName'],_0x536bc7['bullmqJobId']||null,_0x536bc7[_0x3187ed(0x1c8)]||_0x517064[_0x3187ed(0x1c1)],_0x536bc7[_0x3187ed(0x20b)]||_0x517064[_0x3187ed(0x28e)],_0x536bc7['queue']||_0x3187ed(0x228),_0x536bc7['attempt']||0x1,_0x536bc7['configFile']||null,process[_0x3187ed(0x2d4)]];try{if(_0x517064['vVOcg'](_0x4513e3,_0x517064['dnQuT']))await _0x14e73c[_0x3187ed(0x269)]('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)',_0x291498);else _0x4513e3===_0x517064[_0x3187ed(0x225)]?await _0x14e73c[_0x3187ed(0x269)](_0x3187ed(0x1eb),_0x291498):await _0x14e73c[_0x3187ed(0x269)]('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())',_0x291498);await this[_0x3187ed(0x1ce)](_0x536bc7[_0x3187ed(0x238)],'running');}catch(_0x58d932){logger['warn']({'event':_0x517064['fqsGi'],'jobName':_0x536bc7[_0x3187ed(0x238)],'error':_0x58d932['message']},_0x3187ed(0x265)+_0x58d932['message']);}}async['updateJobHistoryCompleted'](_0x4ce7a3,_0x522dba,_0x346612){const _0x251e4f=a0_0x4dced4,_0xd1e4b5={'hOdys':_0x251e4f(0x298),'HRcbY':_0x251e4f(0x2ba),'ZiYPe':_0x251e4f(0x1c6)},_0x55ee0c=this[_0x251e4f(0x22b)]();if(!_0x55ee0c)return;const _0xd6959=this['getDbType'](),_0x1bf240=_0x346612?String(_0x346612)['substring'](0x0,0x1f4):null;try{if(_0xd6959===_0xd1e4b5['hOdys'])await _0x55ee0c[_0x251e4f(0x269)]('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',[_0x522dba,_0x1bf240,_0x4ce7a3]);else _0xd6959===_0xd1e4b5['HRcbY']?await _0x55ee0c[_0x251e4f(0x269)]('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?',[_0x522dba,_0x1bf240,_0x4ce7a3]):await _0x55ee0c[_0x251e4f(0x269)](_0x251e4f(0x1bf),[_0x522dba,_0x1bf240,_0x4ce7a3]);}catch(_0xc7925e){logger['warn']({'event':_0xd1e4b5[_0x251e4f(0x287)],'historyId':_0x4ce7a3,'error':_0xc7925e[_0x251e4f(0x296)]},_0x251e4f(0x29a)+_0xc7925e['message']);}}async[a0_0x4dced4(0x27b)](_0x46c137,_0x54ecb2,_0xef4448,_0x1a68e8,_0x3c64a8){const _0x484098=a0_0x4dced4,_0x320aad={'hhlgT':function(_0x1df764,_0x5b0642){return _0x1df764(_0x5b0642);},'OlTJw':_0x484098(0x298),'QVdvr':function(_0x16846c,_0x2c77e2){return _0x16846c||_0x2c77e2;}},_0x431637=this[_0x484098(0x22b)]();if(!_0x431637)return;const _0x39f43b=this[_0x484098(0x284)](),_0x51a85=_0x1a68e8?_0x320aad['hhlgT'](String,_0x1a68e8)[_0x484098(0x2d9)](0x0,0x3e8):null,_0x5f52df=_0x3c64a8?String(_0x3c64a8)['substring'](0x0,0xfa0):null;try{if(_0x39f43b===_0x320aad['OlTJw'])await _0x431637[_0x484098(0x269)](_0x484098(0x1b0),[_0x54ecb2,_0xef4448||0x0,_0x51a85,_0x5f52df,_0x46c137]);else _0x39f43b==='mysql'?await _0x431637[_0x484098(0x269)]('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?',[_0x54ecb2,_0xef4448||0x0,_0x51a85,_0x5f52df,_0x46c137]):await _0x431637['executeQuery'](_0x484098(0x1dc),[_0x54ecb2,_0x320aad['QVdvr'](_0xef4448,0x0),_0x51a85,_0x5f52df,_0x46c137]);}catch(_0x610e45){logger['warn']({'event':_0x484098(0x2ca),'historyId':_0x46c137,'error':_0x610e45['message']},'Failed\x20to\x20update\x20job\x20history\x20(failed):\x20'+_0x610e45[_0x484098(0x296)]);}}async[a0_0x4dced4(0x1ce)](_0x28da30,_0x1056a1){const _0x45d1c2=a0_0x4dced4,_0x4d5c43={'JoMfm':'oracle','BOCwj':function(_0x339b2f,_0xe0cc9e){return _0x339b2f===_0xe0cc9e;},'aCGeE':'mysql'},_0x495bd5=this['getDbUtils']();if(!_0x495bd5)return;const _0xc483aa=this['getDbType']();try{if(_0xc483aa===_0x4d5c43['JoMfm'])await _0x495bd5[_0x45d1c2(0x269)]('UPDATE\x20job_registry\x20SET\x20last_status\x20=\x20:1,\x20last_run_at\x20=\x20SYSTIMESTAMP,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20updated_at\x20=\x20SYSTIMESTAMP\x20WHERE\x20job_name\x20=\x20:2',[_0x1056a1,_0x28da30]);else _0x4d5c43['BOCwj'](_0xc483aa,_0x4d5c43[_0x45d1c2(0x1c9)])?await _0x495bd5['executeQuery'](_0x45d1c2(0x1ba),[_0x1056a1,_0x28da30]):await _0x495bd5[_0x45d1c2(0x269)]('UPDATE\x20job_registry\x20SET\x20last_status\x20=\x20$1,\x20last_run_at\x20=\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20updated_at\x20=\x20NOW()\x20WHERE\x20job_name\x20=\x20$2',[_0x1056a1,_0x28da30]);}catch(_0x217601){}}async['updateRegistryCounters'](_0x322bd0,_0x3cadb9,_0x45c36e,_0x172c5e){const _0x569599=a0_0x4dced4,_0x3330af={'QnYEW':_0x569599(0x264),'aEWhN':'job_registry_counter_error'},_0x89ac5b=this[_0x569599(0x22b)]();if(!_0x89ac5b)return;const _0x1a1030=this[_0x569599(0x284)](),_0x215578=_0x3cadb9===_0x569599(0x2bf)?_0x569599(0x1f1):_0x3330af[_0x569599(0x24a)];try{if(_0x1a1030===_0x569599(0x298))await _0x89ac5b['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'+_0x215578+'\x20=\x20'+_0x215578+'\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',[_0x3cadb9,_0x45c36e,_0x172c5e,_0x322bd0]);else _0x1a1030===_0x569599(0x2ba)?await _0x89ac5b['executeQuery'](_0x569599(0x248)+_0x215578+_0x569599(0x2cf)+_0x215578+_0x569599(0x1f2),[_0x3cadb9,_0x45c36e,_0x172c5e,_0x322bd0]):await _0x89ac5b[_0x569599(0x269)](_0x569599(0x204)+_0x215578+_0x569599(0x2cf)+_0x215578+'\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',[_0x3cadb9,_0x45c36e,_0x172c5e,_0x322bd0]);}catch(_0xb0231d){logger[_0x569599(0x241)]({'event':_0x3330af['aEWhN'],'jobName':_0x322bd0,'error':_0xb0231d['message']},_0x569599(0x207)+_0xb0231d[_0x569599(0x296)]);}}async['getNextRunFromBullMQ'](_0x283005){const _0x3bafa2=a0_0x4dced4,_0x4377c3={'BYbJo':function(_0x359455,_0x4b445b){return _0x359455!==_0x4b445b;},'QTjNa':function(_0x3c1575,_0x35c0a3){return _0x3c1575===_0x35c0a3;}},_0x61aefd=this[_0x3bafa2(0x20a)][_0x283005];if(!_0x61aefd||_0x4377c3['BYbJo'](_0x61aefd[_0x3bafa2(0x2c3)],'cron')||_0x4377c3[_0x3bafa2(0x25f)](_0x61aefd[_0x3bafa2(0x299)],![]))return null;const _0x1b68af=this[_0x3bafa2(0x23e)][_0x61aefd['queue']||'default'];if(!_0x1b68af)return null;try{if(typeof _0x1b68af[_0x3bafa2(0x2d0)]==='function'){const _0xd5925c=await _0x1b68af[_0x3bafa2(0x2d0)](0x0,0x64),_0x41023a=_0xd5925c[_0x3bafa2(0x1bd)](_0xa670b9=>_0xa670b9[_0x3bafa2(0x2b6)]===_0x283005);return _0x41023a?.['next']?new Date(_0x41023a['next']):null;}}catch(_0x206d40){}return null;}async['setAllJobsOffline'](){const _0x3a3839=a0_0x4dced4,_0x378922={'ZivjS':_0x3a3839(0x298),'cMmBE':function(_0x1f198e,_0x373528){return _0x1f198e===_0x373528;}},_0x5d223d=this[_0x3a3839(0x22b)]();if(!_0x5d223d)return;const _0x36ff37=this['getDbType']();try{if(_0x36ff37===_0x378922['ZivjS'])await _0x5d223d['executeQuery'](_0x3a3839(0x280));else _0x378922[_0x3a3839(0x28f)](_0x36ff37,'mysql')?await _0x5d223d[_0x3a3839(0x269)](_0x3a3839(0x27e)):await _0x5d223d[_0x3a3839(0x269)](_0x3a3839(0x1b1));}catch(_0x58b044){logger['warn']({'event':_0x3a3839(0x21e),'error':_0x58b044['message']},_0x3a3839(0x283)+_0x58b044['message']);}}['getDbUtils'](){const _0x591dcc=a0_0x4dced4,_0x540d97={'klGWD':'postgresql','QYFHN':function(_0x18ce85,_0x271e81){return _0x18ce85===_0x271e81;},'uDZFQ':_0x591dcc(0x298),'CNqTH':_0x591dcc(0x22f),'bmVeb':_0x591dcc(0x252),'FkBwX':'Oracle\x20DB\x20module\x20not\x20available','uvrRd':_0x591dcc(0x2ba),'NDJHj':function(_0x359a4b,_0x53df40){return _0x359a4b(_0x53df40);},'kMrsf':'../../utils/db-mysql','ZiLti':_0x591dcc(0x1c4),'AqRki':_0x591dcc(0x1bb)},_0xb1de00=(process['env']['DB_TYPE']||_0x540d97[_0x591dcc(0x23a)])['toLowerCase']();if(_0x540d97['QYFHN'](_0xb1de00,_0x540d97[_0x591dcc(0x1ad)]))try{const _0xddbf73=require(_0x540d97['CNqTH']);return{'executeQuery':(_0x181331,_0x47998e)=>_0xddbf73[_0x591dcc(0x269)](_0x181331,_0x47998e),'executeTransaction':_0x2dcd57=>_0xddbf73['executeTransaction'](_0x2dcd57),'getPool':()=>_0xddbf73['getPool']()};}catch(_0x1edd47){return logger['warn']({'event':_0x540d97['bmVeb']},_0x540d97['FkBwX']),null;}if(_0x540d97['QYFHN'](_0xb1de00,_0x540d97['uvrRd']))try{const _0x510575=_0x540d97['NDJHj'](require,_0x540d97['kMrsf']);return{'executeQuery':(_0x203470,_0x26c6e6)=>_0x510575[_0x591dcc(0x269)](_0x203470,_0x26c6e6),'executeTransaction':_0x3052d4=>_0x510575[_0x591dcc(0x218)](_0x3052d4),'getPool':()=>_0x510575[_0x591dcc(0x1fc)]()};}catch(_0x149c5d){return logger['warn']({'event':_0x540d97[_0x591dcc(0x1e3)]},'MySQL\x20DB\x20module\x20not\x20available'),null;}try{const _0x5476bd=require('../../utils/db');return{'executeQuery':_0x5476bd['executeQuery'],'executeTransaction':_0x5476bd['executeTransaction'],'getPool':_0x5476bd['getPool']};}catch(_0x562192){return logger[_0x591dcc(0x241)]({'event':'db_pg_unavailable'},_0x540d97['AqRki']),null;}}['getRedisClient'](){const _0x5c7253=a0_0x4dced4,_0x9d4bd9={'XMFgO':function(_0x92f6c4,_0x453649){return _0x92f6c4(_0x453649);}};try{const _0x2539bf=_0x9d4bd9['XMFgO'](require,'../../utils/redis-client');return _0x2539bf['getClient']?_0x2539bf[_0x5c7253(0x1db)]():_0x2539bf;}catch(_0x5f0855){return null;}}[a0_0x4dced4(0x21b)](){const _0x266a6e=a0_0x4dced4,_0x18b771={'GUoqS':'true','uVsUx':function(_0x22f565,_0x9c7df1){return _0x22f565(_0x9c7df1);},'XXXZi':_0x266a6e(0x1b7)};try{if(process['env']['KAFKA_ENABLED']===_0x18b771[_0x266a6e(0x25d)]){const _0x52dfdd=_0x18b771['uVsUx'](require,_0x18b771['XXXZi']);return _0x52dfdd['getInstance']?_0x52dfdd['getInstance']():_0x52dfdd;}}catch(_0x8664d8){}return null;}[a0_0x4dced4(0x2a9)](){try{return require('../../utils/cache-manager');}catch(_0x1a9875){return null;}}async[a0_0x4dced4(0x279)](_0x3461fd,_0x5d4682={}){const _0x207c8e=a0_0x4dced4,_0x2966c1={'XtaNp':_0x207c8e(0x1b8)},_0x370cc6=this['jobConfigs'][_0x3461fd];if(!_0x370cc6)throw new Error(_0x207c8e(0x2a3)+_0x3461fd);const _0x1ca523=this[_0x207c8e(0x23e)][_0x370cc6['queue']||_0x207c8e(0x228)],_0x359b0b=await _0x1ca523[_0x207c8e(0x1c5)](_0x3461fd,{..._0x5d4682,'handler':_0x370cc6['handler'],'triggeredBy':_0x2966c1['XtaNp']},{'attempts':_0x370cc6[_0x207c8e(0x2c4)]?.['maxAttempts']||0x3,'backoff':{'type':_0x370cc6[_0x207c8e(0x2c4)]?.[_0x207c8e(0x2d5)]||_0x207c8e(0x234),'delay':_0x370cc6['retry']?.['initialDelay']||0x1388},'timeout':_0x370cc6['timeout']||0x7530});return logger[_0x207c8e(0x2dc)]({'event':'job_dispatched','jobId':_0x359b0b['id'],'name':_0x3461fd,'triggeredBy':'api'},'Job\x20dispatched:\x20'+_0x3461fd+_0x207c8e(0x2ce)+_0x359b0b['id']+')'),{'jobId':_0x359b0b['id'],'name':_0x3461fd};}async[a0_0x4dced4(0x1d4)](_0x1beaca,_0x379c7c={},_0x1f66fc=0x0){const _0xc938ce=a0_0x4dced4,_0x3eceff={'OgPeu':_0xc938ce(0x2d2),'XWxfr':_0xc938ce(0x1fe)},_0x12c307=this[_0xc938ce(0x20a)][_0x1beaca];if(!_0x12c307)throw new Error('Job\x20not\x20found:\x20'+_0x1beaca);const _0x310d77=this['queues'][_0x12c307['queue']||_0xc938ce(0x228)],_0x14d65d=await _0x310d77['add'](_0x1beaca,{..._0x379c7c,'handler':_0x12c307['handler'],'triggeredBy':_0x3eceff['OgPeu']},{'delay':_0x1f66fc,'attempts':_0x12c307['retry']?.[_0xc938ce(0x2aa)]||0x3,'backoff':{'type':_0x12c307[_0xc938ce(0x2c4)]?.[_0xc938ce(0x2d5)]||_0xc938ce(0x234),'delay':_0x12c307[_0xc938ce(0x2c4)]?.['initialDelay']||0x1388},'timeout':_0x12c307['timeout']||0x7530});return logger[_0xc938ce(0x2dc)]({'event':_0x3eceff['XWxfr'],'jobId':_0x14d65d['id'],'name':_0x1beaca,'delayMs':_0x1f66fc},'Job\x20dispatched\x20(delayed\x20'+_0x1f66fc+_0xc938ce(0x29b)+_0x1beaca+'\x20(id:\x20'+_0x14d65d['id']+')'),{'jobId':_0x14d65d['id'],'name':_0x1beaca};}async['getJobStatus'](_0x2e7122){const _0x7469c3=a0_0x4dced4;for(const _0x234840 of Object['values'](this[_0x7469c3(0x23e)])){const _0x178382=await _0x234840[_0x7469c3(0x230)](_0x2e7122);if(_0x178382){const _0x43a1d0=await _0x178382[_0x7469c3(0x2b0)]();return{'jobId':_0x178382['id'],'name':_0x178382['name'],'state':_0x43a1d0,'progress':_0x178382[_0x7469c3(0x221)],'attemptsMade':_0x178382['attemptsMade'],'failedReason':_0x178382['failedReason'],'returnvalue':_0x178382[_0x7469c3(0x1b2)],'data':_0x178382['data'],'timestamps':{'created':_0x178382['timestamp'],'started':_0x178382['processedOn'],'completed':_0x178382[_0x7469c3(0x210)]}};}}return null;}[a0_0x4dced4(0x1ef)](){const _0x4849b6=a0_0x4dced4;return Object[_0x4849b6(0x256)](this['jobConfigs'])[_0x4849b6(0x25b)](_0x597670=>({'name':_0x597670[_0x4849b6(0x2b6)],'description':_0x597670[_0x4849b6(0x2ae)]||'','type':_0x597670['type'],'schedule':_0x597670[_0x4849b6(0x29e)],'handler':_0x597670['handler'],'enabled':_0x597670[_0x4849b6(0x299)]!==![],'queue':_0x597670[_0x4849b6(0x2a6)]||_0x4849b6(0x228),'timeout':_0x597670[_0x4849b6(0x261)]||0x7530,'retry':_0x597670['retry']||{'maxAttempts':0x3,'backoff':'exponential','initialDelay':0x1388},'metadata':_0x597670['metadata']||{}}));}async[a0_0x4dced4(0x212)](){const _0x5042ef=a0_0x4dced4,_0x3c9210=[];for(const [_0x2b7ffa,_0x44ef20]of Object['entries'](this['queues'])){const _0x5e3d0e=await _0x44ef20[_0x5042ef(0x26e)]([_0x5042ef(0x231)]);for(const _0x1e67c6 of _0x5e3d0e){_0x3c9210['push']({'jobId':_0x1e67c6['id'],'name':_0x1e67c6['name'],'queue':_0x2b7ffa,'progress':_0x1e67c6[_0x5042ef(0x221)],'attemptsMade':_0x1e67c6['attemptsMade'],'startedAt':_0x1e67c6[_0x5042ef(0x20f)]});}}return _0x3c9210;}async['getHistory'](_0xcc15d0={}){const _0x51adcc=a0_0x4dced4,_0x125bac={'mmfBN':function(_0x57edad,_0x4541ff,_0x2afd64){return _0x57edad(_0x4541ff,_0x2afd64);},'hUjdS':function(_0x3d0a6f,_0x10d70a){return _0x3d0a6f*_0x10d70a;},'mdrUK':function(_0x228537,_0x573bb5){return _0x228537-_0x573bb5;},'nuyaF':function(_0x55ea08,_0x1f5e7f){return _0x55ea08+_0x1f5e7f;}},_0x5f4012=_0x125bac['mmfBN'](parseInt,_0xcc15d0['page'],0xa)||0x1,_0x573cc5=Math['min'](parseInt(_0xcc15d0['limit'],0xa)||0x14,0x64),_0xe83a8=_0x125bac[_0x51adcc(0x202)](_0x125bac['mdrUK'](_0x5f4012,0x1),_0x573cc5),_0x1e76cd=_0x125bac[_0x51adcc(0x1f5)](_0xe83a8,_0x573cc5)-0x1,_0x2b83a0=[];for(const [_0x41ef59,_0x3189e0]of Object[_0x51adcc(0x24b)](this['queues'])){const _0x3980c0=await _0x3189e0[_0x51adcc(0x26e)](['completed'],_0xe83a8,_0x1e76cd),_0x2e3674=await _0x3189e0[_0x51adcc(0x26e)](['failed'],_0xe83a8,_0x1e76cd);for(const _0x20e2b1 of[..._0x3980c0,..._0x2e3674]){const _0x1aea44=await _0x20e2b1['getState']();_0x2b83a0[_0x51adcc(0x2d1)]({'jobId':_0x20e2b1['id'],'name':_0x20e2b1['name'],'state':_0x1aea44,'queue':_0x41ef59,'attemptsMade':_0x20e2b1[_0x51adcc(0x2bb)],'failedReason':_0x20e2b1[_0x51adcc(0x2c2)],'returnvalue':_0x20e2b1['returnvalue'],'timestamps':{'created':_0x20e2b1['timestamp'],'started':_0x20e2b1[_0x51adcc(0x20f)],'completed':_0x20e2b1['finishedOn']}});}}return _0x2b83a0['sort']((_0x2530a4,_0x397b54)=>(_0x397b54[_0x51adcc(0x254)]['created']||0x0)-(_0x2530a4[_0x51adcc(0x254)][_0x51adcc(0x1d1)]||0x0)),{'jobs':_0x2b83a0[_0x51adcc(0x22e)](0x0,_0x573cc5),'total':_0x2b83a0[_0x51adcc(0x237)],'page':_0x5f4012,'limit':_0x573cc5};}async['cancelJob'](_0x534058){const _0x31f143=a0_0x4dced4,_0xdc2952={'QFyWW':_0x31f143(0x231),'VPmkr':'api-cancel','EErpd':function(_0x5727b0,_0x596eb9){return _0x5727b0===_0x596eb9;},'lkYzy':'delayed'};for(const _0x1d9d90 of Object[_0x31f143(0x256)](this['queues'])){const _0x5ea6a5=await _0x1d9d90[_0x31f143(0x230)](_0x534058);if(_0x5ea6a5){const _0x4c1f2f=await _0x5ea6a5['getState']();if(_0x4c1f2f===_0xdc2952[_0x31f143(0x2dd)])return await _0x5ea6a5['moveToFailed'](new Error('Job\x20cancelled\x20via\x20API'),_0xdc2952['VPmkr'],!![]),{'success':!![],'message':_0x31f143(0x291)+_0x534058+_0x31f143(0x247)};if(_0x4c1f2f==='waiting'||_0xdc2952[_0x31f143(0x219)](_0x4c1f2f,_0xdc2952['lkYzy']))return await _0x5ea6a5['remove'](),{'success':!![],'message':'Job\x20'+_0x534058+'\x20removed\x20(was\x20'+_0x4c1f2f+')'};return{'success':![],'message':_0x31f143(0x291)+_0x534058+'\x20cannot\x20be\x20cancelled\x20(state:\x20'+_0x4c1f2f+')'};}}return{'success':![],'message':_0x31f143(0x291)+_0x534058+_0x31f143(0x1aa)};}async[a0_0x4dced4(0x293)](){const _0x2efc70=a0_0x4dced4,_0x2f9e80={'GVGFH':'active','JPEFZ':_0x2efc70(0x213),'OFqZw':_0x2efc70(0x28b),'iShAy':_0x2efc70(0x27d)},_0xe62c7d={};for(const [_0x34a241,_0x28f8ea]of Object[_0x2efc70(0x24b)](this['queues'])){try{const _0x2724f4=await _0x28f8ea['getJobCounts'](_0x2f9e80['GVGFH'],_0x2f9e80[_0x2efc70(0x206)],'delayed',_0x2efc70(0x1bc),_0x2f9e80['OFqZw'],_0x2f9e80[_0x2efc70(0x1f8)]);_0xe62c7d[_0x34a241]=_0x2724f4;}catch(_0x4b940d){_0xe62c7d[_0x34a241]={'error':_0x4b940d[_0x2efc70(0x296)]};}}const _0x5ef661={};for(const [_0x34b725,_0x25a78e]of Object[_0x2efc70(0x24b)](this[_0x2efc70(0x2a1)])){_0x5ef661[_0x34b725]={'running':_0x25a78e['isRunning'](),'paused':_0x25a78e[_0x2efc70(0x1d5)]()};}return{'initialized':this['initialized'],'registeredJobs':Object[_0x2efc70(0x26d)](this[_0x2efc70(0x20a)])['length'],'redisConnections':this['connections']['length'],'queues':_0xe62c7d,'workers':_0x5ef661};}async[a0_0x4dced4(0x1ec)](_0x4fd3ed,_0x1f6a9f){const _0x812f9f=a0_0x4dced4,_0x559158={'RCogU':_0x812f9f(0x288),'nzXvg':_0x812f9f(0x1f6),'fPkIl':'job_completed','maCLx':function(_0x418bac,_0x46eeb6){return _0x418bac===_0x46eeb6;},'iTmWt':_0x812f9f(0x2bf),'ZrMAo':'function','tVnco':_0x812f9f(0x1e1)},_0x2a8870=logger['child']({'jobId':_0x4fd3ed['id'],'jobName':_0x4fd3ed[_0x812f9f(0x2b6)]});_0x2a8870['info']({'event':_0x559158['fPkIl'],'attemptsMade':_0x4fd3ed[_0x812f9f(0x2bb)],'duration':_0x4fd3ed[_0x812f9f(0x210)]?_0x4fd3ed['finishedOn']-_0x4fd3ed[_0x812f9f(0x20f)]:null},'Job\x20completed:\x20'+_0x4fd3ed['name']);const _0x26f617=this['activeHistoryIds'][_0x812f9f(0x2c0)](_0x4fd3ed['id']);if(_0x26f617){if(_0x26f617['insertPromise'])await _0x26f617[_0x812f9f(0x22c)];const _0x3ed36b=_0x4fd3ed[_0x812f9f(0x210)]&&_0x4fd3ed['processedOn']?_0x4fd3ed[_0x812f9f(0x210)]-_0x4fd3ed['processedOn']:null,_0x5aa082=_0x559158['maCLx'](typeof _0x1f6a9f,'string')?_0x1f6a9f:_0x1f6a9f?JSON[_0x812f9f(0x276)](_0x1f6a9f)[_0x812f9f(0x2d9)](0x0,0x1f4):null;await this[_0x812f9f(0x243)](_0x26f617[_0x812f9f(0x1b6)],_0x3ed36b,_0x5aa082);const _0x40c297=await this['getNextRunFromBullMQ'](_0x4fd3ed[_0x812f9f(0x2b6)]);await this['updateRegistryCounters'](_0x4fd3ed[_0x812f9f(0x2b6)],_0x559158['iTmWt'],_0x3ed36b,_0x40c297),this[_0x812f9f(0x268)]['delete'](_0x4fd3ed['id']);}const _0x5c8e33=getComponentEngine();if(_0x5c8e33&&typeof _0x5c8e33[_0x812f9f(0x1b5)]===_0x559158[_0x812f9f(0x1b4)]){const _0x49e893={'jobId':_0x4fd3ed['id'],'jobName':_0x4fd3ed['name'],'result':_0x1f6a9f,'config':this['jobConfigs'][_0x4fd3ed['name']]||{}};_0x5c8e33[_0x812f9f(0x1b5)]('onAfterJobComplete',_0x49e893,![])[_0x812f9f(0x28c)](_0x27e972=>{const _0x4cc56e=_0x812f9f;_0x2a8870[_0x4cc56e(0x241)]({'event':_0x559158[_0x4cc56e(0x21a)],'error':_0x27e972[_0x4cc56e(0x296)]},_0x559158['nzXvg']);});}const _0x1f2c5e=this[_0x812f9f(0x21b)]();if(_0x1f2c5e)try{await _0x1f2c5e[_0x812f9f(0x1ca)]('restforge.jobs.completed','JOB_COMPLETED',null,{'jobId':_0x4fd3ed['id'],'name':_0x4fd3ed[_0x812f9f(0x2b6)],'result':_0x1f6a9f},{'module':'job-scheduler','endpoint':_0x4fd3ed['name']});}catch(_0x11eb5e){_0x2a8870['warn']({'event':_0x559158[_0x812f9f(0x2c1)],'error':_0x11eb5e['message']},'Failed\x20to\x20publish\x20JOB_COMPLETED\x20to\x20Kafka');}}async[a0_0x4dced4(0x289)](_0x56a49d,_0x20aaee){const _0x2c7d67=a0_0x4dced4,_0x353142={'gzCVH':_0x2c7d67(0x1d7),'yyMBk':_0x2c7d67(0x1b9),'aZSaX':_0x2c7d67(0x1e7),'jWZPb':function(_0x558f68,_0x5c76b8){return _0x558f68<_0x5c76b8;},'owUtG':function(_0x523817,_0x2655a6){return _0x523817-_0x2655a6;},'GTVNy':function(_0x1146ea){return _0x1146ea();},'NczMg':function(_0x5e2524,_0x5efef0){return _0x5e2524===_0x5efef0;},'IGhGd':'onAfterJobFailed','eOdbO':'JOB_FAILED','sxZYk':_0x2c7d67(0x1e1)},_0x11c74d=logger['child']({'jobId':_0x56a49d['id'],'jobName':_0x56a49d[_0x2c7d67(0x2b6)]});_0x11c74d[_0x2c7d67(0x232)]({'event':_0x353142[_0x2c7d67(0x211)],'attemptsMade':_0x56a49d[_0x2c7d67(0x2bb)],'failedReason':_0x20aaee?.[_0x2c7d67(0x296)],'willRetry':_0x353142['jWZPb'](_0x56a49d[_0x2c7d67(0x2bb)],this['jobConfigs'][_0x56a49d['name']]?.[_0x2c7d67(0x2c4)]?.[_0x2c7d67(0x2aa)]||0x3)},_0x2c7d67(0x1d9)+_0x56a49d[_0x2c7d67(0x2b6)]+'\x20—\x20'+_0x20aaee?.['message']);const _0x23bf17=this['activeHistoryIds']['get'](_0x56a49d['id']);if(_0x23bf17){if(_0x23bf17['insertPromise'])await _0x23bf17['insertPromise'];const _0x460c0a=_0x56a49d['finishedOn']&&_0x56a49d['processedOn']?_0x353142['owUtG'](_0x56a49d['finishedOn'],_0x56a49d['processedOn']):null;await this[_0x2c7d67(0x27b)](_0x23bf17['historyId'],_0x460c0a,_0x56a49d[_0x2c7d67(0x221)],_0x20aaee?.[_0x2c7d67(0x296)],_0x20aaee?.['stack']);const _0x5cdb36=await this[_0x2c7d67(0x21c)](_0x56a49d['name']);await this[_0x2c7d67(0x21f)](_0x56a49d['name'],_0x2c7d67(0x1bc),_0x460c0a,_0x5cdb36),this[_0x2c7d67(0x268)]['delete'](_0x56a49d['id']);}const _0x39c6e5=_0x353142['GTVNy'](getComponentEngine);if(_0x39c6e5&&_0x353142['NczMg'](typeof _0x39c6e5['executeEventHandlers'],'function')){const _0x2ea44e={'jobId':_0x56a49d['id'],'jobName':_0x56a49d[_0x2c7d67(0x2b6)],'error':_0x20aaee?.['message'],'attemptsMade':_0x56a49d['attemptsMade'],'config':this[_0x2c7d67(0x20a)][_0x56a49d['name']]||{}};_0x39c6e5[_0x2c7d67(0x1b5)](_0x353142['IGhGd'],_0x2ea44e,![])['catch'](_0x3bd987=>{const _0x120aa7=_0x2c7d67;_0x11c74d[_0x120aa7(0x241)]({'event':_0x353142['gzCVH'],'error':_0x3bd987['message']},_0x353142[_0x120aa7(0x272)]);});}const _0x57ec66=this['getKafkaService']();if(_0x57ec66)try{await _0x57ec66['publishEvent']('restforge.jobs.failed',_0x353142[_0x2c7d67(0x1e8)],null,{'jobId':_0x56a49d['id'],'name':_0x56a49d[_0x2c7d67(0x2b6)],'error':_0x20aaee?.['message'],'attemptsMade':_0x56a49d[_0x2c7d67(0x2bb)]},{'module':_0x2c7d67(0x273),'endpoint':_0x56a49d[_0x2c7d67(0x2b6)]});}catch(_0x312c1c){_0x11c74d[_0x2c7d67(0x241)]({'event':_0x353142['sxZYk'],'error':_0x312c1c['message']},_0x2c7d67(0x266));}}['onJobProgress'](_0x34ed37,_0x483382){const _0x486da7=a0_0x4dced4;logger['debug']({'event':'job_progress','jobId':_0x34ed37['id'],'jobName':_0x34ed37[_0x486da7(0x2b6)],'progress':_0x483382},'Job\x20progress:\x20'+_0x34ed37['name']+_0x486da7(0x2a4)+_0x483382+'%');}}module['exports']=new JobManager();
|
|
1
|
+
const a0_0x29f8c7=a0_0x5a34;function a0_0x5a34(_0x5e1d5c,_0x13edbb){_0x5e1d5c=_0x5e1d5c-0x1e4;const _0x384427=a0_0x3844();let _0x5a34c4=_0x384427[_0x5e1d5c];if(a0_0x5a34['LfRmvu']===undefined){var _0x19ba38=function(_0x433632){const _0x38017a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4a7581='',_0x9c6df1='';for(let _0x4c4bfc=0x0,_0x323010,_0x49c4e3,_0x48b4b5=0x0;_0x49c4e3=_0x433632['charAt'](_0x48b4b5++);~_0x49c4e3&&(_0x323010=_0x4c4bfc%0x4?_0x323010*0x40+_0x49c4e3:_0x49c4e3,_0x4c4bfc++%0x4)?_0x4a7581+=String['fromCharCode'](0xff&_0x323010>>(-0x2*_0x4c4bfc&0x6)):0x0){_0x49c4e3=_0x38017a['indexOf'](_0x49c4e3);}for(let _0x3be503=0x0,_0x19daae=_0x4a7581['length'];_0x3be503<_0x19daae;_0x3be503++){_0x9c6df1+='%'+('00'+_0x4a7581['charCodeAt'](_0x3be503)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x9c6df1);};a0_0x5a34['XZBjCI']=_0x19ba38,a0_0x5a34['iYrFjL']={},a0_0x5a34['LfRmvu']=!![];}const _0x5c8ccc=_0x384427[0x0],_0x243d5f=_0x5e1d5c+_0x5c8ccc,_0x375769=a0_0x5a34['iYrFjL'][_0x243d5f];return!_0x375769?(_0x5a34c4=a0_0x5a34['XZBjCI'](_0x5a34c4),a0_0x5a34['iYrFjL'][_0x243d5f]=_0x5a34c4):_0x5a34c4=_0x375769,_0x5a34c4;}(function(_0x568672,_0x4a235a){const _0x4469d2=a0_0x5a34,_0xbd3a27=_0x568672();while(!![]){try{const _0x554d99=parseInt(_0x4469d2(0x26d))/0x1+parseInt(_0x4469d2(0x1f4))/0x2*(parseInt(_0x4469d2(0x22a))/0x3)+-parseInt(_0x4469d2(0x2b7))/0x4+-parseInt(_0x4469d2(0x303))/0x5+parseInt(_0x4469d2(0x28d))/0x6+-parseInt(_0x4469d2(0x2a5))/0x7*(parseInt(_0x4469d2(0x2d7))/0x8)+parseInt(_0x4469d2(0x279))/0x9*(-parseInt(_0x4469d2(0x2f7))/0xa);if(_0x554d99===_0x4a235a)break;else _0xbd3a27['push'](_0xbd3a27['shift']());}catch(_0x5c34f7){_0xbd3a27['push'](_0xbd3a27['shift']());}}}(a0_0x3844,0x6d684));const {Queue,Worker}=require('bullmq'),Redis=require(a0_0x29f8c7(0x280)),crypto=require('crypto'),{v7:uuidv7}=require(a0_0x29f8c7(0x290)),fs=require('fs'),path=require(a0_0x29f8c7(0x2e6)),{logger}=require(a0_0x29f8c7(0x20d)),jobValidator=require(a0_0x29f8c7(0x2c4));let componentEngine=null;function a0_0x3844(){const _0x337048=['whv0seq','su5HCgm','ChjVy2vZC2vKt24','AM9Ix2HPC3rVCNLFy29TCgXLDgvFzxjYB3i','C2nOzwr1Bgu','AM9Ix2nVBMzPz19PBNzHBgLK','ihjLBw92zwqGkhDHCYa','CxvLDwu','B25kB2jdB21WBgv0zwq','mZa0mZq0ChbKBwjx','AM9Ix2vUC3vYzv90ywjSzxnFD2fYBG','z1bkEgC','sM9Iie1HBMfNzxiGC3vKywGGzgLPBMLZAwfSAxnHC2KSihnRAxa','wxPzywO','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticG/lca/lca/lca/lca/lcaNCNvUBMLUzYCSid8Sid8Sid8Sie5pvYGPlca/lcbot1COksK','Aw5Zzxj0uhjVBwLZzq','yxbKz3m','C3rHy2S','z2v0q2XPzw50','wLDvqMy','C3rHBgXLza','EePMsMe','lI9QB2iTDMfSAwrHDg9Y','rMfPBgvKihrVigvUC3vYzsbQB2iGDgfIBgvZoIa','C3bSAxrtCwXtDgf0zw1LBNrZ','DhjPz2DLCMvKqNK','whvtvLG','sM9Iihn0yxj0zwq6ia','zMfPBgvKuMvHC29U','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsaKmsWGBgfZDf9YDw5FyxqGpsbot1COksWkicaGicaGicaGicb1CgrHDgvKx2f0id0GtK9xkcKGv0HfuKuGAM9Ix25HBwuGpsaKmG','DhLWzq','sNHKDxa','C2H1DgrVD24','AMvhrMO','sM9IihbYB2DYzxnZoIa','Aw5JBhvKzxm','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa/lcbSyxn0x3j1BL9HDca9ie5pvYGPifDirvjfigPVyL9Uyw1Lid0GpW','v2L2EeO','ELDyr2q','uKvesvnFue9sva','AM9Ix3jLz2LZDgvYx2zHAwXLza','odbkBKDMs2W','sK9cx0nptKnvuLjftKnz','z2v0rgjvDgLSCW','B25bzNrLCKPVyKnVBxbSzxrL','zgf0yq','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGC3rHDhvZid0Gj29MzMXPBMuNlcbUzxH0x3j1BL9HDca9ie5vteWSihvWzgf0zwrFyxqGpsbot1COkq','AM9Ix3rHyMXLC19LBNn1CMvK','C3vJy2vZCW','CxvPDa','B3jHy2XL','Efrlv1O','CMvHzezPBgvtEw5J','zxHLy3v0zuv2zw50sgfUzgXLCNm','txLtuuWGreiGBw9KDwXLig5VDcbHDMfPBgfIBgu','ywrK','Cgf0Aa','ChvIBgLZAev2zw50','wfHIufm','zw5HyMXLza','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','CMvHzgrPCLn5BMm','z2v0u3rHDgu','AMvPA1G','DgLTzw91Da','AM9Ix21HBMfNzxjFCMvHzhK','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGC3rHDhvZid0Gj29MzMXPBMuNlcbUzxH0x3j1BL9HDca9ie5vteWSihvWzgf0zwrFyxqGpsbtwvnusu1fu1rbtva','BgLTAxq','DhjPBq','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNC3vJy2vZCYCSignVBxbSzxrLzf9HDca9ie5pvYGPlaOGicaGicaGicaGigr1CMf0Aw9Ux21Zid0GpYWGChjVz3jLC3mGpsaXmdaSihjLC3vSDf9ZDw1Tyxj5id0GpYbxsevsrsbPzca9id8','ywn0AxzL','AM9Ix2THzMTHx3b1yMXPC2HFzxjYB3i','AM9Ix2HPC3rVCNLFAw5Zzxj0x2jNx2vYCM9Y','mtKWnJbnEejqwKO','AM9Ix3jLz2LZDhj5x29MzMXPBMvFzxjYB3i','AM9Ix3n0ywXSzwq','swLRAwG','z2v0','DgLTzxn0yw1WCW','zxPks1i','zw5KC1DPDgG','D2fYBG','ruTeyKO','z2v0sw5ZDgfUy2u','B25SAw5L','ntK4odu1DuHzv0z4','tKnvD3K','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticGKmsWGjdiSicqZlcaKncWGjduSicDYDw5UAw5NjYWGjdySicq3lcaKocWGtK9xkcKSicq5lcbot1COksK','Cgf1C2u','AM9Ix2vUC3vYzv90ywjSzxnFzxjYB3i','y3jVBL9YzwDPC3rLCMvK','DxrMoa','AeHjte8','AM9Ix2nVBMzPz3nFBg9HzgvK','Bg93','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa6msWGBgfZDf9YDw5FyxqGpsbtwvnusu1fu1rbtvaScIaGicaGicaGicaGDxbKyxrLzf9HDca9ifnzu1rjtuvtvefnucbxsevsrsbQB2jFBMfTzsa9idOY','Dw5RBM93BG','AM9ItMfTzq','B25kB2jgywLSzwq','Bwf4qxr0zw1WDhm','zNDUBfi','qNvSBe1rifjLzgLZignVBM5Ly3rPB24GDMvYAwzPzwq','sM9IigvUC3vYzvrHyMXLCYb3yxjUAw5NoIa','zMLSDgvY','yNvSBg1Xx3jLzgLZx2vYCM9Y','AhHOvhG','Aw5PDgLHBgL6zq','AM9Ix21HBMfNzxjFywXYzwfKEv9PBML0AwfSAxPLza','sM9IigrPC3bHDgnOzwq6ia','ig5VDcbMB3vUza','rMfPBgvKihrVihjLz2LZDgvYigPVyJOG','AM9Iq29UzMLNCW','tg9HzgvKia','yxbPlwnHBMnLBa','DxbKyxrLsM9IsgLZDg9YEuzHAwXLza','B1Dctvm','EuLtwhC','AM9ICW','Dg9mB3DLCKnHC2u','lI4VlI4VDxrPBhmVzgi','B25bzNrLCKPVyKzHAwXLzcbOyw5KBgvYigvYCM9YicHUB24TyMXVy2TPBMCP','qNvSBe1rifjLzgLZignVBM5Ly3rPB24GzxjYB3i6ia','zgvZy3jPChrPB24','whjtyuy','yNvPBgrdB250zxH0','ChjVz3jLC3m','yNvSBg1XsM9Iswq','z2v0ug9VBa','u0f5CK4','vgLKywSGywrHigPVyIbJB25MAwCGzgL0zw11A2fUigrPihbHEwXVywqVAM9ICY8UiePVyIbnyw5Hz2vYigfRDgLMihrHBNbHignYB24U','z2r1CeO','EfLIweC','sM9Iig1VBML0B3jPBMCGDgfIBgvZigvUC3vYzwqGka','AM9Ix2HPC3rVCNLFzMfPBgvKx2vYCM9Y','AgLNAa','AM9IlxnJAgvKDwXLCG','ywXYzwfKEsbLEgLZDhm','rvrbBxC','Awrtv0K','mtmYnZiWnLriruHOvW','D29YA2vYCW','z2v0q2fJAgvnyw5Hz2vY','DxbKyxrLuMvNAxn0CNLdB3vUDgvYCW','uefJChu','ANHxvw0','y3jVBG','zw52','lMPZB24','s25etKe','y2HPBgq','zxjYB3i','y29sz0C','zgjFCgDFDw5HDMfPBgfIBgu','su5trvjuieLove8GAM9Ix3jLz2LZDhj5cIaGicaGicaGicaGkgPVyL9Uyw1LlcbKAxnWBgf5x25HBwuSihr5CguSihnJAgvKDwXLlcbXDwv1zsWGAgfUzgXLCIWGy29UzMLNx2zPBguScIaGicaGicaGicaGihrPBwvVDxqSihjLDhj5x21HEcWGCMv0CNLFyMfJA29MzIWGC3rHDhvZlcbUzxH0x3j1BL9HDcWGy3jLyxrLzf9HDcWGDxbKyxrLzf9HDcKkicaGicaGicaGicbwquXvrvmGkd8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sie5pvYGPlcbot1COksKkicaGicaGicaGicbptIbevvbmsunbveuGs0vzifvqrefurqOGicaGicaGicaGicaGzgLZCgXHEv9Uyw1Lid0GvKfmvuvtkgrPC3bSyxLFBMfTzsKSihr5CguGpsbwquXvrvmODhLWzsKScIaGicaGicaGicaGicbZy2HLzhvSzsa9ifzbtfvfuYHZy2HLzhvSzsKSihf1zxvLid0GvKfmvuvtkhf1zxvLksWkicaGicaGicaGicaGigHHBMrSzxiGpsbwquXvrvmOAgfUzgXLCIKSignVBMzPz19MAwXLid0GvKfmvuvtkgnVBMzPz19MAwXLksWkicaGicaGicaGicaGihrPBwvVDxqGpsbwquXvrvmODgLTzw91DcKSihjLDhj5x21HEca9ifzbtfvfuYHYzxrYEv9TyxGPlaOGicaGicaGicaGicaGCMv0CNLFyMfJA29MzIa9ifzbtfvfuYHYzxrYEv9IywnRB2zMksWGC3rHDhvZid0GvKfmvuvtkhn0yxr1CYKScIaGicaGicaGicaGicbUzxH0x3j1BL9HDca9ifzbtfvfuYHUzxH0x3j1BL9HDcK','sK9cx0zbsuXfrf9srvrftLrjt05Fse9vuLm','zxHPC3rZu3LUyW','BwfW','Aw5MBW','uwn3t20','tejwzhG','AM9Ix3nXBf9UB3rFzM91BMq','z2v0sM9ICW','y29TCg9Uzw50rw5NAw5L','C3rHCNrZv2L0Aa','lI4VlI4VDxrPBhmVBg9Nz2vY','y2fUy2vSsM9I','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa6msWGBgfZDf9KDxjHDgLVBL9TCYa9idOYlaOGicaGicaGicaGia','lI4VlI4VDxrPBhmVzgiTBxLZCwW','AM9Ix2nVBMzPz19WyxjZzv9LCNjVCG','uurtC0y','AM9Ix21HBMfNzxjFC2H1DgrVD25FC3rHCNq','EejjCuy','DMfSAwrHDgvdB25MAwC','AxnsDw5UAw5N','zgvSyxLLza','BMP6u2m','yxbP','AMnxyLC','C2T6q00','zLHZsgO','wNj3EKq','C3vIC3rYAw5N','zxHWB25LBNrPywW','igPVyIHZksbYzwDPC3rLCMvKlca','DhjPz2DLCLr5Cgu','qKf1Cw4','z2v0rgjuExbL','r3jwq2K','C3LZDgvT','swzhsvq','rejFvfLqrsaN','AM9Ix2rPC3bHDgnOzwrFzgvSyxLLza','C2v0qwXSsM9IC09MzMXPBMu','m3bLB29eCq','rwTsELe','Bg9HzePVyKnVBMzPz3m','C0z0rwq','x3nVDxjJzuzPBgu','B2zMBgLUzq','Dxnpsgu','EhvKy0y','zMLUAxnOzwrpBG','CgfYC2u','AM9PBG','y2f0y2G','BwLU','BM93','DMfSDwvZ','B25bzNrLCKPVyKnVBxbSzxrLigHHBMrSzxiGzxjYB3iGkg5VBI1IBg9JA2LUzYK','BxLZCwWUC3fS','tujcD1i','wNfoqLe','lI4VlI4VC2vYDMLJzxmVA2fMA2ftzxj2AwnL','AM9Ix3f1zxvLC19JCMvHDgvK','CgLK','AM9Ix25Vx2nVBMzPz3m','id0G','B3jHltaWotu1','CxvLDwvZ','z2v0sM9Iu2nOzwr1BgvYCW','icHPzdOG','rM9SzgvYihbHEwXVywqVAM9ICY8GDgLKywSGzgL0zw11A2fU','rMfPBgvKihrVigLUC2vYDcbQB2iGAgLZDg9YEtOG','ywXS','sM9Iia','qvDdugi','yxr0zw1WDhnnywrL','zxHLy3v0zvf1zxj5','qMfJA2DYB3vUzcbPBNnLCNqGAM9IigHPC3rVCNKGzMfPBgvKoIa','CMv0CNK','CgfNzq','Aw5PDgLHBgL6zwq','z2v0tMv4Dfj1BKzYB21cDwXStve','B25kB2jqCM9NCMvZCW','tMfkt04','wgLVyvm','AM9Ix2HPC3rVCNLFAw5Zzxj0x2vYCM9Y','s2vqDxi','DMfSAwq','Aw5PDgLHBerLBgf5','zgLZCgf0y2G','BxLZCwW','BMv4Da','wuHyqw8','zxjYB3jZ','DxbKyxrLsM9IsgLZDg9YEunVBxbSzxrLza','AgfUzgXLCNm','uK15AfK','BgvUz3rO','t3jHy2XLiercig1VzhvSzsbUB3qGyxzHAwXHyMXL','C3bSAxq','D29YA2LUz0rPCG','ifjLzgLZignVBM5Ly3rPB25Z','BMfTzq','ALzqC3y','C3fSlxnJCMLWDhm','Cg9ZDgDYzxnXBa','sM9IigHHBMrSzxiGy29TCgXLDgvKoIa','Bw92zvrVrMfPBgvK','y29UBMvJDgLVBNm','nJa0mZb3AKrpCwK','uvzhzeG','sM9IigzHAwXLzdOG','ChvZAa','z2v0s2fMA2ftzxj2AwnL','m3W3Fdf8mhW0Fdz8nxWY','CxP3EMG','zw50CMLLCW','uKvesvnFueftu1DpuKq','Au5qwKe','AgfUzgXLCG','AM9Ix2zHAwXLza','otaWuMj3zuLQ','y3jLyxrLqNvSBe1rq29UBMvJDgLVBG','ChjVy2vZC0PVyG','sM9IignHBMnLBgXLzcb2AweGqvbj','ywn0AxzLsgLZDg9YEuLKCW','Dg90ywXFzMfPBgvK','yxbPlwrLBgf5zwq','Aw9YzwrPCW','DgLTzxn0yw1W','tNn3zgK','EKL1zwy','AM9Ix3jLz2LZDhj5x2nVDw50zxjFzxjYB3i','ExHUqMK','rMfPBgvKihrVihbHCNnLigPVyIbJB25MAwC6ia','y29TCgXLDgvK','sK9cx01bwf9tvefmtevex0npvu5u','wK1Ktwq','zgvMyxvSDa','AM9Ix3bYB2DYzxnZ','zNvUy3rPB24','mZa5odC5nMvdA3HczG','CMvNAxn0zxjkB2i','CMv0DxjUDMfSDwu','DxvPza','AM9Ix2nVBMzPz19KAxjFBwLZC2LUzW','zgvSzxrL','sM9wEuO','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNzMfPBgvKjYWGy29TCgXLDgvKx2f0id0GtK9xkcKScIaGicaGicaGicaGzhvYyxrPB25FBxmGpsaKmsWGChjVz3jLC3mGpsaKmIWGzxjYB3jFBwvZC2fNzsa9icqZlcbLCNjVCL9ZDgfJAYa9icq0ifDirvjfigLKid0Gjdu','u3zIzLu','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNzMfPBgvKjYWGy29TCgXLDgvKx2f0id0Gu1LtveLnrvnuqu1qlaOGicaGicaGicaGigr1CMf0Aw9Ux21Zid0GoJeSihbYB2DYzxnZid0GoJiSigvYCM9Yx21LC3nHz2uGpsa6mYWGzxjYB3jFC3rHy2SGpsa6ncbxsevsrsbPzca9idO1','mYbcDwXStveGuxvLDwvZignYzwf0zwqGkgHPz2GSigrLzMf1BhqSigXVDYK','rMfPBgvKihrVihnLDcbQB2jZig9MzMXPBMu6ia','Au9ZrLq','iokaLca','ALfbtfK','BwvZC2fNzq','yMf1ufK','u1fmihnJCMLWDcb0AwrHAYbKAxrLBxvRyw46ia','zhvWBgLJyxrL','zMfPBgvK','qNvSBe1rifDVCMTLCIbLCNjVCIaO','rMfPBgvKihrVihb1yMXPC2GGsK9cx0nptvbmrvrfrcb0BYblywzRyq','AM9Ix3jLzgLZx2zHAwXLza','AgLZDg9YEuLK','mJG0mtm3uNb6qu5w','CMvZDgzVCMDLlMPVyNmUzMfPBgvK','B25czwzVCMvkB2jfEgvJDxrL','rMfPBgvKihrVihvWC2vYDcbQB2iGCMvNAxn0CNK6ia','BxmPoIa','D2fPDgLUzW','icSGmsWkicaGicaGicaGicbUzxH0x3j1BL9HDca9idOZlcb1CgrHDgvKx2f0id0Gu1LtveLnrvnuqu1qifDirvjfigPVyL9Uyw1Lid0GoJq','AvPnsgy','Bwv0ywrHDge'];a0_0x3844=function(){return _0x337048;};return a0_0x3844();}function getComponentEngine(){const _0x3b2246=a0_0x29f8c7,_0x3edf51={'PaJKH':function(_0x52c1d0,_0x134777){return _0x52c1d0(_0x134777);},'YpfuH':'../../utils/component-engine'};if(!componentEngine)try{const _0x492b18=_0x3edf51['PaJKH'](require,_0x3edf51['YpfuH']);componentEngine=_0x492b18[_0x3b2246(0x20b)]||_0x492b18;}catch(_0x2ec7dd){}return componentEngine;}class JobManager{constructor(){const _0x1446f1=a0_0x29f8c7,_0x5860a8=_0x1446f1(0x272)[_0x1446f1(0x263)]('|');let _0x3a9e7a=0x0;while(!![]){switch(_0x5860a8[_0x3a9e7a++]){case'0':this['handlers']={};continue;case'1':this['jobConfigs']={};continue;case'2':this['activeHistoryIds']=new Map();continue;case'3':this['queues']={};continue;case'4':this[_0x1446f1(0x26c)]=[];continue;case'5':this[_0x1446f1(0x264)]=process['cwd']();continue;case'6':this['initialized']=![];continue;case'7':this['workers']={};continue;}break;}}[a0_0x29f8c7(0x27a)](){const _0x1b8ffe=a0_0x29f8c7,_0x351823={'Iikih':function(_0x407b45,_0x5a56b1,_0x1aea5d){return _0x407b45(_0x5a56b1,_0x1aea5d);},'kommV':_0x1b8ffe(0x1ff)},_0x26a2fb=new Redis({'host':process['env']['REDIS_HOST']||'localhost','port':parseInt(process['env'][_0x1b8ffe(0x2d5)],0xa)||0x18ec,'password':process[_0x1b8ffe(0x1fb)][_0x1b8ffe(0x275)]||undefined,'db':_0x351823[_0x1b8ffe(0x2fa)](parseInt,process['env']['REDIS_DB'],0xa)||0x0,'maxRetriesPerRequest':null,'retryStrategy'(_0x23fda4){const _0x187eec=_0x1b8ffe,_0x48e0d6=Math[_0x187eec(0x236)](_0x23fda4*0x32,0x7d0);return _0x48e0d6;}});return _0x26a2fb['on'](_0x351823['kommV'],_0xa025e5=>{const _0x55f432=_0x1b8ffe;logger['error']({'event':_0x55f432(0x316),'error':_0xa025e5[_0x55f432(0x29c)]},_0x55f432(0x327)+_0xa025e5[_0x55f432(0x29c)]);}),this['connections'][_0x1b8ffe(0x270)](_0x26a2fb),_0x26a2fb;}async[a0_0x29f8c7(0x318)](){const _0x3b84ff=a0_0x29f8c7,_0x49112c={'XrSaF':_0x3b84ff(0x2a3),'ZzuzR':_0x3b84ff(0x307),'UiSgi':function(_0x28cb77,_0x4d83f2){return _0x28cb77===_0x4d83f2;},'hHILO':_0x3b84ff(0x240),'vmDXw':_0x3b84ff(0x1ea),'bauPY':'default','SvbfU':function(_0x475ca1,_0x4e686d,_0x27cbaa){return _0x475ca1(_0x4e686d,_0x27cbaa);},'oWBMS':function(_0x493adb,_0x4f0710){return _0x493adb*_0x4f0710;},'LLLTr':_0x3b84ff(0x1ef),'YzYaj':_0x3b84ff(0x297),'wcCGO':function(_0x2995b5,_0x1b73d4,_0x153352){return _0x2995b5(_0x1b73d4,_0x153352);},'hxhTx':function(_0x484ab6,_0x5c24c9,_0x5ca83a){return _0x484ab6(_0x5c24c9,_0x5ca83a);},'iZMHf':_0x3b84ff(0x287),'bkuoL':'progress','QDSsF':_0x3b84ff(0x2c2),'fXsHj':'error','coRgG':_0x3b84ff(0x2d6)};if(this[_0x3b84ff(0x250)]){logger['warn']({'event':_0x3b84ff(0x319)},_0x3b84ff(0x2ba));return;}logger[_0x3b84ff(0x206)]({'event':'job_manager_init_start'},'Initializing\x20Job\x20Manager...');const _0x162b4e=this[_0x3b84ff(0x27a)]();try{await _0x162b4e['ping'](),logger[_0x3b84ff(0x206)]({'event':'job_redis_connected'},_0x3b84ff(0x313));}catch(_0x474d44){logger[_0x3b84ff(0x1ff)]({'event':_0x49112c[_0x3b84ff(0x1e4)],'error':_0x474d44['message']},'Redis\x20connection\x20failed:\x20'+_0x474d44[_0x3b84ff(0x29c)]+'.\x20Job\x20Scheduler\x20tidak\x20akan\x20aktif.');try{await _0x162b4e['quit']();}catch(_0x14306a){}this['connections']=this['connections'][_0x3b84ff(0x315)](_0x41383e=>_0x41383e!==_0x162b4e);return;}try{await _0x162b4e[_0x3b84ff(0x2df)]();}catch(_0x3e1b33){}this[_0x3b84ff(0x26c)]=this['connections']['filter'](_0x4909b5=>_0x4909b5!==_0x162b4e);try{await this['ensureTables']();}catch(_0x491eaf){logger['warn']({'event':_0x49112c['ZzuzR'],'error':_0x491eaf['message']},_0x3b84ff(0x2c5)+_0x491eaf['message']+'.\x20DB\x20monitoring\x20disabled.');}const _0x41812e=this[_0x3b84ff(0x22c)]();_0x49112c['UiSgi'](_0x41812e['length'],0x0)&&logger['info']({'event':_0x49112c[_0x3b84ff(0x30a)]},_0x49112c['vmDXw']);const _0x2a7d04=[];for(const _0x53d40d of _0x41812e){const _0x51340a=jobValidator[_0x3b84ff(0x215)](_0x53d40d,this['workingDir']);_0x51340a[_0x3b84ff(0x257)]?_0x2a7d04['push'](_0x53d40d):logger[_0x3b84ff(0x1ff)]({'event':_0x3b84ff(0x2b3),'name':_0x53d40d['name']||_0x3b84ff(0x30e),'errors':_0x51340a['errors']},'Job\x20config\x20invalid:\x20'+(_0x53d40d[_0x3b84ff(0x266)]||'unknown')+'\x20—\x20'+_0x51340a[_0x3b84ff(0x25d)][_0x3b84ff(0x234)](';\x20'));}const _0x2af53e=process[_0x3b84ff(0x1fb)]['RESTFORGE_PROJECT_NAME']||_0x49112c[_0x3b84ff(0x29d)],_0x44fcaa=process[_0x3b84ff(0x1fb)]['JOB_REDIS_PREFIX']||'rf:'+_0x2af53e+':job',_0x1ecb85=_0x49112c['SvbfU'](parseInt,process['env']['JOB_RETENTION_HOURS'],0xa)||0x48,_0x3e37e0=_0x49112c[_0x3b84ff(0x295)](parseInt,process['env'][_0x3b84ff(0x203)],0xa)||0xa8,_0x3ba013={'removeOnComplete':{'age':_0x49112c[_0x3b84ff(0x321)](_0x1ecb85,0xe10)},'removeOnFail':{'age':_0x3e37e0*0xe10}},_0x2d38cd={'high-priority':_0x49112c['LLLTr'],'default':_0x3b84ff(0x28a),'low-priority':_0x3b84ff(0x30c)};for(const [_0x50baad,_0x34ac38]of Object['entries'](_0x2d38cd)){this[_0x3b84ff(0x243)][_0x50baad]=new Queue(_0x34ac38,{'connection':this[_0x3b84ff(0x27a)](),'prefix':_0x44fcaa,'defaultJobOptions':_0x3ba013});}logger['info']({'event':_0x3b84ff(0x23e),'count':0x3},_0x49112c[_0x3b84ff(0x2bb)]);const _0x2ef479=_0x49112c['wcCGO'](parseInt,process[_0x3b84ff(0x1fb)][_0x3b84ff(0x2d8)],0xa)||0x5,_0x386ff5=parseInt(process['env']['JOB_STALLED_INTERVAL'],0xa)||0x7530,_0x3e9e80=_0x49112c[_0x3b84ff(0x317)](parseInt,process['env'][_0x3b84ff(0x288)],0xa)||0x2;for(const [_0x57a146,_0x5447e4]of Object[_0x3b84ff(0x274)](_0x2d38cd)){const _0x372839=new Worker(_0x5447e4,async _0x351f44=>this['processJob'](_0x351f44),{'connection':this[_0x3b84ff(0x27a)](),'prefix':_0x44fcaa,'concurrency':_0x2ef479,'stalledInterval':_0x386ff5,'maxStalledCount':_0x3e9e80});_0x372839['on'](_0x49112c[_0x3b84ff(0x2ac)],(_0x517d67,_0x1ac0b0)=>this['onJobCompleted'](_0x517d67,_0x1ac0b0)),_0x372839['on']('failed',(_0x5ea6da,_0x4fc099)=>this[_0x3b84ff(0x310)](_0x5ea6da,_0x4fc099)),_0x372839['on'](_0x49112c['bkuoL'],(_0x1c40d8,_0x53c9c6)=>this['onJobProgress'](_0x1c40d8,_0x53c9c6)),_0x372839['on'](_0x49112c[_0x3b84ff(0x212)],_0x334177=>{const _0x5db223=_0x3b84ff;logger['warn']({'event':_0x5db223(0x2f9),'jobId':_0x334177},'Job\x20stalled:\x20'+_0x334177);}),_0x372839['on'](_0x49112c[_0x3b84ff(0x21c)],_0x1e3933=>{const _0x47e282=_0x3b84ff;logger[_0x47e282(0x1ff)]({'event':'bullmq_worker_error','queue':_0x57a146,'error':_0x1e3933['message']},_0x47e282(0x2a1)+_0x57a146+'):\x20'+_0x1e3933['message']);}),this['workers'][_0x57a146]=_0x372839;}logger['info']({'event':'job_workers_created','count':0x3,'concurrency':_0x2ef479},'3\x20BullMQ\x20Workers\x20created\x20(concurrency:\x20'+_0x2ef479+')');let _0x4d3fd1=0x0;for(const _0x158e96 of _0x2a7d04){try{await this[_0x3b84ff(0x28e)](_0x158e96),_0x4d3fd1++;}catch(_0xab56b4){logger['error']({'event':_0x49112c[_0x3b84ff(0x200)],'name':_0x158e96[_0x3b84ff(0x266)],'error':_0xab56b4[_0x3b84ff(0x29c)]},_0x3b84ff(0x31c)+_0x158e96['name']+'\x20—\x20'+_0xab56b4[_0x3b84ff(0x29c)]);}}this['initialized']=!![];const _0x210d76=this[_0x3b84ff(0x26c)]['length'];logger[_0x3b84ff(0x206)]({'event':_0x3b84ff(0x2ef),'registeredJobs':_0x4d3fd1,'totalConfigs':_0x2a7d04['length'],'redisConnections':_0x210d76},'Job\x20Manager\x20ready:\x20'+_0x4d3fd1+_0x3b84ff(0x220)+_0x210d76+_0x3b84ff(0x265));}async[a0_0x29f8c7(0x2ce)](){const _0xa03b01=a0_0x29f8c7,_0x4baefc={'XXbPS':function(_0x102b92,_0x133a72,_0x3f865b){return _0x102b92(_0x133a72,_0x3f865b);},'iHhvV':_0xa03b01(0x213),'zWXGd':function(_0x5540be,_0x4daadc){return _0x5540be-_0x4daadc;},'KktXr':'active','QcwOm':function(_0x37acbb,_0x3b66e6){return _0x37acbb===_0x3b66e6;},'ETAmw':'job_manager_shutdown_complete','iUOOn':'Job\x20Manager\x20shutdown\x20complete'};if(!this['initialized'])return;const _0x51cec1=_0x4baefc[_0xa03b01(0x2e8)](parseInt,process[_0xa03b01(0x1fb)]['JOB_SHUTDOWN_TIMEOUT'],0xa)||0x2710;logger[_0xa03b01(0x206)]({'event':_0x4baefc['iHhvV'],'timeoutMs':_0x51cec1},'Job\x20Manager\x20shutting\x20down\x20(timeout:\x20'+_0x51cec1+'ms)...');const _0x2826cc=Object[_0xa03b01(0x238)](this[_0xa03b01(0x1f5)])[_0xa03b01(0x205)](async _0x24e121=>{const _0x16deea=_0xa03b01;try{await _0x24e121[_0x16deea(0x306)]();}catch(_0x2decc9){}});await Promise[_0xa03b01(0x248)](_0x2826cc);const _0x3ef2b2=Date['now']();while(_0x4baefc[_0xa03b01(0x2d4)](Date[_0xa03b01(0x237)](),_0x3ef2b2)<_0x51cec1){let _0x443e98=0x0;for(const _0x47d445 of Object['values'](this[_0xa03b01(0x243)])){try{const _0x22f26a=await _0x47d445['getJobCounts'](_0x4baefc['KktXr']);_0x443e98+=_0x22f26a[_0xa03b01(0x2f4)]||0x0;}catch(_0x37bd92){}}if(_0x4baefc[_0xa03b01(0x207)](_0x443e98,0x0))break;await new Promise(_0x1bc461=>setTimeout(_0x1bc461,0x1f4));}const _0x4fb94d=Object[_0xa03b01(0x238)](this['workers'])[_0xa03b01(0x205)](async _0x2ad83e=>{try{await _0x2ad83e['close']();}catch(_0x598d45){}});await Promise[_0xa03b01(0x248)](_0x4fb94d);const _0x14dad1=Object['values'](this['queues'])['map'](async _0x4b3b17=>{try{await _0x4b3b17['close']();}catch(_0x1f1819){}});await Promise[_0xa03b01(0x248)](_0x14dad1);for(const _0x235825 of this['connections']){try{await _0x235825[_0xa03b01(0x2df)]();}catch(_0x15e51d){}}this[_0xa03b01(0x243)]={},this['workers']={},this['connections']=[],await this['setAllJobsOffline'](),this[_0xa03b01(0x27d)]['clear'](),this[_0xa03b01(0x250)]=![],logger['info']({'event':_0x4baefc[_0xa03b01(0x1f2)]},_0x4baefc['iUOOn']);}['loadJobConfigs'](){const _0x3f4ad6=a0_0x29f8c7,_0x3af2de={'xudcF':'payload','jeGFj':_0x3f4ad6(0x246),'yxnBi':_0x3f4ad6(0x30b)},_0xb7015d=path[_0x3f4ad6(0x234)](this['workingDir'],_0x3af2de[_0x3f4ad6(0x231)],_0x3f4ad6(0x323));if(!fs[_0x3f4ad6(0x204)](_0xb7015d))return logger[_0x3f4ad6(0x206)]({'event':_0x3f4ad6(0x291),'path':_0xb7015d},_0x3af2de[_0x3f4ad6(0x2cf)]),[];const _0x56d183=fs[_0x3f4ad6(0x2eb)](_0xb7015d)['filter'](_0x5eba14=>_0x5eba14[_0x3f4ad6(0x2fe)](_0x3f4ad6(0x1fc))),_0x89d222=[];for(const _0x5a8b96 of _0x56d183){const _0x3fa94f=path['join'](_0xb7015d,_0x5a8b96);try{const _0x41e6f1=fs[_0x3f4ad6(0x2e2)](_0x3fa94f,_0x3f4ad6(0x309)),_0x50bc16=JSON[_0x3f4ad6(0x233)](_0x41e6f1);_0x50bc16[_0x3f4ad6(0x22e)]=_0x5a8b96,_0x89d222['push'](_0x50bc16);}catch(_0x3b8000){logger[_0x3f4ad6(0x1ff)]({'event':_0x3f4ad6(0x211),'file':_0x5a8b96,'error':_0x3b8000[_0x3f4ad6(0x29c)]},_0x3f4ad6(0x286)+_0x5a8b96+_0x3f4ad6(0x29a)+_0x3b8000['message']);}}return logger['info']({'event':_0x3af2de[_0x3f4ad6(0x285)],'count':_0x89d222[_0x3f4ad6(0x261)]},_0x3f4ad6(0x31e)+_0x89d222[_0x3f4ad6(0x261)]+'\x20job\x20config(s)\x20from\x20payload/jobs/'),_0x89d222;}async['registerJob'](_0x28d0f7){const _0x1e67d1=a0_0x29f8c7,_0x389608={'xBIqF':'src','PAcpu':_0x1e67d1(0x323),'ZWUBf':_0x1e67d1(0x1fa),'idSWI':'exponential','LBVdx':_0x1e67d1(0x308),'zIuef':_0x1e67d1(0x28a),'skzCM':'online','lyfUu':_0x1e67d1(0x22f),'kuvix':function(_0x2c2704,_0x39e10a){return _0x2c2704===_0x39e10a;}},_0x1957d6=path['join'](this[_0x1e67d1(0x264)],_0x389608[_0x1e67d1(0x214)],_0x389608[_0x1e67d1(0x1f8)],_0x28d0f7['handler']+'.js');this[_0x1e67d1(0x25f)][_0x28d0f7[_0x1e67d1(0x266)]]=require(_0x1957d6),this['jobConfigs'][_0x28d0f7['name']]=_0x28d0f7;if(_0x28d0f7[_0x1e67d1(0x2cc)]===_0x389608[_0x1e67d1(0x2c1)]&&_0x28d0f7[_0x1e67d1(0x2e9)]!==![]){const _0x3c4bb0=this[_0x1e67d1(0x243)][_0x28d0f7[_0x1e67d1(0x2b5)]||'default'];await _0x3c4bb0['upsertJobScheduler'](_0x28d0f7[_0x1e67d1(0x266)],{'pattern':_0x28d0f7['schedule'],'tz':_0x28d0f7['timezone']||undefined},{'name':_0x28d0f7['name'],'data':{'handler':_0x28d0f7[_0x1e67d1(0x277)],'triggeredBy':_0x389608['ZWUBf'],'metadata':_0x28d0f7[_0x1e67d1(0x2ad)]||{}},'opts':{'attempts':_0x28d0f7['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0x28d0f7['retry']?.['backoff']||_0x389608[_0x1e67d1(0x1f3)],'delay':_0x28d0f7[_0x1e67d1(0x24e)]?.[_0x1e67d1(0x258)]||0x1388},'timeout':_0x28d0f7[_0x1e67d1(0x2ee)]||0x7530}}),logger['info']({'event':_0x389608[_0x1e67d1(0x208)],'name':_0x28d0f7['name'],'schedule':_0x28d0f7['schedule'],'queue':_0x28d0f7[_0x1e67d1(0x2b5)]||_0x389608[_0x1e67d1(0x283)]},'Cron\x20registered:\x20'+_0x28d0f7['name']+'\x20['+_0x28d0f7['schedule']+']');}const _0x2f9af3=_0x28d0f7[_0x1e67d1(0x2cc)]===_0x1e67d1(0x1fa)&&_0x28d0f7[_0x1e67d1(0x2e9)]!==![]?_0x389608['skzCM']:_0x389608['lyfUu'];let _0xc1342b=null;_0x389608['kuvix'](_0x2f9af3,_0x389608[_0x1e67d1(0x21b)])&&(_0xc1342b=await this[_0x1e67d1(0x251)](_0x28d0f7['name'])),await this['upsertJobRegistry'](_0x28d0f7,_0x2f9af3,_0xc1342b);}async[a0_0x29f8c7(0x27b)](_0x1770dd){const _0x215a5f=a0_0x29f8c7,_0x1f95f4={'Nswdi':function(_0x4f811e){return _0x4f811e();},'njzSc':_0x215a5f(0x30e),'XioaS':_0x215a5f(0x27f),'xYbXG':function(_0x31695e,_0x5cb729){return _0x31695e===_0x5cb729;},'JoVyJ':_0x215a5f(0x219),'ezJKR':'manual','MIIts':'cron','ZrwzD':_0x215a5f(0x225),'xTKWZ':_0x215a5f(0x28a),'OLaQe':function(_0x57e0f0,_0x13cede){return _0x57e0f0+_0x13cede;},'NCUwy':function(_0x16c059,_0x59c52b){return _0x16c059(_0x59c52b);}},_0x2df6e0=this['jobConfigs'][_0x1770dd[_0x215a5f(0x266)]],_0xd1a052=this['handlers'][_0x1770dd['name']];if(!_0xd1a052)throw new Error('Handler\x20not\x20found\x20for\x20job:\x20'+_0x1770dd['name']);const _0x6b53b2=logger[_0x215a5f(0x1fe)]({'jobId':_0x1770dd['id'],'jobName':_0x1770dd['name']});_0x6b53b2['info']({'event':'job_started','attempt':_0x1770dd['attemptsMade']+0x1,'triggeredBy':_0x1770dd[_0x215a5f(0x2db)]?.['triggeredBy']||'unknown'},_0x215a5f(0x2c9)+_0x1770dd['name']+'\x20(attempt\x20'+(_0x1770dd['attemptsMade']+0x1)+')');const _0x24b8df=_0x1f95f4[_0x215a5f(0x282)](uuidv7),_0x38c91d=_0x1770dd[_0x215a5f(0x2db)]?.['triggeredBy']||_0x1f95f4[_0x215a5f(0x218)],_0x4ca9d3=this['insertJobHistory']({'id':_0x24b8df,'jobName':_0x1770dd[_0x215a5f(0x266)],'bullmqJobId':_0x1770dd['id'],'triggerType':_0x38c91d===_0x1f95f4[_0x215a5f(0x254)]?_0x215a5f(0x217):_0x1f95f4[_0x215a5f(0x1ec)](_0x38c91d,_0x1f95f4[_0x215a5f(0x293)])?_0x1f95f4[_0x215a5f(0x2fd)]:'cron','triggeredBy':_0x38c91d===_0x1f95f4['MIIts']?_0x1f95f4[_0x215a5f(0x21d)]:_0x38c91d,'queue':_0x2df6e0?.['queue']||_0x1f95f4[_0x215a5f(0x2e1)],'attempt':_0x1f95f4['OLaQe'](_0x1770dd[_0x215a5f(0x24b)],0x1),'configFile':_0x2df6e0?.['_sourceFile']||null})[_0x215a5f(0x235)](_0x59d0c4=>{const _0x2ce9db=_0x215a5f;_0x6b53b2['warn']({'event':_0x2ce9db(0x2f6),'error':_0x59d0c4[_0x2ce9db(0x29c)]},_0x2ce9db(0x24d)+_0x59d0c4[_0x2ce9db(0x29c)]);});this['activeHistoryIds']['set'](_0x1770dd['id'],{'historyId':_0x24b8df,'insertPromise':_0x4ca9d3});const _0x2f1afd=this[_0x215a5f(0x1e5)](_0x1770dd,_0x2df6e0,_0x6b53b2),_0xdad134=getComponentEngine();if(_0xdad134&&_0x1f95f4['xYbXG'](typeof _0xdad134[_0x215a5f(0x2e3)],_0x215a5f(0x28c))){const _0x2a9aba=await _0xdad134['executeEventHandlers'](_0x215a5f(0x2a7),_0x2f1afd,!![]);if(!_0x2a9aba[_0x215a5f(0x2de)])throw new Error('Job\x20cancelled\x20by\x20onBeforeJobExecute:\x20'+_0x2a9aba[_0x215a5f(0x1ff)]);}const _0x46ebd3=await _0x1f95f4[_0x215a5f(0x304)](_0xd1a052,_0x2f1afd);return _0x6b53b2[_0x215a5f(0x206)]({'event':'job_handler_done','result':_0x46ebd3},_0x215a5f(0x26a)+_0x1770dd['name']),_0x46ebd3;}['buildContext'](_0x5aae6a,_0xac9a9e,_0x429736){const _0x5f5aa5=a0_0x29f8c7,_0x2fc423={'jrcfF':'JOB_EVENT','EdYyR':function(_0x3ab7ff,_0x257f93){return _0x3ab7ff+_0x257f93;},'BAuqn':function(_0x4ec58c,_0x4a0a23){return _0x4ec58c||_0x4a0a23;}};return{'jobId':_0x5aae6a['id'],'jobName':_0x5aae6a['name'],'attempt':_0x2fc423['EdYyR'](_0x5aae6a[_0x5f5aa5(0x24b)],0x1),'maxAttempts':_0xac9a9e?.['retry']?.['maxAttempts']||0x3,'payload':_0x5aae6a['data']||{},'config':_0x2fc423[_0x5f5aa5(0x222)](_0xac9a9e,{}),'db':this[_0x5f5aa5(0x2d9)](),'redis':this['getRedisClient'](),'logger':_0x429736,'kafka':this['getKafkaService'](),'cache':this['getCacheManager'](),'updateProgress':async _0x7ea0e8=>{await _0x5aae6a['updateProgress'](_0x7ea0e8);},'emit':async(_0x500411,_0x33a497)=>{const _0x1fb682=_0x5f5aa5,_0x47d7c4=this[_0x1fb682(0x271)]();_0x47d7c4&&await _0x47d7c4['publishEvent'](_0x500411,_0x2fc423['jrcfF'],null,_0x33a497,{'module':'job-scheduler','endpoint':_0x5aae6a[_0x1fb682(0x266)]});},'job':_0x5aae6a};}['getDbType'](){const _0x2e4095=a0_0x29f8c7;return(process['env']['DB_TYPE']||_0x2e4095(0x269))[_0x2e4095(0x324)]();}async['ensureTables'](){const _0x28cca2=a0_0x29f8c7,_0x56cddf={'NaJON':'Database\x20tidak\x20tersedia,\x20skip\x20auto-create\x20job\x20tables','cEeoC':'oracle.sql','jVPsv':_0x28cca2(0x23a),'gdupJ':'job_db_type_unsupported','XutHD':_0x28cca2(0x1f1),'cFqFQ':_0x28cca2(0x29f),'AWCPb':_0x28cca2(0x2dd)},_0x21ea54=this[_0x28cca2(0x2d9)]();if(!_0x21ea54){logger[_0x28cca2(0x2ff)]({'event':'job_db_unavailable'},_0x56cddf[_0x28cca2(0x253)]);return;}const _0x4ef3df=this['getDbType'](),_0x1b1afc={'postgresql':'postgresql.sql','oracle':_0x56cddf['cEeoC'],'mysql':_0x56cddf[_0x28cca2(0x267)]},_0x31a206=_0x1b1afc[_0x4ef3df];if(!_0x31a206){logger[_0x28cca2(0x2ff)]({'event':_0x56cddf[_0x28cca2(0x1eb)],'dbType':_0x4ef3df},_0x28cca2(0x227)+_0x4ef3df+'\x27\x20tidak\x20didukung\x20untuk\x20job\x20monitoring\x20tables');return;}const _0x7c9a97=path[_0x28cca2(0x234)](__dirname,_0x28cca2(0x268),_0x31a206);if(!fs[_0x28cca2(0x204)](_0x7c9a97)){logger['warn']({'event':_0x28cca2(0x209),'path':_0x7c9a97},_0x28cca2(0x29e)+_0x7c9a97);return;}const _0x4056f2=fs[_0x28cca2(0x2e2)](_0x7c9a97,'utf8'),_0x5727ed=this[_0x28cca2(0x2c6)](_0x4056f2,_0x4ef3df);let _0x3a2908=0x0;for(const _0x546463 of _0x5727ed){try{await _0x21ea54['executeQuery'](_0x546463),_0x3a2908++;}catch(_0x3df01e){const _0x6c3c1a=(_0x3df01e[_0x28cca2(0x29c)]||'')['toLowerCase'](),_0xdcda3b=_0x6c3c1a[_0x28cca2(0x2d1)](_0x56cddf[_0x28cca2(0x2ae)])||_0x6c3c1a[_0x28cca2(0x2d1)](_0x28cca2(0x242))||_0x6c3c1a[_0x28cca2(0x2d1)](_0x56cddf['cFqFQ']);!_0xdcda3b&&logger['warn']({'event':_0x28cca2(0x2b8),'error':_0x3df01e['message']},_0x28cca2(0x314)+_0x3df01e[_0x28cca2(0x29c)]);}}logger['info']({'event':_0x56cddf[_0x28cca2(0x24a)],'dbType':_0x4ef3df,'executed':_0x3a2908},_0x28cca2(0x1ed)+_0x4ef3df+')');}['splitSqlStatements'](_0x1b12ed,_0x42691e){const _0x38e740=a0_0x29f8c7,_0xb1dd5c={'jkngh':function(_0x3faf62,_0x11aa60){return _0x3faf62>_0x11aa60;},'sFtEd':function(_0x586ffc,_0x20149b){return _0x586ffc===_0x20149b;}};let _0x279df0;return _0xb1dd5c[_0x38e740(0x22d)](_0x42691e,'oracle')?_0x279df0=_0x1b12ed['split'](/\n\/\s*(?:\n|$)/):_0x279df0=_0x1b12ed[_0x38e740(0x263)](/;\s*(?:\n|$)/),_0x279df0['map'](_0x4870c0=>_0x4870c0['trim']())[_0x38e740(0x315)](_0x2d7a49=>{const _0x5eda6e=_0x38e740;if(_0x2d7a49['length']===0x0)return![];const _0x4fb627=_0x2d7a49[_0x5eda6e(0x263)]('\x0a')['filter'](_0x3db35a=>!_0x3db35a[_0x5eda6e(0x2f2)]()[_0x5eda6e(0x20c)]('--')&&_0x3db35a['trim']()['length']>0x0);return _0xb1dd5c['jkngh'](_0x4fb627['length'],0x0);});}async['upsertJobRegistry'](_0x34ec7d,_0x2e598a=a0_0x29f8c7(0x302),_0x5e18f=null){const _0x59f520=a0_0x29f8c7,_0x439494={'zyRUD':'cron','ZMdMd':_0x59f520(0x28a),'Jxdup':function(_0x486499,_0xcccc27){return _0x486499===_0xcccc27;},'fWSuW':function(_0x18ff2b,_0x5c7a7b){return _0x18ff2b===_0x5c7a7b;},'fIsqM':'job_registry_upsert_error'},_0x16c845=this[_0x59f520(0x2d9)]();if(!_0x16c845)return;const _0x1aacc8=this['getDbType'](),_0x45dce7=[_0x34ec7d['name'],_0x34ec7d[_0x59f520(0x328)]||_0x34ec7d['name'],_0x34ec7d['type']||_0x439494['zyRUD'],_0x34ec7d[_0x59f520(0x2b2)]||null,_0x34ec7d['queue']||_0x439494[_0x59f520(0x289)],_0x34ec7d['handler'],_0x34ec7d[_0x59f520(0x22e)]||'',_0x34ec7d['timeout']||0x7530,_0x34ec7d[_0x59f520(0x24e)]?.['maxAttempts']||0x3,_0x34ec7d[_0x59f520(0x24e)]?.['backoff']||'exponential',_0x2e598a,_0x5e18f];try{if(_0x439494[_0x59f520(0x2cd)](_0x1aacc8,'oracle'))await _0x16c845[_0x59f520(0x24c)]('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)',_0x45dce7);else _0x439494['fWSuW'](_0x1aacc8,'mysql')?await _0x16c845['executeQuery'](_0x59f520(0x202),_0x45dce7):await _0x16c845['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()',_0x45dce7);}catch(_0x9beb90){logger[_0x59f520(0x2ff)]({'event':_0x439494['fIsqM'],'name':_0x34ec7d[_0x59f520(0x266)],'error':_0x9beb90[_0x59f520(0x29c)]},_0x59f520(0x2a8)+_0x34ec7d[_0x59f520(0x266)]+'\x20—\x20'+_0x9beb90['message']);}}async['insertJobHistory'](_0x27ebef){const _0x5d4aa0=a0_0x29f8c7,_0x3156c5={'RMyhY':'cron','VrBEG':_0x5d4aa0(0x28a),'KePur':function(_0x570e32,_0x2a1709){return _0x570e32===_0x2a1709;},'INapc':_0x5d4aa0(0x255)},_0x2e7e36=this['getDbUtils']();if(!_0x2e7e36)return;const _0x2d2a54=this['getDbType'](),_0x158e97=[_0x27ebef['id'],_0x27ebef[_0x5d4aa0(0x30f)],_0x27ebef[_0x5d4aa0(0x1e7)]||null,_0x27ebef[_0x5d4aa0(0x221)]||_0x3156c5[_0x5d4aa0(0x260)],_0x27ebef[_0x5d4aa0(0x2c7)]||_0x5d4aa0(0x225),_0x27ebef['queue']||_0x3156c5['VrBEG'],_0x27ebef['attempt']||0x1,_0x27ebef['configFile']||null,process[_0x5d4aa0(0x23f)]];try{if(_0x3156c5['KePur'](_0x2d2a54,_0x5d4aa0(0x2e0)))await _0x2e7e36[_0x5d4aa0(0x24c)]('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)',_0x158e97);else _0x3156c5[_0x5d4aa0(0x256)](_0x2d2a54,_0x5d4aa0(0x25a))?await _0x2e7e36[_0x5d4aa0(0x24c)](_0x5d4aa0(0x2bc),_0x158e97):await _0x2e7e36['executeQuery'](_0x5d4aa0(0x305),_0x158e97);await this['updateRegistryStatus'](_0x27ebef[_0x5d4aa0(0x30f)],'running');}catch(_0x77602c){logger[_0x5d4aa0(0x2ff)]({'event':_0x3156c5[_0x5d4aa0(0x2af)],'jobName':_0x27ebef[_0x5d4aa0(0x30f)],'error':_0x77602c['message']},_0x5d4aa0(0x247)+_0x77602c['message']);}}async[a0_0x29f8c7(0x25e)](_0x443fc1,_0x4568ff,_0x5dbc83){const _0x59037f=a0_0x29f8c7,_0x56a30e={'QNQfU':function(_0x2b3dbe,_0x14cf20){return _0x2b3dbe(_0x14cf20);},'jxWUm':'oracle','MfcIX':function(_0x2f86b1,_0x86c238){return _0x2f86b1===_0x86c238;},'EKDbJ':'mysql'},_0x210ffd=this['getDbUtils']();if(!_0x210ffd)return;const _0x2079d6=this[_0x59037f(0x223)](),_0x220fc2=_0x5dbc83?_0x56a30e['QNQfU'](String,_0x5dbc83)[_0x59037f(0x21e)](0x0,0x1f4):null;try{if(_0x2079d6===_0x56a30e[_0x59037f(0x1f9)])await _0x210ffd['executeQuery']('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',[_0x4568ff,_0x220fc2,_0x443fc1]);else _0x56a30e['MfcIX'](_0x2079d6,_0x56a30e[_0x59037f(0x300)])?await _0x210ffd['executeQuery'](_0x59037f(0x2f3),[_0x4568ff,_0x220fc2,_0x443fc1]):await _0x210ffd['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$1,\x20progress\x20=\x20100,\x20result_summary\x20=\x20$2\x20WHERE\x20id\x20=\x20$3',[_0x4568ff,_0x220fc2,_0x443fc1]);}catch(_0x4af16e){logger[_0x59037f(0x2ff)]({'event':_0x59037f(0x2b1),'historyId':_0x443fc1,'error':_0x4af16e['message']},'Failed\x20to\x20update\x20job\x20history\x20(completed):\x20'+_0x4af16e['message']);}}async['updateJobHistoryFailed'](_0x2c42b0,_0x108723,_0xc6d1e6,_0x46655d,_0x4fa2c7){const _0x4631ea=a0_0x29f8c7,_0x2d921b={'WivxJ':function(_0x52301a,_0x379d65){return _0x52301a(_0x379d65);},'fwnlR':function(_0x3cf5e5,_0x32b1cc){return _0x3cf5e5||_0x32b1cc;},'ZqNBQ':function(_0x43afe7,_0x499d27){return _0x43afe7||_0x499d27;}},_0x53d712=this['getDbUtils']();if(!_0x53d712)return;const _0x4b7e5b=this['getDbType'](),_0x10f23a=_0x46655d?String(_0x46655d)[_0x4631ea(0x21e)](0x0,0x3e8):null,_0xe7be9e=_0x4fa2c7?_0x2d921b[_0x4631ea(0x2d3)](String,_0x4fa2c7)[_0x4631ea(0x21e)](0x0,0xfa0):null;try{if(_0x4b7e5b==='oracle')await _0x53d712[_0x4631ea(0x24c)](_0x4631ea(0x296),[_0x108723,_0x2d921b[_0x4631ea(0x312)](_0xc6d1e6,0x0),_0x10f23a,_0xe7be9e,_0x2c42b0]);else _0x4b7e5b==='mysql'?await _0x53d712['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?',[_0x108723,_0xc6d1e6||0x0,_0x10f23a,_0xe7be9e,_0x2c42b0]):await _0x53d712[_0x4631ea(0x24c)](_0x4631ea(0x294),[_0x108723,_0x2d921b[_0x4631ea(0x23c)](_0xc6d1e6,0x0),_0x10f23a,_0xe7be9e,_0x2c42b0]);}catch(_0x5ddb5d){logger['warn']({'event':_0x4631ea(0x1ee),'historyId':_0x2c42b0,'error':_0x5ddb5d[_0x4631ea(0x29c)]},'Failed\x20to\x20update\x20job\x20history\x20(failed):\x20'+_0x5ddb5d['message']);}}async['updateRegistryStatus'](_0x360210,_0x2a564d){const _0x2c69cb=a0_0x29f8c7,_0x48e6d8={'jQALY':function(_0x516bfe,_0x39ac8c){return _0x516bfe===_0x39ac8c;}},_0x526239=this[_0x2c69cb(0x2d9)]();if(!_0x526239)return;const _0x5c4b99=this[_0x2c69cb(0x223)]();try{if(_0x5c4b99==='oracle')await _0x526239['executeQuery'](_0x2c69cb(0x30d),[_0x2a564d,_0x360210]);else _0x48e6d8[_0x2c69cb(0x29b)](_0x5c4b99,_0x2c69cb(0x25a))?await _0x526239['executeQuery'](_0x2c69cb(0x2d2),[_0x2a564d,_0x360210]):await _0x526239[_0x2c69cb(0x24c)](_0x2c69cb(0x2cb),[_0x2a564d,_0x360210]);}catch(_0x18c4ab){}}async['updateRegistryCounters'](_0x4865f9,_0x1df513,_0x246a8c,_0x4ef4e8){const _0x51fbc8=a0_0x29f8c7,_0x1ff45c={'pjfSz':function(_0x21e602,_0x5c4c03){return _0x21e602===_0x5c4c03;},'OPawd':function(_0x4d3ab3,_0x43139e){return _0x4d3ab3===_0x43139e;},'iOsFT':_0x51fbc8(0x284)},_0x1c932f=this[_0x51fbc8(0x2d9)]();if(!_0x1c932f)return;const _0x3d0c2b=this['getDbType'](),_0x4b5ad5=_0x1ff45c['pjfSz'](_0x1df513,'success')?'total_success':_0x51fbc8(0x27e);try{if(_0x3d0c2b===_0x51fbc8(0x2e0))await _0x1c932f['executeQuery'](_0x51fbc8(0x20f)+_0x4b5ad5+'\x20=\x20'+_0x4b5ad5+_0x51fbc8(0x2ab),[_0x1df513,_0x246a8c,_0x4ef4e8,_0x4865f9]);else _0x1ff45c['OPawd'](_0x3d0c2b,'mysql')?await _0x1c932f['executeQuery']('UPDATE\x20job_registry\x20SET\x20last_status\x20=\x20?,\x20last_duration_ms\x20=\x20?,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x4b5ad5+'\x20=\x20'+_0x4b5ad5+'\x20+\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20?\x20WHERE\x20job_name\x20=\x20?',[_0x1df513,_0x246a8c,_0x4ef4e8,_0x4865f9]):await _0x1c932f[_0x51fbc8(0x24c)]('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'+_0x4b5ad5+_0x51fbc8(0x241)+_0x4b5ad5+'\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',[_0x1df513,_0x246a8c,_0x4ef4e8,_0x4865f9]);}catch(_0x55f77c){logger[_0x51fbc8(0x2ff)]({'event':_0x1ff45c[_0x51fbc8(0x299)],'jobName':_0x4865f9,'error':_0x55f77c[_0x51fbc8(0x29c)]},'Failed\x20to\x20update\x20job\x20registry\x20counters:\x20'+_0x55f77c['message']);}}async['getNextRunFromBullMQ'](_0x20084b){const _0x2ca884=a0_0x29f8c7,_0x11bc1b={'FvLId':function(_0x2c44e8,_0x1f589a){return _0x2c44e8!==_0x1f589a;},'yISXw':function(_0x2951f1,_0xdeb146){return _0x2951f1===_0xdeb146;},'rJCsw':_0x2ca884(0x28c)},_0x1fa158=this['jobConfigs'][_0x20084b];if(!_0x1fa158||_0x11bc1b['FvLId'](_0x1fa158['type'],_0x2ca884(0x1fa))||_0x1fa158['enabled']===![])return null;const _0x52b4bf=this['queues'][_0x1fa158[_0x2ca884(0x2b5)]||'default'];if(!_0x52b4bf)return null;try{if(_0x11bc1b[_0x2ca884(0x322)](typeof _0x52b4bf[_0x2ca884(0x244)],_0x11bc1b['rJCsw'])){const _0x162bed=await _0x52b4bf[_0x2ca884(0x244)](0x0,0x64),_0x4deee8=_0x162bed['find'](_0x2e3db1=>_0x2e3db1['name']===_0x20084b);return _0x4deee8?.['next']?new Date(_0x4deee8[_0x2ca884(0x25b)]):null;}}catch(_0x388a41){}return null;}async[a0_0x29f8c7(0x229)](){const _0x38918d=a0_0x29f8c7,_0x1b5ec7={'eSitR':function(_0x561a56,_0x3051cb){return _0x561a56===_0x3051cb;}},_0xc0e82a=this['getDbUtils']();if(!_0xc0e82a)return;const _0x2dad9d=this[_0x38918d(0x223)]();try{if(_0x1b5ec7['eSitR'](_0x2dad9d,'oracle'))await _0xc0e82a[_0x38918d(0x24c)](_0x38918d(0x2f0));else _0x2dad9d==='mysql'?await _0xc0e82a['executeQuery']('UPDATE\x20job_registry\x20SET\x20status\x20=\x20\x27offline\x27,\x20next_run_at\x20=\x20NULL'):await _0xc0e82a[_0x38918d(0x24c)](_0x38918d(0x2dc));}catch(_0x39c687){logger[_0x38918d(0x2ff)]({'event':_0x38918d(0x2f8),'error':_0x39c687[_0x38918d(0x29c)]},_0x38918d(0x298)+_0x39c687[_0x38918d(0x29c)]);}}[a0_0x29f8c7(0x2d9)](){const _0x2d201b=a0_0x29f8c7,_0x1e9f19={'EkRzQ':function(_0x4e95ca,_0x3e3d86){return _0x4e95ca===_0x3e3d86;},'FXONA':function(_0x486173,_0x51f427){return _0x486173(_0x51f427);},'SAyrN':'../../utils/db-oracle','jcWbW':function(_0x1b7ec3,_0x269ad5){return _0x1b7ec3===_0x269ad5;},'KnDNA':_0x2d201b(0x210),'PNQpi':'db_mysql_unavailable','jeikX':_0x2d201b(0x2e4),'XuSVX':_0x2d201b(0x325)},_0x14aaa3=(process['env']['DB_TYPE']||'postgresql')[_0x2d201b(0x324)]();if(_0x1e9f19[_0x2d201b(0x22b)](_0x14aaa3,_0x2d201b(0x2e0)))try{const _0x36b7ce=_0x1e9f19['FXONA'](require,_0x1e9f19[_0x2d201b(0x1e9)]);return{'executeQuery':(_0x3d1376,_0x1757f8)=>_0x36b7ce['executeQuery'](_0x3d1376,_0x1757f8),'executeTransaction':_0x4cae9a=>_0x36b7ce['executeTransaction'](_0x4cae9a),'getPool':()=>_0x36b7ce[_0x2d201b(0x1e8)]()};}catch(_0x64a58d){return logger['warn']({'event':'db_oracle_unavailable'},_0x2d201b(0x262)),null;}if(_0x1e9f19[_0x2d201b(0x21a)](_0x14aaa3,_0x2d201b(0x25a)))try{const _0x36e97c=require(_0x1e9f19[_0x2d201b(0x1fd)]);return{'executeQuery':(_0x26d07a,_0xbee8df)=>_0x36e97c['executeQuery'](_0x26d07a,_0xbee8df),'executeTransaction':_0x4395b3=>_0x36e97c['executeTransaction'](_0x4395b3),'getPool':()=>_0x36e97c[_0x2d201b(0x1e8)]()};}catch(_0x3ed254){return logger[_0x2d201b(0x2ff)]({'event':_0x1e9f19['PNQpi']},_0x1e9f19[_0x2d201b(0x2ed)]),null;}try{const _0x3295ef=require(_0x1e9f19[_0x2d201b(0x2c8)]);return{'executeQuery':_0x3295ef['executeQuery'],'executeTransaction':_0x3295ef['executeTransaction'],'getPool':_0x3295ef[_0x2d201b(0x1e8)]};}catch(_0x13c4d5){return logger['warn']({'event':_0x2d201b(0x201)},'PostgreSQL\x20DB\x20module\x20not\x20available'),null;}}['getRedisClient'](){const _0x417f33=a0_0x29f8c7,_0x5ed099={'yOWiT':_0x417f33(0x2ea)};try{const _0x3672e9=require(_0x5ed099['yOWiT']);return _0x3672e9[_0x417f33(0x2c0)]?_0x3672e9['getClient']():_0x3672e9;}catch(_0x5c6c83){return null;}}[a0_0x29f8c7(0x271)](){const _0xb13629=a0_0x29f8c7,_0x3526d4={'ezqhR':'true','UBLkh':function(_0x7d1f1c,_0xd42da9){return _0x7d1f1c(_0xd42da9);},'IfGIT':_0xb13629(0x23d)};try{if(process['env']['KAFKA_ENABLED']===_0x3526d4['ezqhR']){const _0x4b8d08=_0x3526d4['UBLkh'](require,_0x3526d4[_0xb13629(0x226)]);return _0x4b8d08[_0xb13629(0x301)]?_0x4b8d08['getInstance']():_0x4b8d08;}}catch(_0x184228){}return null;}[a0_0x29f8c7(0x1f6)](){const _0x492024={'RPVcu':function(_0xd4e1b,_0x2eecf9){return _0xd4e1b(_0x2eecf9);}};try{return _0x492024['RPVcu'](require,'../../utils/cache-manager');}catch(_0x1b1ceb){return null;}}async[a0_0x29f8c7(0x259)](_0x3a637b,_0x3adec8={}){const _0x2e6f8f=a0_0x29f8c7,_0x10dffa={'iNPZA':_0x2e6f8f(0x21f),'yQdHV':_0x2e6f8f(0x219)},_0x1c4bf6=this['jobConfigs'][_0x3a637b];if(!_0x1c4bf6)throw new Error('Job\x20not\x20found:\x20'+_0x3a637b);const _0x3b486b=this[_0x2e6f8f(0x243)][_0x1c4bf6[_0x2e6f8f(0x2b5)]||_0x2e6f8f(0x28a)],_0xf5fc20=await _0x3b486b['add'](_0x3a637b,{..._0x3adec8,'handler':_0x1c4bf6['handler'],'triggeredBy':'api'},{'attempts':_0x1c4bf6[_0x2e6f8f(0x24e)]?.['maxAttempts']||0x3,'backoff':{'type':_0x1c4bf6[_0x2e6f8f(0x24e)]?.['backoff']||_0x10dffa[_0x2e6f8f(0x276)],'delay':_0x1c4bf6['retry']?.['initialDelay']||0x1388},'timeout':_0x1c4bf6[_0x2e6f8f(0x2ee)]||0x7530});return logger[_0x2e6f8f(0x206)]({'event':'job_dispatched','jobId':_0xf5fc20['id'],'name':_0x3a637b,'triggeredBy':_0x10dffa['yQdHV']},_0x2e6f8f(0x31a)+_0x3a637b+'\x20(id:\x20'+_0xf5fc20['id']+')'),{'jobId':_0xf5fc20['id'],'name':_0x3a637b};}async['dispatchDelayed'](_0xf3b82d,_0xbcf958={},_0xd7c493=0x0){const _0x3bf2ac=a0_0x29f8c7,_0x2db8bc={'qzwzh':_0x3bf2ac(0x228)},_0x2716d8=this['jobConfigs'][_0xf3b82d];if(!_0x2716d8)throw new Error('Job\x20not\x20found:\x20'+_0xf3b82d);const _0xe21ea9=this['queues'][_0x2716d8[_0x3bf2ac(0x2b5)]||'default'],_0x428f3f=await _0xe21ea9[_0x3bf2ac(0x2e5)](_0xf3b82d,{..._0xbcf958,'handler':_0x2716d8['handler'],'triggeredBy':'api-delayed'},{'delay':_0xd7c493,'attempts':_0x2716d8['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0x2716d8[_0x3bf2ac(0x24e)]?.['backoff']||_0x3bf2ac(0x21f),'delay':_0x2716d8[_0x3bf2ac(0x24e)]?.['initialDelay']||0x1388},'timeout':_0x2716d8[_0x3bf2ac(0x2ee)]||0x7530});return logger[_0x3bf2ac(0x206)]({'event':_0x2db8bc[_0x3bf2ac(0x273)],'jobId':_0x428f3f['id'],'name':_0xf3b82d,'delayMs':_0xd7c493},'Job\x20dispatched\x20(delayed\x20'+_0xd7c493+_0x3bf2ac(0x2a9)+_0xf3b82d+_0x3bf2ac(0x245)+_0x428f3f['id']+')'),{'jobId':_0x428f3f['id'],'name':_0xf3b82d};}async['getJobStatus'](_0x4bca16){const _0x10e61f=a0_0x29f8c7;for(const _0x19d567 of Object[_0x10e61f(0x238)](this[_0x10e61f(0x243)])){const _0x321483=await _0x19d567['getJob'](_0x4bca16);if(_0x321483){const _0x167d6a=await _0x321483[_0x10e61f(0x2ec)]();return{'jobId':_0x321483['id'],'name':_0x321483[_0x10e61f(0x266)],'state':_0x167d6a,'progress':_0x321483[_0x10e61f(0x1e6)],'attemptsMade':_0x321483['attemptsMade'],'failedReason':_0x321483[_0x10e61f(0x2ca)],'returnvalue':_0x321483[_0x10e61f(0x28f)],'data':_0x321483[_0x10e61f(0x2db)],'timestamps':{'created':_0x321483[_0x10e61f(0x281)],'started':_0x321483['processedOn'],'completed':_0x321483[_0x10e61f(0x232)]}};}}return null;}['listJobs'](){const _0x267a73=a0_0x29f8c7;return Object[_0x267a73(0x238)](this['jobConfigs'])['map'](_0x581239=>({'name':_0x581239['name'],'description':_0x581239[_0x267a73(0x328)]||'','type':_0x581239[_0x267a73(0x2cc)],'schedule':_0x581239['schedule'],'handler':_0x581239['handler'],'enabled':_0x581239['enabled']!==![],'queue':_0x581239[_0x267a73(0x2b5)]||'default','timeout':_0x581239['timeout']||0x7530,'retry':_0x581239['retry']||{'maxAttempts':0x3,'backoff':'exponential','initialDelay':0x1388},'metadata':_0x581239[_0x267a73(0x2ad)]||{}}));}async['listRunning'](){const _0x37dc1a=a0_0x29f8c7,_0x1fb3eb=[];for(const [_0x402019,_0x7a8eda]of Object[_0x37dc1a(0x274)](this['queues'])){const _0x104f1d=await _0x7a8eda['getJobs']([_0x37dc1a(0x2f4)]);for(const _0x367887 of _0x104f1d){_0x1fb3eb['push']({'jobId':_0x367887['id'],'name':_0x367887[_0x37dc1a(0x266)],'queue':_0x402019,'progress':_0x367887[_0x37dc1a(0x1e6)],'attemptsMade':_0x367887['attemptsMade'],'startedAt':_0x367887['processedOn']});}}return _0x1fb3eb;}async['getHistory'](_0x1c72c5={}){const _0x3aab8f=a0_0x29f8c7,_0x45c33a={'drUGc':function(_0x1d5cd5,_0x506b0d,_0x1f74bf){return _0x1d5cd5(_0x506b0d,_0x1f74bf);},'INECf':_0x3aab8f(0x287),'gPJxg':_0x3aab8f(0x2a0)},_0x2d5a08=_0x45c33a['drUGc'](parseInt,_0x1c72c5[_0x3aab8f(0x24f)],0xa)||0x1,_0x261c8e=Math[_0x3aab8f(0x236)](parseInt(_0x1c72c5[_0x3aab8f(0x2f1)],0xa)||0x14,0x64),_0x5516b6=(_0x2d5a08-0x1)*_0x261c8e,_0x30d5dc=_0x5516b6+_0x261c8e-0x1,_0x4c377e=[];for(const [_0x149ff6,_0x1f1536]of Object['entries'](this['queues'])){const _0x4151aa=await _0x1f1536[_0x3aab8f(0x20a)]([_0x45c33a['INECf']],_0x5516b6,_0x30d5dc),_0x244fb5=await _0x1f1536['getJobs']([_0x45c33a[_0x3aab8f(0x2b9)]],_0x5516b6,_0x30d5dc);for(const _0x4519e3 of[..._0x4151aa,..._0x244fb5]){const _0x35a07f=await _0x4519e3['getState']();_0x4c377e['push']({'jobId':_0x4519e3['id'],'name':_0x4519e3[_0x3aab8f(0x266)],'state':_0x35a07f,'queue':_0x149ff6,'attemptsMade':_0x4519e3[_0x3aab8f(0x24b)],'failedReason':_0x4519e3['failedReason'],'returnvalue':_0x4519e3['returnvalue'],'timestamps':{'created':_0x4519e3[_0x3aab8f(0x281)],'started':_0x4519e3['processedOn'],'completed':_0x4519e3['finishedOn']}});}}return _0x4c377e['sort']((_0x197824,_0x3f2bb2)=>(_0x3f2bb2[_0x3aab8f(0x2fc)]['created']||0x0)-(_0x197824[_0x3aab8f(0x2fc)]['created']||0x0)),{'jobs':_0x4c377e['slice'](0x0,_0x261c8e),'total':_0x4c377e['length'],'page':_0x2d5a08,'limit':_0x261c8e};}async[a0_0x29f8c7(0x20e)](_0x12dd3f){const _0x223745=a0_0x29f8c7,_0x1382f6={'zKITv':function(_0x3b9fd8,_0x11a9cd){return _0x3b9fd8===_0x11a9cd;},'ldivL':_0x223745(0x27c),'SQgVf':_0x223745(0x31f)};for(const _0x98ba47 of Object[_0x223745(0x238)](this['queues'])){const _0x458834=await _0x98ba47['getJob'](_0x12dd3f);if(_0x458834){const _0x820c47=await _0x458834[_0x223745(0x2ec)]();if(_0x1382f6['zKITv'](_0x820c47,'active'))return await _0x458834[_0x223745(0x26b)](new Error(_0x1382f6['ldivL']),_0x1382f6['SQgVf'],!![]),{'success':!![],'message':_0x223745(0x249)+_0x12dd3f+'\x20cancelled\x20(was\x20active)'};if(_0x820c47==='waiting'||_0x820c47===_0x223745(0x217))return await _0x458834['remove'](),{'success':!![],'message':_0x223745(0x249)+_0x12dd3f+_0x223745(0x2b4)+_0x820c47+')'};return{'success':![],'message':'Job\x20'+_0x12dd3f+'\x20cannot\x20be\x20cancelled\x20(state:\x20'+_0x820c47+')'};}}return{'success':![],'message':_0x223745(0x249)+_0x12dd3f+_0x223745(0x31b)};}async['getHealthStatus'](){const _0x46c5df=a0_0x29f8c7,_0x5b0b68={'usOHe':_0x46c5df(0x2f4),'QVGdH':_0x46c5df(0x217),'OAcIC':'paused','zhcfg':_0x46c5df(0x2aa)},_0x3e078f={};for(const [_0x16f7f1,_0x3ac498]of Object['entries'](this[_0x46c5df(0x243)])){try{const _0x449e60=await _0x3ac498['getJobCounts'](_0x5b0b68[_0x46c5df(0x230)],_0x46c5df(0x287),_0x5b0b68[_0x46c5df(0x26e)],'failed',_0x5b0b68['OAcIC'],_0x5b0b68['zhcfg']);_0x3e078f[_0x16f7f1]=_0x449e60;}catch(_0x768024){_0x3e078f[_0x16f7f1]={'error':_0x768024[_0x46c5df(0x29c)]};}}const _0x1c33a9={};for(const [_0x2cb94d,_0x2c08c5]of Object['entries'](this[_0x46c5df(0x1f5)])){_0x1c33a9[_0x2cb94d]={'running':_0x2c08c5[_0x46c5df(0x216)](),'paused':_0x2c08c5['isPaused']()};}return{'initialized':this[_0x46c5df(0x250)],'registeredJobs':Object['keys'](this['jobConfigs'])['length'],'redisConnections':this['connections']['length'],'queues':_0x3e078f,'workers':_0x1c33a9};}async[a0_0x29f8c7(0x2b6)](_0x181cc8,_0x67a4d9){const _0x550a8f=a0_0x29f8c7,_0x793cd0={'apdgs':'after_job_complete_hook_error','XNGsP':_0x550a8f(0x239),'Peaoz':'job_completed','MBBwR':function(_0x459f4f,_0x18a043){return _0x459f4f-_0x18a043;},'iyTBX':function(_0x4093b8,_0x362ab2){return _0x4093b8===_0x362ab2;},'xJfJa':'string','GrVCi':_0x550a8f(0x2de),'xQMIU':function(_0x4a5c51){return _0x4a5c51();},'NzLzI':_0x550a8f(0x28c),'IhkCc':'JOB_COMPLETED','YHXAo':_0x550a8f(0x2f5)},_0x3f887c=logger['child']({'jobId':_0x181cc8['id'],'jobName':_0x181cc8[_0x550a8f(0x266)]});_0x3f887c['info']({'event':_0x793cd0['Peaoz'],'attemptsMade':_0x181cc8['attemptsMade'],'duration':_0x181cc8[_0x550a8f(0x232)]?_0x793cd0[_0x550a8f(0x23b)](_0x181cc8[_0x550a8f(0x232)],_0x181cc8[_0x550a8f(0x2b0)]):null},'Job\x20completed:\x20'+_0x181cc8['name']);const _0x31807c=this[_0x550a8f(0x27d)][_0x550a8f(0x2fb)](_0x181cc8['id']);if(_0x31807c){if(_0x31807c['insertPromise'])await _0x31807c[_0x550a8f(0x2bd)];const _0x333d22=_0x181cc8['finishedOn']&&_0x181cc8['processedOn']?_0x181cc8['finishedOn']-_0x181cc8['processedOn']:null,_0x4a7b7b=_0x793cd0['iyTBX'](typeof _0x67a4d9,_0x793cd0[_0x550a8f(0x2c3)])?_0x67a4d9:_0x67a4d9?JSON['stringify'](_0x67a4d9)[_0x550a8f(0x21e)](0x0,0x1f4):null;await this['updateJobHistoryCompleted'](_0x31807c[_0x550a8f(0x2a4)],_0x333d22,_0x4a7b7b);const _0x1228ab=await this[_0x550a8f(0x251)](_0x181cc8[_0x550a8f(0x266)]);await this[_0x550a8f(0x1f7)](_0x181cc8[_0x550a8f(0x266)],_0x793cd0[_0x550a8f(0x224)],_0x333d22,_0x1228ab),this[_0x550a8f(0x27d)][_0x550a8f(0x292)](_0x181cc8['id']);}const _0x6b998e=_0x793cd0['xQMIU'](getComponentEngine);if(_0x6b998e&&typeof _0x6b998e['executeEventHandlers']===_0x793cd0['NzLzI']){const _0x5464f1={'jobId':_0x181cc8['id'],'jobName':_0x181cc8['name'],'result':_0x67a4d9,'config':this['jobConfigs'][_0x181cc8[_0x550a8f(0x266)]]||{}};_0x6b998e['executeEventHandlers'](_0x550a8f(0x2da),_0x5464f1,![])['catch'](_0x3ff22d=>{const _0x3100df=_0x550a8f;_0x3f887c['warn']({'event':_0x793cd0[_0x3100df(0x2be)],'error':_0x3ff22d[_0x3100df(0x29c)]},_0x793cd0['XNGsP']);});}const _0x236975=this['getKafkaService']();if(_0x236975)try{await _0x236975[_0x550a8f(0x2e7)]('restforge.jobs.completed',_0x793cd0['IhkCc'],null,{'jobId':_0x181cc8['id'],'name':_0x181cc8[_0x550a8f(0x266)],'result':_0x67a4d9},{'module':_0x550a8f(0x1f0),'endpoint':_0x181cc8[_0x550a8f(0x266)]});}catch(_0x5cc213){_0x3f887c['warn']({'event':_0x793cd0[_0x550a8f(0x25c)],'error':_0x5cc213[_0x550a8f(0x29c)]},_0x550a8f(0x2a2));}}async['onJobFailed'](_0x3875f6,_0x585fac){const _0x3efd64=a0_0x29f8c7,_0x478eab={'EWZzb':_0x3efd64(0x28c),'rGlnp':'onAfterJobFailed','VlPwb':'JOB_FAILED','IuPMB':_0x3efd64(0x2f5),'rsvKH':'Failed\x20to\x20publish\x20JOB_FAILED\x20to\x20Kafka'},_0x54fd3d=logger[_0x3efd64(0x1fe)]({'jobId':_0x3875f6['id'],'jobName':_0x3875f6['name']});_0x54fd3d[_0x3efd64(0x1ff)]({'event':_0x3efd64(0x278),'attemptsMade':_0x3875f6[_0x3efd64(0x24b)],'failedReason':_0x585fac?.['message'],'willRetry':_0x3875f6[_0x3efd64(0x24b)]<(this[_0x3efd64(0x31d)][_0x3875f6[_0x3efd64(0x266)]]?.['retry']?.[_0x3efd64(0x311)]||0x3)},_0x3efd64(0x26f)+_0x3875f6[_0x3efd64(0x266)]+_0x3efd64(0x29a)+_0x585fac?.['message']);const _0x26241a=this['activeHistoryIds']['get'](_0x3875f6['id']);if(_0x26241a){if(_0x26241a[_0x3efd64(0x2bd)])await _0x26241a[_0x3efd64(0x2bd)];const _0x48b541=_0x3875f6['finishedOn']&&_0x3875f6['processedOn']?_0x3875f6['finishedOn']-_0x3875f6[_0x3efd64(0x2b0)]:null;await this[_0x3efd64(0x320)](_0x26241a[_0x3efd64(0x2a4)],_0x48b541,_0x3875f6[_0x3efd64(0x1e6)],_0x585fac?.['message'],_0x585fac?.[_0x3efd64(0x2bf)]);const _0x575c21=await this['getNextRunFromBullMQ'](_0x3875f6['name']);await this[_0x3efd64(0x1f7)](_0x3875f6[_0x3efd64(0x266)],_0x3efd64(0x2a0),_0x48b541,_0x575c21),this[_0x3efd64(0x27d)][_0x3efd64(0x292)](_0x3875f6['id']);}const _0x497d28=getComponentEngine();if(_0x497d28&&typeof _0x497d28['executeEventHandlers']===_0x478eab['EWZzb']){const _0x1c648c={'jobId':_0x3875f6['id'],'jobName':_0x3875f6['name'],'error':_0x585fac?.[_0x3efd64(0x29c)],'attemptsMade':_0x3875f6['attemptsMade'],'config':this[_0x3efd64(0x31d)][_0x3875f6['name']]||{}};_0x497d28['executeEventHandlers'](_0x478eab['rGlnp'],_0x1c648c,![])['catch'](_0x534d90=>{const _0x1516a9=_0x3efd64;_0x54fd3d['warn']({'event':'after_job_failed_hook_error','error':_0x534d90[_0x1516a9(0x29c)]},_0x1516a9(0x326));});}const _0x25104a=this[_0x3efd64(0x271)]();if(_0x25104a)try{await _0x25104a['publishEvent'](_0x3efd64(0x2a6),_0x478eab['VlPwb'],null,{'jobId':_0x3875f6['id'],'name':_0x3875f6['name'],'error':_0x585fac?.[_0x3efd64(0x29c)],'attemptsMade':_0x3875f6[_0x3efd64(0x24b)]},{'module':_0x3efd64(0x1f0),'endpoint':_0x3875f6[_0x3efd64(0x266)]});}catch(_0x20440f){_0x54fd3d['warn']({'event':_0x478eab['IuPMB'],'error':_0x20440f[_0x3efd64(0x29c)]},_0x478eab['rsvKH']);}}[a0_0x29f8c7(0x252)](_0x5062ad,_0x2b8b90){const _0x3fbdb1=a0_0x29f8c7,_0x5385ed={'OsqyT':_0x3fbdb1(0x28b)};logger['debug']({'event':_0x5385ed['OsqyT'],'jobId':_0x5062ad['id'],'jobName':_0x5062ad['name'],'progress':_0x2b8b90},_0x3fbdb1(0x2d0)+_0x5062ad[_0x3fbdb1(0x266)]+'\x20—\x20'+_0x2b8b90+'%');}}module['exports']=new JobManager();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x393039=a0_0x38b2;(function(_0x4f2e37,_0xf42350){const _0x2f8d8d=a0_0x38b2,_0xedea41=_0x4f2e37();while(!![]){try{const _0x2e1af9=parseInt(_0x2f8d8d(0x1d9))/0x1*(parseInt(_0x2f8d8d(0x1f1))/0x2)+parseInt(_0x2f8d8d(0x1ce))/0x3+parseInt(_0x2f8d8d(0x226))/0x4+parseInt(_0x2f8d8d(0x238))/0x5*(-parseInt(_0x2f8d8d(0x228))/0x6)+-parseInt(_0x2f8d8d(0x1e2))/0x7+parseInt(_0x2f8d8d(0x216))/0x8+parseInt(_0x2f8d8d(0x1e6))/0x9*(-parseInt(_0x2f8d8d(0x1dc))/0xa);if(_0x2e1af9===_0xf42350)break;else _0xedea41['push'](_0xedea41['shift']());}catch(_0x4f7761){_0xedea41['push'](_0xedea41['shift']());}}}(a0_0xe863,0x74ce9));const express=require(a0_0x393039(0x235)),{Queue}=require(a0_0x393039(0x1f0)),Redis=require('ioredis'),{logger}=require(a0_0x393039(0x22d));let readConnection=null,readQueues=null,cachedJobConfigs=null;function a0_0x38b2(_0x19fc20,_0x4483ea){_0x19fc20=_0x19fc20-0x1cc;const _0xe863a9=a0_0xe863();let _0x38b29d=_0xe863a9[_0x19fc20];if(a0_0x38b2['CEXqpM']===undefined){var _0x388c1c=function(_0x4affc5){const _0xb32213='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3aa141='',_0x47bf51='';for(let _0x3a8698=0x0,_0x180f34,_0xf61b,_0xb629ff=0x0;_0xf61b=_0x4affc5['charAt'](_0xb629ff++);~_0xf61b&&(_0x180f34=_0x3a8698%0x4?_0x180f34*0x40+_0xf61b:_0xf61b,_0x3a8698++%0x4)?_0x3aa141+=String['fromCharCode'](0xff&_0x180f34>>(-0x2*_0x3a8698&0x6)):0x0){_0xf61b=_0xb32213['indexOf'](_0xf61b);}for(let _0xc669=0x0,_0x5c65eb=_0x3aa141['length'];_0xc669<_0x5c65eb;_0xc669++){_0x47bf51+='%'+('00'+_0x3aa141['charCodeAt'](_0xc669)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x47bf51);};a0_0x38b2['xkfaCv']=_0x388c1c,a0_0x38b2['VteIcI']={},a0_0x38b2['CEXqpM']=!![];}const _0x146efb=_0xe863a9[0x0],_0x52d91b=_0x19fc20+_0x146efb,_0x3e2794=a0_0x38b2['VteIcI'][_0x52d91b];return!_0x3e2794?(_0x38b29d=a0_0x38b2['xkfaCv'](_0x38b29d),a0_0x38b2['VteIcI'][_0x52d91b]=_0x38b29d):_0x38b29d=_0x3e2794,_0x38b29d;}const QUEUE_NAMES={'high-priority':a0_0x393039(0x1e1),'default':'default','low-priority':a0_0x393039(0x206)};function getReadQueues(){const _0x57258c=a0_0x393039,_0x117860={'Bviws':'rf:job'};if(readQueues)return readQueues;const _0x2ff10d=process['env'][_0x57258c(0x1fa)]||_0x117860[_0x57258c(0x20d)];readConnection=new Redis({'host':process[_0x57258c(0x1fc)][_0x57258c(0x1ed)]||'localhost','port':parseInt(process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process[_0x57258c(0x1fc)]['REDIS_PASSWORD']||undefined,'db':parseInt(process['env'][_0x57258c(0x1ec)],0xa)||0x0,'maxRetriesPerRequest':null}),readConnection['on'](_0x57258c(0x1e8),_0x454020=>{const _0x2a0908=_0x57258c;logger[_0x2a0908(0x1e8)]({'event':_0x2a0908(0x1cd),'error':_0x454020['message']},_0x2a0908(0x1e7)+_0x454020[_0x2a0908(0x212)]);}),readQueues={};for(const [_0x556723,_0x4782ae]of Object['entries'](QUEUE_NAMES)){readQueues[_0x556723]=new Queue(_0x4782ae,{'connection':readConnection,'prefix':_0x2ff10d});}return readQueues;}function a0_0xe863(){const _0x1a33a7=['Cgf5Bg9Hza','mZyYodu5nLbZywHKzW','zMfPBgvK','ntaXnZG2nLfXzuPtqW','AM9Ix2HPC3rVCNLFzxjYB3i','l3n0yxr1CY86AM9Iswq','z2v0','ChjVz3jLC3m','lI4VlI4VDxrPBhmVBg9Nz2vY','yM9KEq','z2v0sM9I','zgvMyxvSDa','A2v5CW','zw50CMLLCW','tufQzve','Du1IExK','zxHWCMvZCW','BgvUz3rO','Cg9ZDa','nxHJrffXDa','AM9Ix3rYAwDNzxjLzf92AwfFyxbP','CMvTB3zL','ywrK','C2XPy2u','AM9Ix3jVDxrLC19YzwrPC19LCNjVCG','mZy4odG2CvLnqMj4','BMfTzq','AM9PBG','DgLTzxn0yw1WCW','CgfYyw1Z','wNDyDhi','quLkvwC','CgfYC2u','DhLWzq','sMjPsey','zgvSyxLLza','mvLoDwX3EG','zxHPC3rZu3LUyW','CMvHzezPBgvtEw5J','mtuWtejKExPH','Bw92zvrVrMfPBgvK','BwLU','AM9ICW','wwrxv2O','AgLNAa','nJm3odiXmwjJt2PsEG','EwjZtLi','yxbPlwnHBMnLBa','BNnevuS','mZm2odDsANnSBLm','sM9IifjVDxrLCYbszwrPCYbLCNjVCJOG','zxjYB3i','zgvNCMfKzwq','CgfNzq','Bwv0ywrHDge','uKvesvnFrei','uKvesvnFse9tva','Aw5MBW','zgX3yu4','yNvSBg1X','nZm3nda0sxj1vhfy','sM9Iia','lMPZB24','ignHBMnLBgXLzcaOD2fZigfJDgL2zsK','CxvLDwu','DMfSDwvZ','zMfPBgvKuMvHC29U','uM91DgvY','C3rHDhvZ','sK9cx1jfreLtx1bsruzjwa','vwrkwMO','zw52','zMLSDgvY','BwfW','AM9Ix2XPC3rFzxjYB3i','rxjYB3iGy2fUy2vSBgLUzYbQB2i','z2v0u3rHDgu','yxbP','z2v0sM9Iq291BNrZ','y3DK','sM9IihrYAwDNzxjLzcb2AweGqvbjoIa','Bg93','l3f1zxvLCW','ignHBM5VDcbIzsbJyw5JzwXSzwqGkhn0yxrLoIa','C2nOzwr1Bgu','yxr0zw1WDhnnywrL','EMrhzM0','zgLZy29UBMvJDgvK','qNzPD3m','DgLTzxn0yw1W','ANnVBG','CML4Cxm','CMv0CNK','BwvZC2fNzq','AgfUzgXLCG','l2HLywX0Aa','CxvLCNK','nZa2nJa1nK5RDK5mDW','l2HPC3rVCNK','y29TCgXLDgvK','zxHWB25LBNrPywW','DxDfEKi','rxjYB3iGz2v0DgLUzYbQB2iGC3rHDhvZ','zxHWB3j0CW','zMLUAxnOzwrpBG','uKfnvgO','zw5KC1DPDgG','AM9Ix2nHBMnLBf9LCNjVCG','DxrMoa','A0DACeG','DgLTzw91Da','DefTzwC'];a0_0xe863=function(){return _0x1a33a7;};return a0_0xe863();}function createJobRoutes(_0x4dbc55){const _0x2926d4=a0_0x393039,_0x460342={'kGZpH':function(_0x5248b1,_0x4bf5a8){return _0x5248b1(_0x4bf5a8);},'tAmeg':_0x2926d4(0x225),'Orbzo':'jobs','MAjeQ':_0x2926d4(0x1ff),'qJHiS':_0x2926d4(0x21b),'YdWWj':_0x2926d4(0x221),'tUxLc':'default','dlwaN':'Error\x20triggering\x20job','ybsNR':function(_0x303635){return _0x303635();},'uMbyy':'active','hPFnv':function(_0xbc37c6,_0x3c7e35){return _0xbc37c6===_0x3c7e35;},'nsDUK':'waiting','hXMUX':_0x2926d4(0x1d8),'UdJZj':_0x2926d4(0x220),'nrXSa':function(_0x48165b,_0x2cf1e0){return _0x48165b-_0x2cf1e0;},'AAWIp':_0x2926d4(0x218),'zdGfm':_0x2926d4(0x229),'RAMTj':'Error\x20getting\x20job\x20history','ZwXtr':'job_queues_error','xWJUy':'failed','ERvhH':'healthy','tOvNq':'connected','DmTbU':'unhealthy','rixqs':_0x2926d4(0x22a),'AIJUg':'/trigger/:jobName','JbiHF':'/cancel/:jobId','uwEzB':_0x2926d4(0x217)},_0x57300f=express[_0x2926d4(0x1f8)]();return _0x4dbc55&&Object['keys'](_0x4dbc55)[_0x2926d4(0x236)]>0x0&&(cachedJobConfigs=_0x4dbc55),_0x57300f[_0x2926d4(0x22b)]('/list',(_0x51d4cb,_0x22fed5)=>{const _0x5378e3=_0x2926d4;try{if(cachedJobConfigs){const _0x34d94f=Object[_0x5378e3(0x1f6)](cachedJobConfigs)[_0x5378e3(0x1fe)](_0x558ca3=>({'name':_0x558ca3[_0x5378e3(0x1cf)],'description':_0x558ca3['description']||'','type':_0x558ca3[_0x5378e3(0x1d6)],'schedule':_0x558ca3[_0x5378e3(0x209)],'handler':_0x558ca3['handler'],'enabled':_0x558ca3['enabled']!==![],'queue':_0x558ca3['queue']||'default','timeout':_0x558ca3['timeout']||0x7530,'retry':_0x558ca3['retry']||{'maxAttempts':0x3,'backoff':_0x5378e3(0x219),'initialDelay':0x1388},'metadata':_0x558ca3['metadata']||{}}));return _0x22fed5['json']({'success':!![],'data':_0x34d94f,'total':_0x34d94f['length']});}const _0x40d760=require('fs'),_0x472871=_0x460342[_0x5378e3(0x222)](require,'path'),_0x4a002d=_0x472871[_0x5378e3(0x1d0)](process[_0x5378e3(0x204)](),_0x460342[_0x5378e3(0x224)],_0x460342['Orbzo']);if(!_0x40d760[_0x5378e3(0x1da)](_0x4a002d))return _0x22fed5['json']({'success':!![],'data':[],'total':0x0});const _0x2bfaa9=_0x40d760['readdirSync'](_0x4a002d)['filter'](_0x4a8a40=>_0x4a8a40['endsWith'](_0x5378e3(0x1f3))),_0x229e05=[];for(const _0x2622a7 of _0x2bfaa9){try{const _0x2b4ee8=_0x40d760[_0x5378e3(0x1db)](_0x472871['join'](_0x4a002d,_0x2622a7),_0x5378e3(0x221)),_0x2f0eb6=JSON[_0x5378e3(0x1d5)](_0x2b4ee8);_0x229e05['push']({'name':_0x2f0eb6['name'],'description':_0x2f0eb6['description']||'','type':_0x2f0eb6['type'],'schedule':_0x2f0eb6['schedule'],'handler':_0x2f0eb6[_0x5378e3(0x213)],'enabled':_0x2f0eb6['enabled']!==![],'queue':_0x2f0eb6['queue']||_0x5378e3(0x230),'timeout':_0x2f0eb6[_0x5378e3(0x223)]||0x7530,'retry':_0x2f0eb6[_0x5378e3(0x211)]||{},'metadata':_0x2f0eb6[_0x5378e3(0x1eb)]||{}});}catch(_0x26dd12){}}_0x22fed5[_0x5378e3(0x20f)]({'success':!![],'data':_0x229e05,'total':_0x229e05[_0x5378e3(0x236)]});}catch(_0x20e423){logger['error']({'event':_0x460342[_0x5378e3(0x233)],'error':_0x20e423[_0x5378e3(0x212)]},'Error\x20listing\x20jobs'),_0x22fed5['status'](0x1f4)[_0x5378e3(0x20f)]({'success':![],'error':_0x20e423['message']});}}),_0x57300f['get'](_0x460342[_0x2926d4(0x210)],async(_0x2731f7,_0x229d75)=>{const _0x4da8c5=_0x2926d4;try{const {jobId:_0x4c9e88}=_0x2731f7[_0x4da8c5(0x1d2)],_0x479fed=getReadQueues();for(const _0x224077 of Object[_0x4da8c5(0x1f6)](_0x479fed)){const _0x4f7ff6=await _0x224077[_0x4da8c5(0x22f)](_0x4c9e88);if(_0x4f7ff6){const _0x7723d7=await _0x4f7ff6[_0x4da8c5(0x201)]();return _0x229d75['json']({'success':!![],'data':{'jobId':_0x4f7ff6['id'],'name':_0x4f7ff6['name'],'state':_0x7723d7,'progress':_0x4f7ff6[_0x4da8c5(0x22c)],'attemptsMade':_0x4f7ff6['attemptsMade'],'failedReason':_0x4f7ff6[_0x4da8c5(0x1f7)],'returnvalue':_0x4f7ff6['returnvalue'],'data':_0x4f7ff6['data'],'timestamps':{'created':_0x4f7ff6[_0x4da8c5(0x20e)],'started':_0x4f7ff6['processedOn'],'completed':_0x4f7ff6[_0x4da8c5(0x21d)]}}});}}_0x229d75[_0x4da8c5(0x1f9)](0x194)['json']({'success':![],'error':'Job\x20'+_0x4c9e88+'\x20tidak\x20ditemukan'});}catch(_0x2b1f5c){logger['error']({'event':'job_status_error','error':_0x2b1f5c['message']},_0x460342['qJHiS']),_0x229d75[_0x4da8c5(0x1f9)](0x1f4)[_0x4da8c5(0x20f)]({'success':![],'error':_0x2b1f5c[_0x4da8c5(0x212)]});}}),_0x57300f[_0x2926d4(0x237)](_0x460342[_0x2926d4(0x1d4)],async(_0x3f6c9e,_0x357b82)=>{const _0xce854c=_0x2926d4;try{const {jobName:_0x1df813}=_0x3f6c9e[_0xce854c(0x1d2)],_0x4fe832=_0x3f6c9e[_0xce854c(0x22e)]||{};let _0x24da07=cachedJobConfigs?.[_0x1df813];if(!_0x24da07){const _0x2b1a77=require('fs'),_0x2325df=require('path'),_0xf0df7e=_0x2325df['join'](process['cwd'](),_0x460342[_0xce854c(0x224)],_0xce854c(0x1df)),_0x4bed28=_0x2b1a77[_0xce854c(0x1da)](_0xf0df7e)?_0x2b1a77['readdirSync'](_0xf0df7e)[_0xce854c(0x1fd)](_0xb32535=>_0xb32535[_0xce854c(0x21f)]('.json')):[];for(const _0x23d747 of _0x4bed28){try{const _0x28c956=_0x2b1a77['readFileSync'](_0x2325df['join'](_0xf0df7e,_0x23d747),_0x460342[_0xce854c(0x1e0)]),_0x49a93b=JSON['parse'](_0x28c956);if(_0x49a93b[_0xce854c(0x1cf)]===_0x1df813){_0x24da07=_0x49a93b;break;}}catch(_0x41669a){}}}if(!_0x24da07)return _0x357b82['status'](0x194)[_0xce854c(0x20f)]({'success':![],'error':'Job\x20\x22'+_0x1df813+'\x22\x20tidak\x20ditemukan\x20di\x20konfigurasi'});const _0xa40232=getReadQueues(),_0x58a2bb=_0xa40232[_0x24da07[_0xce854c(0x1f5)]||_0x460342['tUxLc']],_0x917e38=await _0x58a2bb[_0xce854c(0x23b)](_0x1df813,{..._0x4fe832,'handler':_0x24da07['handler'],'triggeredBy':_0xce854c(0x202)},{'attempts':_0x24da07['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0x24da07['retry']?.['backoff']||_0xce854c(0x219),'delay':_0x24da07['retry']?.['initialDelay']||0x1388},'timeout':_0x24da07[_0xce854c(0x223)]||0x7530});logger[_0xce854c(0x1ee)]({'event':_0xce854c(0x239),'jobId':_0x917e38['id'],'name':_0x1df813},_0xce854c(0x205)+_0x1df813+'\x20(id:\x20'+_0x917e38['id']+')'),_0x357b82[_0xce854c(0x20f)]({'success':!![],'jobId':_0x917e38['id'],'message':_0xce854c(0x1f2)+_0x1df813+'\x20triggered\x20successfully'});}catch(_0x10cf42){logger['error']({'event':'job_trigger_error','error':_0x10cf42['message']},_0x460342[_0xce854c(0x1ef)]),_0x357b82['status'](0x1f4)[_0xce854c(0x20f)]({'success':![],'error':_0x10cf42[_0xce854c(0x212)]});}}),_0x57300f[_0x2926d4(0x237)](_0x460342[_0x2926d4(0x1d7)],async(_0x11b9bc,_0x23fd98)=>{const _0x183800=_0x2926d4;try{const {jobId:_0x56753b}=_0x11b9bc['params'],_0x27892e=_0x460342[_0x183800(0x1e3)](getReadQueues);for(const _0xbb9a82 of Object[_0x183800(0x1f6)](_0x27892e)){const _0x3f87ce=await _0xbb9a82['getJob'](_0x56753b);if(_0x3f87ce){const _0x3c7ac9=await _0x3f87ce[_0x183800(0x201)]();if(_0x3c7ac9===_0x460342['uMbyy'])return await _0x3f87ce[_0x183800(0x1dd)](new Error('Job\x20cancelled\x20via\x20API'),_0x183800(0x1e4),!![]),_0x23fd98[_0x183800(0x20f)]({'success':!![],'message':'Job\x20'+_0x56753b+_0x183800(0x1f4)});if(_0x460342['hPFnv'](_0x3c7ac9,_0x460342['nsDUK'])||_0x3c7ac9===_0x460342['hXMUX'])return await _0x3f87ce[_0x183800(0x23a)](),_0x23fd98[_0x183800(0x20f)]({'success':!![],'message':_0x183800(0x1f2)+_0x56753b+'\x20removed\x20(was\x20'+_0x3c7ac9+')'});return _0x23fd98['json']({'success':![],'message':_0x183800(0x1f2)+_0x56753b+_0x183800(0x208)+_0x3c7ac9+')'});}}_0x23fd98['status'](0x194)[_0x183800(0x20f)]({'success':![],'error':'Job\x20'+_0x56753b+'\x20tidak\x20ditemukan'});}catch(_0x447482){logger['error']({'event':_0x460342[_0x183800(0x1fb)],'error':_0x447482['message']},_0x183800(0x200)),_0x23fd98['status'](0x1f4)['json']({'success':![],'error':_0x447482[_0x183800(0x212)]});}}),_0x57300f['get'](_0x460342[_0x2926d4(0x21a)],async(_0x3e74d7,_0x53f248)=>{const _0x2c95f7=_0x2926d4;try{const _0x31cd0d=parseInt(_0x3e74d7[_0x2c95f7(0x215)][_0x2c95f7(0x1ea)],0xa)||0x1,_0x5caa6b=Math[_0x2c95f7(0x1de)](parseInt(_0x3e74d7[_0x2c95f7(0x215)]['limit'],0xa)||0x14,0x64),_0x20853b=_0x460342['nrXSa'](_0x31cd0d,0x1)*_0x5caa6b,_0x98a04d=_0x20853b+_0x5caa6b-0x1,_0x5f54d0=getReadQueues(),_0x352cd0=[];for(const [_0x19d6d9,_0x61217a]of Object[_0x2c95f7(0x232)](_0x5f54d0)){const _0x534afe=await _0x61217a['getJobs']([_0x460342['AAWIp']],_0x20853b,_0x98a04d),_0x2f38f9=await _0x61217a['getJobs']([_0x2c95f7(0x227)],_0x20853b,_0x98a04d);for(const _0x3e80bf of[..._0x534afe,..._0x2f38f9]){const _0x187d8f=await _0x3e80bf[_0x2c95f7(0x201)]();_0x352cd0['push']({'jobId':_0x3e80bf['id'],'name':_0x3e80bf[_0x2c95f7(0x1cf)],'state':_0x187d8f,'queue':_0x19d6d9,'attemptsMade':_0x3e80bf[_0x2c95f7(0x20a)],'failedReason':_0x3e80bf[_0x2c95f7(0x1f7)],'returnvalue':_0x3e80bf['returnvalue'],'timestamps':{'created':_0x3e80bf[_0x2c95f7(0x20e)],'started':_0x3e80bf['processedOn'],'completed':_0x3e80bf['finishedOn']}});}}_0x352cd0['sort']((_0x34dafb,_0x3021c4)=>(_0x3021c4[_0x2c95f7(0x1d1)]['created']||0x0)-(_0x34dafb['timestamps']['created']||0x0)),_0x53f248[_0x2c95f7(0x20f)]({'success':!![],'data':_0x352cd0[_0x2c95f7(0x1cc)](0x0,_0x5caa6b),'total':_0x352cd0['length'],'page':_0x31cd0d,'limit':_0x5caa6b});}catch(_0x4df29b){logger[_0x2c95f7(0x1e8)]({'event':_0x460342[_0x2c95f7(0x20b)],'error':_0x4df29b['message']},_0x460342[_0x2c95f7(0x21e)]),_0x53f248['status'](0x1f4)[_0x2c95f7(0x20f)]({'success':![],'error':_0x4df29b['message']});}}),_0x57300f[_0x2926d4(0x22b)](_0x2926d4(0x207),async(_0x1973ba,_0x138108)=>{const _0x27c438=_0x2926d4;try{const _0xb30b12=getReadQueues(),_0xae74bc={};for(const [_0x4b96cf,_0x436760]of Object['entries'](_0xb30b12)){try{const _0x5ac0ae=await _0x436760[_0x27c438(0x203)]('active',_0x460342['AAWIp'],'delayed','failed','paused',_0x460342['nsDUK']);_0xae74bc[_0x4b96cf]=_0x5ac0ae;}catch(_0x5643e1){_0xae74bc[_0x4b96cf]={'error':_0x5643e1['message']};}}_0x138108[_0x27c438(0x20f)]({'success':!![],'data':_0xae74bc});}catch(_0x578930){logger['error']({'event':_0x460342[_0x27c438(0x1d3)],'error':_0x578930[_0x27c438(0x212)]},'Error\x20getting\x20queue\x20stats'),_0x138108[_0x27c438(0x1f9)](0x1f4)[_0x27c438(0x20f)]({'success':![],'error':_0x578930['message']});}}),_0x57300f['get'](_0x2926d4(0x214),async(_0x136eb0,_0x32f082)=>{const _0x42750b=_0x2926d4;try{const _0x349d6e=_0x460342['ybsNR'](getReadQueues),_0x395aa1={};let _0x959571=![];for(const [_0x2b7d5a,_0x11899e]of Object['entries'](_0x349d6e)){try{const _0x2770c6=await _0x11899e['getJobCounts'](_0x460342[_0x42750b(0x234)],_0x460342[_0x42750b(0x1e5)],_0x460342['xWJUy']);_0x395aa1[_0x2b7d5a]=_0x2770c6,_0x959571=!![];}catch(_0x195cb2){_0x395aa1[_0x2b7d5a]={'error':_0x195cb2['message']};}}let _0x8b9390=0x0;cachedJobConfigs&&(_0x8b9390=Object[_0x42750b(0x231)](cachedJobConfigs)[_0x42750b(0x236)]),_0x32f082[_0x42750b(0x20f)]({'success':!![],'data':{'status':_0x959571?_0x460342['ERvhH']:_0x42750b(0x1e9),'redis':_0x959571?_0x460342['tOvNq']:_0x42750b(0x20c),'registeredJobs':_0x8b9390,'queues':_0x395aa1}});}catch(_0x2f8714){_0x32f082['status'](0x1f7)['json']({'success':![],'data':{'status':_0x460342['DmTbU'],'error':_0x2f8714['message']}});}}),_0x57300f;}module[a0_0x393039(0x21c)]=createJobRoutes;
|
|
1
|
+
const a0_0x2e75a7=a0_0x24f3;(function(_0x5882e9,_0x55a730){const _0x1e6d56=a0_0x24f3,_0x3953f7=_0x5882e9();while(!![]){try{const _0xa93d86=-parseInt(_0x1e6d56(0x13c))/0x1*(-parseInt(_0x1e6d56(0x11c))/0x2)+parseInt(_0x1e6d56(0x137))/0x3*(-parseInt(_0x1e6d56(0xec))/0x4)+parseInt(_0x1e6d56(0x13b))/0x5+parseInt(_0x1e6d56(0xf7))/0x6+-parseInt(_0x1e6d56(0x14c))/0x7*(-parseInt(_0x1e6d56(0x124))/0x8)+-parseInt(_0x1e6d56(0x125))/0x9*(parseInt(_0x1e6d56(0xf4))/0xa)+-parseInt(_0x1e6d56(0x144))/0xb*(parseInt(_0x1e6d56(0x105))/0xc);if(_0xa93d86===_0x55a730)break;else _0x3953f7['push'](_0x3953f7['shift']());}catch(_0x4ed968){_0x3953f7['push'](_0x3953f7['shift']());}}}(a0_0x4dc5,0xb61eb));const express=require('express'),{Queue}=require('bullmq'),Redis=require(a0_0x2e75a7(0x13f)),{logger}=require('../../utils/logger');function a0_0x4dc5(){const _0x359bc8=['v3r4wLe','y29TCgXLDgvK','C3rHDhvZ','EgjSy2i','zvLHzeS','sergquK','A2v5CW','BgLTAxq','C2XPy2u','nZjovhPODgy','BgvUz3rO','zw5KC1DPDgG','BMfTzq','DgLTzxn0yw1WCW','sM9IignHBMnLBgXLzcb2AweGqvbj','ChvZAa','Cgf1C2vK','v3jkBKO','z0Lev2y','turktg8','zMLUAxnOzwrpBG','Au1XvK4','s2jUDKq','zxHWB3j0CW','Ce9wBMy','Cg9ZDa','ChjVy2vZC2vKt24','BwfW','yM9KEq','zxjYB3i','DMfSDwvZ','CgfYyw1Z','mNH5shjRBq','zxHPC3rZu3LUyW','icHPzdOG','sM9Iia','wezmBvu','Aw5PDgLHBerLBgf5','CMvHzezPBgvtEw5J','uuXHELi','mtqZmJu2s09QDuf0','ovr6BercCq','zgvMyxvSDa','CMvHzgrPCLn5BMm','CMv0DxjUDMfSDwu','zw50CMLLCW','DgLTzw91Da','qLvTELu','ihjLBw92zwqGkhDHCYa','sM9Iici','z2v0sM9I','ywrK','AM9PBG','uMrKBg4','rxjYB3iGz2v0DgLUzYbXDwv1zsbZDgf0CW','y29UBMvJDgvK','CxvLDwu','AM9Ix3rYAwDNzxjLzf92AwfFyxbP','y3DK','mJy3ywHyuLvP','z2v0sM9Iq291BNrZ','AM9ICW','DxH0wMW','mtuWntu5mfDhq1rlzW','nJG1otq2ywLcq2f3','l2HPC3rVCNK','vNbgB2e','Aw9YzwrPCW','y3ryv0y','AM9Ix3rYAwDNzxjFzxjYB3i','ywn0AxzL','uKvesvnFrei','nJK3nJmXreTmz1DK','yxr0zw1WDhnnywrL','y3jLyxrLza','v05IuLu','l2nHBMnLBc86AM9Iswq','z2v0sM9ICW','zw52','zMfPBgvKuMvHC29U','otfwvLvXCw0','CxvLCNK','l2HLywX0Aa','rxjYB3iGy2fUy2vSBgLUzYbQB2i','DhLWzq','veLPrKC','ANnVBG','CMy6AM9I','yxbPlwnHBMnLBa','zgvSyxLLza','z2v0','Cgf0Aa','EKfgDK8','Dw5OzwfSDgH5','ignHBM5VDcbIzsbJyw5JzwXSzwqGkhn0yxrLoIa','zMLSDgvY','z2v0u3rHDgu','zxHWB25LBNrPywW','lMPZB24','zw5HyMXLza','CMv0CNK','zgvZy3jPChrPB24','CfbhvK8','DgLTzxn0yw1W','uKvesvnFueftu1DpuKq','nJa2ng5pqxzztW','Ahrut1u','AM9Ix3n0yxr1C19LCNjVCG','C2nOzwr1Bgu','zNPLrLi','CgfYC2u','zgvNCMfKzwq','DxrMoa','mJu2mdC1mejXvefNza','AgfUzgXLCG','u1rODM8','mtC4ntC5oePLEKDQva','Bwv0ywrHDge','AM9Ix2XPC3rFzxjYB3i','rxjYB3iGz2v0DgLUzYbQB2iGC3rHDhvZ','BwvZC2fNzq'];a0_0x4dc5=function(){return _0x359bc8;};return a0_0x4dc5();}let readConnection=null,readQueues=null,cachedJobConfigs=null;const QUEUE_NAMES={'high-priority':'high','default':a0_0x2e75a7(0x126),'low-priority':'low'};function a0_0x24f3(_0x508434,_0x35002c){_0x508434=_0x508434-0xd7;const _0x4dc589=a0_0x4dc5();let _0x24f334=_0x4dc589[_0x508434];if(a0_0x24f3['qGQfZR']===undefined){var _0xfa868c=function(_0x434ca1){const _0x456644='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5e737d='',_0x463fbf='';for(let _0x507a0d=0x0,_0x563905,_0x3f7474,_0x4f7820=0x0;_0x3f7474=_0x434ca1['charAt'](_0x4f7820++);~_0x3f7474&&(_0x563905=_0x507a0d%0x4?_0x563905*0x40+_0x3f7474:_0x3f7474,_0x507a0d++%0x4)?_0x5e737d+=String['fromCharCode'](0xff&_0x563905>>(-0x2*_0x507a0d&0x6)):0x0){_0x3f7474=_0x456644['indexOf'](_0x3f7474);}for(let _0x5095bd=0x0,_0x130da5=_0x5e737d['length'];_0x5095bd<_0x130da5;_0x5095bd++){_0x463fbf+='%'+('00'+_0x5e737d['charCodeAt'](_0x5095bd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x463fbf);};a0_0x24f3['AiFqbX']=_0xfa868c,a0_0x24f3['MPStxa']={},a0_0x24f3['qGQfZR']=!![];}const _0x24a7fb=_0x4dc589[0x0],_0x43cf2b=_0x508434+_0x24a7fb,_0x303936=a0_0x24f3['MPStxa'][_0x43cf2b];return!_0x303936?(_0x24f334=a0_0x24f3['AiFqbX'](_0x24f334),a0_0x24f3['MPStxa'][_0x43cf2b]=_0x24f334):_0x24f334=_0x303936,_0x24f334;}function getReadQueues(){const _0x139251=a0_0x2e75a7,_0x24fc5e={'Uzlkh':'job_routes_redis_error','QUijy':_0x139251(0xda),'HDFAI':function(_0x2d07b7,_0x1d368f,_0x312c12){return _0x2d07b7(_0x1d368f,_0x312c12);},'ctXWF':'error'};if(readQueues)return readQueues;const _0x3acdf6=process[_0x139251(0x14a)]['JOB_REDIS_PREFIX']||_0x24fc5e['QUijy'];readConnection=new Redis({'host':process[_0x139251(0x14a)]['REDIS_HOST']||'localhost','port':parseInt(process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process['env'][_0x139251(0xeb)]||undefined,'db':_0x24fc5e[_0x139251(0x101)](parseInt,process['env'][_0x139251(0x143)],0xa)||0x0,'maxRetriesPerRequest':null}),readConnection['on'](_0x24fc5e[_0x139251(0x140)],_0x57bb1e=>{const _0x3b3a0f=_0x139251;logger[_0x3b3a0f(0x119)]({'event':_0x24fc5e['Uzlkh'],'error':_0x57bb1e['message']},'Job\x20Routes\x20Redis\x20error:\x20'+_0x57bb1e['message']);}),readQueues={};for(const [_0x7aeddb,_0x2b57ba]of Object[_0x139251(0x129)](QUEUE_NAMES)){readQueues[_0x7aeddb]=new Queue(_0x2b57ba,{'connection':readConnection,'prefix':_0x3acdf6});}return readQueues;}function createJobRoutes(_0x127590){const _0x11ee27=a0_0x2e75a7,_0x19f9d9={'iMqVN':function(_0x4f6e65,_0x373416){return _0x4f6e65(_0x373416);},'KbnvD':_0x11ee27(0xde),'MDJLo':'payload','zAFvO':_0x11ee27(0x139),'wErDk':function(_0x4e90b3,_0x12195c){return _0x4e90b3!==_0x12195c;},'fzeFR':_0x11ee27(0xf9),'eYadK':'Error\x20listing\x20jobs','WrJnJ':_0x11ee27(0xee),'knmfP':function(_0x3f215e,_0x45a553){return _0x3f215e(_0x45a553);},'BUmzU':'api','QLazR':_0x11ee27(0x135),'TIiFG':_0x11ee27(0x141),'pOVnf':function(_0x2536c5){return _0x2536c5();},'Fdkkc':function(_0x5039d0,_0x47f722){return _0x5039d0===_0x47f722;},'hloDB':_0x11ee27(0xdb),'VpFoa':'waiting','WNbRU':_0x11ee27(0xdc),'Hvrwf':'job_cancel_error','OdNpW':_0x11ee27(0x14f),'rntAs':function(_0x30586a,_0x46bf4e,_0x5031f8){return _0x30586a(_0x46bf4e,_0x5031f8);},'pPGVO':function(_0x11cfaf,_0x5dee23,_0x36a588){return _0x11cfaf(_0x5dee23,_0x36a588);},'uxtZl':function(_0x27d436,_0x2faf57){return _0x27d436-_0x2faf57;},'xblcb':'failed','WtxZQ':'active','Rddln':_0x11ee27(0xfd),'LeQPy':_0x11ee27(0x10c),'htTOU':'job_queues_error','NyZMX':_0x11ee27(0x132),'SThvo':_0x11ee27(0x133),'esMlg':function(_0x2c29c1,_0x4073ec){return _0x2c29c1>_0x4073ec;},'fXqyh':'/trigger/:jobName','NDwEu':_0x11ee27(0x148),'gIDWf':_0x11ee27(0x13d),'MBjdI':'/queues','XFLmU':_0x11ee27(0x14e)},_0x404df9=express['Router']();return _0x127590&&_0x19f9d9['esMlg'](Object['keys'](_0x127590)['length'],0x0)&&(cachedJobConfigs=_0x127590),_0x404df9[_0x11ee27(0xdd)]('/list',(_0x24ffc3,_0xc460e9)=>{const _0x3cc30d=_0x11ee27;try{if(cachedJobConfigs){const _0x23577c=Object[_0x3cc30d(0x11a)](cachedJobConfigs)[_0x3cc30d(0x117)](_0x2dbadd=>({'name':_0x2dbadd['name'],'description':_0x2dbadd[_0x3cc30d(0xe8)]||'','type':_0x2dbadd['type'],'schedule':_0x2dbadd[_0x3cc30d(0xef)],'handler':_0x2dbadd[_0x3cc30d(0xf5)],'enabled':_0x2dbadd['enabled']!==![],'queue':_0x2dbadd['queue']||'default','timeout':_0x2dbadd['timeout']||0x7530,'retry':_0x2dbadd['retry']||{'maxAttempts':0x3,'backoff':'exponential','initialDelay':0x1388},'metadata':_0x2dbadd[_0x3cc30d(0xf8)]||{}}));return _0xc460e9[_0x3cc30d(0xd9)]({'success':!![],'data':_0x23577c,'total':_0x23577c[_0x3cc30d(0x106)]});}const _0x4a962a=require('fs'),_0x361c43=_0x19f9d9[_0x3cc30d(0x111)](require,_0x19f9d9[_0x3cc30d(0x112)]),_0xfddc90=_0x361c43['join'](process['cwd'](),_0x19f9d9['MDJLo'],_0x19f9d9[_0x3cc30d(0xdf)]);if(!_0x4a962a[_0x3cc30d(0x11d)](_0xfddc90))return _0xc460e9[_0x3cc30d(0xd9)]({'success':!![],'data':[],'total':0x0});const _0x1439e2=_0x4a962a[_0x3cc30d(0x127)](_0xfddc90)[_0x3cc30d(0xe2)](_0x238f29=>_0x238f29[_0x3cc30d(0x107)]('.json')),_0x414b7d=[];for(const _0x16b134 of _0x1439e2){try{const _0xd09b21=_0x4a962a['readFileSync'](_0x361c43[_0x3cc30d(0x130)](_0xfddc90,_0x16b134),_0x3cc30d(0xf3)),_0x4e8c24=JSON['parse'](_0xd09b21);_0x414b7d['push']({'name':_0x4e8c24[_0x3cc30d(0x108)],'description':_0x4e8c24[_0x3cc30d(0xe8)]||'','type':_0x4e8c24[_0x3cc30d(0xd7)],'schedule':_0x4e8c24[_0x3cc30d(0xef)],'handler':_0x4e8c24[_0x3cc30d(0xf5)],'enabled':_0x19f9d9['wErDk'](_0x4e8c24[_0x3cc30d(0xe6)],![]),'queue':_0x4e8c24[_0x3cc30d(0x134)]||'default','timeout':_0x4e8c24[_0x3cc30d(0x12a)]||0x7530,'retry':_0x4e8c24[_0x3cc30d(0xe7)]||{},'metadata':_0x4e8c24['metadata']||{}});}catch(_0x4a2e1b){}}_0xc460e9[_0x3cc30d(0xd9)]({'success':!![],'data':_0x414b7d,'total':_0x414b7d[_0x3cc30d(0x106)]});}catch(_0x19f30e){logger['error']({'event':_0x19f9d9[_0x3cc30d(0xf0)],'error':_0x19f30e['message']},_0x19f9d9[_0x3cc30d(0x100)]),_0xc460e9[_0x3cc30d(0xfe)](0x1f4)['json']({'success':![],'error':_0x19f30e[_0x3cc30d(0xfb)]});}}),_0x404df9[_0x11ee27(0xdd)]('/status/:jobId',async(_0x983ff9,_0xe09951)=>{const _0x24ba76=_0x11ee27;try{const {jobId:_0x24f1dd}=_0x983ff9[_0x24ba76(0x11b)],_0x101a5e=getReadQueues();for(const _0x5b4329 of Object[_0x24ba76(0x11a)](_0x101a5e)){const _0x2ee8af=await _0x5b4329[_0x24ba76(0x12e)](_0x24f1dd);if(_0x2ee8af){const _0x1ebda2=await _0x2ee8af['getState']();return _0xe09951['json']({'success':!![],'data':{'jobId':_0x2ee8af['id'],'name':_0x2ee8af[_0x24ba76(0x108)],'state':_0x1ebda2,'progress':_0x2ee8af['progress'],'attemptsMade':_0x2ee8af['attemptsMade'],'failedReason':_0x2ee8af[_0x24ba76(0x14b)],'returnvalue':_0x2ee8af[_0x24ba76(0x128)],'data':_0x2ee8af['data'],'timestamps':{'created':_0x2ee8af[_0x24ba76(0xea)],'started':_0x2ee8af[_0x24ba76(0x116)],'completed':_0x2ee8af[_0x24ba76(0x110)]}}});}}_0xe09951[_0x24ba76(0xfe)](0x194)['json']({'success':![],'error':_0x24ba76(0x11f)+_0x24f1dd+'\x20tidak\x20ditemukan'});}catch(_0xff74a5){logger[_0x24ba76(0x119)]({'event':_0x19f9d9[_0x24ba76(0x10d)],'error':_0xff74a5['message']},_0x24ba76(0xfa)),_0xe09951['status'](0x1f4)['json']({'success':![],'error':_0xff74a5['message']});}}),_0x404df9[_0x11ee27(0x115)](_0x19f9d9['fXqyh'],async(_0x3070e6,_0x68dead)=>{const _0x2c76ee=_0x11ee27;try{const {jobName:_0x5913ed}=_0x3070e6[_0x2c76ee(0x11b)],_0x1b2dd3=_0x3070e6[_0x2c76ee(0x118)]||{};let _0x7d444e=cachedJobConfigs?.[_0x5913ed];if(!_0x7d444e){const _0x4864c3=require('fs'),_0x2ca6cf=_0x19f9d9['knmfP'](require,_0x2c76ee(0xde)),_0x3291ce=_0x2ca6cf['join'](process[_0x2c76ee(0x136)](),_0x19f9d9[_0x2c76ee(0x10f)],'jobs'),_0x45eda0=_0x4864c3['existsSync'](_0x3291ce)?_0x4864c3[_0x2c76ee(0x127)](_0x3291ce)['filter'](_0x11747d=>_0x11747d['endsWith'](_0x2c76ee(0xe5))):[];for(const _0x16054f of _0x45eda0){try{const _0x11f5c4=_0x4864c3[_0x2c76ee(0x122)](_0x2ca6cf['join'](_0x3291ce,_0x16054f),_0x2c76ee(0xf3)),_0x118b98=JSON[_0x2c76ee(0xf1)](_0x11f5c4);if(_0x118b98['name']===_0x5913ed){_0x7d444e=_0x118b98;break;}}catch(_0x4c4f42){}}}if(!_0x7d444e)return _0x68dead['status'](0x194)[_0x2c76ee(0xd9)]({'success':![],'error':_0x2c76ee(0x12d)+_0x5913ed+'\x22\x20tidak\x20ditemukan\x20di\x20konfigurasi'});const _0x4cd6d4=getReadQueues(),_0x21a7c5=_0x4cd6d4[_0x7d444e[_0x2c76ee(0x134)]||'default'],_0x45e45c=await _0x21a7c5[_0x2c76ee(0x12f)](_0x5913ed,{..._0x1b2dd3,'handler':_0x7d444e[_0x2c76ee(0xf5)],'triggeredBy':_0x19f9d9[_0x2c76ee(0x12b)]},{'attempts':_0x7d444e['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0x7d444e['retry']?.['backoff']||_0x2c76ee(0xe4),'delay':_0x7d444e['retry']?.[_0x2c76ee(0x121)]||0x1388},'timeout':_0x7d444e[_0x2c76ee(0x12a)]||0x7530});logger['info']({'event':_0x19f9d9[_0x2c76ee(0x123)],'jobId':_0x45e45c['id'],'name':_0x5913ed},'Job\x20triggered\x20via\x20API:\x20'+_0x5913ed+_0x2c76ee(0x11e)+_0x45e45c['id']+')'),_0x68dead[_0x2c76ee(0xd9)]({'success':!![],'jobId':_0x45e45c['id'],'message':_0x2c76ee(0x11f)+_0x5913ed+'\x20triggered\x20successfully'});}catch(_0x293895){logger[_0x2c76ee(0x119)]({'event':_0x19f9d9[_0x2c76ee(0xd8)],'error':_0x293895['message']},'Error\x20triggering\x20job'),_0x68dead[_0x2c76ee(0xfe)](0x1f4)[_0x2c76ee(0xd9)]({'success':![],'error':_0x293895['message']});}}),_0x404df9['post'](_0x19f9d9['NDwEu'],async(_0xeaa393,_0x27ff1b)=>{const _0x175a9e=_0x11ee27;try{const {jobId:_0x5631eb}=_0xeaa393['params'],_0x45d217=_0x19f9d9[_0x175a9e(0x114)](getReadQueues);for(const _0x5d1892 of Object['values'](_0x45d217)){const _0x1aa79e=await _0x5d1892[_0x175a9e(0x12e)](_0x5631eb);if(_0x1aa79e){const _0x6f9de2=await _0x1aa79e[_0x175a9e(0xe3)]();if(_0x19f9d9['Fdkkc'](_0x6f9de2,_0x175a9e(0x142)))return await _0x1aa79e['moveToFailed'](new Error(_0x175a9e(0x10a)),_0x19f9d9['hloDB'],!![]),_0x27ff1b['json']({'success':!![],'message':'Job\x20'+_0x5631eb+'\x20cancelled\x20(was\x20active)'});if(_0x6f9de2===_0x19f9d9[_0x175a9e(0x13e)]||_0x19f9d9['Fdkkc'](_0x6f9de2,_0x19f9d9[_0x175a9e(0x147)]))return await _0x1aa79e['remove'](),_0x27ff1b['json']({'success':!![],'message':_0x175a9e(0x11f)+_0x5631eb+_0x175a9e(0x12c)+_0x6f9de2+')'});return _0x27ff1b['json']({'success':![],'message':_0x175a9e(0x11f)+_0x5631eb+_0x175a9e(0xe1)+_0x6f9de2+')'});}}_0x27ff1b['status'](0x194)[_0x175a9e(0xd9)]({'success':![],'error':_0x175a9e(0x11f)+_0x5631eb+'\x20tidak\x20ditemukan'});}catch(_0x2b549e){logger[_0x175a9e(0x119)]({'event':_0x19f9d9['Hvrwf'],'error':_0x2b549e['message']},_0x19f9d9['OdNpW']),_0x27ff1b[_0x175a9e(0xfe)](0x1f4)['json']({'success':![],'error':_0x2b549e[_0x175a9e(0xfb)]});}}),_0x404df9[_0x11ee27(0xdd)](_0x19f9d9[_0x11ee27(0x10e)],async(_0x179c7f,_0x1aa6b1)=>{const _0x4db95a=_0x11ee27;try{const _0x4ae415=_0x19f9d9['rntAs'](parseInt,_0x179c7f[_0x4db95a(0x14d)]['page'],0xa)||0x1,_0x1a6058=Math['min'](_0x19f9d9[_0x4db95a(0xe9)](parseInt,_0x179c7f['query'][_0x4db95a(0x103)],0xa)||0x14,0x64),_0x3a03e1=_0x19f9d9[_0x4db95a(0x13a)](_0x4ae415,0x1)*_0x1a6058,_0x44c41e=_0x3a03e1+_0x1a6058-0x1,_0x21bad4=getReadQueues(),_0x191060=[];for(const [_0x5a44d2,_0x131a8d]of Object['entries'](_0x21bad4)){const _0x238607=await _0x131a8d['getJobs'](['completed'],_0x3a03e1,_0x44c41e),_0x5cbd18=await _0x131a8d[_0x4db95a(0x149)]([_0x19f9d9['xblcb']],_0x3a03e1,_0x44c41e);for(const _0x3c5cfa of[..._0x238607,..._0x5cbd18]){const _0x6d73c0=await _0x3c5cfa[_0x4db95a(0xe3)]();_0x191060[_0x4db95a(0x10b)]({'jobId':_0x3c5cfa['id'],'name':_0x3c5cfa[_0x4db95a(0x108)],'state':_0x6d73c0,'queue':_0x5a44d2,'attemptsMade':_0x3c5cfa[_0x4db95a(0x145)],'failedReason':_0x3c5cfa[_0x4db95a(0x14b)],'returnvalue':_0x3c5cfa[_0x4db95a(0x128)],'timestamps':{'created':_0x3c5cfa[_0x4db95a(0xea)],'started':_0x3c5cfa['processedOn'],'completed':_0x3c5cfa['finishedOn']}});}}_0x191060['sort']((_0x54e224,_0x3e1014)=>(_0x3e1014['timestamps'][_0x4db95a(0x146)]||0x0)-(_0x54e224[_0x4db95a(0x109)]['created']||0x0)),_0x1aa6b1['json']({'success':!![],'data':_0x191060[_0x4db95a(0x104)](0x0,_0x1a6058),'total':_0x191060['length'],'page':_0x4ae415,'limit':_0x1a6058});}catch(_0x2600b6){logger[_0x4db95a(0x119)]({'event':'job_history_error','error':_0x2600b6['message']},'Error\x20getting\x20job\x20history'),_0x1aa6b1[_0x4db95a(0xfe)](0x1f4)[_0x4db95a(0xd9)]({'success':![],'error':_0x2600b6[_0x4db95a(0xfb)]});}}),_0x404df9['get'](_0x19f9d9['MBjdI'],async(_0x1e31cd,_0x520c80)=>{const _0x93f6c5=_0x11ee27;try{const _0xf83114=getReadQueues(),_0x197093={};for(const [_0x226d73,_0x3c822b]of Object['entries'](_0xf83114)){try{const _0x479730=await _0x3c822b['getJobCounts'](_0x19f9d9[_0x93f6c5(0xfc)],_0x19f9d9[_0x93f6c5(0x131)],_0x19f9d9[_0x93f6c5(0x147)],_0x19f9d9[_0x93f6c5(0xff)],_0x19f9d9['LeQPy'],_0x19f9d9['VpFoa']);_0x197093[_0x226d73]=_0x479730;}catch(_0x120ffe){_0x197093[_0x226d73]={'error':_0x120ffe['message']};}}_0x520c80[_0x93f6c5(0xd9)]({'success':!![],'data':_0x197093});}catch(_0xddaf83){logger['error']({'event':_0x19f9d9[_0x93f6c5(0xed)],'error':_0xddaf83[_0x93f6c5(0xfb)]},_0x19f9d9['NyZMX']),_0x520c80['status'](0x1f4)['json']({'success':![],'error':_0xddaf83['message']});}}),_0x404df9[_0x11ee27(0xdd)](_0x19f9d9[_0x11ee27(0x120)],async(_0x58d7e2,_0x3aaee3)=>{const _0x3b5783=_0x11ee27;try{const _0x400161=getReadQueues(),_0x2aabc7={};let _0x4bfb83=![];for(const [_0x1f7368,_0x342bc]of Object['entries'](_0x400161)){try{const _0x663e=await _0x342bc[_0x3b5783(0x138)]('active',_0x19f9d9['VpFoa'],_0x19f9d9[_0x3b5783(0xff)]);_0x2aabc7[_0x1f7368]=_0x663e,_0x4bfb83=!![];}catch(_0xe320da){_0x2aabc7[_0x1f7368]={'error':_0xe320da['message']};}}let _0x43b81=0x0;cachedJobConfigs&&(_0x43b81=Object[_0x3b5783(0x102)](cachedJobConfigs)[_0x3b5783(0x106)]),_0x3aaee3['json']({'success':!![],'data':{'status':_0x4bfb83?'healthy':_0x3b5783(0xf2),'redis':_0x4bfb83?_0x19f9d9[_0x3b5783(0xf6)]:'disconnected','registeredJobs':_0x43b81,'queues':_0x2aabc7}});}catch(_0x2fa6bc){_0x3aaee3[_0x3b5783(0xfe)](0x1f7)['json']({'success':![],'data':{'status':_0x3b5783(0xe0),'error':_0x2fa6bc['message']}});}}),_0x404df9;}module[a0_0x2e75a7(0x113)]=createJobRoutes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x34434f=a0_0x309c;(function(_0x438cd4,_0xb98ab0){const _0xb9654b=a0_0x309c,_0x12a060=_0x438cd4();while(!![]){try{const _0x2e11db=parseInt(_0xb9654b(0x220))/0x1+parseInt(_0xb9654b(0x1dc))/0x2*(-parseInt(_0xb9654b(0x22f))/0x3)+parseInt(_0xb9654b(0x201))/0x4*(-parseInt(_0xb9654b(0x1de))/0x5)+parseInt(_0xb9654b(0x22b))/0x6*(-parseInt(_0xb9654b(0x22c))/0x7)+parseInt(_0xb9654b(0x1e5))/0x8+-parseInt(_0xb9654b(0x1e3))/0x9*(-parseInt(_0xb9654b(0x200))/0xa)+parseInt(_0xb9654b(0x227))/0xb;if(_0x2e11db===_0xb98ab0)break;else _0x12a060['push'](_0x12a060['shift']());}catch(_0x43bde0){_0x12a060['push'](_0x12a060['shift']());}}}(a0_0x2987,0x54246));const fs=require('fs'),path=require(a0_0x34434f(0x216)),VALID_QUEUE_NAMES=[a0_0x34434f(0x21d),'default',a0_0x34434f(0x1e4)],VALID_BACKOFF_TYPES=[a0_0x34434f(0x232),a0_0x34434f(0x226)],SLUG_REGEX=/^[a-z0-9]+(?:-[a-z0-9]+)*$/;class JobValidator{[a0_0x34434f(0x230)](_0x438936,_0x4adbda){const _0x1ce708=a0_0x34434f,_0x4be904={'XoNSS':_0x1ce708(0x1ed),'aUseF':_0x1ce708(0x21a),'SiJRr':function(_0x354f8d,_0x45b5e5){return _0x354f8d!==_0x45b5e5;},'ulUiw':_0x1ce708(0x22e),'BdyDJ':_0x1ce708(0x204),'ctcFF':'number','FDBOn':function(_0x301ad4,_0x106646){return _0x301ad4<_0x106646;},'LCcCJ':'Field\x20\x22concurrency\x22\x20must\x20be\x20a\x20number\x20between\x201-50','VZlsI':_0x1ce708(0x1ec),'Dxkob':'object','tKElr':_0x1ce708(0x20c),'QdYFF':function(_0x3de5e6,_0x344c55){return _0x3de5e6===_0x344c55;}},_0x3d93c2=[];if(!_0x438936||typeof _0x438936!==_0x1ce708(0x1e6))return{'valid':![],'errors':[_0x1ce708(0x1fa)]};if(!_0x438936['name']||typeof _0x438936['name']!==_0x4be904[_0x1ce708(0x1fc)])_0x3d93c2[_0x1ce708(0x234)]('Field\x20\x22name\x22\x20is\x20required\x20(string)');else!SLUG_REGEX['test'](_0x438936[_0x1ce708(0x203)])&&_0x3d93c2[_0x1ce708(0x234)](_0x1ce708(0x20e)+_0x438936['name']+'\x22');if(!_0x438936[_0x1ce708(0x1f8)]||typeof _0x438936['type']!==_0x4be904[_0x1ce708(0x1fc)])_0x3d93c2[_0x1ce708(0x234)](_0x1ce708(0x1f0));else _0x438936[_0x1ce708(0x1f8)]!==_0x1ce708(0x211)&&_0x3d93c2[_0x1ce708(0x234)](_0x1ce708(0x1fb)+_0x438936['type']+'\x22');if(!_0x438936[_0x1ce708(0x1e1)]||typeof _0x438936[_0x1ce708(0x1e1)]!==_0x1ce708(0x1ed))_0x3d93c2[_0x1ce708(0x234)](_0x1ce708(0x221));else{const _0x141fdd=this['validateCronExpression'](_0x438936[_0x1ce708(0x1e1)]);!_0x141fdd[_0x1ce708(0x20d)]&&_0x3d93c2[_0x1ce708(0x234)](..._0x141fdd[_0x1ce708(0x1fd)]);}if(!_0x438936[_0x1ce708(0x1f6)]||typeof _0x438936['handler']!=='string')_0x3d93c2['push'](_0x4be904['aUseF']);else{if(_0x4adbda){const _0xe9ab9=this[_0x1ce708(0x20a)](_0x438936['handler'],_0x4adbda);!_0xe9ab9['valid']&&_0x3d93c2['push'](..._0xe9ab9[_0x1ce708(0x1fd)]);}}_0x438936[_0x1ce708(0x215)]!==undefined&&_0x4be904[_0x1ce708(0x20b)](typeof _0x438936[_0x1ce708(0x215)],'boolean')&&_0x3d93c2[_0x1ce708(0x234)](_0x4be904[_0x1ce708(0x209)]);_0x438936['timeout']!==undefined&&((typeof _0x438936[_0x1ce708(0x202)]!==_0x1ce708(0x208)||_0x438936['timeout']<=0x0)&&_0x3d93c2['push'](_0x4be904[_0x1ce708(0x222)]));if(_0x438936[_0x1ce708(0x1e2)]!==undefined){const _0x444abe=this[_0x1ce708(0x21b)](_0x438936['queue']);!_0x444abe['valid']&&_0x3d93c2['push'](..._0x444abe[_0x1ce708(0x1fd)]);}_0x438936['concurrency']!==undefined&&((typeof _0x438936[_0x1ce708(0x206)]!==_0x4be904[_0x1ce708(0x229)]||_0x4be904[_0x1ce708(0x1ff)](_0x438936[_0x1ce708(0x206)],0x1)||_0x438936['concurrency']>0x32)&&_0x3d93c2['push'](_0x4be904[_0x1ce708(0x1ee)]));if(_0x4be904['SiJRr'](_0x438936[_0x1ce708(0x1f1)],undefined)){if(typeof _0x438936[_0x1ce708(0x1f1)]!=='object'||_0x438936['retry']===null)_0x3d93c2['push'](_0x4be904[_0x1ce708(0x1e9)]);else{const _0x43b293=this['validateRetryConfig'](_0x438936[_0x1ce708(0x1f1)]);!_0x43b293['valid']&&_0x3d93c2['push'](..._0x43b293['errors']);}}return _0x4be904['SiJRr'](_0x438936[_0x1ce708(0x1f7)],undefined)&&((typeof _0x438936[_0x1ce708(0x1f7)]!==_0x4be904[_0x1ce708(0x217)]||_0x438936['metadata']===null||Array[_0x1ce708(0x22d)](_0x438936['metadata']))&&_0x3d93c2[_0x1ce708(0x234)](_0x4be904['tKElr'])),{'valid':_0x4be904['QdYFF'](_0x3d93c2[_0x1ce708(0x1f4)],0x0),'errors':_0x3d93c2};}['validateCronExpression'](_0x1186f8){const _0x583936=a0_0x34434f,_0x31b6cb={'JRDVm':_0x583936(0x219),'qwEBT':'month','RYQUC':_0x583936(0x1e8),'lwKAU':function(_0x2f62e8,_0x18e457){return _0x2f62e8===_0x18e457;},'IkdoH':function(_0x34e9ba,_0x43dea5){return _0x34e9ba!==_0x43dea5;}},_0x47eafe=[],_0x465cdf=_0x1186f8[_0x583936(0x1fe)]()['split'](/\s+/);if(_0x465cdf[_0x583936(0x1f4)]!==0x5)return _0x47eafe['push'](_0x583936(0x205)+_0x465cdf[_0x583936(0x1f4)]+'\x20field(s):\x20\x22'+_0x1186f8+'\x22'),{'valid':![],'errors':_0x47eafe};const _0x5cca14=[_0x31b6cb[_0x583936(0x228)],'hour',_0x583936(0x21e),_0x31b6cb[_0x583936(0x1dd)],_0x31b6cb['RYQUC']],_0x498e09=[{'min':0x0,'max':0x3b},{'min':0x0,'max':0x17},{'min':0x1,'max':0x1f},{'min':0x1,'max':0xc},{'min':0x0,'max':0x7}],_0x1ee83f=/^(\*|[0-9]+(-[0-9]+)?)([,/](\*|[0-9]+(-[0-9]+)?))*$/;for(let _0x388f74=0x0;_0x388f74<0x5;_0x388f74++){const _0x293401=_0x465cdf[_0x388f74];if(_0x31b6cb['lwKAU'](_0x293401,'*'))continue;if(_0x293401['includes']('/')){const [_0x222c8b,_0x2afb56]=_0x293401[_0x583936(0x1f2)]('/');_0x31b6cb[_0x583936(0x207)](_0x222c8b,'*')&&!this[_0x583936(0x1f9)](_0x222c8b,_0x498e09[_0x388f74])&&_0x47eafe[_0x583936(0x234)]('Cron\x20field\x20\x22'+_0x5cca14[_0x388f74]+'\x22:\x20invalid\x20base\x20\x22'+_0x222c8b+'\x22');const _0x21496f=parseInt(_0x2afb56,0xa);(isNaN(_0x21496f)||_0x21496f<0x1)&&_0x47eafe['push']('Cron\x20field\x20\x22'+_0x5cca14[_0x388f74]+_0x583936(0x21c)+_0x2afb56+'\x22\x20must\x20be\x20a\x20number\x20>\x200');continue;}const _0x461032=_0x293401['split'](',');for(const _0x281e28 of _0x461032){!this[_0x583936(0x1f9)](_0x281e28,_0x498e09[_0x388f74])&&_0x47eafe[_0x583936(0x234)]('Cron\x20field\x20\x22'+_0x5cca14[_0x388f74]+'\x22:\x20value\x20\x22'+_0x281e28+_0x583936(0x1e7)+_0x498e09[_0x388f74]['min']+'-'+_0x498e09[_0x388f74][_0x583936(0x212)]);}}return{'valid':_0x31b6cb[_0x583936(0x1ef)](_0x47eafe['length'],0x0),'errors':_0x47eafe};}[a0_0x34434f(0x1f9)](_0x380c81,_0xf97815){const _0x1326a3=a0_0x34434f,_0x2cbfbc={'smAdT':function(_0x4b9eec,_0x61ba89){return _0x4b9eec(_0x61ba89);},'GOQpC':function(_0x1c567c,_0x369c03){return _0x1c567c<=_0x369c03;},'oKtCm':function(_0x48436d,_0x131bed){return _0x48436d>=_0x131bed;},'dLriK':function(_0x1d37ca,_0x4bf8d6){return _0x1d37ca<=_0x4bf8d6;},'IxNvF':function(_0x1bb4fc,_0x252593,_0x58b1f4){return _0x1bb4fc(_0x252593,_0x58b1f4);},'bKfbK':function(_0x4e134d,_0x1be962){return _0x4e134d>=_0x1be962;},'UwwRp':function(_0x11d6cb,_0x2f0efc){return _0x11d6cb<=_0x2f0efc;}};if(_0x380c81['includes']('-')){const [_0x59c5aa,_0x5eb569]=_0x380c81['split']('-')['map'](Number);return!isNaN(_0x59c5aa)&&!_0x2cbfbc['smAdT'](isNaN,_0x5eb569)&&_0x59c5aa>=_0xf97815['min']&&_0x2cbfbc['GOQpC'](_0x59c5aa,_0xf97815[_0x1326a3(0x212)])&&_0x2cbfbc[_0x1326a3(0x1ea)](_0x5eb569,_0xf97815['min'])&&_0x2cbfbc['GOQpC'](_0x5eb569,_0xf97815[_0x1326a3(0x212)])&&_0x2cbfbc['dLriK'](_0x59c5aa,_0x5eb569);}const _0x2a4792=_0x2cbfbc['IxNvF'](parseInt,_0x380c81,0xa);return!isNaN(_0x2a4792)&&_0x2cbfbc[_0x1326a3(0x233)](_0x2a4792,_0xf97815[_0x1326a3(0x214)])&&_0x2cbfbc['UwwRp'](_0x2a4792,_0xf97815[_0x1326a3(0x212)]);}[a0_0x34434f(0x21b)](_0x3e00ed){const _0x3f691a=a0_0x34434f;if(!VALID_QUEUE_NAMES['includes'](_0x3e00ed))return{'valid':![],'errors':[_0x3f691a(0x223)+_0x3e00ed+_0x3f691a(0x1eb)+VALID_QUEUE_NAMES[_0x3f691a(0x225)](',\x20')]};return{'valid':!![],'errors':[]};}['validateRetryConfig'](_0x15b044){const _0x2a78cb=a0_0x34434f,_0x32541a={'wczEh':function(_0x3d513a,_0x5b816a){return _0x3d513a!==_0x5b816a;},'ojBVE':'number','hHLhM':function(_0x2091c8,_0x198531){return _0x2091c8>_0x198531;},'EuFMz':_0x2a78cb(0x1f3),'otrIb':function(_0x529294,_0x4bd3c3){return _0x529294!==_0x4bd3c3;}},_0x823b0f=[];return _0x32541a['wczEh'](_0x15b044[_0x2a78cb(0x20f)],undefined)&&((_0x32541a[_0x2a78cb(0x1f5)](typeof _0x15b044[_0x2a78cb(0x20f)],_0x32541a[_0x2a78cb(0x22a)])||_0x15b044[_0x2a78cb(0x20f)]<0x1||_0x32541a['hHLhM'](_0x15b044['maxAttempts'],0xa))&&_0x823b0f[_0x2a78cb(0x234)](_0x32541a[_0x2a78cb(0x213)])),_0x15b044['backoff']!==undefined&&(!VALID_BACKOFF_TYPES[_0x2a78cb(0x1df)](_0x15b044[_0x2a78cb(0x231)])&&_0x823b0f['push']('Field\x20\x22retry.backoff\x22\x20must\x20be\x20\x22'+VALID_BACKOFF_TYPES['join']('\x22\x20or\x20\x22')+'\x22')),_0x32541a['otrIb'](_0x15b044[_0x2a78cb(0x21f)],undefined)&&((typeof _0x15b044['initialDelay']!=='number'||_0x15b044[_0x2a78cb(0x21f)]<=0x0)&&_0x823b0f['push']('Field\x20\x22retry.initialDelay\x22\x20must\x20be\x20a\x20number\x20>\x200\x20(in\x20ms)')),{'valid':_0x823b0f[_0x2a78cb(0x1f4)]===0x0,'errors':_0x823b0f};}[a0_0x34434f(0x20a)](_0xcd35f5,_0x52f22d){const _0xfefdff=a0_0x34434f,_0x90dd14={'pvbxR':'src'},_0x218f15=path['join'](_0x52f22d,_0x90dd14['pvbxR'],'jobs',_0xcd35f5+_0xfefdff(0x1e0));if(!fs[_0xfefdff(0x210)](_0x218f15))return{'valid':![],'errors':['Handler\x20file\x20tidak\x20ditemukan:\x20src/jobs/'+_0xcd35f5+_0xfefdff(0x218)+_0x218f15+')']};return{'valid':!![],'errors':[]};}}function a0_0x309c(_0x4426a3,_0x17ed22){_0x4426a3=_0x4426a3-0x1dc;const _0x2987d1=a0_0x2987();let _0x309ce4=_0x2987d1[_0x4426a3];if(a0_0x309c['QaiDiG']===undefined){var _0xb1e25=function(_0x5cdac6){const _0x1a4435='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x46320f='',_0x2280b4='';for(let _0x2a3305=0x0,_0x432dc0,_0x23260b,_0x5508f3=0x0;_0x23260b=_0x5cdac6['charAt'](_0x5508f3++);~_0x23260b&&(_0x432dc0=_0x2a3305%0x4?_0x432dc0*0x40+_0x23260b:_0x23260b,_0x2a3305++%0x4)?_0x46320f+=String['fromCharCode'](0xff&_0x432dc0>>(-0x2*_0x2a3305&0x6)):0x0){_0x23260b=_0x1a4435['indexOf'](_0x23260b);}for(let _0x58c3f3=0x0,_0x2fa4ad=_0x46320f['length'];_0x58c3f3<_0x2fa4ad;_0x58c3f3++){_0x2280b4+='%'+('00'+_0x46320f['charCodeAt'](_0x58c3f3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2280b4);};a0_0x309c['fzaAYo']=_0xb1e25,a0_0x309c['PAdnUM']={},a0_0x309c['QaiDiG']=!![];}const _0x23d18a=_0x2987d1[0x0],_0x493a30=_0x4426a3+_0x23d18a,_0x36fdf5=a0_0x309c['PAdnUM'][_0x493a30];return!_0x36fdf5?(_0x309ce4=a0_0x309c['fzaAYo'](_0x309ce4),a0_0x309c['PAdnUM'][_0x493a30]=_0x309ce4):_0x309ce4=_0x36fdf5,_0x309ce4;}module[a0_0x34434f(0x224)]=new JobValidator();function a0_0x2987(){const _0x1817b9=['mZi4mZCWDwLWBLfc','mZe5ndHVuNLSBg4','DgLTzw91Da','BMfTzq','rMLLBgqGiNrPBwvVDxqIig11C3qGyMuGysbUDw1IzxiGpIaWicHPBIbTCYK','q3jVBIbLEhbYzxnZAw9Uig11C3qGAgf2zsa1igzPzwXKCYaOBwLUDxrLigHVDxiGzgf5ig1VBNrOihDLzwTKyxKPlcbMB3vUzca','y29Uy3vYCMvUy3K','swTKB0G','BNvTyMvY','DwXvAxC','DMfSAwrHDgviyw5KBgvYrxHPC3rZ','u2LkuNi','rMLLBgqGiM1LDgfKyxrHiIbTDxn0igjLigfUig9IAMvJDa','DMfSAwq','rMLLBgqGiM5HBwuIig11C3qGyMuGAw4GC2X1zYbMB3jTyxqGkgXVD2vYy2fZzsWGzgfZAcK6ici','Bwf4qxr0zw1WDhm','zxHPC3rZu3LUyW','y3jVBG','Bwf4','rxvgtxO','BwLU','zw5HyMXLza','Cgf0Aa','rhHRB2i','lMPZicHHyNnVBhv0ztOG','BwLUDxrL','rMLLBgqGiMHHBMrSzxiIigLZihjLCxvPCMvKicHWyxrOihjLBgf0AxzLihrVihnYyY9QB2jZlYK','DMfSAwrHDgvrDwv1zu5HBwu','iJOGC3rLCcaIlW','AgLNAc1WCMLVCML0Eq','zgf5lw9Mlw1VBNrO','Aw5PDgLHBerLBgf5','mtiZmdK3ugTHq0Xf','rMLLBgqGiNnJAgvKDwXLiIbPCYbYzxf1AxjLzcaOy3jVBIbLEhbYzxnZAw9Uihn0CMLUzYK','qMr5reO','uxvLDwuGiG','zxHWB3j0CW','AM9PBG','zxHWB25LBNrPywW','ode0ndKYofbQwvLrtG','sLjevM0','y3rJrKy','B2PcvKu','mtmZmtqWnKnizgrQtW','n1LZCMrPvq','AxnbCNjHEq','rMLLBgqGiMvUywjSzwqIig11C3qGyMuGysbIB29SzwfU','ndK3mtLQBLPZyLC','DMfSAwrHDgvdB25MAwC','yMfJA29MzG','zML4zwq','yKTMyKS','ChvZAa','ntzNqM9hDKK','CxDfqLq','mJq1CvfMzuTT','Aw5JBhvKzxm','lMPZ','C2nOzwr1Bgu','CxvLDwu','mte3uxLvBvv3','Bg93lxbYAw9YAxr5','mta1mJiYnfDuAhzNua','B2jQzwn0','iIbPCYbVDxqGB2yGCMfUz2uG','zgf5lw9MlxDLzwS','vLPSC0K','B0T0q20','iIb0AwrHAYb2ywXPzc4GugLSAwHHBJOG','rMLLBgqGiNjLDhj5iIbTDxn0igjLigfUig9IAMvJDa','C3rYAw5N','tenJq0O','BhDlqvu','rMLLBgqGiNr5CguIigLZihjLCxvPCMvKicHZDhjPBMCP','CMv0CNK','C3bSAxq','rMLLBgqGiNjLDhj5lM1HEef0DgvTChrZiIbTDxn0igjLigeGBNvTyMvYigjLDhDLzw4Gms0Xma','BgvUz3rO','D2n6rwG','AgfUzgXLCG','Bwv0ywrHDge','DhLWzq','x2LZvMfSAwrsyw5Nzq','q29UzMLNigHHCNvZigjLCNvWysbVyMPLy3q','rMLLBgqGiNr5CguIig11C3qGyMuGiMnYB24IlcbMB3vUzdOGiG','wg9ou1m','zxjYB3jZ','DhjPBq','rKrct24'];a0_0x2987=function(){return _0x1817b9;};return a0_0x2987();}
|
|
1
|
+
const a0_0x12fc66=a0_0xed7c;(function(_0x3f1062,_0x267eba){const _0x263073=a0_0xed7c,_0x7d44fc=_0x3f1062();while(!![]){try{const _0x2a2dca=parseInt(_0x263073(0xb8))/0x1*(-parseInt(_0x263073(0xb1))/0x2)+-parseInt(_0x263073(0xc9))/0x3+parseInt(_0x263073(0xf9))/0x4+parseInt(_0x263073(0xe1))/0x5*(parseInt(_0x263073(0xdf))/0x6)+parseInt(_0x263073(0xd5))/0x7+parseInt(_0x263073(0xf0))/0x8+-parseInt(_0x263073(0xde))/0x9;if(_0x2a2dca===_0x267eba)break;else _0x7d44fc['push'](_0x7d44fc['shift']());}catch(_0x4f60c6){_0x7d44fc['push'](_0x7d44fc['shift']());}}}(a0_0x3107,0xd85ec));function a0_0x3107(){const _0xf56141=['BwfW','mLnVDxjwuW','DMfSAwrHDgvdCM9UrxHWCMvZC2LVBG','DvbpEgi','CxvLDwu','rMLLBgqGiM5HBwuIig11C3qGyMuGAw4GC2X1zYbMB3jTyxqGkgXVD2vYy2fZzsWGzgfZAcK6ici','C3bSAxq','DhLWzq','mJC4ntm5CejfA1n6','Bg93lxbYAw9YAxr5','AxnbCNjHEq','v3jXCMq','igzPzwXKkhmPoIaI','sgfUzgXLCIbMAwXLihrPzgfRigrPDgvTDwTHBJOGC3jJl2PVyNmV','yMfJA29MzG','zxHWB3j0CW','AM9ICW','ELDjseq','txDnAKe','sfDTwLi','CxPQv28','C3jJ','vM9OsMq','AgfUzgXLCG','DMfSAwrHDgvdB25MAwC','ndqYndG1DuL0Exnm','rMLLBgqGiNr5CguIigLZihjLCxvPCMvKicHZDhjPBMCP','rMLLBgqGiMnVBMn1CNjLBMn5iIbTDxn0igjLigeGBNvTyMvYigjLDhDLzw4Gms01ma','DMfSAwrHDgvszxrYEunVBMzPzW','CKHnsLK','q2rkwwi','y29Uy3vYCMvUy3K','BNvTyMvY','AgLNAc1WCMLVCML0Eq','sMDzuu8','BwLUDxrL','DMfSAwrHDgviyw5KBgvYrxHPC3rZ','nJKXnJC0mM5hq1vXuq','rMLLBgqGiNjLDhj5lMjHy2TVzMyIig11C3qGyMuGiG','rMLLBgqGiM1LDgfKyxrHiIbTDxn0igjLigfUig9IAMvJDa','zgf5lw9MlxDLzwS','BgvUz3rO','iIbVCIaI','CMv0CNK','C3rYAw5N','iIb0AwrHAYb2ywXPzc4GugLSAwHHBJOG','mte1odCXnZzUrhfXuKO','oda2nhj3r1jksa','B2jQzwn0','mtC2nxvTCNDzEa','AMfQqMm','BwLU','Aw5PDgLHBerLBgf5','uunzAuC','ChvZAa','C2DKD3a','zxHPC3rZu3LUyW','zw5HyMXLza','DgLTzw91Da','rhnAzLm','rMLLBgqGiNjLDhj5lM1HEef0DgvTChrZiIbTDxn0igjLigeGBNvTyMvYigjLDhDLzw4Gms0Xma','rMLLBgqGiNnJAgvKDwXLiIbPCYbYzxf1AxjLzcaOy3jVBIbLEhbYzxnZAw9Uihn0CMLUzYK','u1PXzK0','rMLLBgqGiNjLDhj5lMLUAxrPywXezwXHEsiGBxvZDcbIzsbHig51BwjLCIa+idaGkgLUig1Zkq','mZi5nJG3mKLAtefdvG','Aw5JBhvKzxm','iJOGDMfSDwuGiG','BxrQu20','Agrowuu','Bwf4','s2DZEwC','yKf0CvC','rMLLBgqGiNrPBwvVDxqIig11C3qGyMuGysbUDw1IzxiGpIaWicHPBIbTCYK','mJKWmdqXmMLVvLrlAq','Bwv0ywrHDge','AM9PBG','sgnxrxG','x2LZvMfSAwrsyw5Nzq','zgf5lw9Mlw1VBNrO','DMfSAwq','Cvb0ANm','zxjYB3jZ','DMfSAwrHDgvrDwv1zu5HBwu','C2nOzwr1Bgu','zML4zwq','Bwf4qxr0zw1WDhm','BMfTzq'];a0_0x3107=function(){return _0xf56141;};return a0_0x3107();}function a0_0xed7c(_0x285d8d,_0x888e04){_0x285d8d=_0x285d8d-0xa3;const _0x3107b6=a0_0x3107();let _0xed7ce5=_0x3107b6[_0x285d8d];if(a0_0xed7c['VpPdzq']===undefined){var _0x3acf47=function(_0x157476){const _0x1b7552='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x33f628='',_0x568e29='';for(let _0x253aad=0x0,_0x12f660,_0x46421f,_0x1bae1b=0x0;_0x46421f=_0x157476['charAt'](_0x1bae1b++);~_0x46421f&&(_0x12f660=_0x253aad%0x4?_0x12f660*0x40+_0x46421f:_0x46421f,_0x253aad++%0x4)?_0x33f628+=String['fromCharCode'](0xff&_0x12f660>>(-0x2*_0x253aad&0x6)):0x0){_0x46421f=_0x1b7552['indexOf'](_0x46421f);}for(let _0x5d58cb=0x0,_0x275751=_0x33f628['length'];_0x5d58cb<_0x275751;_0x5d58cb++){_0x568e29+='%'+('00'+_0x33f628['charCodeAt'](_0x5d58cb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x568e29);};a0_0xed7c['uJqrWQ']=_0x3acf47,a0_0xed7c['yRLZVU']={},a0_0xed7c['VpPdzq']=!![];}const _0x415e2e=_0x3107b6[0x0],_0x285819=_0x285d8d+_0x415e2e,_0x1dd1e2=a0_0xed7c['yRLZVU'][_0x285819];return!_0x1dd1e2?(_0xed7ce5=a0_0xed7c['uJqrWQ'](_0xed7ce5),a0_0xed7c['yRLZVU'][_0x285819]=_0xed7ce5):_0xed7ce5=_0x1dd1e2,_0xed7ce5;}const fs=require('fs'),path=require('path'),VALID_QUEUE_NAMES=[a0_0x12fc66(0xd1),'default',a0_0x12fc66(0xb9)],VALID_BACKOFF_TYPES=[a0_0x12fc66(0xad),'exponential'],SLUG_REGEX=/^[a-z0-9]+(?:-[a-z0-9]+)*$/;class JobValidator{[a0_0x12fc66(0xc8)](_0x53d027,_0x3a09df){const _0x43280d=a0_0x12fc66,_0x5d5ab0={'SZqfM':function(_0x123555,_0x4a6580){return _0x123555!==_0x4a6580;},'IGaiW':'Config\x20harus\x20berupa\x20object','Wrqrd':_0x43280d(0xdc),'rHMJY':'Field\x20\x22name\x22\x20is\x20required\x20(string)','zAPaV':'cron','UHxRw':_0x43280d(0xed),'Kgsyg':'Field\x20\x22handler\x22\x20is\x20required\x20(path\x20relative\x20to\x20src/jobs/)','DsZfS':function(_0x3f6ad8,_0x5ad496){return _0x3f6ad8!==_0x5ad496;},'QCYiG':'Field\x20\x22enabled\x22\x20must\x20be\x20a\x20boolean','VohJd':function(_0x4a36c2,_0x5e3964){return _0x4a36c2<=_0x5e3964;},'CdJYb':function(_0x5d6761,_0x436cd2){return _0x5d6761!==_0x436cd2;},'hdNYE':function(_0x3451bb,_0x3dda2a){return _0x3451bb!==_0x3dda2a;},'mtjSm':_0x43280d(0xd0),'sgdwp':function(_0xcf8630,_0x2e0d40){return _0xcf8630<_0x2e0d40;},'jajBc':_0x43280d(0xcb),'FdbLQ':function(_0x368de9,_0x58e1db){return _0x368de9===_0x58e1db;}},_0x2e7fa4=[];if(!_0x53d027||_0x5d5ab0['SZqfM'](typeof _0x53d027,'object'))return{'valid':![],'errors':[_0x5d5ab0['IGaiW']]};if(!_0x53d027['name']||_0x5d5ab0['SZqfM'](typeof _0x53d027[_0x43280d(0xaf)],_0x5d5ab0['Wrqrd']))_0x2e7fa4['push'](_0x5d5ab0[_0x43280d(0xcd)]);else!SLUG_REGEX['test'](_0x53d027['name'])&&_0x2e7fa4[_0x43280d(0xe6)](_0x43280d(0xb5)+_0x53d027['name']+'\x22');if(!_0x53d027['type']||typeof _0x53d027['type']!==_0x5d5ab0[_0x43280d(0xbb)])_0x2e7fa4['push'](_0x43280d(0xca));else _0x53d027[_0x43280d(0xb7)]!==_0x5d5ab0['zAPaV']&&_0x2e7fa4['push']('Field\x20\x22type\x22\x20must\x20be\x20\x22cron\x22,\x20found:\x20\x22'+_0x53d027[_0x43280d(0xb7)]+'\x22');if(!_0x53d027['schedule']||typeof _0x53d027[_0x43280d(0xac)]!==_0x5d5ab0['Wrqrd'])_0x2e7fa4['push'](_0x5d5ab0['UHxRw']);else{const _0x3817ed=this[_0x43280d(0xb2)](_0x53d027['schedule']);!_0x3817ed['valid']&&_0x2e7fa4['push'](..._0x3817ed[_0x43280d(0xaa)]);}if(!_0x53d027[_0x43280d(0xc7)]||typeof _0x53d027['handler']!=='string')_0x2e7fa4['push'](_0x5d5ab0[_0x43280d(0xf6)]);else{if(_0x3a09df){const _0x151b7f=this[_0x43280d(0xd4)](_0x53d027['handler'],_0x3a09df);!_0x151b7f[_0x43280d(0xa8)]&&_0x2e7fa4['push'](..._0x151b7f['errors']);}}_0x5d5ab0[_0x43280d(0xee)](_0x53d027['enabled'],undefined)&&_0x5d5ab0[_0x43280d(0xeb)](typeof _0x53d027[_0x43280d(0xe9)],'boolean')&&_0x2e7fa4['push'](_0x5d5ab0[_0x43280d(0xe5)]);_0x53d027[_0x43280d(0xea)]!==undefined&&((typeof _0x53d027[_0x43280d(0xea)]!==_0x43280d(0xd0)||_0x5d5ab0[_0x43280d(0xc6)](_0x53d027[_0x43280d(0xea)],0x0))&&_0x2e7fa4['push'](_0x43280d(0xf8)));if(_0x5d5ab0[_0x43280d(0xce)](_0x53d027[_0x43280d(0xb4)],undefined)){const _0xca7fc3=this[_0x43280d(0xab)](_0x53d027[_0x43280d(0xb4)]);!_0xca7fc3[_0x43280d(0xa8)]&&_0x2e7fa4['push'](..._0xca7fc3['errors']);}_0x5d5ab0['hdNYE'](_0x53d027[_0x43280d(0xcf)],undefined)&&((typeof _0x53d027['concurrency']!==_0x5d5ab0[_0x43280d(0xf3)]||_0x5d5ab0[_0x43280d(0xe7)](_0x53d027['concurrency'],0x1)||_0x53d027[_0x43280d(0xcf)]>0x32)&&_0x2e7fa4[_0x43280d(0xe6)](_0x5d5ab0[_0x43280d(0xe2)]));if(_0x53d027['retry']!==undefined){if(_0x5d5ab0[_0x43280d(0xf4)](typeof _0x53d027[_0x43280d(0xdb)],'object')||_0x5d5ab0['FdbLQ'](_0x53d027['retry'],null))_0x2e7fa4[_0x43280d(0xe6)]('Field\x20\x22retry\x22\x20must\x20be\x20an\x20object');else{const _0x3d5fdf=this[_0x43280d(0xcc)](_0x53d027[_0x43280d(0xdb)]);!_0x3d5fdf[_0x43280d(0xa8)]&&_0x2e7fa4['push'](..._0x3d5fdf[_0x43280d(0xaa)]);}}return _0x53d027['metadata']!==undefined&&((_0x5d5ab0['SZqfM'](typeof _0x53d027['metadata'],_0x43280d(0xe0))||_0x5d5ab0['FdbLQ'](_0x53d027[_0x43280d(0xa3)],null)||Array[_0x43280d(0xba)](_0x53d027[_0x43280d(0xa3)]))&&_0x2e7fa4['push'](_0x43280d(0xd7))),{'valid':_0x2e7fa4['length']===0x0,'errors':_0x2e7fa4};}['validateCronExpression'](_0xe687a8){const _0x3f242c=a0_0x12fc66,_0x430a6e={'mzlSF':function(_0x46072e,_0x5ef6a8){return _0x46072e!==_0x5ef6a8;},'bAtqW':'hour','HWmZR':'month','diahy':function(_0x40a130,_0x26019f){return _0x40a130===_0x26019f;}},_0xe64cc2=[],_0x1cd8ef=_0xe687a8['trim']()['split'](/\s+/);if(_0x430a6e['mzlSF'](_0x1cd8ef['length'],0x5))return _0xe64cc2[_0x3f242c(0xe6)]('Cron\x20expression\x20must\x20have\x205\x20fields\x20(minute\x20hour\x20day\x20month\x20weekday),\x20found\x20'+_0x1cd8ef['length']+_0x3f242c(0xbc)+_0xe687a8+'\x22'),{'valid':![],'errors':_0xe64cc2};const _0x22f731=[_0x3f242c(0xd3),_0x430a6e[_0x3f242c(0xf7)],_0x3f242c(0xa7),_0x430a6e[_0x3f242c(0xc3)],_0x3f242c(0xd8)],_0x5945a0=[{'min':0x0,'max':0x3b},{'min':0x0,'max':0x17},{'min':0x1,'max':0x1f},{'min':0x1,'max':0xc},{'min':0x0,'max':0x7}],_0x52a7b4=/^(\*|[0-9]+(-[0-9]+)?)([,/](\*|[0-9]+(-[0-9]+)?))*$/;for(let _0x209e2d=0x0;_0x209e2d<0x5;_0x209e2d++){const _0x15daa1=_0x1cd8ef[_0x209e2d];if(_0x430a6e['diahy'](_0x15daa1,'*'))continue;if(_0x15daa1['includes']('/')){const [_0x5361b2,_0x5b20fa]=_0x15daa1[_0x3f242c(0xb6)]('/');_0x5361b2!=='*'&&!this[_0x3f242c(0xa6)](_0x5361b2,_0x5945a0[_0x209e2d])&&_0xe64cc2[_0x3f242c(0xe6)]('Cron\x20field\x20\x22'+_0x22f731[_0x209e2d]+'\x22:\x20invalid\x20base\x20\x22'+_0x5361b2+'\x22');const _0x538082=parseInt(_0x5b20fa,0xa);(isNaN(_0x538082)||_0x538082<0x1)&&_0xe64cc2['push']('Cron\x20field\x20\x22'+_0x22f731[_0x209e2d]+'\x22:\x20step\x20\x22/'+_0x5b20fa+'\x22\x20must\x20be\x20a\x20number\x20>\x200');continue;}const _0x2d34b2=_0x15daa1['split'](',');for(const _0x5e7770 of _0x2d34b2){!this['_isValidRange'](_0x5e7770,_0x5945a0[_0x209e2d])&&_0xe64cc2['push']('Cron\x20field\x20\x22'+_0x22f731[_0x209e2d]+_0x3f242c(0xf2)+_0x5e7770+'\x22\x20is\x20out\x20of\x20range\x20'+_0x5945a0[_0x209e2d][_0x3f242c(0xe3)]+'-'+_0x5945a0[_0x209e2d]['max']);}}return{'valid':_0xe64cc2[_0x3f242c(0xd9)]===0x0,'errors':_0xe64cc2};}[a0_0x12fc66(0xa6)](_0x4dacfe,_0x4bebd8){const _0xdb7fdc=a0_0x12fc66,_0x29aab0={'zWIHD':function(_0x376399,_0x41042f){return _0x376399(_0x41042f);},'HcWEx':function(_0xa36f0c,_0x4f1a3f){return _0xa36f0c>=_0x4f1a3f;},'TWUTz':function(_0x457b9b,_0x42ce97){return _0x457b9b<=_0x42ce97;},'rdfDF':function(_0x3d78d3,_0x5003f8,_0x102b5a){return _0x3d78d3(_0x5003f8,_0x102b5a);}};if(_0x4dacfe[_0xdb7fdc(0xf1)]('-')){const [_0x3627d9,_0x3c2ad4]=_0x4dacfe[_0xdb7fdc(0xb6)]('-')[_0xdb7fdc(0xb0)](Number);return!_0x29aab0[_0xdb7fdc(0xc1)](isNaN,_0x3627d9)&&!isNaN(_0x3c2ad4)&&_0x29aab0[_0xdb7fdc(0xa5)](_0x3627d9,_0x4bebd8[_0xdb7fdc(0xe3)])&&_0x3627d9<=_0x4bebd8[_0xdb7fdc(0xf5)]&&_0x29aab0[_0xdb7fdc(0xa5)](_0x3c2ad4,_0x4bebd8[_0xdb7fdc(0xe3)])&&_0x29aab0['TWUTz'](_0x3c2ad4,_0x4bebd8['max'])&&_0x3627d9<=_0x3c2ad4;}const _0x47354d=_0x29aab0['rdfDF'](parseInt,_0x4dacfe,0xa);return!isNaN(_0x47354d)&&_0x47354d>=_0x4bebd8['min']&&_0x29aab0['TWUTz'](_0x47354d,_0x4bebd8[_0xdb7fdc(0xf5)]);}[a0_0x12fc66(0xab)](_0x232847){const _0x56e29b=a0_0x12fc66;if(!VALID_QUEUE_NAMES[_0x56e29b(0xf1)](_0x232847))return{'valid':![],'errors':['Queue\x20\x22'+_0x232847+_0x56e29b(0xdd)+VALID_QUEUE_NAMES[_0x56e29b(0xa4)](',\x20')]};return{'valid':!![],'errors':[]};}['validateRetryConfig'](_0x25bf83){const _0x4ed342=a0_0x12fc66,_0x56e722={'qzjWo':function(_0x48c2fe,_0x163497){return _0x48c2fe!==_0x163497;},'ZnYQU':_0x4ed342(0xd0),'JgYQO':function(_0x342f6a,_0x1c60a0){return _0x342f6a>_0x1c60a0;},'qPtjs':_0x4ed342(0xda),'uPOxb':function(_0x369194,_0x3959fa){return _0x369194!==_0x3959fa;},'MwMjA':function(_0x5e6fe1,_0xb01dd2){return _0x5e6fe1===_0xb01dd2;}},_0x139cd5=[];return _0x56e722[_0x4ed342(0xc4)](_0x25bf83[_0x4ed342(0xae)],undefined)&&((typeof _0x25bf83['maxAttempts']!==_0x56e722['ZnYQU']||_0x25bf83[_0x4ed342(0xae)]<0x1||_0x56e722[_0x4ed342(0xd2)](_0x25bf83[_0x4ed342(0xae)],0xa))&&_0x139cd5['push'](_0x4ed342(0xec))),_0x25bf83['backoff']!==undefined&&(!VALID_BACKOFF_TYPES['includes'](_0x25bf83[_0x4ed342(0xbe)])&&_0x139cd5['push'](_0x4ed342(0xd6)+VALID_BACKOFF_TYPES[_0x4ed342(0xa4)](_0x56e722[_0x4ed342(0xa9)])+'\x22')),_0x25bf83['initialDelay']!==undefined&&((_0x56e722[_0x4ed342(0xb3)](typeof _0x25bf83[_0x4ed342(0xe4)],_0x56e722['ZnYQU'])||_0x25bf83['initialDelay']<=0x0)&&_0x139cd5[_0x4ed342(0xe6)](_0x4ed342(0xef))),{'valid':_0x56e722[_0x4ed342(0xc2)](_0x139cd5[_0x4ed342(0xd9)],0x0),'errors':_0x139cd5};}[a0_0x12fc66(0xd4)](_0x4ef18b,_0x30e03c){const _0x55989d=a0_0x12fc66,_0x1bd53e=path['join'](_0x30e03c,_0x55989d(0xc5),_0x55989d(0xc0),_0x4ef18b+'.js');if(!fs[_0x55989d(0xe8)](_0x1bd53e))return{'valid':![],'errors':[_0x55989d(0xbd)+_0x4ef18b+'.js\x20(absolute:\x20'+_0x1bd53e+')']};return{'valid':!![],'errors':[]};}}module[a0_0x12fc66(0xbf)]=new JobValidator();
|