@restforgejs/platform 5.1.6 → 5.1.16
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/bin/restforge-hwinfo-linux +0 -0
- package/bin/restforge-hwinfo.exe +0 -0
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/fast-track.js +63 -43
- package/generators/cli/payload/generate.js +10 -2
- package/generators/cli/schema/apply.js +6 -1
- package/generators/cli/schema/diff.js +6 -1
- package/generators/cli/schema/introspect.js +32 -11
- package/generators/lib/data/db-executor.js +8 -8
- package/generators/lib/data/envelope.js +3 -3
- package/generators/lib/dbschema-kit/apply-engine.js +20 -0
- package/generators/lib/dbschema-kit/dialect/mysql.js +2 -0
- package/generators/lib/dbschema-kit/dialect/oracle.js +2 -0
- package/generators/lib/dbschema-kit/dialect/postgres.js +4 -0
- package/generators/lib/dbschema-kit/dialect/sqlite.js +5 -0
- package/generators/lib/dbschema-kit/diff-engine.js +22 -1
- package/generators/lib/dbschema-kit/diff-reporter.js +293 -272
- package/generators/lib/dbschema-kit/emitters/create-index.js +23 -1
- package/generators/lib/dbschema-kit/emitters/create-table.js +48 -0
- package/generators/lib/dbschema-kit/introspect-mapper.js +154 -2
- package/generators/lib/dbschema-kit/ir-builder.js +84 -1
- package/generators/lib/dbschema-kit/schema-printer.js +20 -0
- package/generators/lib/dbschema-kit/soft-delete-constants.js +111 -0
- package/generators/lib/dbschema-kit/validator/schema-validator.js +231 -0
- package/generators/lib/generators/processor-validation-generator.js +16 -16
- package/generators/lib/payload/payload-runner.js +711 -1
- package/generators/lib/payload/schema-diff.js +7 -0
- 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/generators/lib/utils/database-introspector.js +48 -0
- package/generators/lib/utils/env-manager.js +4 -4
- package/generators/lib/utils/file-utils.js +6 -6
- package/generators/lib/utils/payload-processor.js +18 -2
- package/generators/lib/validators/argument-validator.js +2 -2
- package/generators/lib/validators/dashboard-validator.js +35 -1
- package/generators/lib/validators/payload-validator.js +460 -33
- package/integrity-manifest.json +20 -20
- package/package.json +2 -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 -0
- package/src/utils/sql-table-extractor.js +1 -0
- 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
- package/generators/lib/utils/sql-table-extractor.js +0 -83
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x31abc0=a0_0x4c06;(function(_0x28814b,_0x28a896){const _0x59951b=a0_0x4c06,_0x33d4b7=_0x28814b();while(!![]){try{const _0x3cc6ab=-parseInt(_0x59951b(0x1fd))/0x1*(-parseInt(_0x59951b(0x1cb))/0x2)+-parseInt(_0x59951b(0x1e2))/0x3*(-parseInt(_0x59951b(0x1cd))/0x4)+-parseInt(_0x59951b(0x1dc))/0x5*(-parseInt(_0x59951b(0x1ff))/0x6)+-parseInt(_0x59951b(0x1fa))/0x7*(parseInt(_0x59951b(0x208))/0x8)+-parseInt(_0x59951b(0x1ce))/0x9*(-parseInt(_0x59951b(0x1ea))/0xa)+parseInt(_0x59951b(0x1e7))/0xb+-parseInt(_0x59951b(0x1cc))/0xc;if(_0x3cc6ab===_0x28a896)break;else _0x33d4b7['push'](_0x33d4b7['shift']());}catch(_0x557af8){_0x33d4b7['push'](_0x33d4b7['shift']());}}}(a0_0x591c,0x8ef35));function a0_0x4c06(_0x2a7fcb,_0x196b2d){_0x2a7fcb=_0x2a7fcb-0x1b7;const _0x591cf3=a0_0x591c();let _0x4c06cd=_0x591cf3[_0x2a7fcb];if(a0_0x4c06['woswQP']===undefined){var _0x38aa35=function(_0x3bef5f){const _0x2181db='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x67b0f5='',_0x3d5448='';for(let _0x46e927=0x0,_0xdb4b3,_0x2ae33b,_0x6c3319=0x0;_0x2ae33b=_0x3bef5f['charAt'](_0x6c3319++);~_0x2ae33b&&(_0xdb4b3=_0x46e927%0x4?_0xdb4b3*0x40+_0x2ae33b:_0x2ae33b,_0x46e927++%0x4)?_0x67b0f5+=String['fromCharCode'](0xff&_0xdb4b3>>(-0x2*_0x46e927&0x6)):0x0){_0x2ae33b=_0x2181db['indexOf'](_0x2ae33b);}for(let _0x2af0b7=0x0,_0x2a09a0=_0x67b0f5['length'];_0x2af0b7<_0x2a09a0;_0x2af0b7++){_0x3d5448+='%'+('00'+_0x67b0f5['charCodeAt'](_0x2af0b7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3d5448);};a0_0x4c06['tVIKzO']=_0x38aa35,a0_0x4c06['oCywdk']={},a0_0x4c06['woswQP']=!![];}const _0x2f838c=_0x591cf3[0x0],_0x21f760=_0x2a7fcb+_0x2f838c,_0x273f4f=a0_0x4c06['oCywdk'][_0x21f760];return!_0x273f4f?(_0x4c06cd=a0_0x4c06['tVIKzO'](_0x4c06cd),a0_0x4c06['oCywdk'][_0x21f760]=_0x4c06cd):_0x4c06cd=_0x273f4f,_0x4c06cd;}const {createConnection,createChannel,setupInfrastructure,closeConnection,getConfig}=require('../utils/rabbitmq'),{formatDate}=require(a0_0x31abc0(0x1bd));class RabbitMQService{constructor(){const _0x5d2714=a0_0x31abc0,_0x52d3d1={'kmMFi':_0x5d2714(0x1b8)},_0x10fc4e=_0x52d3d1[_0x5d2714(0x1b7)]['split']('|');let _0x242634=0x0;while(!![]){switch(_0x10fc4e[_0x242634++]){case'0':this[_0x5d2714(0x1d0)]=null;continue;case'1':this['messageHandlers']=[];continue;case'2':this['connection']=null;continue;case'3':this[_0x5d2714(0x1bf)]=getConfig();continue;case'4':this[_0x5d2714(0x1e8)]=![];continue;}break;}}async['initialize'](){const _0x52b353=a0_0x31abc0,_0x3fb8ed={'prxJN':function(_0x1c86f0,_0x551aae,_0x55a8d7){return _0x1c86f0(_0x551aae,_0x55a8d7);},'wLCQK':_0x52b353(0x1d5),'miRIX':function(_0x3cf291,_0x4a4b84){return _0x3cf291(_0x4a4b84);},'Xjhzb':function(_0x3f31d2){return _0x3f31d2();}};try{const _0x264a9e=_0x3fb8ed[_0x52b353(0x1ee)]['split']('|');let _0x452873=0x0;while(!![]){switch(_0x264a9e[_0x452873++]){case'0':await this['channel'][_0x52b353(0x1c5)](0x1);continue;case'1':console['log']('['+formatDate(new Date())+']\x20Prefetch\x20diatur\x20ke\x201');continue;case'2':this['isConnected']=!![];continue;case'3':this['connection']['on'](_0x52b353(0x201),()=>{const _0x223f95=_0x52b353;console[_0x223f95(0x1d7)]('['+formatDate(new Date())+_0x223f95(0x20a)),this[_0x223f95(0x1e8)]=![],_0x3fb8ed['prxJN'](setTimeout,()=>this[_0x223f95(0x1bb)](),0x1388);});continue;case'4':this[_0x52b353(0x1d0)]=await _0x3fb8ed[_0x52b353(0x1fb)](createChannel,this['connection']);continue;case'5':await setupInfrastructure(this['channel']);continue;case'6':return!![];case'7':this[_0x52b353(0x1da)]=await _0x3fb8ed[_0x52b353(0x209)](createConnection);continue;}break;}}catch(_0x19db2f){return console[_0x52b353(0x1d7)]('['+formatDate(new Date())+_0x52b353(0x210)+_0x19db2f['message']),this['isConnected']=![],![];}}async[a0_0x31abc0(0x1bb)](){const _0x4ce78f=a0_0x31abc0,_0x7f4e36={'ayYFB':function(_0x5045ff,_0x41a5b9){return _0x5045ff(_0x41a5b9);},'lRAJQ':function(_0x326d93,_0x1113a5){return _0x326d93(_0x1113a5);},'ATQPs':function(_0xa76337,_0x50bb0b,_0x177bab){return _0xa76337(_0x50bb0b,_0x177bab);}};console[_0x4ce78f(0x211)]('['+_0x7f4e36[_0x4ce78f(0x1e3)](formatDate,new Date())+']\x20Attempting\x20to\x20reconnect\x20to\x20RabbitMQ...');try{await this[_0x4ce78f(0x1c3)](),this[_0x4ce78f(0x1e8)]&&(console['log']('['+_0x7f4e36['lRAJQ'](formatDate,new Date())+']\x20Successfully\x20reconnected\x20to\x20RabbitMQ'),await this[_0x4ce78f(0x1eb)]());}catch(_0x3033e1){console[_0x4ce78f(0x1d7)]('['+_0x7f4e36[_0x4ce78f(0x1e3)](formatDate,new Date())+_0x4ce78f(0x1d4)+_0x3033e1['message']),_0x7f4e36[_0x4ce78f(0x1f9)](setTimeout,()=>this[_0x4ce78f(0x1bb)](),0x1388);}}async['setupCollectorInfrastructure'](_0x218b66){const _0x42a6c0=a0_0x31abc0,_0x360d63={'jlHap':function(_0x14a5b9,_0x40c8c0){return _0x14a5b9(_0x40c8c0);},'LIKPU':function(_0x3e7aee,_0x192d4e){return _0x3e7aee(_0x192d4e);},'imFve':'direct','kepEt':function(_0x155e94,_0x34f443){return _0x155e94(_0x34f443);},'iyzis':function(_0x5cdd50,_0x1c4ece){return _0x5cdd50(_0x1c4ece);},'SQxmB':'created/ready','OPkSz':'found','DDPZI':function(_0x55e795,_0x3d86eb){return _0x55e795(_0x3d86eb);}};try{!this[_0x42a6c0(0x1e8)]&&(this[_0x42a6c0(0x1da)]=await createConnection(),this['channel']=await _0x360d63['jlHap'](createChannel,this['connection']),this[_0x42a6c0(0x1e8)]=!![]);const _0x1f82c0=process['env'][_0x42a6c0(0x1be)]||_0x42a6c0(0x1cf),_0x52cf50=_0x1f82c0+'-retry-exchange';await this[_0x42a6c0(0x1d0)][_0x42a6c0(0x1d1)](_0x52cf50,_0x42a6c0(0x1df),{'durable':!![],'autoDelete':![]}),console[_0x42a6c0(0x211)]('['+_0x360d63[_0x42a6c0(0x1e5)](formatDate,new Date())+']\x20Retry\x20exchange\x20'+_0x52cf50+_0x42a6c0(0x1e0)),await this[_0x42a6c0(0x1d0)]['assertExchange'](_0x218b66['exchange'],_0x360d63[_0x42a6c0(0x1d9)],{'durable':!![],'autoDelete':![]}),console[_0x42a6c0(0x211)]('['+formatDate(new Date())+']\x20Exchange\x20'+_0x218b66[_0x42a6c0(0x1c8)]+'\x20created/ready');const _0x775504=_0x218b66[_0x42a6c0(0x20b)]+'_retry',_0x31df23={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':_0x218b66[_0x42a6c0(0x1c8)],'x-dead-letter-routing-key':_0x218b66['routingKey']}};await this[_0x42a6c0(0x1d0)][_0x42a6c0(0x1d6)](_0x775504,_0x31df23),console['log']('['+_0x360d63[_0x42a6c0(0x1e6)](formatDate,new Date())+']\x20Retry\x20queue\x20'+_0x775504+_0x42a6c0(0x1e0)),await this[_0x42a6c0(0x1d0)][_0x42a6c0(0x1fc)](_0x775504,_0x52cf50,_0x218b66[_0x42a6c0(0x20b)]),console['log']('['+_0x360d63[_0x42a6c0(0x1e6)](formatDate,new Date())+_0x42a6c0(0x1f0)+_0x218b66['routingKey']+'\x20created');const _0xf3526b={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x52cf50,'x-dead-letter-routing-key':_0x218b66['routingKey']}};try{const _0x4f1db2=await this['channel']['assertQueue'](_0x218b66['queue'],_0xf3526b);console[_0x42a6c0(0x211)]('['+_0x360d63['iyzis'](formatDate,new Date())+_0x42a6c0(0x1c1)+_0x218b66['queue']+'\x20'+(_0x4f1db2['queue']===_0x218b66[_0x42a6c0(0x1ba)]?_0x360d63['SQxmB']:_0x360d63[_0x42a6c0(0x1d3)])+'\x20with\x20DLX'),await this['channel']['bindQueue'](_0x218b66[_0x42a6c0(0x1ba)],_0x218b66[_0x42a6c0(0x1c8)],_0x218b66['routingKey']),console[_0x42a6c0(0x211)]('['+_0x360d63[_0x42a6c0(0x1fe)](formatDate,new Date())+_0x42a6c0(0x1c6)+_0x218b66[_0x42a6c0(0x1c8)]+'\x20->\x20'+_0x218b66['queue']+'\x20('+_0x218b66[_0x42a6c0(0x20b)]+')\x20created');}catch(_0x206f51){if(_0x206f51['message']['includes'](_0x42a6c0(0x1c0))&&_0x206f51['message'][_0x42a6c0(0x1ca)](_0x42a6c0(0x1c7))){console[_0x42a6c0(0x1d7)]('\x0a['+_0x360d63[_0x42a6c0(0x1de)](formatDate,new Date())+_0x42a6c0(0x1e1)+_0x218b66['queue']+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console[_0x42a6c0(0x1d7)](_0x42a6c0(0x1c9));const _0xa1dc04=_0x218b66['routingKey']+'_queue',_0x597e64=await this['channel'][_0x42a6c0(0x1d6)](_0xa1dc04,_0xf3526b);console[_0x42a6c0(0x211)]('['+_0x360d63['kepEt'](formatDate,new Date())+']\x20Alternative\x20queue\x20'+_0xa1dc04+_0x42a6c0(0x20c)),await this['channel'][_0x42a6c0(0x1fc)](_0xa1dc04,_0x218b66[_0x42a6c0(0x1c8)],_0x218b66[_0x42a6c0(0x20b)]),console['log']('['+formatDate(new Date())+']\x20Binding\x20'+_0x218b66['exchange']+'\x20->\x20'+_0xa1dc04+'\x20('+_0x218b66['routingKey']+_0x42a6c0(0x1f7)),_0x218b66[_0x42a6c0(0x1ba)]=_0xa1dc04;}else{console['error']('['+_0x360d63[_0x42a6c0(0x1dd)](formatDate,new Date())+']\x20Error\x20creating\x20queue\x20'+_0x218b66['queue']+':',_0x206f51['message']);throw _0x206f51;}}return!![];}catch(_0x46df4c){return console['error']('['+formatDate(new Date())+']\x20Error\x20saat\x20setup\x20infrastruktur:\x20'+_0x46df4c[_0x42a6c0(0x200)]),![];}}async['sendToQueue'](_0x2e4ae2,_0x55182f){const _0x1dfb73=a0_0x31abc0,_0x57be9e={'SFtBN':function(_0x361f5d,_0x3bb585){return _0x361f5d!==_0x3bb585;},'igSQR':'Data\x20sent\x20to\x20queue\x20successfully','NgrGB':_0x1dfb73(0x1f3),'qLhhJ':function(_0x109a01,_0x4af7f0){return _0x109a01(_0x4af7f0);}};if(!this[_0x1dfb73(0x1e8)])try{await this[_0x1dfb73(0x1c3)]();}catch(_0x387b97){return{'success':![],'message':_0x1dfb73(0x1f4)+_0x387b97['message'],'data':null};}try{const _0x49c260=_0x57be9e['SFtBN'](_0x55182f[_0x1dfb73(0x1bc)],undefined)?_0x55182f[_0x1dfb73(0x1bc)]:![],_0x232eae=_0x55182f['max_retries']||0x3,_0xd9e79f={'rabbitmq':{'exchange':_0x55182f['exchange'],'queue':_0x55182f['queue'],'routing_key':_0x55182f['routingKey'],'auto_retry':_0x49c260,'max_retries':_0x232eae},'message':_0x2e4ae2};await this['setupCollectorInfrastructure'](_0x55182f);const _0x5f1e99=new Date(),_0x5c5a6b={'timestamp':_0x5f1e99['toISOString'](),'content':JSON['stringify'](_0xd9e79f)},_0x348e14=this['channel']['publish'](_0x55182f[_0x1dfb73(0x1c8)],_0x55182f[_0x1dfb73(0x20b)],Buffer['from'](JSON[_0x1dfb73(0x204)](_0x5c5a6b)),{'persistent':!![],'contentType':'application/json','timestamp':_0x5f1e99[_0x1dfb73(0x1f6)](),'messageId':_0x5f1e99[_0x1dfb73(0x1f6)]()+'-'+Math['random']()[_0x1dfb73(0x1e9)](0x24)['substring'](0x7),'headers':{'x-auto-retry':_0x49c260,'x-max-retry':_0x232eae,'x-retry-count':0x0,'x-retry-interval':0x2710}});if(_0x348e14){console[_0x1dfb73(0x211)]('['+formatDate(_0x5f1e99)+_0x1dfb73(0x20d),{'exchange':_0x55182f['exchange'],'routing_key':_0x55182f['routingKey'],'queue':_0x55182f[_0x1dfb73(0x1ba)],'sendAt':_0x5f1e99['toISOString']()});const _0x5acd7d='queue-'+_0x5f1e99['getTime']()+'-'+Math['random']()['toString'](0x24)['substring'](0x7);return{'success':!![],'message':_0x57be9e[_0x1dfb73(0x207)],'data':{'id':_0x5acd7d,'queueInfo':{'exchange':_0x55182f['exchange'],'queue':_0x55182f['queue'],'routingKey':_0x55182f[_0x1dfb73(0x20b)]}}};}else throw new Error(_0x57be9e['NgrGB']);}catch(_0x36f92d){return console[_0x1dfb73(0x1d7)]('['+_0x57be9e['qLhhJ'](formatDate,new Date())+']\x20Error\x20sending\x20to\x20RabbitMQ:\x20'+_0x36f92d[_0x1dfb73(0x200)]),{'success':![],'message':'Error:\x20'+_0x36f92d[_0x1dfb73(0x200)],'data':null};}}[a0_0x31abc0(0x1d8)](_0x556bcd){const _0x7d91a5=a0_0x31abc0,_0x57046a={'QLPgp':function(_0x2e7d65,_0x5309df){return _0x2e7d65===_0x5309df;}};_0x57046a[_0x7d91a5(0x206)](typeof _0x556bcd,'function')?(this[_0x7d91a5(0x20f)]['push'](_0x556bcd),console['log']('['+formatDate(new Date())+']\x20Message\x20handler\x20registered')):console['error']('['+formatDate(new Date())+_0x7d91a5(0x20e));}async['processMessage'](_0x3e8b0d){const _0x1c48ab=a0_0x31abc0,_0x6845d0={'adeSA':function(_0x159e1f,_0x41df54){return _0x159e1f===_0x41df54;},'meMBG':function(_0x1be544,_0x3e26ca){return _0x1be544(_0x3e26ca);}};if(_0x6845d0['adeSA'](this['messageHandlers']['length'],0x0))return console[_0x1c48ab(0x1f8)]('['+formatDate(new Date())+']\x20No\x20handlers\x20registered\x20to\x20process\x20messages'),!![];try{for(const _0x411fc8 of this[_0x1c48ab(0x20f)]){await _0x411fc8(_0x3e8b0d);}return!![];}catch(_0x351bb0){return console['error']('['+_0x6845d0['meMBG'](formatDate,new Date())+_0x1c48ab(0x1ec)+_0x351bb0[_0x1c48ab(0x200)]),![];}}async['startConsume'](){const _0x26b871=a0_0x31abc0,_0x45eb0e={'YJXVP':function(_0x3dc276,_0x1ae7f3){return _0x3dc276!==_0x1ae7f3;},'OjgUh':_0x26b871(0x1c4),'RuNcL':function(_0x13f2c4,_0x496c41){return _0x13f2c4(_0x496c41);},'dWkyx':function(_0x31d914,_0x396069){return _0x31d914(_0x396069);}};if(!this['isConnected'])return console[_0x26b871(0x1d7)]('['+formatDate(new Date())+_0x26b871(0x1f5)),![];try{return console[_0x26b871(0x211)]('['+_0x45eb0e[_0x26b871(0x1c2)](formatDate,new Date())+']\x20Start\x20consuming\x20messages\x20from\x20queue\x20\x22'+this[_0x26b871(0x1bf)]['queue']+'\x22...'),this[_0x26b871(0x1d0)][_0x26b871(0x203)](this[_0x26b871(0x1bf)][_0x26b871(0x1ba)],async _0x3a4714=>{const _0x488624=_0x26b871;if(_0x45eb0e['YJXVP'](_0x3a4714,null)){const _0x379cc0=new Date();let _0x43608f;try{_0x43608f=JSON['parse'](_0x3a4714['content'][_0x488624(0x1e9)]());}catch(_0x13d255){console['error']('['+formatDate(_0x379cc0)+_0x488624(0x1f2)+_0x13d255[_0x488624(0x200)]),console['error'](_0x488624(0x205)+_0x3a4714[_0x488624(0x1f1)]['toString']()),this['channel'][_0x488624(0x1d2)](_0x3a4714);return;}const _0xfb6658=_0x3a4714['properties'][_0x488624(0x1ed)]?new Date(_0x3a4714['properties'][_0x488624(0x1ed)]):new Date(),_0x223cd9=await this['processMessage'](_0x43608f);_0x223cd9?(console[_0x488624(0x211)]('['+formatDate(new Date())+_0x488624(0x1b9)),this['channel']['ack'](_0x3a4714)):(console['error']('['+formatDate(new Date())+_0x488624(0x1e4)),this['channel'][_0x488624(0x1db)](_0x3a4714,![],!![])),console[_0x488624(0x211)](_0x45eb0e[_0x488624(0x202)]);}},{'noAck':![]}),!![];}catch(_0x563e96){return console['error']('['+_0x45eb0e['dWkyx'](formatDate,new Date())+']\x20Failed\x20to\x20start\x20consuming:\x20'+_0x563e96[_0x26b871(0x200)]),![];}}async['close'](){const _0x22190a=a0_0x31abc0,_0x1cb557={'HonKK':function(_0x4aea16,_0x5a338f){return _0x4aea16(_0x5a338f);}};this[_0x22190a(0x1da)]&&(await _0x1cb557[_0x22190a(0x1ef)](closeConnection,this['connection']),this[_0x22190a(0x1e8)]=![]);}}let instance=null;function getInstance(){return!instance&&(instance=new RabbitMQService()),instance;}module['exports']={'getInstance':getInstance};function a0_0x591c(){const _0x59ff9f=['xsbnzxnZywDLihbYB2nLC3nLzcbZDwnJzxnZzNvSBhK','CxvLDwu','CMvJB25Uzwn0','yxv0B19YzxrYEq','lI4VDxrPBhmVzgf0zuHLBhbLCG','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','y29UzMLN','Aw5LCxvPDMfSzw50igfYzW','xsbrDwv1zsa','uNvoy0W','Aw5PDgLHBgL6zq','ls0T','ChjLzMv0y2G','xsbcAw5KAw5Nia','Ec1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEq','zxHJAgfUz2u','vhj5Aw5NigfSDgvYBMf0AxzLihf1zxvLig5HBwuUlI4','Aw5JBhvKzxm','mJu5nJqWy0XMEefI','mJm2oti3mdrYAK9uDe8','ne5cwxH4BG','mteYmtK0ouDvDKHNtq','zgvMyxvSDa','y2HHBM5LBa','yxnZzxj0rxHJAgfUz2u','ywnR','t1bRu3O','xsbgywLSzwqGDg8GCMvJB25Uzwn0ihrVifjHyMjPDe1roIa','n3W0Fdb8mxW1Fdj8m3W2','yxnZzxj0uxvLDwu','zxjYB3i','CMvNAxn0zxjnzxnZywDLsgfUzgXLCG','Aw1gDMu','y29UBMvJDgLVBG','BMfJAW','nwvJy0DXAq','AxL6Axm','rerqwKK','zgLYzwn0','ignYzwf0zwqVCMvHzhK','xsbfuLjpuJOGuxvLDwuG','mtGZmte0m3jhCfLntG','yxLzrKi','xsbgywLSzwqGDg8GChjVy2vZCYbTzxnZywDLlcbYzxf1zxvPBMC','teLlufu','A2vWrxq','ody1nta2ngPfDg9xEa','AxndB25Uzwn0zwq','Dg9tDhjPBMC','mtbzveTADMS','C3rHCNrdB25ZDw1L','xsbfCNjVCIbWCM9JzxnZAw5Nig1LC3nHz2u6ia','DgLTzxn0yw1W','D0XduuS','sg9Us0S','xsbszxrYEsbIAw5KAw5NigzVCIa','y29UDgvUDa','xsbgywLSzwqGDg8GCgfYC2uGBwvZC2fNztOG','rMfPBgvKihrVihnLBMqGBwvZC2fNzsb0BYbsywjIAxrnuq','q2fUBM90ignVBM5Ly3qGDg8GuMfIyML0tve6ia','xsbdyw5UB3qGC3rHCNqGy29UC3vTAw5NoIbUB3qGy29UBMvJDgvKihrVifjHyMjPDe1r','z2v0vgLTzq','ksbJCMvHDgvK','D2fYBG','qvrruhm','mJq2ota0A2XdAevI','BwLssvG','yMLUzff1zxvL','oxroz0jgza','AMXiyxa','ntm1ntm1nhzpELvszW','BwvZC2fNzq','y2XVC2u','t2PNvwG','y29UC3vTzq','C3rYAw5NAwz5','twvZC2fNzsbJB250zw50oIa','uuXqz3a','AwDtuvi','mJmYBxntBvLi','wgPOEMi','xsblB25LA3nPifjHyMjPDe1rihrLCNb1DhvZ','CM91DgLUz0TLEq','ignYzwf0zwqGD2L0AcbetfG','xsbnzxnZywDLihnLBNqGDg8GuMfIyML0tveGC3vJy2vZC2z1BgX5oG','xsbnzxnZywDLigHHBMrSzxiGBxvZDcbIzsbHigz1BMn0Aw9U','BwvZC2fNzuHHBMrSzxjZ','xsbgywLSzwqGDg8GAw5PDgLHBgL6zsbsywjIAxrnutOG','Bg9N','A21nrMK','mNWWFdn8nhWX'];a0_0x591c=function(){return _0x59ff9f;};return a0_0x591c();}
|
|
1
|
+
const a0_0x342f17=a0_0x4e7e;function a0_0x2dd4(){const _0x53865e=['AxndB25Uzwn0zwq','C3rYAw5NAwz5','CMfUzg9T','CxvLDwu','xsbbDhrLBxb0Aw5NihrVihjLy29UBMvJDcb0BYbsywjIAxrnus4UlG','ic0+ia','xsbfuLjpuJOGuxvLDwuG','xsblB25LA3nPifjHyMjPDe1rihrLCNb1DhvZ','yxnZzxj0uxvLDwu','y3jLyxrLzc9YzwfKEq','ndrqt0feAvy','CM91DgLUz0TLEq','BwvZC2fNzuHHBMrSzxjZ','yMLUzff1zxvL','u0LsDvC','ota4nZiXoxHlq3zyAG','BwvZC2fNzq','xsbszxrYEsbLEgnOyw5Nzsa','x3f1zxvL','ogPZzgniEG','lI4VDxrPBhmVzgf0zuHLBhbLCG','ntG2nJaWzKTLv3jW','y2HHBM5LBa','EvrJExi','lxjLDhj5lwv4y2HHBMDL','CMvNAxn0zxjnzxnZywDLsgfUzgXLCG','Exbzsey','Dg9ju09tDhjPBMC','C2v0DxbdB2XSzwn0B3jjBMzYyxn0CNvJDhvYzq','zNjVBq','ksbJCMvHDgvK','ChjVCgvYDgLLCW','zxHJAgfUz2u','nNbcv2L2Da','y29UzMLN','zxjYB3i','Dg9tDhjPBMC','C2vUzfrVuxvLDwu','rgf0ysbZzw50ihrVihf1zxvLihn1y2nLC3nMDwXSEq','ywnR','xsbbBhrLCM5HDgL2zsbXDwv1zsa','xsbcAw5KAw5Nia','y29UDgvUDa','ls0T','xsbgywLSzwqGDg8GCMvJB25Uzwn0ihrVifjHyMjPDe1roIa','ChjLzMv0y2G','Ewf6tK0','uKTAywe','xsbszxrYEsbIAw5KAw5NigzVCIa','BMfJAW','yxbWBgLJyxrPB24VANnVBG','ignYzwf0zwqGD2L0AcbetfG','ndGZodC4ngvpA2rQra','zNHLzvG','mtaXnZC2m0jItu50ra','xsbtDgfYDcbJB25ZDw1PBMCGBwvZC2fNzxmGzNjVBsbXDwv1zsaI','txvWv3u','xsboBYbOyw5KBgvYCYbYzwDPC3rLCMvKihrVihbYB2nLC3mGBwvZC2fNzxm','zgLYzwn0','CMvJB25Uzwn0','ota1odq0rK5jz0f4','Aw5JBhvKzxm','rxP4v0u','rMfPBgvKihrVihnLBMqGBwvZC2fNzsb0BYbsywjIAxrnuq','zgvMyxvSDa','z2v0vgLTzq','nJe0nJi1oxPJCNP5qG','C3rHCNrdB25ZDw1L','yxv0B19YzxrYEq','y29UBMvJDgLVBG','zM91BMq','Bg9N','mKXgANzvsW','z2n4qM8','tw1Zq2m','C3bSAxq','xsbfCNjVCIbWCM9JzxnZAw5Nig1LC3nHz2u6ia','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','xsbfCNjVCIbZzw5KAw5NihrVifjHyMjPDe1roIa','ignYzwf0zwq','twvZC2fNzsbJB250zw50oIa','ChjVy2vZC01LC3nHz2u','mZi5ndG1nuTtAu5cBG','DgLTzxn0yw1W','xsbnzxnZywDLihnLBNqGDg8GuMfIyML0tveGC3vJy2vZC2z1BgX5oG','mtbwAejosvK','A2j6Avm','Aw5PDgLHBgL6zq','C3vIC3rYAw5N','zxHWB3j0CW','DezzqKi','Cg9yywq','xsbrDwv1zsa','xsbnzxnZywDLigHHBMrSzxiGCMvNAxn0zxjLza'];a0_0x2dd4=function(){return _0x53865e;};return a0_0x2dd4();}(function(_0x5eae24,_0x1c6935){const _0x453ad9=a0_0x4e7e,_0x3b3add=_0x5eae24();while(!![]){try{const _0x2a6270=parseInt(_0x453ad9(0xce))/0x1*(parseInt(_0x453ad9(0xe0))/0x2)+-parseInt(_0x453ad9(0xd4))/0x3*(-parseInt(_0x453ad9(0xab))/0x4)+-parseInt(_0x453ad9(0x8c))/0x5+-parseInt(_0x453ad9(0xb9))/0x6*(parseInt(_0x453ad9(0xda))/0x7)+-parseInt(_0x453ad9(0xad))/0x8+-parseInt(_0x453ad9(0xa7))/0x9*(parseInt(_0x453ad9(0x8f))/0xa)+parseInt(_0x453ad9(0xa2))/0xb*(parseInt(_0x453ad9(0xcc))/0xc);if(_0x2a6270===_0x1c6935)break;else _0x3b3add['push'](_0x3b3add['shift']());}catch(_0x28f19c){_0x3b3add['push'](_0x3b3add['shift']());}}}(a0_0x2dd4,0x960a3));const {createConnection,createChannel,setupInfrastructure,closeConnection,getConfig}=require('../utils/rabbitmq'),{formatDate}=require(a0_0x342f17(0xac));class RabbitMQService{constructor(){const _0xf06348=a0_0x342f17,_0x21d0ab={'NkDme':function(_0x823b32){return _0x823b32();}},_0x2448ad='1|3|4|2|0'[_0xf06348(0xe3)]('|');let _0x42b2e0=0x0;while(!![]){switch(_0x2448ad[_0x42b2e0++]){case'0':this[_0xf06348(0xa4)]=[];continue;case'1':this[_0xf06348(0xdd)]=null;continue;case'2':this[_0xf06348(0x98)]=![];continue;case'3':this[_0xf06348(0xae)]=null;continue;case'4':this[_0xf06348(0xba)]=_0x21d0ab['NkDme'](getConfig);continue;}break;}}async[a0_0x342f17(0x91)](){const _0x34dcae=a0_0x342f17,_0x535d8d={'qWTFe':function(_0x1ab758,_0x497e58){return _0x1ab758(_0x497e58);},'RKZaa':function(_0x49b41f,_0x49b7dc,_0x40c769){return _0x49b41f(_0x49b7dc,_0x40c769);},'poXad':function(_0x289d03){return _0x289d03();}};try{const _0x2f51bb='7|4|3|0|2|1|5|6'[_0x34dcae(0xe3)]('|');let _0x1cfd7e=0x0;while(!![]){switch(_0x2f51bb[_0x1cfd7e++]){case'0':console[_0x34dcae(0xdf)]('['+formatDate(new Date())+']\x20Prefetch\x20diatur\x20ke\x201');continue;case'1':this[_0x34dcae(0x98)]=!![];continue;case'2':await setupInfrastructure(this['channel']);continue;case'3':await this['channel'][_0x34dcae(0xc5)](0x1);continue;case'4':this['channel']=await _0x535d8d['qWTFe'](createChannel,this['connection']);continue;case'5':this[_0x34dcae(0xdd)]['on']('close',()=>{const _0x3c0d40=_0x34dcae;console[_0x3c0d40(0xbb)]('['+_0x535d8d['qWTFe'](formatDate,new Date())+_0x3c0d40(0x9f)),this['isConnected']=![],_0x535d8d[_0x3c0d40(0xc7)](setTimeout,()=>this[_0x3c0d40(0xd3)](),0x1388);});continue;case'6':return!![];case'7':this['connection']=await _0x535d8d[_0x34dcae(0x95)](createConnection);continue;}break;}}catch(_0x2b5927){return console['error']('['+formatDate(new Date())+']\x20Failed\x20to\x20initialize\x20RabbitMQ:\x20'+_0x2b5927[_0x34dcae(0xa8)]),this[_0x34dcae(0x98)]=![],![];}}async[a0_0x342f17(0xd3)](){const _0x12b3f6=a0_0x342f17,_0x418a0c={'cAOZG':function(_0x4b38bf,_0x2f3a41){return _0x4b38bf(_0x2f3a41);},'tFYBB':function(_0x491229,_0x653218){return _0x491229(_0x653218);},'fxeeX':function(_0x53c1ec,_0x5df8a9){return _0x53c1ec(_0x5df8a9);}};console[_0x12b3f6(0xdf)]('['+_0x418a0c['cAOZG'](formatDate,new Date())+_0x12b3f6(0x9c));try{await this['initialize'](),this['isConnected']&&(console[_0x12b3f6(0xdf)]('['+_0x418a0c[_0x12b3f6(0x94)](formatDate,new Date())+']\x20Successfully\x20reconnected\x20to\x20RabbitMQ'),await this[_0x12b3f6(0xdb)]());}catch(_0x17e4c8){console['error']('['+_0x418a0c[_0x12b3f6(0xcd)](formatDate,new Date())+_0x12b3f6(0xc4)+_0x17e4c8['message']),setTimeout(()=>this['reconnect'](),0x1388);}}async[a0_0x342f17(0xb4)](_0x4e5e84){const _0x3f6179=a0_0x342f17,_0x248c06={'yazNM':function(_0x840f99){return _0x840f99();},'qyvEq':function(_0x54d799,_0x40acb1){return _0x54d799(_0x40acb1);},'ZWSbp':_0x3f6179(0xd8),'lSWyP':_0x3f6179(0xd2),'nzjqA':function(_0x570ac7,_0x3ca96e){return _0x570ac7(_0x3ca96e);},'SIRuW':function(_0x3d9dbe,_0x29615f){return _0x3d9dbe(_0x29615f);},'dsNEH':function(_0x4c4a46,_0x442442){return _0x4c4a46(_0x442442);},'MmsCc':function(_0x30386d,_0x2dcdf9){return _0x30386d===_0x2dcdf9;},'hupaa':_0x3f6179(0xa1),'xskPO':_0x3f6179(0xde),'ypYHF':function(_0x112381,_0x466820){return _0x112381(_0x466820);},'Rfhpj':function(_0x5535be,_0x3bf9dc){return _0x5535be(_0x3bf9dc);}};try{!this[_0x3f6179(0x98)]&&(this['connection']=await _0x248c06[_0x3f6179(0xc6)](createConnection),this[_0x3f6179(0xae)]=await _0x248c06['qyvEq'](createChannel,this[_0x3f6179(0xdd)]),this[_0x3f6179(0x98)]=!![]);const _0xf11806=process['env']['RESTFORGE_PROJECT_NAME']||_0x248c06['ZWSbp'],_0x19663c=_0xf11806+_0x3f6179(0xb0);await this[_0x3f6179(0xae)]['assertExchange'](_0x19663c,_0x248c06['lSWyP'],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x248c06['nzjqA'](formatDate,new Date())+_0x3f6179(0xa9)+_0x19663c+'\x20created/ready'),await this[_0x3f6179(0xae)]['assertExchange'](_0x4e5e84['exchange'],_0x3f6179(0xd2),{'durable':!![],'autoDelete':![]}),console[_0x3f6179(0xdf)]('['+formatDate(new Date())+']\x20Exchange\x20'+_0x4e5e84['exchange']+'\x20created/ready');const _0x239d28=_0x4e5e84['routingKey']+'_retry',_0x16c613={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':_0x4e5e84['exchange'],'x-dead-letter-routing-key':_0x4e5e84[_0x3f6179(0xa3)]}};await this['channel']['assertQueue'](_0x239d28,_0x16c613),console[_0x3f6179(0xdf)]('['+_0x248c06[_0x3f6179(0xa6)](formatDate,new Date())+']\x20Retry\x20queue\x20'+_0x239d28+'\x20created/ready'),await this[_0x3f6179(0xae)]['bindQueue'](_0x239d28,_0x19663c,_0x4e5e84[_0x3f6179(0xa3)]),console[_0x3f6179(0xdf)]('['+_0x248c06['dsNEH'](formatDate,new Date())+_0x3f6179(0xc8)+_0x4e5e84[_0x3f6179(0xa3)]+_0x3f6179(0xe7));const _0x106e43={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x19663c,'x-dead-letter-routing-key':_0x4e5e84['routingKey']}};try{const _0x2f13bd=await this[_0x3f6179(0xae)][_0x3f6179(0xa0)](_0x4e5e84['queue'],_0x106e43);console['log']('['+formatDate(new Date())+_0x3f6179(0x96)+_0x4e5e84['queue']+'\x20'+(_0x248c06[_0x3f6179(0xe2)](_0x2f13bd['queue'],_0x4e5e84['queue'])?_0x248c06['hupaa']:_0x248c06['xskPO'])+'\x20with\x20DLX'),await this['channel']['bindQueue'](_0x4e5e84['queue'],_0x4e5e84[_0x3f6179(0xb8)],_0x4e5e84[_0x3f6179(0xa3)]),console['log']('['+formatDate(new Date())+_0x3f6179(0xc1)+_0x4e5e84['exchange']+'\x20->\x20'+_0x4e5e84['queue']+'\x20('+_0x4e5e84[_0x3f6179(0xa3)]+_0x3f6179(0xb6));}catch(_0x886b78){if(_0x886b78['message'][_0x3f6179(0xd5)]('inequivalent\x20arg')&&_0x886b78['message'][_0x3f6179(0xd5)]('x-dead-letter-routing-key')){console[_0x3f6179(0xbb)]('\x0a['+formatDate(new Date())+_0x3f6179(0x9e)+_0x4e5e84['queue']+_0x3f6179(0xe5)),console[_0x3f6179(0xbb)]('Trying\x20alternative\x20queue\x20name...');const _0x1a6a6d=_0x4e5e84['routingKey']+_0x3f6179(0xaa),_0x5ddffd=await this[_0x3f6179(0xae)][_0x3f6179(0xa0)](_0x1a6a6d,_0x106e43);console[_0x3f6179(0xdf)]('['+_0x248c06[_0x3f6179(0xb2)](formatDate,new Date())+_0x3f6179(0xc0)+_0x1a6a6d+_0x3f6179(0xcb)),await this[_0x3f6179(0xae)][_0x3f6179(0xa5)](_0x1a6a6d,_0x4e5e84['exchange'],_0x4e5e84['routingKey']),console[_0x3f6179(0xdf)]('['+formatDate(new Date())+']\x20Binding\x20'+_0x4e5e84['exchange']+_0x3f6179(0x9d)+_0x1a6a6d+'\x20('+_0x4e5e84[_0x3f6179(0xa3)]+_0x3f6179(0xb6)),_0x4e5e84['queue']=_0x1a6a6d;}else{console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20queue\x20'+_0x4e5e84['queue']+':',_0x886b78['message']);throw _0x886b78;}}return!![];}catch(_0x52026b){return console[_0x3f6179(0xbb)]('['+_0x248c06['Rfhpj'](formatDate,new Date())+']\x20Error\x20saat\x20setup\x20infrastruktur:\x20'+_0x52026b[_0x3f6179(0xa8)]),![];}}async[a0_0x342f17(0xbd)](_0x38ccb9,_0x81537b){const _0x269bea=a0_0x342f17,_0x56e8b8={'yTcyr':function(_0x4efdea,_0x3fe6b4){return _0x4efdea!==_0x3fe6b4;},'kbziS':_0x269bea(0xbe),'EzxWE':_0x269bea(0xd7)};if(!this[_0x269bea(0x98)])try{await this['initialize']();}catch(_0x52a172){return{'success':![],'message':'Cannot\x20connect\x20to\x20RabbitMQ:\x20'+_0x52a172[_0x269bea(0xa8)],'data':null};}try{const _0x37f52d=_0x56e8b8[_0x269bea(0xaf)](_0x81537b[_0x269bea(0xdc)],undefined)?_0x81537b[_0x269bea(0xdc)]:![],_0x1dc929=_0x81537b['max_retries']||0x3,_0x309f75={'rabbitmq':{'exchange':_0x81537b['exchange'],'queue':_0x81537b['queue'],'routing_key':_0x81537b[_0x269bea(0xa3)],'auto_retry':_0x37f52d,'max_retries':_0x1dc929},'message':_0x38ccb9};await this[_0x269bea(0xb4)](_0x81537b);const _0x3438a5=new Date(),_0x5d039c={'timestamp':_0x3438a5['toISOString'](),'content':JSON[_0x269bea(0x99)](_0x309f75)},_0x41a7e3=this[_0x269bea(0xae)]['publish'](_0x81537b['exchange'],_0x81537b['routingKey'],Buffer[_0x269bea(0xb5)](JSON[_0x269bea(0x99)](_0x5d039c)),{'persistent':!![],'contentType':_0x269bea(0xca),'timestamp':_0x3438a5['getTime'](),'messageId':_0x3438a5[_0x269bea(0xd9)]()+'-'+Math[_0x269bea(0x9a)]()[_0x269bea(0xbc)](0x24)[_0x269bea(0x92)](0x7),'headers':{'x-auto-retry':_0x37f52d,'x-max-retry':_0x1dc929,'x-retry-count':0x0,'x-retry-interval':0x2710}});if(_0x41a7e3){console['log']('['+formatDate(_0x3438a5)+_0x269bea(0x8e),{'exchange':_0x81537b[_0x269bea(0xb8)],'routing_key':_0x81537b['routingKey'],'queue':_0x81537b['queue'],'sendAt':_0x3438a5[_0x269bea(0xb3)]()});const _0x2fa056='queue-'+_0x3438a5[_0x269bea(0xd9)]()+'-'+Math[_0x269bea(0x9a)]()[_0x269bea(0xbc)](0x24)['substring'](0x7);return{'success':!![],'message':_0x56e8b8[_0x269bea(0x90)],'data':{'id':_0x2fa056,'queueInfo':{'exchange':_0x81537b[_0x269bea(0xb8)],'queue':_0x81537b[_0x269bea(0x9b)],'routingKey':_0x81537b[_0x269bea(0xa3)]}}};}else throw new Error(_0x56e8b8[_0x269bea(0xd6)]);}catch(_0x33021f){return console['error']('['+formatDate(new Date())+_0x269bea(0xe6)+_0x33021f[_0x269bea(0xa8)]),{'success':![],'message':'Error:\x20'+_0x33021f[_0x269bea(0xa8)],'data':null};}}[a0_0x342f17(0xb1)](_0xde6e35){const _0x7c6544=a0_0x342f17,_0x379b26={'rTbnY':'function'};typeof _0xde6e35===_0x379b26['rTbnY']?(this['messageHandlers']['push'](_0xde6e35),console[_0x7c6544(0xdf)]('['+formatDate(new Date())+_0x7c6544(0x97))):console['error']('['+formatDate(new Date())+']\x20Message\x20handler\x20must\x20be\x20a\x20function');}async[a0_0x342f17(0x8b)](_0x2ed849){const _0x3adf2a=a0_0x342f17,_0x283996={'AgOIq':function(_0x40ccbb,_0x4da694){return _0x40ccbb(_0x4da694);}};if(this[_0x3adf2a(0xa4)]['length']===0x0)return console['warn']('['+formatDate(new Date())+_0x3adf2a(0xd1)),!![];try{for(const _0x131e36 of this[_0x3adf2a(0xa4)]){await _0x131e36(_0x2ed849);}return!![];}catch(_0x3e5e94){return console[_0x3adf2a(0xbb)]('['+_0x283996['AgOIq'](formatDate,new Date())+_0x3adf2a(0xe4)+_0x3e5e94['message']),![];}}async[a0_0x342f17(0xdb)](){const _0x37930b=a0_0x342f17,_0x59be65={'XpSVS':function(_0x2b5b99,_0x591613){return _0x2b5b99!==_0x591613;},'gcxBo':function(_0x501dc2,_0x57bda0){return _0x501dc2(_0x57bda0);},'MupWu':function(_0x6ff9cd,_0x1ed151){return _0x6ff9cd(_0x1ed151);}};if(!this[_0x37930b(0x98)])return console[_0x37930b(0xbb)]('['+formatDate(new Date())+']\x20Cannot\x20start\x20consuming:\x20not\x20connected\x20to\x20RabbitMQ'),![];try{return console['log']('['+_0x59be65[_0x37930b(0xd0)](formatDate,new Date())+_0x37930b(0xcf)+this['config']['queue']+'\x22...'),this['channel']['consume'](this['config']['queue'],async _0x5544c7=>{const _0x3e9f7f=_0x37930b;if(_0x59be65['XpSVS'](_0x5544c7,null)){const _0x56eb94=new Date();let _0x803be2;try{_0x803be2=JSON['parse'](_0x5544c7[_0x3e9f7f(0xc2)][_0x3e9f7f(0xbc)]());}catch(_0x5ed85a){console['error']('['+_0x59be65[_0x3e9f7f(0xe1)](formatDate,_0x56eb94)+']\x20Failed\x20to\x20parse\x20message:\x20'+_0x5ed85a['message']),console[_0x3e9f7f(0xbb)](_0x3e9f7f(0xe8)+_0x5544c7[_0x3e9f7f(0xc2)]['toString']()),this[_0x3e9f7f(0xae)][_0x3e9f7f(0xbf)](_0x5544c7);return;}const _0x3618cb=_0x5544c7['properties'][_0x3e9f7f(0x8d)]?new Date(_0x5544c7[_0x3e9f7f(0xb7)]['timestamp']):new Date(),_0xbe8aba=await this[_0x3e9f7f(0x8b)](_0x803be2);_0xbe8aba?(console['log']('['+_0x59be65['MupWu'](formatDate,new Date())+']\x20Message\x20processed\x20successfully'),this[_0x3e9f7f(0xae)]['ack'](_0x5544c7)):(console[_0x3e9f7f(0xbb)]('['+formatDate(new Date())+']\x20Failed\x20to\x20process\x20message,\x20requeuing'),this['channel'][_0x3e9f7f(0xc9)](_0x5544c7,![],!![])),console['log'](_0x3e9f7f(0xc3));}},{'noAck':![]}),!![];}catch(_0x47993d){return console[_0x37930b(0xbb)]('['+formatDate(new Date())+']\x20Failed\x20to\x20start\x20consuming:\x20'+_0x47993d['message']),![];}}async['close'](){const _0x31a792=a0_0x342f17;this[_0x31a792(0xdd)]&&(await closeConnection(this['connection']),this['isConnected']=![]);}}let instance=null;function getInstance(){return!instance&&(instance=new RabbitMQService()),instance;}function a0_0x4e7e(_0x41f89c,_0x179fbf){_0x41f89c=_0x41f89c-0x8b;const _0x2dd4f2=a0_0x2dd4();let _0x4e7e96=_0x2dd4f2[_0x41f89c];if(a0_0x4e7e['UXuUeJ']===undefined){var _0x451bd0=function(_0x2d3735){const _0x13ad5d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x14fd27='',_0x2969cc='';for(let _0x180fdb=0x0,_0x374d82,_0x1dd999,_0x1554e1=0x0;_0x1dd999=_0x2d3735['charAt'](_0x1554e1++);~_0x1dd999&&(_0x374d82=_0x180fdb%0x4?_0x374d82*0x40+_0x1dd999:_0x1dd999,_0x180fdb++%0x4)?_0x14fd27+=String['fromCharCode'](0xff&_0x374d82>>(-0x2*_0x180fdb&0x6)):0x0){_0x1dd999=_0x13ad5d['indexOf'](_0x1dd999);}for(let _0x37ebaf=0x0,_0x32f246=_0x14fd27['length'];_0x37ebaf<_0x32f246;_0x37ebaf++){_0x2969cc+='%'+('00'+_0x14fd27['charCodeAt'](_0x37ebaf)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2969cc);};a0_0x4e7e['IIapYD']=_0x451bd0,a0_0x4e7e['IQnxfK']={},a0_0x4e7e['UXuUeJ']=!![];}const _0x3926ea=_0x2dd4f2[0x0],_0x4a3dc2=_0x41f89c+_0x3926ea,_0x11e074=a0_0x4e7e['IQnxfK'][_0x4a3dc2];return!_0x11e074?(_0x4e7e96=a0_0x4e7e['IIapYD'](_0x4e7e96),a0_0x4e7e['IQnxfK'][_0x4a3dc2]=_0x4e7e96):_0x4e7e96=_0x11e074,_0x4e7e96;}module[a0_0x342f17(0x93)]={'getInstance':getInstance};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x51b27d=a0_0x1159;(function(_0x357403,_0x26feed){const _0x342b9c=a0_0x1159,_0x8b1a50=_0x357403();while(!![]){try{const _0x3437ed=parseInt(_0x342b9c(0x13d))/0x1+-parseInt(_0x342b9c(0x179))/0x2*(parseInt(_0x342b9c(0x16b))/0x3)+-parseInt(_0x342b9c(0xc5))/0x4+parseInt(_0x342b9c(0x196))/0x5+-parseInt(_0x342b9c(0xcd))/0x6*(parseInt(_0x342b9c(0x11f))/0x7)+-parseInt(_0x342b9c(0x1a8))/0x8+-parseInt(_0x342b9c(0x128))/0x9*(-parseInt(_0x342b9c(0xf7))/0xa);if(_0x3437ed===_0x26feed)break;else _0x8b1a50['push'](_0x8b1a50['shift']());}catch(_0x392220){_0x8b1a50['push'](_0x8b1a50['shift']());}}}(a0_0x20b0,0xbb9b3));const {Queue,Worker}=require('bullmq'),Redis=require('ioredis'),crypto=require(a0_0x51b27d(0xd9)),{v7:uuidv7}=require(a0_0x51b27d(0x190)),fs=require('fs'),path=require('path'),{logger}=require('../../utils/logger'),jobValidator=require('./job-validator');function a0_0x1159(_0x352b27,_0x3e82af){_0x352b27=_0x352b27-0x78;const _0x20b002=a0_0x20b0();let _0x11594a=_0x20b002[_0x352b27];if(a0_0x1159['BEsoaP']===undefined){var _0x4467ad=function(_0x2b552e){const _0xec6392='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x55d185='',_0x18b757='';for(let _0x52b754=0x0,_0x553d2f,_0x5ecfe3,_0x3c9984=0x0;_0x5ecfe3=_0x2b552e['charAt'](_0x3c9984++);~_0x5ecfe3&&(_0x553d2f=_0x52b754%0x4?_0x553d2f*0x40+_0x5ecfe3:_0x5ecfe3,_0x52b754++%0x4)?_0x55d185+=String['fromCharCode'](0xff&_0x553d2f>>(-0x2*_0x52b754&0x6)):0x0){_0x5ecfe3=_0xec6392['indexOf'](_0x5ecfe3);}for(let _0x502d6e=0x0,_0xbcdab7=_0x55d185['length'];_0x502d6e<_0xbcdab7;_0x502d6e++){_0x18b757+='%'+('00'+_0x55d185['charCodeAt'](_0x502d6e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x18b757);};a0_0x1159['ZomsHl']=_0x4467ad,a0_0x1159['OpFKxg']={},a0_0x1159['BEsoaP']=!![];}const _0x324921=_0x20b002[0x0],_0x2216ea=_0x352b27+_0x324921,_0x7fa0ed=a0_0x1159['OpFKxg'][_0x2216ea];return!_0x7fa0ed?(_0x11594a=a0_0x1159['ZomsHl'](_0x11594a),a0_0x1159['OpFKxg'][_0x2216ea]=_0x11594a):_0x11594a=_0x7fa0ed,_0x11594a;}let componentEngine=null;function a0_0x20b0(){const _0x1184a8=['thrVAee','ntK0ndC3wvv6s3vd','z2v0ug9VBa','sM9IihrPzgfRigrPDgvTDwTHBJOG','t3jHy2XLiercig1VzhvSzsbUB3qGyxzHAwXHyMXL','tNjjAfa','vufABha','tKLYwKS','sK9cx0vwru5u','uKvesvnFrei','C3LZDgvT','AM9Ix2HPC3rVCNLFAw5Zzxj0x2jNx2vYCM9Y','lMPZB24','sM9IignVBMzPzYbPBNzHBgLKoIa','r2rcwvm','ogn6qxzLDa','rMfPBgvKihrVihvWzgf0zsbQB2iGAgLZDg9YEsaOzMfPBgvKktOG','DxbKyxrLuMvNAxn0CNLdB3vUDgvYCW','r3ngAe4','AvrqAfC','AM9Ix21HBMfNzxjFC2H1DgrVD25Fy29TCgXLDgu','AM9Ix2HHBMrSzxjFzg9Uzq','Aw5Zzxj0uhjVBwLZzq','q3jotxm','AgfUzgXLCNm','ug9ZDgDYzvnrtcbeqIbTB2r1BguGBM90igf2ywLSywjSzq','ihrPzgfRigjPC2eGzgKTy2fUy2vSicHZDgf0ztOG','AKLdree','AM9Ix3jLz2LZDhj5x29MzMXPBMvFzxjYB3i','DMfSAwrHDgvdB25MAwC','rvrhq3y','v2vwtgW','sM9IigrPC3bHDgnOzwq6ia','s1zvv2y','AM9ICW','yxr0zw1WDhnnywrL','t3DmvgO','B25bzNrLCKPVyKzHAwXLza','DxvPza','zw50CMLLCW','B25czwzVCMvkB2jfEgvJDxrL','sw5PDgLHBgL6Aw5NiePVyIbnyw5Hz2vYlI4U','yMLVsvC','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','mJC2mda1nvbUB2HNyG','sfPqzLu','DLHOuxi','yNvPBgrdB250zxH0','AM9Ix3DVCMTLCNnFy3jLyxrLza','q3jVBIbYzwDPC3rLCMvKoIa','D2fPDgLUzW','ChvZAa','BgLZDfj1BM5PBMC','Bg93','z2v0u3rHDgu','r2vgzxC','ChjVz3jLC3m','rMfPBgvKihrVihvWzgf0zsbQB2iGAgLZDg9YEsaOy29TCgXLDgvKktOG','zxHLy3v0zuv2zw50sgfUzgXLCNm','tvz5wNK','sM9Iia','zxHPC3rZu3LUyW','mte5nZaWndbrC1bktgK','AM9Ix2rPC3bHDgnOzwrFzgvSyxLLza','DxbKyxrLuMvNAxn0CNLtDgf0Dxm','DMfSDwvZ','wKTYrNy','ihrPzgfRigrPDgvTDwTHBG','r05Mzfm','zhvWBgLJyxrL','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGC3rHDhvZid0Gj29MzMXPBMuNlcbUzxH0x3j1BL9HDca9ie5vteWSihvWzgf0zwrFyxqGpsbtwvnusu1fu1rbtva','AM9PBG','ywXS','z2v0q2XPzw50','zw5KC1DPDgG','DxbKyxrLsM9IsgLZDg9YEuzHAwXLza','rK9JALq','y29UBMvJDgLVBNm','sK9cx01bwf9tvefmtevex0npvu5u','rwzeuhi','C3rHBgXLza','zxjYB3jZ','sM9Iie1HBMfNzxiGCMvHzhK6ia','zufhsfi','q2rbr2G','C3fSlxnJCMLWDhm','CxvLDwu','qKf6zxG','zw5HyMXLza','ywrK','BxmPoIa','y3jVBL9YzwDPC3rLCMvK','BujoyvO','B25SAw5L','B2nWDwm','DhnAEMy','AM9Ix2HPC3rVCNLFzMfPBgvKx2vYCM9Y','vKnxCNe','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticG/lca/lca/lca/lca/lcaNCNvUBMLUzYCSid8Sid8Sid8Sie5pvYGPlca/lcbot1COksK','lI4VlI4VDxrPBhmVzgiTBxLZCwW','AM9Ix3nXBf9UB3rFzM91BMq','yxbP','C3vIC3rYAw5N','zgvSzxrL','tg9HzgvKia','ifjLzgLZignVBM5Ly3rPB25Z','B25kB2jdB21WBgv0zwq','C2v0qwXSsM9IC09MzMXPBMu','rejFvfLqrq','sM9IihbYB2DYzxnZoIa','C2nOzwr1Bgu','zMfPBgvKuMvHC29U','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticGKmsWGjdiSicqZlcaKncWGjduSicDYDw5UAw5NjYWGjdySicq3lcaKocWGtK9xkcKSicq5lcbot1COksK','zMLSDgvY','CgLK','sM9IignHBMnLBgXLzcb2AweGqvbj','Cg9ZDgDYzxnXBa','rejFvfLqrsaN','vg1Iy3y','zxHWB25LBNrPywW','AM9Ix3jLz2LZDhj5x2nVDw50zxjFzxjYB3i','tgXhDe4','DgLTzw91Da','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNC3vJy2vZCYCSignVBxbSzxrLzf9HDca9ifnzu1rjtuvtvefnucWkicaGicaGicaGicbKDxjHDgLVBL9TCYa9idOXlcbWCM9NCMvZCYa9ideWmcWGCMvZDwX0x3n1Bw1HCNKGpsa6mIbxsevsrsbPzca9idOZ','vgLKywSGywrHigPVyIbJB25MAwCGzgL0zw11A2fUigrPihbHEwXVywqVAM9ICY8UiePVyIbnyw5Hz2vYigfRDgLMihrHBNbHignYB24U','icHHDhrLBxb0ia','n3WXFdj8m3W2Fdr8mhW1','tvbyB1G','igPVyIHZksbYzwDPC3rLCMvKlca','z2v0s2fMA2ftzxj2AwnL','ywz0zxjFAM9Ix2zHAwXLzf9OB29Rx2vYCM9Y','BxLZCwW','D29YA2vYCW','r3jHwuy','sM9Iie1HBMfNzxiGC2H1DhrPBMCGzg93BIaODgLTzw91DdOG','igPVyIbJB25MAwCOCYKGzNjVBsbWyxLSB2fKl2PVyNmV','CxvLDwvZ','DxbKyxrLsM9IsgLZDg9YEunVBxbSzxrLza','D2fYBG','B25kB2jgywLSzwq','z2v0rgjuExbL','sK9cx0nptvbmrvrfra','D2H3C1u','AM9Ix21HBMfNzxjFC2H1DgrVD25FC3rHCNq','AM9Ix3jLz2LZDhj5x3vWC2vYDf9LCNjVCG','ywz0zxjFAM9Ix2nVBxbSzxrLx2HVB2TFzxjYB3i','Bg9HzePVyKnVBMzPz3m','tgDLAhe','jYb0AwrHAYbKAwr1A3vUzYb1BNr1AYbQB2iGBw9UAxrVCMLUzYb0ywjSzxm','sgH2z24','DgLTzxn0yw1WCW','z2v0sM9I','wgTjB3O','zLrevNa','lI4VlI4VC2vYDMLJzxmVA2fMA2ftzxj2AwnL','Dhjwug4','B3jHy2XL','CxvPDa','mty1otyWneXVu2HXvG','uNnAEe8','CxfTExK','CMvNAxn0zxjkB2i','C3vJy2vZCW','zxHWB3j0CW','BgLTAxq','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNC3vJy2vZCYCSignVBxbSzxrLzf9HDca9ie5pvYGPlaOGicaGicaGicaGigr1CMf0Aw9Ux21Zid0GpYWGChjVz3jLC3mGpsaXmdaSihjLC3vSDf9ZDw1Tyxj5id0GpYbxsevsrsbPzca9id8','mtqYndqWDLPgswn6','AM9Ix21HBMfNzxjFywXYzwfKEv9PBML0AwfSAxPLza','sK9cx1nivvret1Dox1rjtuvpvvq','rMfPBgvKihrVihnLDcbQB2jZig9MzMXPBMu6ia','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa6msWGBgfZDf9KDxjHDgLVBL9TCYa9idOYlaOGicaGicaGicaGia','rMfPBgvKihrVihb1yMXPC2GGsK9cx0nptvbmrvrfrcb0BYblywzRyq','ywXYzwfKEsbLEgLZDhm','tuvsr0uGsu5utYbQB2jFCMvNAxn0CNKGCGOGicaGicaGicaGifvtsu5hicHtruXfq1qGoJeGqvmGAM4GrLjptsbevufmksbZie9oicHYlMPVyL9Uyw1Lid0GCY5QBIKkicaGicaGicaGicbxsevoie1bveniruqGveHftIbvuerbveuGu0vucIaGicaGicaGicaGicbKAxnWBgf5x25HBwuGpsa6mIWGDhLWzsa9idOZlcbZy2HLzhvSzsa9idO0lcbXDwv1zsa9idO1laOGicaGicaGicaGicaGAgfUzgXLCIa9idO2lcbJB25MAwDFzMLSzsa9idO3lcb0Aw1LB3v0id0GoJGSihjLDhj5x21HEca9idO5laOGicaGicaGicaGicaGCMv0CNLFyMfJA29MzIa9idOXmcWGC3rHDhvZid0GoJeXlcbUzxH0x3j1BL9HDca9idOXmIWGDxbKyxrLzf9HDca9ifnzu1rjtuvtvefnuaOGicaGicaGicaGifDiru4GtK9uie1bveniruqGveHftIbjtLnfuLqkicaGicaGicaGicaGicHQB2jFBMfTzsWGzgLZCgXHEv9Uyw1Llcb0ExbLlcbZy2HLzhvSzsWGCxvLDwuSigHHBMrSzxiSignVBMzPz19MAwXLlaOGicaGicaGicaGicaGihrPBwvVDxqSihjLDhj5x21HEcWGCMv0CNLFyMfJA29MzIWGC3rHDhvZlcbUzxH0x3j1BL9HDcWGy3jLyxrLzf9HDcWGDxbKyxrLzf9HDcKkicaGicaGicaGicbwquXvrvmGkdOXlca6mIWGoJmSidO0lca6nsWGoJySidO3lca6ocWGoJKSidOXmcWGoJeXlca6mtiSifnzu1rjtuvtvefnucWGu1LtveLnrvnuqu1qkq','sM9IigHHBMrSzxiGy29TCgXLDgvKoIa','Cujos3e','vMTzC1e','AgfUzgXLCG','y3j5ChrV','Ae5iEM4','sM9Iie1HBMfNzxiGC3vKywGGzgLPBMLZAwfSAxnHC2KSihnRAxa','DeXHu04','AM9IlxnJAgvKDwXLCG','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa6msWGBgfZDf9YDw5FyxqGpsbtwvnusu1fu1rbtvaScIaGicaGicaGicaGDxbKyxrLzf9HDca9ifnzu1rjtuvtvefnucbxsevsrsbQB2jFBMfTzsa9idOY','Aw5MBW','BxmPlI4U','DhjPz2DLCLr5Cgu','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa/lcbSyxn0x2r1CMf0Aw9Ux21Zid0GpYWkicaGicaGicaGica','y3jVBG','zgf0yq','BMXAz3O','rKfJy3i','BwfW','zxHLy3v0zvf1zxj5','uKvesvnFue9sva','tfLrAxi','BMv4Da','zMfPBgvK','BwfUDwfS','y3jLyxrLqNvSBe1rq29UBMvJDgLVBG','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNzMfPBgvKjYWGy29TCgXLDgvKx2f0id0GtK9xkcKScIaGicaGicaGicaGzhvYyxrPB25FBxmGpsa/lcbWCM9NCMvZCYa9id8SigvYCM9Yx21LC3nHz2uGpsa/lcbLCNjVCL9ZDgfJAYa9id8Gv0HfuKuGAwqGpsa/','CNvUBMLUzW','B25kB2jqCM9NCMvZCW','AM9Ix3jLzgLZx2nVBM5Ly3rLza','AM9Ix2vUC3vYzv90ywjSzxnFzxjYB3i','CMv0CNK','Dg9mB3DLCKnHC2u','zgvSyxLLza','mtb2wLzdsMy','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticG6msWGoJiSidOZlca6ncWGoJuSicDYDw5UAw5NjYWGoJySidO3lca6ocWGu1LtveLnrvnuqu1qlca6osWGu1LtveLnrvnuqu1qkq','CMvHzezPBgvtEw5J','AM9Ix2nVBMzPz19PBNzHBgLK','zgLZCgf0y2HezwXHEwvK','uKvesvnFse9tva','yNvSBg1Xx3DVCMTLCL9LCNjVCG','rM9SzgvYihbHEwXVywqVAM9ICY8GDgLKywSGzgL0zw11A2fU','BgLZDePVyNm','C2H1DgrVD24','AM9Ix3bYB2DYzxnZ','icSGmsWkicaGicaGicaGicbUzxH0x3j1BL9HDca9icqZlcb1CgrHDgvKx2f0id0GtK9xkcKGv0HfuKuGAM9Ix25HBwuGpsaKna','CMy6','z2v0sw5ZDgfUy2u','AM9Ix2nVBMzPz19WyxjZzv9LCNjVCG','x3nVDxjJzuzPBgu','z2v0tMv4Dfj1BKzYB21cDwXStve','Cgriu28','AgLNAa','sK9cx0zbsuXfrf9srvrftLrjt05Fse9vuLm','y2XVC2u','zMLUAxnOzwrpBG','tNDnBLq','ChjVy2vZC2vKt24','rMfPBgvKihrVihjLz2LZDgvYigPVyJOG','AM9Ix3jLz2LZDgvYx2zHAwXLza','C3bSAxq','zgjFCgDFDw5HDMfPBgfIBgu','ywn0AxzL','zxHLy3v0zvrYyw5Zywn0Aw9U','whb2qKy','uKDlELi','sK9cx0zbsuXfra','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNC3vJy2vZCYCSignVBxbSzxrLzf9HDca9ie5pvYGPlaOGicaGicaGicaGigr1CMf0Aw9Ux21Zid0GjdeSihbYB2DYzxnZid0GmtaWlcbYzxn1BhrFC3vTBwfYEsa9icqYifDirvjfigLKid0Gjdm','z2v0sM9ICW','ywn0AxzLsgLZDg9YEuLKCW','vuTjDu0','yxr0zw1WDa','BMfTzq','zw52','mJGWsKP6zunU','DfHVzKi','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsaKmsWGBgfZDf9YDw5FyxqGpsbot1COksWkicaGicaGicaGicb1CgrHDgvKx2f0id0GtK9xkcKGv0HfuKuGAM9Ix25HBwuGpsaKmG','z2v0','DxbZzxj0sM9IuMvNAxn0CNK','qNvSBe1rifjLzgLZignVBM5Ly3rPB24GzxjYB3i6ia','z2v0q2fJAgvnyw5Hz2vY','ktOG','sM9Iihn0yxj0zwq6ia','mJm5nZm4mtnrvvbzCuW','Cg9ZDgDYzxnXBc5ZCwW','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','Aw5Zzxj0sM9IsgLZDg9YEq','Bw92zvrVrMfPBgvK','Cfzfu28','yMfJA29MzG','ufbvChK','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa/lcbSyxn0x3j1BL9HDca9ie5pvYGPifDirvjfigPVyL9Uyw1Lid0GpW','lIbeqIbTB25PDg9YAw5NigrPC2fIBgvKlG','AM9Ix2rPC3bHDgnOzwq','BM93','iokaLca','BwvZC2fNzq','B2zMBgLUzq','yuTryNG','AM9Iq29UzMLNCW','DhLWzq','sK9cx1jfvevoveLptL9it1vsuW','icSGmsWkicaGicaGicaGicbUzxH0x3j1BL9HDca9id8Gv0HfuKuGAM9Ix25HBwuGpsa/','zgvMyxvSDa','mtiWnJa1ovjXCK1QqW','zgLZCgf0y2G','tvr1Dfu','DxrMoa','Bwv0ywrHDge','rMfPBgvKihrVihb1yMXPC2GGsK9cx0zbsuXfrcb0BYblywzRyq','AM9Ix2zHAwXLza','Aw5PDgLHBgL6zwq','DxbZzxj0sM9Iu2nOzwr1BgvY','ihjLBw92zwqGkhDHCYa','y2f0y2G','CgLUzW','y29TCgXLDgvK','zxjYB3i','AM9Ix2nVBMzPz19KAxjFBwLZC2LUzW','CMv0DxjUDMfSDwu','zgjFB3jHy2XLx3vUyxzHAwXHyMXL','id0G','ChvIBgLZAev2zw50','CMvHzgrPCLn5BMm','z05by0G','DLb6z1G','qNvSBe1rifDVCMTLCIbLCNjVCIaO','y29TCg9Uzw50rw5NAw5L','lI4VlI4VDxrPBhmVzgiTB3jHy2XL','su5trvjuieLove8GAM9Ix3jLz2LZDhj5cIaGicaGicaGicaGkgPVyL9Uyw1LlcbKAxnWBgf5x25HBwuSihr5CguSihnJAgvKDwXLlcbXDwv1zsWGAgfUzgXLCIWGy29UzMLNx2zPBguScIaGicaGicaGicaGihrPBwvVDxqSihjLDhj5x21HEcWGCMv0CNLFyMfJA29MzIWGC3rHDhvZlcbUzxH0x3j1BL9HDcWGy3jLyxrLzf9HDcWGDxbKyxrLzf9HDcKkicaGicaGicaGicbwquXvrvmGkcqXlcaKmIWGjdmSicq0lcaKnsWGjdySicq3lcaKocWGjdKSicqXmcWGjdeXlcaKmtiSie5pvYGPlcbot1COksKkicaGicaGicaGicbptIbdt05gteLdvcaOAM9Ix25HBwuPierpifvqrefursbtrvqkicaGicaGicaGicaGigrPC3bSyxLFBMfTzsa9ievyq0XvrevelMrPC3bSyxLFBMfTzsWGDhLWzsa9ievyq0XvrevelNr5CguScIaGicaGicaGicaGicbZy2HLzhvSzsa9ievyq0XvrevelNnJAgvKDwXLlcbXDwv1zsa9ievyq0XvrevelNf1zxvLlaOGicaGicaGicaGicaGAgfUzgXLCIa9ievyq0XvrevelMHHBMrSzxiSignVBMzPz19MAwXLid0GrvHdtfveruqUy29UzMLNx2zPBguScIaGicaGicaGicaGicb0Aw1LB3v0id0GrvHdtfveruqUDgLTzw91DcWGCMv0CNLFBwf4id0GrvHdtfveruqUCMv0CNLFBwf4laOGicaGicaGicaGicaGCMv0CNLFyMfJA29MzIa9ievyq0XvrevelNjLDhj5x2jHy2TVzMySihn0yxr1CYa9ievyq0XvrevelNn0yxr1CYWkicaGicaGicaGicaGig5LEhrFCNvUx2f0id0GrvHdtfveruqUBMv4Df9YDw5FyxqSihvWzgf0zwrFyxqGpsbot1COkq','DhjPBq','Bwf4qxr0zw1WDhm','z2v0uMvKAxndBgLLBNq','AM9Ix3rHyMXLC19LBNn1CMvK','AM9Ix2HPC3rVCNLFy29TCgXLDgvFzxjYB3i','sM9IigrPC3bHDgnOzwqGkgrLBgf5zwqG','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNzMfPBgvKjYWGy29TCgXLDgvKx2f0id0GtK9xkcKScIaGicaGicaGicaGzhvYyxrPB25FBxmGpsaKmsWGChjVz3jLC3mGpsaKmIWGzxjYB3jFBwvZC2fNzsa9icqZlcbLCNjVCL9ZDgfJAYa9icq0ifDirvjfigLKid0Gjdu','AgLZDg9YEuLK','zNvUy3rPB24','DNHMr0O','z2v0rgjvDgLSCW','uKvesvnFueftu1DpuKq','Dw5RBM93BG','AxnsDw5UAw5N','rKnPvwi','D29YA2LUz0rPCG','ANDor0q','BgvUz3rO','B3jHy2XLlNnXBa'];a0_0x20b0=function(){return _0x1184a8;};return a0_0x20b0();}function getComponentEngine(){const _0x47a8e7=a0_0x51b27d;if(!componentEngine)try{const _0x5d9be9=require('../../utils/component-engine');componentEngine=_0x5d9be9[_0x47a8e7(0x154)]||_0x5d9be9;}catch(_0x4d676d){}return componentEngine;}class JobManager{constructor(){const _0x5d29fb=a0_0x51b27d,_0x5d4c40={'GsFhN':_0x5d29fb(0xa5)},_0x560f2f=_0x5d4c40[_0x5d29fb(0x17c)][_0x5d29fb(0x111)]('|');let _0x41834d=0x0;while(!![]){switch(_0x560f2f[_0x41834d++]){case'0':this[_0x5d29fb(0x166)]=process['cwd']();continue;case'1':this[_0x5d29fb(0xab)]={};continue;case'2':this['jobConfigs']={};continue;case'3':this['handlers']={};continue;case'4':this['initialized']=![];continue;case'5':this['activeHistoryIds']=new Map();continue;case'6':this['connections']=[];continue;case'7':this[_0x5d29fb(0xaf)]={};continue;}break;}}['createBullMQConnection'](){const _0x349f74=a0_0x51b27d,_0x5bdc82={'RsZxO':'localhost','tsTIw':function(_0x29cb1b,_0x28ee7d,_0x464ee0){return _0x29cb1b(_0x28ee7d,_0x464ee0);},'OtkRq':'error'},_0x196713=new Redis({'host':process[_0x349f74(0x11e)][_0x349f74(0xfc)]||_0x5bdc82[_0x349f74(0xc6)],'port':_0x5bdc82['tsTIw'](parseInt,process[_0x349f74(0x11e)][_0x349f74(0xe9)],0xa)||0x18ec,'password':process[_0x349f74(0x11e)][_0x349f74(0x162)]||undefined,'db':parseInt(process['env'][_0x349f74(0x173)],0xa)||0x0,'maxRetriesPerRequest':null,'retryStrategy'(_0x2c19a7){const _0x373fdd=Math['min'](_0x2c19a7*0x32,0x7d0);return _0x373fdd;}});return _0x196713['on'](_0x5bdc82['OtkRq'],_0x225bc4=>{const _0x3bce8a=_0x349f74;logger[_0x3bce8a(0x14a)]({'event':'bullmq_redis_error','error':_0x225bc4[_0x3bce8a(0x135)]},_0x3bce8a(0x124)+_0x225bc4['message']);}),this['connections'][_0x349f74(0x19d)](_0x196713),_0x196713;}async['initialize'](){const _0x4fbb20=a0_0x51b27d,_0x7b8098={'GdBYS':_0x4fbb20(0xfd),'ApLnB':'job_manager_init_start','TRPkj':'BullMQ\x20Redis\x20connection\x20verified','pdHSo':'job_redis_failed','vgLrS':_0x4fbb20(0xf3),'XkIoz':function(_0x30b483,_0x5cb415){return _0x30b483===_0x5cb415;},'EfDPr':_0x4fbb20(0xfa),'jwNGD':_0x4fbb20(0x163),'LYQir':_0x4fbb20(0x13c),'UKIuM':function(_0x24d8c3,_0x2245a2,_0x1c106a){return _0x24d8c3(_0x2245a2,_0x1c106a);},'tsZzf':_0x4fbb20(0x109),'FaicC':_0x4fbb20(0x19f),'vylea':'progress','pffpL':_0x4fbb20(0x14a),'LlGtN':_0x4fbb20(0x110),'hBBny':'job_manager_ready'};if(this[_0x4fbb20(0x144)]){logger[_0x4fbb20(0xb1)]({'event':_0x4fbb20(0xce)},_0x4fbb20(0xdb));return;}logger[_0x4fbb20(0xdf)]({'event':_0x7b8098['ApLnB']},_0x4fbb20(0x193));const _0x4b7b7b=this['createBullMQConnection']();try{await _0x4b7b7b[_0x4fbb20(0x148)](),logger['info']({'event':_0x4fbb20(0xf2)},_0x7b8098['TRPkj']);}catch(_0x31a5a4){logger['error']({'event':_0x7b8098[_0x4fbb20(0x108)],'error':_0x31a5a4['message']},'Redis\x20connection\x20failed:\x20'+_0x31a5a4[_0x4fbb20(0x135)]+'.\x20Job\x20Scheduler\x20tidak\x20akan\x20aktif.');try{await _0x4b7b7b[_0x4fbb20(0xc4)]();}catch(_0x1cbd78){}this['connections']=this['connections'][_0x4fbb20(0x98)](_0x25b250=>_0x25b250!==_0x4b7b7b);return;}try{await _0x4b7b7b[_0x4fbb20(0xc4)]();}catch(_0x35af12){}this['connections']=this['connections']['filter'](_0x4676d7=>_0x4676d7!==_0x4b7b7b);try{await this['ensureTables']();}catch(_0x41c8bf){logger[_0x4fbb20(0xb1)]({'event':_0x7b8098['vgLrS'],'error':_0x41c8bf['message']},'Failed\x20to\x20ensure\x20job\x20tables:\x20'+_0x41c8bf[_0x4fbb20(0x135)]+_0x4fbb20(0x131));}const _0x4d2a18=this['loadJobConfigs']();_0x7b8098[_0x4fbb20(0xbf)](_0x4d2a18[_0x4fbb20(0x168)],0x0)&&logger['info']({'event':'job_no_configs'},_0x4fbb20(0xa3));const _0x328a03=[];for(const _0x3d35b2 of _0x4d2a18){const _0x1e1882=jobValidator[_0x4fbb20(0x187)](_0x3d35b2,this['workingDir']);_0x1e1882['valid']?_0x328a03[_0x4fbb20(0x19d)](_0x3d35b2):logger[_0x4fbb20(0x14a)]({'event':_0x7b8098[_0x4fbb20(0x1b9)],'name':_0x3d35b2[_0x4fbb20(0x11d)]||'unknown','errors':_0x1e1882[_0x4fbb20(0x78)]},_0x4fbb20(0x177)+(_0x3d35b2[_0x4fbb20(0x11d)]||_0x7b8098[_0x4fbb20(0x167)])+'\x20—\x20'+_0x1e1882['errors'][_0x4fbb20(0x1b1)](';\x20'));}const _0x2ef193=process[_0x4fbb20(0x11e)][_0x4fbb20(0x12a)]||_0x7b8098[_0x4fbb20(0xea)],_0x540981=process['env']['JOB_REDIS_PREFIX']||_0x4fbb20(0x103)+_0x2ef193+':job',_0x4afd85=_0x7b8098[_0x4fbb20(0x11b)](parseInt,process[_0x4fbb20(0x11e)][_0x4fbb20(0x13a)],0xa)||0x48,_0x2e2614=parseInt(process['env'][_0x4fbb20(0x10a)],0xa)||0xa8,_0x109fb8={'removeOnComplete':{'age':_0x4afd85*0xe10},'removeOnFail':{'age':_0x2e2614*0xe10}},_0x3db1a0={'high-priority':_0x7b8098[_0x4fbb20(0x86)],'default':'default','low-priority':_0x7b8098['FaicC']};for(const [_0x57bf73,_0x100d49]of Object[_0x4fbb20(0x191)](_0x3db1a0)){this[_0x4fbb20(0xaf)][_0x57bf73]=new Queue(_0x100d49,{'connection':this[_0x4fbb20(0xee)](),'prefix':_0x540981,'defaultJobOptions':_0x109fb8});}logger['info']({'event':'job_queues_created','count':0x3},'3\x20BullMQ\x20Queues\x20created\x20(high,\x20default,\x20low)');const _0xd9e3f5=parseInt(process[_0x4fbb20(0x11e)]['JOB_CONCURRENCY'],0xa)||0x5,_0x5b3a56=_0x7b8098[_0x4fbb20(0x11b)](parseInt,process['env']['JOB_STALLED_INTERVAL'],0xa)||0x7530,_0x4dcef9=parseInt(process['env'][_0x4fbb20(0x1b8)],0xa)||0x2;for(const [_0x4911bd,_0xc23853]of Object[_0x4fbb20(0x191)](_0x3db1a0)){const _0x337a15=new Worker(_0xc23853,async _0x354a56=>this['processJob'](_0x354a56),{'connection':this['createBullMQConnection'](),'prefix':_0x540981,'concurrency':_0xd9e3f5,'stalledInterval':_0x5b3a56,'maxStalledCount':_0x4dcef9});_0x337a15['on'](_0x4fbb20(0x149),(_0x4d11ab,_0x44454b)=>this['onJobCompleted'](_0x4d11ab,_0x44454b)),_0x337a15['on']('failed',(_0x14c56,_0x197051)=>this[_0x4fbb20(0xb2)](_0x14c56,_0x197051)),_0x337a15['on'](_0x7b8098['vylea'],(_0x3394f5,_0xa648ec)=>this[_0x4fbb20(0xf1)](_0x3394f5,_0xa648ec)),_0x337a15['on'](_0x4fbb20(0x1ba),_0x3fe2db=>{logger['warn']({'event':'job_stalled','jobId':_0x3fe2db},'Job\x20stalled:\x20'+_0x3fe2db);}),_0x337a15['on'](_0x7b8098['pffpL'],_0x2ac99d=>{const _0x350c09=_0x4fbb20;logger[_0x350c09(0x14a)]({'event':_0x7b8098[_0x350c09(0x178)],'queue':_0x4911bd,'error':_0x2ac99d[_0x350c09(0x135)]},_0x350c09(0x153)+_0x4911bd+_0x350c09(0x126)+_0x2ac99d['message']);}),this[_0x4fbb20(0xab)][_0x4911bd]=_0x337a15;}logger['info']({'event':_0x4fbb20(0x19a),'count':0x3,'concurrency':_0xd9e3f5},'3\x20BullMQ\x20Workers\x20created\x20(concurrency:\x20'+_0xd9e3f5+')');let _0x4909e6=0x0;for(const _0x18ec15 of _0x328a03){try{await this[_0x4fbb20(0xc8)](_0x18ec15),_0x4909e6++;}catch(_0x3ad2d0){logger['error']({'event':_0x7b8098[_0x4fbb20(0xa0)],'name':_0x18ec15[_0x4fbb20(0x11d)],'error':_0x3ad2d0[_0x4fbb20(0x135)]},_0x4fbb20(0x10f)+_0x18ec15['name']+_0x4fbb20(0x134)+_0x3ad2d0['message']);}}this['initialized']=!![];const _0xc865a4=this[_0x4fbb20(0x1b7)][_0x4fbb20(0x168)];logger['info']({'event':_0x7b8098['hBBny'],'registeredJobs':_0x4909e6,'totalConfigs':_0x328a03[_0x4fbb20(0x168)],'redisConnections':_0xc865a4},_0x4fbb20(0x79)+_0x4909e6+_0x4fbb20(0xa7)+_0xc865a4+_0x4fbb20(0x90));}async[a0_0x51b27d(0x100)](){const _0x4bddd0=a0_0x51b27d,_0x945510={'vxfGJ':function(_0x3d59d1,_0x3d0a32,_0x55775c){return _0x3d59d1(_0x3d0a32,_0x55775c);},'NIrZK':_0x4bddd0(0xb6),'jICDA':function(_0x3d1fa7,_0x56a29f){return _0x3d1fa7<_0x56a29f;},'iTjWx':'active','RGKzR':'Job\x20Manager\x20shutdown\x20complete'};if(!this['initialized'])return;const _0xf421bf=_0x945510[_0x4bddd0(0x160)](parseInt,process['env'][_0x4bddd0(0xcf)],0xa)||0x2710;logger[_0x4bddd0(0xdf)]({'event':_0x945510[_0x4bddd0(0x171)],'timeoutMs':_0xf421bf},_0x4bddd0(0xad)+_0xf421bf+_0x4bddd0(0xe0));const _0xaadbcb=Object['values'](this[_0x4bddd0(0xab)])['map'](async _0x1377c6=>{try{await _0x1377c6['pause']();}catch(_0x14676d){}});await Promise[_0x4bddd0(0x1b2)](_0xaadbcb);const _0x26f59e=Date[_0x4bddd0(0x133)]();while(_0x945510[_0x4bddd0(0x185)](Date['now']()-_0x26f59e,_0xf421bf)){let _0x494485=0x0;for(const _0x2cb14e of Object['values'](this['queues'])){try{const _0x55f4c3=await _0x2cb14e['getJobCounts'](_0x945510['iTjWx']);_0x494485+=_0x55f4c3['active']||0x0;}catch(_0x5b77ca){}}if(_0x494485===0x0)break;await new Promise(_0x2fdb22=>setTimeout(_0x2fdb22,0x1f4));}const _0x208c2c=Object['values'](this['workers'])['map'](async _0x3fadfa=>{const _0xec67e1=_0x4bddd0;try{await _0x3fadfa[_0xec67e1(0x10b)]();}catch(_0x622085){}});await Promise['all'](_0x208c2c);const _0x5dd3d2=Object[_0x4bddd0(0x1ab)](this[_0x4bddd0(0xaf)])[_0x4bddd0(0xe7)](async _0x298629=>{try{await _0x298629['close']();}catch(_0x51380f){}});await Promise['all'](_0x5dd3d2);for(const _0x312255 of this['connections']){try{await _0x312255[_0x4bddd0(0xc4)]();}catch(_0x208334){}}this['queues']={},this['workers']={},this['connections']=[],await this[_0x4bddd0(0x92)](),this[_0x4bddd0(0x11a)]['clear'](),this[_0x4bddd0(0x144)]=![],logger['info']({'event':_0x4bddd0(0x17e)},_0x945510[_0x4bddd0(0x116)]);}[a0_0x51b27d(0xb9)](){const _0x571f18=a0_0x51b27d,_0x4107dc={'PQxVE':_0x571f18(0x14b),'qBNKq':_0x571f18(0xfe)},_0x528f0f=path[_0x571f18(0x1b1)](this[_0x571f18(0x166)],'payload','jobs');if(!fs[_0x571f18(0x1a7)](_0x528f0f))return logger[_0x571f18(0xdf)]({'event':_0x4107dc['PQxVE'],'path':_0x528f0f},_0x4107dc[_0x571f18(0xd6)]),[];const _0x74368d=fs[_0x571f18(0x150)](_0x528f0f)['filter'](_0x47caf4=>_0x47caf4[_0x571f18(0x1b4)](_0x571f18(0x176))),_0x12188c=[];for(const _0x335564 of _0x74368d){const _0x243389=path['join'](_0x528f0f,_0x335564);try{const _0x5959b6=fs[_0x571f18(0xf9)](_0x243389,'utf8'),_0x566004=JSON['parse'](_0x5959b6);_0x566004[_0x571f18(0x106)]=_0x335564,_0x12188c[_0x571f18(0x19d)](_0x566004);}catch(_0x1eb81f){logger['error']({'event':_0x571f18(0x105),'file':_0x335564,'error':_0x1eb81f['message']},'Failed\x20to\x20parse\x20job\x20config:\x20'+_0x335564+_0x571f18(0x134)+_0x1eb81f[_0x571f18(0x135)]);}}return logger[_0x571f18(0xdf)]({'event':'job_configs_loaded','count':_0x12188c['length']},_0x571f18(0x8f)+_0x12188c['length']+_0x571f18(0xae)),_0x12188c;}async[a0_0x51b27d(0xc8)](_0x138a00){const _0x16feb6=a0_0x51b27d,_0x42bb2d={'hNHzn':function(_0xaaa1db,_0x36d264){return _0xaaa1db(_0x36d264);},'bGWku':function(_0x5dd011,_0xbf962c){return _0x5dd011===_0xbf962c;},'eAGHR':_0x16feb6(0xe3),'VkYsQ':function(_0x232b4f,_0x45103b){return _0x232b4f!==_0x45103b;},'QyFbQ':_0x16feb6(0x13c),'fTDVp':_0x16feb6(0x9e),'kzdfK':_0x16feb6(0x82),'KtyEr':function(_0xe0cc9d,_0x2d9c8b){return _0xe0cc9d===_0x2d9c8b;},'snOeE':_0x16feb6(0x136),'NmiyM':'online'},_0x960f46=path[_0x16feb6(0x1b1)](this[_0x16feb6(0x166)],'src',_0x16feb6(0x18c),_0x138a00[_0x16feb6(0xd8)]+'.js');this['handlers'][_0x138a00['name']]=_0x42bb2d[_0x16feb6(0xda)](require,_0x960f46),this[_0x16feb6(0x138)][_0x138a00[_0x16feb6(0x11d)]]=_0x138a00;if(_0x42bb2d['bGWku'](_0x138a00['type'],_0x42bb2d[_0x16feb6(0x7a)])&&_0x42bb2d[_0x16feb6(0xd7)](_0x138a00['enabled'],![])){const _0x375e16=this[_0x16feb6(0xaf)][_0x138a00['queue']||_0x42bb2d['QyFbQ']];await _0x375e16[_0x16feb6(0x145)](_0x138a00[_0x16feb6(0x11d)],{'pattern':_0x138a00['schedule'],'tz':_0x138a00['timezone']||undefined},{'name':_0x138a00[_0x16feb6(0x11d)],'data':{'handler':_0x138a00['handler'],'triggeredBy':_0x42bb2d['eAGHR'],'metadata':_0x138a00['metadata']||{}},'opts':{'attempts':_0x138a00['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0x138a00['retry']?.[_0x16feb6(0x12e)]||_0x42bb2d[_0x16feb6(0xc0)],'delay':_0x138a00['retry']?.['initialDelay']||0x1388},'timeout':_0x138a00[_0x16feb6(0xa1)]||0x7530}}),logger['info']({'event':_0x42bb2d['kzdfK'],'name':_0x138a00[_0x16feb6(0x11d)],'schedule':_0x138a00[_0x16feb6(0x95)],'queue':_0x138a00[_0x16feb6(0x7d)]||_0x42bb2d['QyFbQ']},_0x16feb6(0x19b)+_0x138a00[_0x16feb6(0x11d)]+'\x20['+_0x138a00['schedule']+']');}const _0x2cb1d3=_0x42bb2d['KtyEr'](_0x138a00[_0x16feb6(0x139)],_0x42bb2d['eAGHR'])&&_0x138a00['enabled']!==![]?'online':_0x42bb2d['snOeE'];let _0xd7e2ee=null;_0x2cb1d3===_0x42bb2d['NmiyM']&&(_0xd7e2ee=await this['getNextRunFromBullMQ'](_0x138a00['name'])),await this[_0x16feb6(0x123)](_0x138a00,_0x2cb1d3,_0xd7e2ee);}async['processJob'](_0x9d7f05){const _0x1a5fde=a0_0x51b27d,_0x5cd5b8={'nlZgz':_0x1a5fde(0x175),'RAVJW':'job_started','RQuQJ':function(_0x4b0a6e,_0x2931a9){return _0x4b0a6e+_0x2931a9;},'HZPfU':'unknown','lskin':function(_0x1135e2,_0x45bb1c){return _0x1135e2===_0x45bb1c;},'KstUh':'api-delayed','gNAcH':_0x1a5fde(0x8c),'MPXoX':function(_0x47884c,_0x37e037){return _0x47884c===_0x37e037;},'yIYEZ':'cron','vPzgX':'default','ChUuV':function(_0x4a45df){return _0x4a45df();},'trVPn':_0x1a5fde(0x192),'jbLuf':_0x1a5fde(0x17f)},_0x461587=this['jobConfigs'][_0x9d7f05[_0x1a5fde(0x11d)]],_0x43aaa0=this[_0x1a5fde(0x182)][_0x9d7f05[_0x1a5fde(0x11d)]];if(!_0x43aaa0)throw new Error('Handler\x20tidak\x20ditemukan\x20untuk\x20job:\x20'+_0x9d7f05['name']);const _0x331375=logger['child']({'jobId':_0x9d7f05['id'],'jobName':_0x9d7f05[_0x1a5fde(0x11d)]});_0x331375['info']({'event':_0x5cd5b8['RAVJW'],'attempt':_0x5cd5b8['RQuQJ'](_0x9d7f05[_0x1a5fde(0x18d)],0x1),'triggeredBy':_0x9d7f05[_0x1a5fde(0xe4)]?.['triggeredBy']||_0x5cd5b8[_0x1a5fde(0x197)]},_0x1a5fde(0x127)+_0x9d7f05[_0x1a5fde(0x11d)]+_0x1a5fde(0xa4)+(_0x9d7f05[_0x1a5fde(0x18d)]+0x1)+')');const _0x5f18db=uuidv7(),_0x45b7ba=_0x9d7f05['data']?.['triggeredBy']||_0x5cd5b8[_0x1a5fde(0x197)],_0x489761=this['insertJobHistory']({'id':_0x5f18db,'jobName':_0x9d7f05[_0x1a5fde(0x11d)],'bullmqJobId':_0x9d7f05['id'],'triggerType':_0x5cd5b8['lskin'](_0x45b7ba,_0x5cd5b8['KstUh'])?_0x1a5fde(0xf6):_0x5cd5b8['lskin'](_0x45b7ba,_0x5cd5b8[_0x1a5fde(0x151)])?_0x1a5fde(0xed):_0x1a5fde(0xe3),'triggeredBy':_0x5cd5b8[_0x1a5fde(0xa6)](_0x45b7ba,_0x5cd5b8['yIYEZ'])?_0x1a5fde(0x174):_0x45b7ba,'queue':_0x461587?.[_0x1a5fde(0x7d)]||_0x5cd5b8[_0x1a5fde(0x152)],'attempt':_0x9d7f05[_0x1a5fde(0x18d)]+0x1,'configFile':_0x461587?.[_0x1a5fde(0x106)]||null})[_0x1a5fde(0x147)](_0xac72e2=>{const _0x32a05b=_0x1a5fde;_0x331375['warn']({'event':_0x5cd5b8[_0x32a05b(0xe5)],'error':_0xac72e2['message']},'Background\x20insert\x20job\x20history\x20failed:\x20'+_0xac72e2['message']);});this[_0x1a5fde(0x11a)]['set'](_0x9d7f05['id'],{'historyId':_0x5f18db,'insertPromise':_0x489761});const _0x1110c4=this[_0x1a5fde(0x199)](_0x9d7f05,_0x461587,_0x331375),_0x9af814=_0x5cd5b8['ChUuV'](getComponentEngine);if(_0x9af814&&typeof _0x9af814['executeEventHandlers']==='function'){const _0x4c56ae=await _0x9af814[_0x1a5fde(0x1a4)](_0x5cd5b8[_0x1a5fde(0xc2)],_0x1110c4,!![]);if(!_0x4c56ae['success'])throw new Error('Job\x20cancelled\x20by\x20onBeforeJobExecute:\x20'+_0x4c56ae[_0x1a5fde(0x14a)]);}const _0x1f8664=await _0x43aaa0(_0x1110c4);return _0x331375[_0x1a5fde(0xdf)]({'event':_0x5cd5b8['jbLuf'],'result':_0x1f8664},_0x1a5fde(0xd5)+_0x9d7f05['name']),_0x1f8664;}['buildContext'](_0x13c139,_0x54aa46,_0x4432bb){const _0x4d40d2=a0_0x51b27d;return{'jobId':_0x13c139['id'],'jobName':_0x13c139[_0x4d40d2(0x11d)],'attempt':_0x13c139['attemptsMade']+0x1,'maxAttempts':_0x54aa46?.[_0x4d40d2(0xf4)]?.[_0x4d40d2(0x158)]||0x3,'payload':_0x13c139['data']||{},'config':_0x54aa46||{},'db':this['getDbUtils'](),'redis':this[_0x4d40d2(0x159)](),'logger':_0x4432bb,'kafka':this['getKafkaService'](),'cache':this[_0x4d40d2(0x125)](),'updateProgress':async _0x17bb1d=>{await _0x13c139['updateProgress'](_0x17bb1d);},'emit':async(_0x5b9c7b,_0x5953ad)=>{const _0x20db72=_0x4d40d2,_0x2d5926=this['getKafkaService']();_0x2d5926&&await _0x2d5926['publishEvent'](_0x5b9c7b,_0x20db72(0x172),null,_0x5953ad,{'module':'job-scheduler','endpoint':_0x13c139[_0x20db72(0x11d)]});},'job':_0x13c139};}[a0_0x51b27d(0xb3)](){const _0x44944f=a0_0x51b27d,_0x34ce2e={'GeFew':'postgresql'};return(process['env']['DB_TYPE']||_0x34ce2e[_0x44944f(0x1a1)])[_0x44944f(0xf5)]();}async['ensureTables'](){const _0x1098ff=a0_0x51b27d,_0xf5f73f={'ULUOG':'Database\x20tidak\x20tersedia,\x20skip\x20auto-create\x20job\x20tables','XyPON':_0x1098ff(0x129),'MTutU':_0x1098ff(0x169),'pwbht':_0x1098ff(0x7c),'MVyZy':'ora-00955'},_0x49e094=this['getDbUtils']();if(!_0x49e094){logger['warn']({'event':'job_db_unavailable'},_0xf5f73f['ULUOG']);return;}const _0xd4eada=this['getDbType'](),_0x4d488f={'postgresql':_0xf5f73f['XyPON'],'oracle':_0xf5f73f[_0x1098ff(0x13f)],'mysql':'mysql.sql'},_0xf19b4=_0x4d488f[_0xd4eada];if(!_0xf19b4){logger[_0x1098ff(0xb1)]({'event':'job_db_type_unsupported','dbType':_0xd4eada},_0x1098ff(0x9c)+_0xd4eada+_0x1098ff(0xbb));return;}const _0x5559ec=path[_0x1098ff(0x1b1)](__dirname,_0xf5f73f['pwbht'],_0xf19b4);if(!fs[_0x1098ff(0x1a7)](_0x5559ec)){logger['warn']({'event':_0x1098ff(0x8b),'path':_0x5559ec},'SQL\x20script\x20tidak\x20ditemukan:\x20'+_0x5559ec);return;}const _0xbe061=fs[_0x1098ff(0xf9)](_0x5559ec,_0x1098ff(0x140)),_0x15dd21=this['splitSqlStatements'](_0xbe061,_0xd4eada);let _0x1294bb=0x0;for(const _0x465af5 of _0x15dd21){try{await _0x49e094[_0x1098ff(0xe8)](_0x465af5),_0x1294bb++;}catch(_0x5d6e03){const _0x4000b2=(_0x5d6e03['message']||'')['toLowerCase'](),_0x598aa5=_0x4000b2['includes'](_0x1098ff(0xd3))||_0x4000b2['includes'](_0xf5f73f[_0x1098ff(0x1a5)])||_0x4000b2['includes'](_0x1098ff(0x1af));!_0x598aa5&&logger['warn']({'event':'job_ensure_tables_warn','error':_0x5d6e03[_0x1098ff(0x135)]},'Job\x20ensureTables\x20warning:\x20'+_0x5d6e03['message']);}}logger[_0x1098ff(0xdf)]({'event':_0x1098ff(0x15a),'dbType':_0xd4eada,'executed':_0x1294bb},'Job\x20monitoring\x20tables\x20ensured\x20('+_0xd4eada+')');}['splitSqlStatements'](_0x159dac,_0x2f54c5){const _0x3264b5=a0_0x51b27d,_0x125c0d={'CdAGh':function(_0xf0b43b,_0x4e7bdf){return _0xf0b43b===_0x4e7bdf;},'nZXWT':function(_0xa9d84,_0x24735e){return _0xa9d84>_0x24735e;}};let _0x4f055c;return _0x2f54c5===_0x3264b5(0xc3)?_0x4f055c=_0x159dac[_0x3264b5(0x111)](/\n\/\s*(?:\n|$)/):_0x4f055c=_0x159dac[_0x3264b5(0x111)](/;\s*(?:\n|$)/),_0x4f055c['map'](_0x3defb0=>_0x3defb0[_0x3264b5(0x157)]())[_0x3264b5(0x98)](_0x34380a=>{const _0x2da6cd=_0x3264b5;if(_0x125c0d[_0x2da6cd(0x7b)](_0x34380a[_0x2da6cd(0x168)],0x0))return![];const _0x4fa992=_0x34380a['split']('\x0a')[_0x2da6cd(0x98)](_0x1e5484=>!_0x1e5484['trim']()['startsWith']('--')&&_0x1e5484['trim']()[_0x2da6cd(0x168)]>0x0);return _0x125c0d['nZXWT'](_0x4fa992['length'],0x0);});}async['upsertJobRegistry'](_0x4cce4e,_0xd9d33c=a0_0x51b27d(0x84),_0x5de847=null){const _0x2ad6db=a0_0x51b27d,_0x215320={'pVESo':_0x2ad6db(0xe3),'whwsU':'exponential','VCWrq':function(_0x135a20,_0x967a40){return _0x135a20===_0x967a40;},'Hhvgn':'oracle','nbxjN':_0x2ad6db(0xaa),'AwuZJ':_0x2ad6db(0xb7)},_0x28a3b8=this[_0x2ad6db(0x161)]();if(!_0x28a3b8)return;const _0x4acd42=this['getDbType'](),_0x55e8b9=[_0x4cce4e[_0x2ad6db(0x11d)],_0x4cce4e['description']||_0x4cce4e[_0x2ad6db(0x11d)],_0x4cce4e['type']||_0x215320[_0x2ad6db(0x12d)],_0x4cce4e['schedule']||null,_0x4cce4e[_0x2ad6db(0x7d)]||'default',_0x4cce4e[_0x2ad6db(0xd8)],_0x4cce4e['_sourceFile']||'',_0x4cce4e[_0x2ad6db(0xa1)]||0x7530,_0x4cce4e['retry']?.['maxAttempts']||0x3,_0x4cce4e[_0x2ad6db(0xf4)]?.[_0x2ad6db(0x12e)]||_0x215320[_0x2ad6db(0xb5)],_0xd9d33c,_0x5de847];try{if(_0x215320[_0x2ad6db(0x88)](_0x4acd42,_0x215320[_0x2ad6db(0xbc)]))await _0x28a3b8[_0x2ad6db(0xe8)](_0x2ad6db(0xd4),_0x55e8b9);else _0x4acd42===_0x215320['nbxjN']?await _0x28a3b8['executeQuery']('INSERT\x20INTO\x20job_registry\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(job_name,\x20display_name,\x20type,\x20schedule,\x20queue,\x20handler,\x20config_file,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout,\x20retry_max,\x20retry_backoff,\x20status,\x20next_run_at,\x20created_at,\x20updated_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20NOW(),\x20NOW())\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20DUPLICATE\x20KEY\x20UPDATE\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display_name\x20=\x20VALUES(display_name),\x20type\x20=\x20VALUES(type),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20schedule\x20=\x20VALUES(schedule),\x20queue\x20=\x20VALUES(queue),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20handler\x20=\x20VALUES(handler),\x20config_file\x20=\x20VALUES(config_file),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout\x20=\x20VALUES(timeout),\x20retry_max\x20=\x20VALUES(retry_max),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20retry_backoff\x20=\x20VALUES(retry_backoff),\x20status\x20=\x20VALUES(status),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20VALUES(next_run_at)',_0x55e8b9):await _0x28a3b8['executeQuery'](_0x2ad6db(0x156),_0x55e8b9);}catch(_0x4289ac){logger[_0x2ad6db(0xb1)]({'event':_0x215320['AwuZJ'],'name':_0x4cce4e[_0x2ad6db(0x11d)],'error':_0x4289ac['message']},'Failed\x20to\x20upsert\x20job\x20registry:\x20'+_0x4cce4e['name']+'\x20—\x20'+_0x4289ac[_0x2ad6db(0x135)]);}}async[a0_0x51b27d(0x12b)](_0x36fde4){const _0x2aa460=a0_0x51b27d,_0x2bc572={'GNfdS':_0x2aa460(0xe3),'bioIW':function(_0x55be4c,_0x65d2c3){return _0x55be4c===_0x65d2c3;},'Tmbcv':_0x2aa460(0xc3),'FAccr':function(_0x170a9b,_0x302dbc){return _0x170a9b===_0x302dbc;},'qqmyy':_0x2aa460(0xf0),'fRyGi':'job_history_insert_error'},_0x50501d=this[_0x2aa460(0x161)]();if(!_0x50501d)return;const _0x25f458=this['getDbType'](),_0x47593d=[_0x36fde4['id'],_0x36fde4['jobName'],_0x36fde4['bullmqJobId']||null,_0x36fde4[_0x2aa460(0xe1)]||_0x2bc572[_0x2aa460(0x1ae)],_0x36fde4['triggeredBy']||'system',_0x36fde4['queue']||'default',_0x36fde4[_0x2aa460(0x11c)]||0x1,_0x36fde4['configFile']||null,process[_0x2aa460(0x99)]];try{if(_0x2bc572[_0x2aa460(0x194)](_0x25f458,_0x2bc572[_0x2aa460(0x9d)]))await _0x50501d['executeQuery'](_0x2aa460(0xf8),_0x47593d);else _0x2bc572[_0x2aa460(0xe6)](_0x25f458,'mysql')?await _0x50501d['executeQuery'](_0x2aa460(0x89),_0x47593d):await _0x50501d[_0x2aa460(0xe8)](_0x2aa460(0x97),_0x47593d);await this[_0x2aa460(0x1aa)](_0x36fde4['jobName'],_0x2bc572[_0x2aa460(0xc7)]);}catch(_0x2ec256){logger[_0x2aa460(0xb1)]({'event':_0x2bc572['fRyGi'],'jobName':_0x36fde4['jobName'],'error':_0x2ec256[_0x2aa460(0x135)]},'Failed\x20to\x20insert\x20job\x20history:\x20'+_0x2ec256[_0x2aa460(0x135)]);}}async['updateJobHistoryCompleted'](_0x5d1c8f,_0xf7b0fc,_0x1cbaec){const _0x5d3830=a0_0x51b27d,_0x5e6ee1={'mBNaZ':function(_0x582773,_0x1faff7){return _0x582773(_0x1faff7);},'vrAsA':'oracle','HcGBS':_0x5d3830(0xaa)},_0x1cff45=this['getDbUtils']();if(!_0x1cff45)return;const _0x2c63ff=this['getDbType'](),_0x59adb9=_0x1cbaec?_0x5e6ee1[_0x5d3830(0x83)](String,_0x1cbaec)['substring'](0x0,0x1f4):null;try{if(_0x2c63ff===_0x5e6ee1['vrAsA'])await _0x1cff45[_0x5d3830(0xe8)](_0x5d3830(0xa2),[_0xf7b0fc,_0x59adb9,_0x5d1c8f]);else _0x2c63ff===_0x5e6ee1['HcGBS']?await _0x1cff45['executeQuery'](_0x5d3830(0xcc),[_0xf7b0fc,_0x59adb9,_0x5d1c8f]):await _0x1cff45['executeQuery'](_0x5d3830(0x118),[_0xf7b0fc,_0x59adb9,_0x5d1c8f]);}catch(_0x151eb8){logger['warn']({'event':_0x5d3830(0x15b),'historyId':_0x5d1c8f,'error':_0x151eb8['message']},_0x5d3830(0x1a3)+_0x151eb8[_0x5d3830(0x135)]);}}async[a0_0x51b27d(0x1b5)](_0x467353,_0x30fa67,_0xcb9fbd,_0x120371,_0x12a861){const _0x349ddd=a0_0x51b27d,_0x2cf6f2={'tXofB':_0x349ddd(0xc3),'CrNMs':function(_0x39b4fd,_0x35936d){return _0x39b4fd||_0x35936d;}},_0x3363a8=this['getDbUtils']();if(!_0x3363a8)return;const _0x40980c=this[_0x349ddd(0xb3)](),_0x56eac7=_0x120371?String(_0x120371)['substring'](0x0,0x3e8):null,_0x5e3ff3=_0x12a861?String(_0x12a861)[_0x349ddd(0x8d)](0x0,0xfa0):null;try{if(_0x40980c===_0x2cf6f2[_0x349ddd(0x120)])await _0x3363a8[_0x349ddd(0xe8)]('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27failed\x27,\x20completed_at\x20=\x20SYSTIMESTAMP,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20:1,\x20progress\x20=\x20:2,\x20error_message\x20=\x20:3,\x20error_stack\x20=\x20:4\x20WHERE\x20id\x20=\x20:5',[_0x30fa67,_0x2cf6f2[_0x349ddd(0x181)](_0xcb9fbd,0x0),_0x56eac7,_0x5e3ff3,_0x467353]);else _0x40980c===_0x349ddd(0xaa)?await _0x3363a8['executeQuery'](_0x349ddd(0xef),[_0x30fa67,_0x2cf6f2[_0x349ddd(0x181)](_0xcb9fbd,0x0),_0x56eac7,_0x5e3ff3,_0x467353]):await _0x3363a8[_0x349ddd(0xe8)](_0x349ddd(0x15d),[_0x30fa67,_0xcb9fbd||0x0,_0x56eac7,_0x5e3ff3,_0x467353]);}catch(_0x32e432){logger[_0x349ddd(0xb1)]({'event':_0x349ddd(0x87),'historyId':_0x467353,'error':_0x32e432[_0x349ddd(0x135)]},_0x349ddd(0x17a)+_0x32e432[_0x349ddd(0x135)]);}}async['updateRegistryStatus'](_0x7d5059,_0x249f75){const _0x224660=a0_0x51b27d,_0x1cf7e5={'nufJG':_0x224660(0xaa)},_0x419185=this['getDbUtils']();if(!_0x419185)return;const _0x44bdee=this[_0x224660(0xb3)]();try{if(_0x44bdee===_0x224660(0xc3))await _0x419185['executeQuery'](_0x224660(0xde),[_0x249f75,_0x7d5059]);else _0x44bdee===_0x1cf7e5['nufJG']?await _0x419185[_0x224660(0xe8)](_0x224660(0x130),[_0x249f75,_0x7d5059]):await _0x419185['executeQuery'](_0x224660(0x121),[_0x249f75,_0x7d5059]);}catch(_0x55131e){}}async['updateRegistryCounters'](_0x379b86,_0x7eb660,_0x4ed3a5,_0xd82953){const _0x24f1bb=a0_0x51b27d,_0x36da18={'UyCnJ':'success','zILSE':'total_failed','zbikf':'oracle','GraYF':function(_0x1de119,_0x579b5d){return _0x1de119===_0x579b5d;},'ZOioL':_0x24f1bb(0xaa)},_0x17275e=this['getDbUtils']();if(!_0x17275e)return;const _0x257de8=this[_0x24f1bb(0xb3)](),_0x26927b=_0x7eb660===_0x36da18['UyCnJ']?'total_success':_0x36da18['zILSE'];try{if(_0x257de8===_0x36da18['zbikf'])await _0x17275e[_0x24f1bb(0xe8)](_0x24f1bb(0xd1)+_0x26927b+'\x20=\x20'+_0x26927b+'\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',[_0x7eb660,_0x4ed3a5,_0xd82953,_0x379b86]);else _0x36da18[_0x24f1bb(0xac)](_0x257de8,_0x36da18['ZOioL'])?await _0x17275e[_0x24f1bb(0xe8)](_0x24f1bb(0xe2)+_0x26927b+_0x24f1bb(0x14e)+_0x26927b+_0x24f1bb(0x13b),[_0x7eb660,_0x4ed3a5,_0xd82953,_0x379b86]):await _0x17275e[_0x24f1bb(0xe8)]('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'+_0x26927b+'\x20=\x20'+_0x26927b+_0x24f1bb(0x102),[_0x7eb660,_0x4ed3a5,_0xd82953,_0x379b86]);}catch(_0x2cbfb9){logger[_0x24f1bb(0xb1)]({'event':_0x24f1bb(0x9f),'jobName':_0x379b86,'error':_0x2cbfb9[_0x24f1bb(0x135)]},'Failed\x20to\x20update\x20job\x20registry\x20counters:\x20'+_0x2cbfb9[_0x24f1bb(0x135)]);}}async[a0_0x51b27d(0x107)](_0x350324){const _0x48eda5=a0_0x51b27d,_0x1cf3f7={'gmMEz':_0x48eda5(0x15f)},_0x40e95b=this['jobConfigs'][_0x350324];if(!_0x40e95b||_0x40e95b['type']!=='cron'||_0x40e95b[_0x48eda5(0x7f)]===![])return null;const _0x824bfd=this[_0x48eda5(0xaf)][_0x40e95b[_0x48eda5(0x7d)]||_0x48eda5(0x13c)];if(!_0x824bfd)return null;try{if(typeof _0x824bfd['getJobSchedulers']===_0x1cf3f7['gmMEz']){const _0x232660=await _0x824bfd['getJobSchedulers'](0x0,0x64),_0x3fe5bb=_0x232660['find'](_0xe1b4b8=>_0xe1b4b8['name']===_0x350324);return _0x3fe5bb?.[_0x48eda5(0xeb)]?new Date(_0x3fe5bb['next']):null;}}catch(_0xe3a563){}return null;}async[a0_0x51b27d(0x92)](){const _0x51b704=a0_0x51b27d,_0x383e2d={'aKQbx':'oracle','ZWfdQ':_0x51b704(0xaa)},_0x18b3b6=this['getDbUtils']();if(!_0x18b3b6)return;const _0x52b810=this[_0x51b704(0xb3)]();try{if(_0x52b810===_0x383e2d[_0x51b704(0x137)])await _0x18b3b6[_0x51b704(0xe8)](_0x51b704(0x1b0));else _0x52b810===_0x383e2d['ZWfdQ']?await _0x18b3b6[_0x51b704(0xe8)]('UPDATE\x20job_registry\x20SET\x20status\x20=\x20\x27offline\x27,\x20next_run_at\x20=\x20NULL'):await _0x18b3b6['executeQuery']('UPDATE\x20job_registry\x20SET\x20status\x20=\x20\x27offline\x27,\x20next_run_at\x20=\x20NULL,\x20updated_at\x20=\x20NOW()');}catch(_0x5e8254){logger[_0x51b704(0xb1)]({'event':_0x51b704(0x186),'error':_0x5e8254['message']},_0x51b704(0xd0)+_0x5e8254['message']);}}['getDbUtils'](){const _0x2a9dc2=a0_0x51b27d,_0x2c1bd4={'PPUpy':function(_0x2822a0,_0x471669){return _0x2822a0===_0x471669;},'nqYnV':_0x2a9dc2(0xc3),'njUMu':_0x2a9dc2(0x155),'vXhQr':function(_0x1d2013,_0x1fc368){return _0x1d2013===_0x1fc368;},'NwMnT':_0x2a9dc2(0x8a),'zStKR':'MySQL\x20DB\x20module\x20not\x20available','kawRX':_0x2a9dc2(0x112)},_0x15e4c0=(process[_0x2a9dc2(0x11e)][_0x2a9dc2(0x93)]||_0x2a9dc2(0x9b))[_0x2a9dc2(0xf5)]();if(_0x2c1bd4[_0x2a9dc2(0x12f)](_0x15e4c0,_0x2c1bd4['nqYnV']))try{const _0x55adbc=require(_0x2c1bd4['njUMu']);return{'executeQuery':(_0x316a0b,_0x58a6ad)=>_0x55adbc['executeQuery'](_0x316a0b,_0x58a6ad),'executeTransaction':_0x211b59=>_0x55adbc[_0x2a9dc2(0x114)](_0x211b59),'getPool':()=>_0x55adbc[_0x2a9dc2(0x16c)]()};}catch(_0x2cf39f){return logger['warn']({'event':_0x2a9dc2(0x14d)},_0x2a9dc2(0x16e)),null;}if(_0x2c1bd4[_0x2a9dc2(0x198)](_0x15e4c0,'mysql'))try{const _0x636d21=require(_0x2c1bd4[_0x2a9dc2(0x10d)]);return{'executeQuery':(_0x44ecbc,_0x17fc83)=>_0x636d21['executeQuery'](_0x44ecbc,_0x17fc83),'executeTransaction':_0x17b183=>_0x636d21['executeTransaction'](_0x17b183),'getPool':()=>_0x636d21[_0x2a9dc2(0x16c)]()};}catch(_0x3fbad5){return logger[_0x2a9dc2(0xb1)]({'event':'db_mysql_unavailable'},_0x2c1bd4['zStKR']),null;}try{const _0x22a089=require('../../utils/db');return{'executeQuery':_0x22a089[_0x2a9dc2(0xe8)],'executeTransaction':_0x22a089[_0x2a9dc2(0x114)],'getPool':_0x22a089['getPool']};}catch(_0x554e1c){return logger[_0x2a9dc2(0xb1)]({'event':_0x2c1bd4['kawRX']},_0x2a9dc2(0x183)),null;}}['getRedisClient'](){const _0x20c185=a0_0x51b27d,_0x376e92={'GEMsZ':_0x20c185(0x195)};try{const _0x112474=require(_0x376e92['GEMsZ']);return _0x112474['getClient']?_0x112474[_0x20c185(0x1b3)]():_0x112474;}catch(_0x41951d){return null;}}['getKafkaService'](){const _0x35bef6=a0_0x51b27d,_0x3d463b={'YbtkJ':function(_0x261d4b,_0x449dea){return _0x261d4b===_0x449dea;},'ocpuc':'true','XpvBF':function(_0x561f1e,_0x577b99){return _0x561f1e(_0x577b99);},'ZKrFv':_0x35bef6(0xc1)};try{if(_0x3d463b['YbtkJ'](process['env']['KAFKA_ENABLED'],_0x3d463b[_0x35bef6(0x85)])){const _0x4e1587=_0x3d463b[_0x35bef6(0x115)](require,_0x3d463b[_0x35bef6(0x1ac)]);return _0x4e1587[_0x35bef6(0x104)]?_0x4e1587['getInstance']():_0x4e1587;}}catch(_0x214c51){}return null;}[a0_0x51b27d(0x125)](){const _0x1b6606=a0_0x51b27d,_0x573d93={'UAZlp':'../../utils/cache-manager'};try{return require(_0x573d93[_0x1b6606(0x170)]);}catch(_0x59a9b2){return null;}}async[a0_0x51b27d(0x13e)](_0x5d3192,_0x3230c7={}){const _0x1eea42=a0_0x51b27d,_0x3c5378={'tLaSN':'default','iTPhW':'api','ETGCv':_0x1eea42(0x9e),'iuzUD':_0x1eea42(0x132)},_0x2f7a6e=this['jobConfigs'][_0x5d3192];if(!_0x2f7a6e)throw new Error(_0x1eea42(0x16d)+_0x5d3192);const _0x54cc84=this['queues'][_0x2f7a6e[_0x1eea42(0x7d)]||_0x3c5378[_0x1eea42(0xdc)]],_0x51cb40=await _0x54cc84['add'](_0x5d3192,{..._0x3230c7,'handler':_0x2f7a6e[_0x1eea42(0xd8)],'triggeredBy':_0x3c5378['iTPhW']},{'attempts':_0x2f7a6e[_0x1eea42(0xf4)]?.['maxAttempts']||0x3,'backoff':{'type':_0x2f7a6e['retry']?.[_0x1eea42(0x12e)]||_0x3c5378[_0x1eea42(0x188)],'delay':_0x2f7a6e['retry']?.['initialDelay']||0x1388},'timeout':_0x2f7a6e['timeout']||0x7530});return logger[_0x1eea42(0xdf)]({'event':_0x3c5378['iuzUD'],'jobId':_0x51cb40['id'],'name':_0x5d3192,'triggeredBy':_0x3c5378[_0x1eea42(0x17d)]},_0x1eea42(0x18a)+_0x5d3192+'\x20(id:\x20'+_0x51cb40['id']+')'),{'jobId':_0x51cb40['id'],'name':_0x5d3192};}async[a0_0x51b27d(0xfb)](_0x309c12,_0xf13bb3={},_0x51278d=0x0){const _0x5e0ae7=a0_0x51b27d,_0x1ecfa3=this['jobConfigs'][_0x309c12];if(!_0x1ecfa3)throw new Error(_0x5e0ae7(0x16d)+_0x309c12);const _0x317152=this['queues'][_0x1ecfa3[_0x5e0ae7(0x7d)]||'default'],_0x8447bc=await _0x317152[_0x5e0ae7(0x80)](_0x309c12,{..._0xf13bb3,'handler':_0x1ecfa3['handler'],'triggeredBy':'api-delayed'},{'delay':_0x51278d,'attempts':_0x1ecfa3['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0x1ecfa3['retry']?.['backoff']||'exponential','delay':_0x1ecfa3['retry']?.['initialDelay']||0x1388},'timeout':_0x1ecfa3[_0x5e0ae7(0xa1)]||0x7530});return logger['info']({'event':_0x5e0ae7(0x1a9),'jobId':_0x8447bc['id'],'name':_0x309c12,'delayMs':_0x51278d},_0x5e0ae7(0x15c)+_0x51278d+_0x5e0ae7(0x81)+_0x309c12+'\x20(id:\x20'+_0x8447bc['id']+')'),{'jobId':_0x8447bc['id'],'name':_0x309c12};}async['getJobStatus'](_0x40b10a){const _0x53ce81=a0_0x51b27d;for(const _0x3deca7 of Object['values'](this[_0x53ce81(0xaf)])){const _0x22a2f3=await _0x3deca7['getJob'](_0x40b10a);if(_0x22a2f3){const _0x13812e=await _0x22a2f3[_0x53ce81(0x1a0)]();return{'jobId':_0x22a2f3['id'],'name':_0x22a2f3['name'],'state':_0x13812e,'progress':_0x22a2f3[_0x53ce81(0x1a2)],'attemptsMade':_0x22a2f3[_0x53ce81(0x18d)],'failedReason':_0x22a2f3[_0x53ce81(0x96)],'returnvalue':_0x22a2f3['returnvalue'],'data':_0x22a2f3['data'],'timestamps':{'created':_0x22a2f3['timestamp'],'started':_0x22a2f3['processedOn'],'completed':_0x22a2f3['finishedOn']}};}}return null;}[a0_0x51b27d(0xff)](){const _0x440da1=a0_0x51b27d;return Object['values'](this[_0x440da1(0x138)])['map'](_0x30b5a4=>({'name':_0x30b5a4['name'],'description':_0x30b5a4['description']||'','type':_0x30b5a4[_0x440da1(0x139)],'schedule':_0x30b5a4['schedule'],'handler':_0x30b5a4[_0x440da1(0xd8)],'enabled':_0x30b5a4[_0x440da1(0x7f)]!==![],'queue':_0x30b5a4['queue']||'default','timeout':_0x30b5a4['timeout']||0x7530,'retry':_0x30b5a4['retry']||{'maxAttempts':0x3,'backoff':_0x440da1(0x9e),'initialDelay':0x1388},'metadata':_0x30b5a4[_0x440da1(0x141)]||{}}));}async[a0_0x51b27d(0x19e)](){const _0x12c358=a0_0x51b27d,_0x432a61=[];for(const [_0x57bbe1,_0x13d445]of Object['entries'](this[_0x12c358(0xaf)])){const _0x37c6a7=await _0x13d445['getJobs'](['active']);for(const _0x165184 of _0x37c6a7){_0x432a61[_0x12c358(0x19d)]({'jobId':_0x165184['id'],'name':_0x165184[_0x12c358(0x11d)],'queue':_0x57bbe1,'progress':_0x165184['progress'],'attemptsMade':_0x165184[_0x12c358(0x18d)],'startedAt':_0x165184[_0x12c358(0x10e)]});}}return _0x432a61;}async['getHistory'](_0x4e458c={}){const _0xb54304=a0_0x51b27d,_0x49a14c={'yzrmi':function(_0x39085d,_0x553a8c){return _0x39085d-_0x553a8c;},'FOcjT':'completed','BarFt':'failed'},_0x147053=parseInt(_0x4e458c['page'],0xa)||0x1,_0xf97a2a=Math['min'](parseInt(_0x4e458c[_0xb54304(0xcb)],0xa)||0x14,0x64),_0x804b23=_0x49a14c['yzrmi'](_0x147053,0x1)*_0xf97a2a,_0x366796=_0x804b23+_0xf97a2a-0x1,_0x58e8f8=[];for(const [_0x29e337,_0x2e471c]of Object[_0xb54304(0x191)](this['queues'])){const _0x3d3352=await _0x2e471c[_0xb54304(0x119)]([_0x49a14c[_0xb54304(0x1b6)]],_0x804b23,_0x366796),_0x42e9b0=await _0x2e471c[_0xb54304(0x119)]([_0x49a14c['BarFt']],_0x804b23,_0x366796);for(const _0x1dce15 of[..._0x3d3352,..._0x42e9b0]){const _0x1046f3=await _0x1dce15[_0xb54304(0x1a0)]();_0x58e8f8[_0xb54304(0x19d)]({'jobId':_0x1dce15['id'],'name':_0x1dce15[_0xb54304(0x11d)],'state':_0x1046f3,'queue':_0x29e337,'attemptsMade':_0x1dce15['attemptsMade'],'failedReason':_0x1dce15[_0xb54304(0x96)],'returnvalue':_0x1dce15[_0xb54304(0x14c)],'timestamps':{'created':_0x1dce15['timestamp'],'started':_0x1dce15['processedOn'],'completed':_0x1dce15['finishedOn']}});}}return _0x58e8f8['sort']((_0x37f577,_0x3c5642)=>(_0x3c5642[_0xb54304(0xbd)]['created']||0x0)-(_0x37f577['timestamps']['created']||0x0)),{'jobs':_0x58e8f8['slice'](0x0,_0xf97a2a),'total':_0x58e8f8[_0xb54304(0x168)],'page':_0x147053,'limit':_0xf97a2a};}async['cancelJob'](_0x46de8c){const _0x6bfaaa=a0_0x51b27d,_0x7700d2={'AwzFt':'api-cancel','WeVLl':function(_0x1d64e2,_0x243ad1){return _0x1d64e2===_0x243ad1;},'FCiUb':'waiting'};for(const _0x1e7a95 of Object['values'](this[_0x6bfaaa(0xaf)])){const _0x240607=await _0x1e7a95[_0x6bfaaa(0xbe)](_0x46de8c);if(_0x240607){const _0x55cd03=await _0x240607[_0x6bfaaa(0x1a0)]();if(_0x55cd03===_0x6bfaaa(0x113))return await _0x240607[_0x6bfaaa(0x12c)](new Error(_0x6bfaaa(0x9a)),_0x7700d2['AwzFt'],!![]),{'success':!![],'message':_0x6bfaaa(0x1a6)+_0x46de8c+'\x20cancelled\x20(was\x20active)'};if(_0x7700d2[_0x6bfaaa(0x189)](_0x55cd03,_0x7700d2[_0x6bfaaa(0x165)])||_0x55cd03===_0x6bfaaa(0xf6))return await _0x240607['remove'](),{'success':!![],'message':'Job\x20'+_0x46de8c+_0x6bfaaa(0x146)+_0x55cd03+')'};return{'success':![],'message':'Job\x20'+_0x46de8c+_0x6bfaaa(0x184)+_0x55cd03+')'};}}return{'success':![],'message':'Job\x20'+_0x46de8c+_0x6bfaaa(0x1ad)};}async['getHealthStatus'](){const _0x1e37dc=a0_0x51b27d,_0x4cf368={'BNPIi':_0x1e37dc(0x149),'wHhAY':'delayed','JpXDk':'paused','aFAiq':_0x1e37dc(0x19c)},_0x38b0a4={};for(const [_0x4a0736,_0x4c5ad9]of Object[_0x1e37dc(0x191)](this['queues'])){try{const _0x33654e=await _0x4c5ad9['getJobCounts'](_0x1e37dc(0x113),_0x4cf368['BNPIi'],_0x4cf368['wHhAY'],_0x1e37dc(0xec),_0x4cf368['JpXDk'],_0x4cf368['aFAiq']);_0x38b0a4[_0x4a0736]=_0x33654e;}catch(_0x191618){_0x38b0a4[_0x4a0736]={'error':_0x191618['message']};}}const _0x409452={};for(const [_0x327662,_0x43f4e8]of Object['entries'](this[_0x1e37dc(0xab)])){_0x409452[_0x327662]={'running':_0x43f4e8[_0x1e37dc(0x164)](),'paused':_0x43f4e8['isPaused']()};}return{'initialized':this['initialized'],'registeredJobs':Object['keys'](this['jobConfigs'])['length'],'redisConnections':this['connections']['length'],'queues':_0x38b0a4,'workers':_0x409452};}async[a0_0x51b27d(0x91)](_0x30588e,_0x1af1cb){const _0x176357=a0_0x51b27d,_0x5c22a8={'NrIhP':'job_completed','OwLTj':function(_0x12da60,_0x3feb6e){return _0x12da60-_0x3feb6e;},'LtohA':_0x176357(0xc9),'Lgehq':function(_0x5d9506){return _0x5d9506();}},_0x3f6d2f=logger['child']({'jobId':_0x30588e['id'],'jobName':_0x30588e[_0x176357(0x11d)]});_0x3f6d2f['info']({'event':_0x5c22a8[_0x176357(0x16f)],'attemptsMade':_0x30588e[_0x176357(0x18d)],'duration':_0x30588e['finishedOn']?_0x5c22a8[_0x176357(0x18e)](_0x30588e['finishedOn'],_0x30588e[_0x176357(0x10e)]):null},'Job\x20completed:\x20'+_0x30588e['name']);const _0x140e54=this['activeHistoryIds'][_0x176357(0x122)](_0x30588e['id']);if(_0x140e54){if(_0x140e54[_0x176357(0x180)])await _0x140e54[_0x176357(0x180)];const _0x41f18c=_0x30588e['finishedOn']&&_0x30588e['processedOn']?_0x5c22a8[_0x176357(0x18e)](_0x30588e['finishedOn'],_0x30588e[_0x176357(0x10e)]):null,_0x329dc7=typeof _0x1af1cb==='string'?_0x1af1cb:_0x1af1cb?JSON['stringify'](_0x1af1cb)[_0x176357(0x8d)](0x0,0x1f4):null;await this[_0x176357(0xb0)](_0x140e54[_0x176357(0x15e)],_0x41f18c,_0x329dc7);const _0x1151f3=await this[_0x176357(0x107)](_0x30588e['name']);await this['updateRegistryCounters'](_0x30588e[_0x176357(0x11d)],_0x5c22a8[_0x176357(0x16a)],_0x41f18c,_0x1151f3),this['activeHistoryIds'][_0x176357(0x8e)](_0x30588e['id']);}const _0x99fa59=_0x5c22a8[_0x176357(0xba)](getComponentEngine);if(_0x99fa59&&typeof _0x99fa59['executeEventHandlers']==='function'){const _0x483251={'jobId':_0x30588e['id'],'jobName':_0x30588e[_0x176357(0x11d)],'result':_0x1af1cb,'config':this['jobConfigs'][_0x30588e['name']]||{}};_0x99fa59['executeEventHandlers']('onAfterJobComplete',_0x483251,![])['catch'](_0x57641f=>{const _0x26b440=_0x176357;_0x3f6d2f['warn']({'event':_0x26b440(0xb8),'error':_0x57641f[_0x26b440(0x135)]},'onAfterJobComplete\x20handler\x20error\x20(non-blocking)');});}const _0x168483=this[_0x176357(0xa8)]();if(_0x168483)try{await _0x168483[_0x176357(0x14f)]('restforge.jobs.completed',_0x176357(0xb4),null,{'jobId':_0x30588e['id'],'name':_0x30588e[_0x176357(0x11d)],'result':_0x1af1cb},{'module':_0x176357(0xdd),'endpoint':_0x30588e[_0x176357(0x11d)]});}catch(_0x106482){_0x3f6d2f['warn']({'event':'job_kafka_publish_error','error':_0x106482[_0x176357(0x135)]},_0x176357(0xd2));}}async[a0_0x51b27d(0xb2)](_0x686c27,_0x440532){const _0xa72cde=a0_0x51b27d,_0x3e2b66={'KGXvy':function(_0x232af8,_0x9b5f3c){return _0x232af8<_0x9b5f3c;},'PNKoN':function(_0x8e0f2b,_0x4cba03){return _0x8e0f2b-_0x4cba03;},'BAzex':'failed','KVUWf':function(_0x22b2b6){return _0x22b2b6();},'CIBhb':'function','FeGMR':_0xa72cde(0x18f),'MtSCC':_0xa72cde(0xdd),'JrhZH':'job_kafka_publish_error'},_0xcbb998=logger['child']({'jobId':_0x686c27['id'],'jobName':_0x686c27[_0xa72cde(0x11d)]});_0xcbb998[_0xa72cde(0x14a)]({'event':_0xa72cde(0x143),'attemptsMade':_0x686c27['attemptsMade'],'failedReason':_0x440532?.[_0xa72cde(0x135)],'willRetry':_0x3e2b66['KGXvy'](_0x686c27['attemptsMade'],this[_0xa72cde(0x138)][_0x686c27['name']]?.[_0xa72cde(0xf4)]?.['maxAttempts']||0x3)},'Job\x20failed:\x20'+_0x686c27[_0xa72cde(0x11d)]+_0xa72cde(0x134)+_0x440532?.[_0xa72cde(0x135)]);const _0x211f5b=this[_0xa72cde(0x11a)]['get'](_0x686c27['id']);if(_0x211f5b){if(_0x211f5b[_0xa72cde(0x180)])await _0x211f5b['insertPromise'];const _0x1736f9=_0x686c27[_0xa72cde(0x10c)]&&_0x686c27['processedOn']?_0x3e2b66['PNKoN'](_0x686c27[_0xa72cde(0x10c)],_0x686c27[_0xa72cde(0x10e)]):null;await this['updateJobHistoryFailed'](_0x211f5b['historyId'],_0x1736f9,_0x686c27[_0xa72cde(0x1a2)],_0x440532?.[_0xa72cde(0x135)],_0x440532?.['stack']);const _0x3d06f6=await this['getNextRunFromBullMQ'](_0x686c27[_0xa72cde(0x11d)]);await this[_0xa72cde(0x17b)](_0x686c27[_0xa72cde(0x11d)],_0x3e2b66[_0xa72cde(0x7e)],_0x1736f9,_0x3d06f6),this['activeHistoryIds']['delete'](_0x686c27['id']);}const _0x18fdf0=_0x3e2b66[_0xa72cde(0x18b)](getComponentEngine);if(_0x18fdf0&&typeof _0x18fdf0['executeEventHandlers']===_0x3e2b66['CIBhb']){const _0xa0dcb6={'jobId':_0x686c27['id'],'jobName':_0x686c27['name'],'error':_0x440532?.[_0xa72cde(0x135)],'attemptsMade':_0x686c27[_0xa72cde(0x18d)],'config':this['jobConfigs'][_0x686c27['name']]||{}};_0x18fdf0['executeEventHandlers'](_0x3e2b66['FeGMR'],_0xa0dcb6,![])['catch'](_0x4e8364=>{const _0x368fd0=_0xa72cde;_0xcbb998['warn']({'event':_0x368fd0(0xa9),'error':_0x4e8364[_0x368fd0(0x135)]},'onAfterJobFailed\x20handler\x20error\x20(non-blocking)');});}const _0x200b0=this['getKafkaService']();if(_0x200b0)try{await _0x200b0['publishEvent']('restforge.jobs.failed',_0xa72cde(0x117),null,{'jobId':_0x686c27['id'],'name':_0x686c27[_0xa72cde(0x11d)],'error':_0x440532?.['message'],'attemptsMade':_0x686c27[_0xa72cde(0x18d)]},{'module':_0x3e2b66['MtSCC'],'endpoint':_0x686c27['name']});}catch(_0x15428f){_0xcbb998['warn']({'event':_0x3e2b66['JrhZH'],'error':_0x15428f['message']},_0xa72cde(0x142));}}['onJobProgress'](_0x13b584,_0x501af9){const _0x54cb4c=a0_0x51b27d;logger['debug']({'event':_0x54cb4c(0x101),'jobId':_0x13b584['id'],'jobName':_0x13b584['name'],'progress':_0x501af9},_0x54cb4c(0x94)+_0x13b584[_0x54cb4c(0x11d)]+'\x20—\x20'+_0x501af9+'%');}}module[a0_0x51b27d(0xca)]=new JobManager();
|
|
1
|
+
const a0_0x3c965a=a0_0x4a85;(function(_0x58f978,_0x5377cc){const _0x373557=a0_0x4a85,_0x4e527b=_0x58f978();while(!![]){try{const _0xe09613=-parseInt(_0x373557(0xac))/0x1*(-parseInt(_0x373557(0x8d))/0x2)+parseInt(_0x373557(0xad))/0x3*(-parseInt(_0x373557(0x173))/0x4)+-parseInt(_0x373557(0x14d))/0x5*(-parseInt(_0x373557(0x13c))/0x6)+parseInt(_0x373557(0x155))/0x7*(-parseInt(_0x373557(0x165))/0x8)+parseInt(_0x373557(0xe6))/0x9*(-parseInt(_0x373557(0xd1))/0xa)+parseInt(_0x373557(0x17d))/0xb+parseInt(_0x373557(0xb6))/0xc*(-parseInt(_0x373557(0x156))/0xd);if(_0xe09613===_0x5377cc)break;else _0x4e527b['push'](_0x4e527b['shift']());}catch(_0x4fc767){_0x4e527b['push'](_0x4e527b['shift']());}}}(a0_0x2127,0x66cb5));const {Queue,Worker}=require('bullmq'),Redis=require('ioredis'),crypto=require('crypto'),{v7:uuidv7}=require('uuid'),fs=require('fs'),path=require('path'),{logger}=require('../../utils/logger'),jobValidator=require('./job-validator');let componentEngine=null;function a0_0x4a85(_0x25ba0f,_0x1ed40d){_0x25ba0f=_0x25ba0f-0x74;const _0x212742=a0_0x2127();let _0x4a8564=_0x212742[_0x25ba0f];if(a0_0x4a85['HoFpKs']===undefined){var _0x409f91=function(_0x4a55c1){const _0x1358e6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x17b700='',_0x2dd487='';for(let _0xf608b8=0x0,_0x44d1aa,_0x34468d,_0x1bda4a=0x0;_0x34468d=_0x4a55c1['charAt'](_0x1bda4a++);~_0x34468d&&(_0x44d1aa=_0xf608b8%0x4?_0x44d1aa*0x40+_0x34468d:_0x34468d,_0xf608b8++%0x4)?_0x17b700+=String['fromCharCode'](0xff&_0x44d1aa>>(-0x2*_0xf608b8&0x6)):0x0){_0x34468d=_0x1358e6['indexOf'](_0x34468d);}for(let _0x166402=0x0,_0x292bfd=_0x17b700['length'];_0x166402<_0x292bfd;_0x166402++){_0x2dd487+='%'+('00'+_0x17b700['charCodeAt'](_0x166402)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2dd487);};a0_0x4a85['hTzrPb']=_0x409f91,a0_0x4a85['zdatfO']={},a0_0x4a85['HoFpKs']=!![];}const _0x4c9b86=_0x212742[0x0],_0xf81f6a=_0x25ba0f+_0x4c9b86,_0x5eb8ba=a0_0x4a85['zdatfO'][_0xf81f6a];return!_0x5eb8ba?(_0x4a8564=a0_0x4a85['hTzrPb'](_0x4a8564),a0_0x4a85['zdatfO'][_0xf81f6a]=_0x4a8564):_0x4a8564=_0x5eb8ba,_0x4a8564;}function getComponentEngine(){const _0x42245d=a0_0x4a85,_0x1ed8e2={'fJmcn':function(_0x5a051b,_0x232dcb){return _0x5a051b(_0x232dcb);},'tjnwf':'../../utils/component-engine'};if(!componentEngine)try{const _0x1de650=_0x1ed8e2['fJmcn'](require,_0x1ed8e2[_0x42245d(0xfd)]);componentEngine=_0x1de650[_0x42245d(0x115)]||_0x1de650;}catch(_0x1bd184){}return componentEngine;}class JobManager{constructor(){const _0x1ae886=a0_0x4a85,_0x697493=_0x1ae886(0x96)['split']('|');let _0x4940f8=0x0;while(!![]){switch(_0x697493[_0x4940f8++]){case'0':this[_0x1ae886(0x153)]={};continue;case'1':this[_0x1ae886(0xeb)]=[];continue;case'2':this[_0x1ae886(0x158)]={};continue;case'3':this[_0x1ae886(0x95)]=new Map();continue;case'4':this['workingDir']=process['cwd']();continue;case'5':this[_0x1ae886(0xa0)]={};continue;case'6':this[_0x1ae886(0x87)]=![];continue;case'7':this[_0x1ae886(0x10e)]={};continue;}break;}}['createBullMQConnection'](){const _0x44bc1a=a0_0x4a85,_0x33803c={'OuQle':function(_0x271951,_0x1a303d){return _0x271951*_0x1a303d;},'JNgds':function(_0x48f329,_0x7cd95f,_0x257aa0){return _0x48f329(_0x7cd95f,_0x257aa0);}},_0x2cb537=new Redis({'host':process['env'][_0x44bc1a(0xdd)]||_0x44bc1a(0x12c),'port':_0x33803c['JNgds'](parseInt,process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process['env'][_0x44bc1a(0x110)]||undefined,'db':parseInt(process['env'][_0x44bc1a(0x149)],0xa)||0x0,'maxRetriesPerRequest':null,'retryStrategy'(_0x178bc4){const _0x2fc870=Math['min'](_0x33803c['OuQle'](_0x178bc4,0x32),0x7d0);return _0x2fc870;}});return _0x2cb537['on'](_0x44bc1a(0xcc),_0x56fa42=>{const _0x486e63=_0x44bc1a;logger['error']({'event':_0x486e63(0xe1),'error':_0x56fa42[_0x486e63(0x177)]},'BullMQ\x20Redis\x20connection\x20error:\x20'+_0x56fa42[_0x486e63(0x177)]);}),this['connections']['push'](_0x2cb537),_0x2cb537;}async['initialize'](){const _0x2b6cbc=a0_0x4a85,_0x1f8816={'IkGcJ':_0x2b6cbc(0xf8),'bPOcC':'job_manager_already_initialized','sdnmA':_0x2b6cbc(0x130),'DZZXP':'job_redis_connected','FHyVR':'job_redis_failed','TFmMI':_0x2b6cbc(0x144),'BiEFQ':function(_0x55e63d,_0x265d2f){return _0x55e63d===_0x265d2f;},'nomOR':'job_config_invalid','lcVTL':_0x2b6cbc(0x118),'FkOxu':'default','DvgYZ':function(_0x28cb2a,_0x23016b,_0x4babba){return _0x28cb2a(_0x23016b,_0x4babba);},'wBVKH':_0x2b6cbc(0xd2),'uwiDU':_0x2b6cbc(0xf1),'OTFFZ':_0x2b6cbc(0x122),'BoRrS':function(_0x1e4fd7,_0x55b9d8,_0x36a1c8){return _0x1e4fd7(_0x55b9d8,_0x36a1c8);},'ftljw':'progress','vjZXa':'error','FdVnL':_0x2b6cbc(0xe7),'eNCsK':_0x2b6cbc(0xfa)};if(this[_0x2b6cbc(0x87)]){logger['warn']({'event':_0x1f8816[_0x2b6cbc(0x13f)]},'Job\x20Manager\x20sudah\x20diinisialisasi,\x20skip');return;}logger['info']({'event':'job_manager_init_start'},_0x1f8816[_0x2b6cbc(0xec)]);const _0x59b3cd=this[_0x2b6cbc(0xc0)]();try{await _0x59b3cd[_0x2b6cbc(0x127)](),logger[_0x2b6cbc(0x172)]({'event':_0x1f8816[_0x2b6cbc(0xbd)]},'BullMQ\x20Redis\x20connection\x20verified');}catch(_0x312b0b){logger[_0x2b6cbc(0xcc)]({'event':_0x1f8816['FHyVR'],'error':_0x312b0b[_0x2b6cbc(0x177)]},'Redis\x20connection\x20failed:\x20'+_0x312b0b['message']+_0x2b6cbc(0x178));try{await _0x59b3cd['quit']();}catch(_0x261c2d){}this['connections']=this['connections'][_0x2b6cbc(0x159)](_0x471fa4=>_0x471fa4!==_0x59b3cd);return;}try{await _0x59b3cd[_0x2b6cbc(0x161)]();}catch(_0x476fec){}this[_0x2b6cbc(0xeb)]=this[_0x2b6cbc(0xeb)][_0x2b6cbc(0x159)](_0x5a808a=>_0x5a808a!==_0x59b3cd);try{await this[_0x2b6cbc(0x12e)]();}catch(_0x7d03c6){logger[_0x2b6cbc(0x175)]({'event':_0x1f8816['TFmMI'],'error':_0x7d03c6[_0x2b6cbc(0x177)]},_0x2b6cbc(0x85)+_0x7d03c6['message']+_0x2b6cbc(0x128));}const _0x3d0ce9=this['loadJobConfigs']();_0x1f8816['BiEFQ'](_0x3d0ce9[_0x2b6cbc(0xe3)],0x0)&&logger['info']({'event':'job_no_configs'},_0x2b6cbc(0x15d));const _0x3d086e=[];for(const _0x42ff31 of _0x3d0ce9){const _0x5dd987=jobValidator['validateConfig'](_0x42ff31,this[_0x2b6cbc(0x10a)]);_0x5dd987[_0x2b6cbc(0x129)]?_0x3d086e[_0x2b6cbc(0x18e)](_0x42ff31):logger[_0x2b6cbc(0xcc)]({'event':_0x1f8816['nomOR'],'name':_0x42ff31[_0x2b6cbc(0x123)]||_0x2b6cbc(0x118),'errors':_0x5dd987['errors']},_0x2b6cbc(0xa4)+(_0x42ff31[_0x2b6cbc(0x123)]||_0x1f8816['lcVTL'])+_0x2b6cbc(0xb9)+_0x5dd987[_0x2b6cbc(0xd0)][_0x2b6cbc(0x101)](';\x20'));}const _0x3f39a4=process['env']['RESTFORGE_PROJECT_NAME']||_0x1f8816['FkOxu'],_0x1e48c3=process['env']['JOB_REDIS_PREFIX']||'rf:'+_0x3f39a4+_0x2b6cbc(0x17f),_0x594568=parseInt(process[_0x2b6cbc(0x91)]['JOB_RETENTION_HOURS'],0xa)||0x48,_0x44b677=_0x1f8816['DvgYZ'](parseInt,process[_0x2b6cbc(0x91)][_0x2b6cbc(0x167)],0xa)||0xa8,_0x5a11ae={'removeOnComplete':{'age':_0x594568*0xe10},'removeOnFail':{'age':_0x44b677*0xe10}},_0x5745a8={'high-priority':_0x1f8816[_0x2b6cbc(0xc8)],'default':'default','low-priority':_0x2b6cbc(0xf6)};for(const [_0x172e12,_0x232c7f]of Object[_0x2b6cbc(0xa7)](_0x5745a8)){this['queues'][_0x172e12]=new Queue(_0x232c7f,{'connection':this['createBullMQConnection'](),'prefix':_0x1e48c3,'defaultJobOptions':_0x5a11ae});}logger['info']({'event':_0x1f8816['uwiDU'],'count':0x3},_0x1f8816['OTFFZ']);const _0x420ccc=_0x1f8816['BoRrS'](parseInt,process['env']['JOB_CONCURRENCY'],0xa)||0x5,_0x291885=parseInt(process['env']['JOB_STALLED_INTERVAL'],0xa)||0x7530,_0x2ac01b=parseInt(process[_0x2b6cbc(0x91)]['JOB_MAX_STALLED_COUNT'],0xa)||0x2;for(const [_0x5390ab,_0x534857]of Object['entries'](_0x5745a8)){const _0x1629e3=new Worker(_0x534857,async _0x3aa893=>this[_0x2b6cbc(0x108)](_0x3aa893),{'connection':this[_0x2b6cbc(0xc0)](),'prefix':_0x1e48c3,'concurrency':_0x420ccc,'stalledInterval':_0x291885,'maxStalledCount':_0x2ac01b});_0x1629e3['on']('completed',(_0xa16259,_0x353e54)=>this[_0x2b6cbc(0xce)](_0xa16259,_0x353e54)),_0x1629e3['on']('failed',(_0x5d21e1,_0xedd4e5)=>this['onJobFailed'](_0x5d21e1,_0xedd4e5)),_0x1629e3['on'](_0x1f8816[_0x2b6cbc(0xba)],(_0x380ddd,_0x2da1cd)=>this[_0x2b6cbc(0x15c)](_0x380ddd,_0x2da1cd)),_0x1629e3['on']('stalled',_0x525df8=>{const _0x42324c=_0x2b6cbc;logger['warn']({'event':_0x42324c(0xb5),'jobId':_0x525df8},'Job\x20stalled:\x20'+_0x525df8);}),_0x1629e3['on'](_0x1f8816['vjZXa'],_0x4239f7=>{const _0x5a2e23=_0x2b6cbc;logger[_0x5a2e23(0xcc)]({'event':_0x1f8816[_0x5a2e23(0xd5)],'queue':_0x5390ab,'error':_0x4239f7['message']},_0x5a2e23(0x106)+_0x5390ab+_0x5a2e23(0x17b)+_0x4239f7[_0x5a2e23(0x177)]);}),this['workers'][_0x5390ab]=_0x1629e3;}logger[_0x2b6cbc(0x172)]({'event':_0x1f8816['FdVnL'],'count':0x3,'concurrency':_0x420ccc},_0x2b6cbc(0xc1)+_0x420ccc+')');let _0x1b2be3=0x0;for(const _0xf7ac53 of _0x3d086e){try{await this['registerJob'](_0xf7ac53),_0x1b2be3++;}catch(_0x30aa51){logger['error']({'event':_0x1f8816['eNCsK'],'name':_0xf7ac53[_0x2b6cbc(0x123)],'error':_0x30aa51[_0x2b6cbc(0x177)]},'Failed\x20to\x20register\x20job:\x20'+_0xf7ac53[_0x2b6cbc(0x123)]+'\x20—\x20'+_0x30aa51[_0x2b6cbc(0x177)]);}}this['initialized']=!![];const _0x13dbf3=this['connections']['length'];logger[_0x2b6cbc(0x172)]({'event':_0x2b6cbc(0x16d),'registeredJobs':_0x1b2be3,'totalConfigs':_0x3d086e['length'],'redisConnections':_0x13dbf3},'Job\x20Manager\x20ready:\x20'+_0x1b2be3+'\x20job(s)\x20registered,\x20'+_0x13dbf3+_0x2b6cbc(0x163));}async['shutdown'](){const _0x11af9a=a0_0x4a85,_0x2b567b={'EYvOV':'job_manager_shutdown_start','PZQtK':function(_0x22d4b7,_0x5b85a1){return _0x22d4b7<_0x5b85a1;},'SEriG':'active','Upziv':'job_manager_shutdown_complete'};if(!this[_0x11af9a(0x87)])return;const _0x11c219=parseInt(process[_0x11af9a(0x91)]['JOB_SHUTDOWN_TIMEOUT'],0xa)||0x2710;logger['info']({'event':_0x2b567b['EYvOV'],'timeoutMs':_0x11c219},'Job\x20Manager\x20shutting\x20down\x20(timeout:\x20'+_0x11c219+'ms)...');const _0x4f2547=Object[_0x11af9a(0x17e)](this['workers'])['map'](async _0x51827a=>{try{await _0x51827a['pause']();}catch(_0x1d4538){}});await Promise['all'](_0x4f2547);const _0x51c5fe=Date[_0x11af9a(0x140)]();while(_0x2b567b[_0x11af9a(0x82)](Date[_0x11af9a(0x140)]()-_0x51c5fe,_0x11c219)){let _0x1615cf=0x0;for(const _0x1aa7a4 of Object[_0x11af9a(0x17e)](this['queues'])){try{const _0x4dd7ce=await _0x1aa7a4['getJobCounts'](_0x2b567b[_0x11af9a(0x90)]);_0x1615cf+=_0x4dd7ce[_0x11af9a(0xaa)]||0x0;}catch(_0x22a1a0){}}if(_0x1615cf===0x0)break;await new Promise(_0x4bbd38=>setTimeout(_0x4bbd38,0x1f4));}const _0x52445e=Object['values'](this[_0x11af9a(0x10e)])['map'](async _0x3cddfe=>{try{await _0x3cddfe['close']();}catch(_0x54471e){}});await Promise[_0x11af9a(0xfe)](_0x52445e);const _0x1099f2=Object[_0x11af9a(0x17e)](this['queues'])[_0x11af9a(0x121)](async _0x1146f5=>{const _0x3ad901=_0x11af9a;try{await _0x1146f5[_0x3ad901(0x18c)]();}catch(_0x55f23e){}});await Promise[_0x11af9a(0xfe)](_0x1099f2);for(const _0x53cdc9 of this[_0x11af9a(0xeb)]){try{await _0x53cdc9['quit']();}catch(_0x34e757){}}this[_0x11af9a(0x153)]={},this[_0x11af9a(0x10e)]={},this['connections']=[],await this['setAllJobsOffline'](),this['activeHistoryIds']['clear'](),this['initialized']=![],logger['info']({'event':_0x2b567b[_0x11af9a(0x157)]},'Job\x20Manager\x20shutdown\x20complete');}['loadJobConfigs'](){const _0x27e1b4=a0_0x4a85,_0x1d5d3e={'oRYTj':_0x27e1b4(0x18d),'RYwsh':_0x27e1b4(0x171),'NwKtc':'job_configs_loaded'},_0xd5cec8=path[_0x27e1b4(0x101)](this[_0x27e1b4(0x10a)],'payload',_0x1d5d3e['oRYTj']);if(!fs[_0x27e1b4(0xea)](_0xd5cec8))return logger['info']({'event':'job_config_dir_missing','path':_0xd5cec8},_0x1d5d3e['RYwsh']),[];const _0xf8a208=fs[_0x27e1b4(0x8c)](_0xd5cec8)[_0x27e1b4(0x159)](_0x270ee6=>_0x270ee6['endsWith']('.json')),_0x48fc2e=[];for(const _0x50a790 of _0xf8a208){const _0x561c79=path['join'](_0xd5cec8,_0x50a790);try{const _0x4058c3=fs['readFileSync'](_0x561c79,'utf8'),_0x1402a9=JSON['parse'](_0x4058c3);_0x1402a9[_0x27e1b4(0x11a)]=_0x50a790,_0x48fc2e[_0x27e1b4(0x18e)](_0x1402a9);}catch(_0x5ddcdf){logger[_0x27e1b4(0xcc)]({'event':_0x27e1b4(0xde),'file':_0x50a790,'error':_0x5ddcdf['message']},'Failed\x20to\x20parse\x20job\x20config:\x20'+_0x50a790+'\x20—\x20'+_0x5ddcdf['message']);}}return logger['info']({'event':_0x1d5d3e[_0x27e1b4(0xe9)],'count':_0x48fc2e[_0x27e1b4(0xe3)]},'Loaded\x20'+_0x48fc2e['length']+_0x27e1b4(0xbb)),_0x48fc2e;}async['registerJob'](_0x5e6204){const _0x21a417=a0_0x4a85,_0x47bf11={'FYjuk':_0x21a417(0x8a),'RQZAV':'jobs','LTYYg':function(_0x4f4fc3,_0x578300){return _0x4f4fc3(_0x578300);},'RjdKx':function(_0x205601,_0x89d622){return _0x205601===_0x89d622;},'DDIHk':'default','yWZIn':'online','ZvctZ':'offline'},_0x5367ff=path[_0x21a417(0x101)](this['workingDir'],_0x47bf11['FYjuk'],_0x47bf11['RQZAV'],_0x5e6204[_0x21a417(0x14c)]+_0x21a417(0x92));this[_0x21a417(0x158)][_0x5e6204['name']]=_0x47bf11[_0x21a417(0x83)](require,_0x5367ff),this[_0x21a417(0xa0)][_0x5e6204[_0x21a417(0x123)]]=_0x5e6204;if(_0x47bf11[_0x21a417(0xa2)](_0x5e6204['type'],'cron')&&_0x5e6204[_0x21a417(0xd3)]!==![]){const _0x371536=this['queues'][_0x5e6204['queue']||_0x21a417(0xcd)];await _0x371536[_0x21a417(0xf9)](_0x5e6204[_0x21a417(0x123)],{'pattern':_0x5e6204['schedule'],'tz':_0x5e6204['timezone']||undefined},{'name':_0x5e6204['name'],'data':{'handler':_0x5e6204[_0x21a417(0x14c)],'triggeredBy':'cron','metadata':_0x5e6204['metadata']||{}},'opts':{'attempts':_0x5e6204[_0x21a417(0x184)]?.[_0x21a417(0x124)]||0x3,'backoff':{'type':_0x5e6204['retry']?.[_0x21a417(0x11f)]||'exponential','delay':_0x5e6204[_0x21a417(0x184)]?.[_0x21a417(0xca)]||0x1388},'timeout':_0x5e6204['timeout']||0x7530}}),logger[_0x21a417(0x172)]({'event':'cron_registered','name':_0x5e6204[_0x21a417(0x123)],'schedule':_0x5e6204[_0x21a417(0x107)],'queue':_0x5e6204[_0x21a417(0xe2)]||_0x47bf11[_0x21a417(0x81)]},_0x21a417(0x13b)+_0x5e6204[_0x21a417(0x123)]+'\x20['+_0x5e6204['schedule']+']');}const _0x4f7303=_0x5e6204[_0x21a417(0x99)]===_0x21a417(0x139)&&_0x5e6204[_0x21a417(0xd3)]!==![]?_0x47bf11[_0x21a417(0x15b)]:_0x47bf11[_0x21a417(0xc5)];let _0x9f5e=null;_0x47bf11[_0x21a417(0xa2)](_0x4f7303,_0x47bf11[_0x21a417(0x15b)])&&(_0x9f5e=await this['getNextRunFromBullMQ'](_0x5e6204[_0x21a417(0x123)])),await this[_0x21a417(0x74)](_0x5e6204,_0x4f7303,_0x9f5e);}async['processJob'](_0x132dce){const _0x32159f=a0_0x4a85,_0x206c6e={'Fcdft':'job_history_insert_bg_error','QdZoz':function(_0x551fd5,_0x3721b0){return _0x551fd5+_0x3721b0;},'IXJXC':_0x32159f(0x118),'iLhCK':function(_0xda0fe1,_0x370645){return _0xda0fe1+_0x370645;},'ZwDpF':function(_0x4f6b07,_0x56d718){return _0x4f6b07===_0x56d718;},'NyBlS':'api-delayed','lfIFp':_0x32159f(0x104),'RATKM':function(_0xe83ea3,_0x14440b){return _0xe83ea3===_0x14440b;},'wvDDJ':_0x32159f(0x138),'QTrwI':'default'},_0x28fe51=this[_0x32159f(0xa0)][_0x132dce[_0x32159f(0x123)]],_0x396ed7=this['handlers'][_0x132dce['name']];if(!_0x396ed7)throw new Error(_0x32159f(0x170)+_0x132dce['name']);const _0x102b7d=logger[_0x32159f(0xc4)]({'jobId':_0x132dce['id'],'jobName':_0x132dce['name']});_0x102b7d['info']({'event':_0x32159f(0xab),'attempt':_0x206c6e['QdZoz'](_0x132dce[_0x32159f(0x16c)],0x1),'triggeredBy':_0x132dce[_0x32159f(0xdf)]?.[_0x32159f(0x119)]||_0x206c6e['IXJXC']},_0x32159f(0x180)+_0x132dce[_0x32159f(0x123)]+_0x32159f(0x88)+_0x206c6e[_0x32159f(0x168)](_0x132dce[_0x32159f(0x16c)],0x1)+')');const _0x5dc754=uuidv7(),_0x1ae885=_0x132dce['data']?.[_0x32159f(0x119)]||_0x32159f(0x118),_0x34dc3e=this['insertJobHistory']({'id':_0x5dc754,'jobName':_0x132dce['name'],'bullmqJobId':_0x132dce['id'],'triggerType':_0x206c6e[_0x32159f(0x8e)](_0x1ae885,_0x206c6e['NyBlS'])?_0x206c6e[_0x32159f(0x114)]:_0x206c6e[_0x32159f(0xd6)](_0x1ae885,_0x206c6e[_0x32159f(0xe0)])?'manual':_0x32159f(0x139),'triggeredBy':_0x1ae885===_0x32159f(0x139)?'system':_0x1ae885,'queue':_0x28fe51?.[_0x32159f(0xe2)]||_0x206c6e[_0x32159f(0x183)],'attempt':_0x206c6e['QdZoz'](_0x132dce[_0x32159f(0x16c)],0x1),'configFile':_0x28fe51?.['_sourceFile']||null})['catch'](_0x328b41=>{const _0x415994=_0x32159f;_0x102b7d[_0x415994(0x175)]({'event':_0x206c6e['Fcdft'],'error':_0x328b41['message']},_0x415994(0x86)+_0x328b41['message']);});this[_0x32159f(0x95)]['set'](_0x132dce['id'],{'historyId':_0x5dc754,'insertPromise':_0x34dc3e});const _0x186804=this[_0x32159f(0x143)](_0x132dce,_0x28fe51,_0x102b7d),_0x5de465=getComponentEngine();if(_0x5de465&&typeof _0x5de465[_0x32159f(0xc3)]===_0x32159f(0x147)){const _0x205306=await _0x5de465[_0x32159f(0xc3)]('onBeforeJobExecute',_0x186804,!![]);if(!_0x205306['success'])throw new Error('Job\x20cancelled\x20by\x20onBeforeJobExecute:\x20'+_0x205306[_0x32159f(0xcc)]);}const _0x1f993d=await _0x396ed7(_0x186804);return _0x102b7d[_0x32159f(0x172)]({'event':'job_handler_done','result':_0x1f993d},_0x32159f(0xc9)+_0x132dce['name']),_0x1f993d;}[a0_0x3c965a(0x143)](_0x6337bc,_0x225bf4,_0x3d0602){const _0x1f30cc=a0_0x3c965a,_0x1f1447={'gBLVl':'JOB_EVENT','fhcFV':function(_0x4f6747,_0x3cce69){return _0x4f6747||_0x3cce69;}};return{'jobId':_0x6337bc['id'],'jobName':_0x6337bc['name'],'attempt':_0x6337bc[_0x1f30cc(0x16c)]+0x1,'maxAttempts':_0x225bf4?.['retry']?.[_0x1f30cc(0x124)]||0x3,'payload':_0x6337bc[_0x1f30cc(0xdf)]||{},'config':_0x1f1447['fhcFV'](_0x225bf4,{}),'db':this['getDbUtils'](),'redis':this[_0x1f30cc(0x103)](),'logger':_0x3d0602,'kafka':this['getKafkaService'](),'cache':this[_0x1f30cc(0x10c)](),'updateProgress':async _0x24f5d3=>{await _0x6337bc['updateProgress'](_0x24f5d3);},'emit':async(_0x24999e,_0x23b556)=>{const _0x136131=_0x1f30cc,_0x56d340=this[_0x136131(0xf7)]();_0x56d340&&await _0x56d340['publishEvent'](_0x24999e,_0x1f1447[_0x136131(0x181)],null,_0x23b556,{'module':'job-scheduler','endpoint':_0x6337bc[_0x136131(0x123)]});},'job':_0x6337bc};}['getDbType'](){const _0x3d56ee=a0_0x3c965a;return(process[_0x3d56ee(0x91)][_0x3d56ee(0xd7)]||_0x3d56ee(0x120))['toLowerCase']();}async['ensureTables'](){const _0x73cf8e=a0_0x3c965a,_0xcd125={'BCBhI':_0x73cf8e(0x133),'aUyqg':_0x73cf8e(0x9b),'cEGGf':_0x73cf8e(0x89),'gPMse':'job_sql_not_found','YtDCg':'already\x20exists','NkTxi':_0x73cf8e(0xa3)},_0x4b5488=this['getDbUtils']();if(!_0x4b5488){logger['warn']({'event':_0xcd125['BCBhI']},_0x73cf8e(0xf4));return;}const _0x65c54a=this['getDbType'](),_0x4e7c3b={'postgresql':_0xcd125['aUyqg'],'oracle':'oracle.sql','mysql':_0xcd125['cEGGf']},_0x58f45a=_0x4e7c3b[_0x65c54a];if(!_0x58f45a){logger[_0x73cf8e(0x175)]({'event':'job_db_type_unsupported','dbType':_0x65c54a},_0x73cf8e(0xd9)+_0x65c54a+'\x27\x20tidak\x20didukung\x20untuk\x20job\x20monitoring\x20tables');return;}const _0x17f4ba=path[_0x73cf8e(0x101)](__dirname,'sql-scripts',_0x58f45a);if(!fs['existsSync'](_0x17f4ba)){logger['warn']({'event':_0xcd125[_0x73cf8e(0xa5)],'path':_0x17f4ba},'SQL\x20script\x20tidak\x20ditemukan:\x20'+_0x17f4ba);return;}const _0x389785=fs[_0x73cf8e(0xf3)](_0x17f4ba,_0x73cf8e(0x14a)),_0x4d04eb=this['splitSqlStatements'](_0x389785,_0x65c54a);let _0x5acedb=0x0;for(const _0x224a55 of _0x4d04eb){try{await _0x4b5488['executeQuery'](_0x224a55),_0x5acedb++;}catch(_0x1651b3){const _0x105e1d=(_0x1651b3[_0x73cf8e(0x177)]||'')['toLowerCase'](),_0x5c7a63=_0x105e1d[_0x73cf8e(0xae)](_0xcd125[_0x73cf8e(0x185)])||_0x105e1d['includes'](_0x73cf8e(0x14f))||_0x105e1d['includes'](_0xcd125['NkTxi']);!_0x5c7a63&&logger['warn']({'event':'job_ensure_tables_warn','error':_0x1651b3[_0x73cf8e(0x177)]},'Job\x20ensureTables\x20warning:\x20'+_0x1651b3['message']);}}logger['info']({'event':_0x73cf8e(0x131),'dbType':_0x65c54a,'executed':_0x5acedb},_0x73cf8e(0xf0)+_0x65c54a+')');}['splitSqlStatements'](_0x3abf71,_0x5cc02a){const _0x209f98=a0_0x3c965a,_0x3ec5c9={'QXuka':function(_0x39d0cf,_0x985bb8){return _0x39d0cf===_0x985bb8;},'KzBAe':'oracle'};let _0x20ff2b;return _0x5cc02a===_0x3ec5c9[_0x209f98(0x160)]?_0x20ff2b=_0x3abf71[_0x209f98(0x146)](/\n\/\s*(?:\n|$)/):_0x20ff2b=_0x3abf71['split'](/;\s*(?:\n|$)/),_0x20ff2b[_0x209f98(0x121)](_0x51c264=>_0x51c264[_0x209f98(0xef)]())['filter'](_0x35d0ed=>{const _0x1ffd5a=_0x209f98;if(_0x3ec5c9['QXuka'](_0x35d0ed['length'],0x0))return![];const _0x2352fd=_0x35d0ed[_0x1ffd5a(0x146)]('\x0a')[_0x1ffd5a(0x159)](_0x413446=>!_0x413446['trim']()[_0x1ffd5a(0xc7)]('--')&&_0x413446['trim']()['length']>0x0);return _0x2352fd['length']>0x0;});}async['upsertJobRegistry'](_0x34f491,_0x4a97f4=a0_0x3c965a(0xbf),_0x12b216=null){const _0x47dbfe=a0_0x3c965a,_0x95afe={'pMkuj':_0x47dbfe(0xcd),'eVcLK':function(_0x297a8b,_0x27a237){return _0x297a8b===_0x27a237;},'yNvPO':_0x47dbfe(0xc2)},_0x1ccf8b=this['getDbUtils']();if(!_0x1ccf8b)return;const _0x57d0cd=this['getDbType'](),_0x1eb8c7=[_0x34f491['name'],_0x34f491['description']||_0x34f491[_0x47dbfe(0x123)],_0x34f491['type']||'cron',_0x34f491['schedule']||null,_0x34f491[_0x47dbfe(0xe2)]||_0x95afe['pMkuj'],_0x34f491[_0x47dbfe(0x14c)],_0x34f491['_sourceFile']||'',_0x34f491['timeout']||0x7530,_0x34f491[_0x47dbfe(0x184)]?.[_0x47dbfe(0x124)]||0x3,_0x34f491['retry']?.[_0x47dbfe(0x11f)]||'exponential',_0x4a97f4,_0x12b216];try{if(_0x95afe[_0x47dbfe(0x10b)](_0x57d0cd,_0x95afe['yNvPO']))await _0x1ccf8b[_0x47dbfe(0x116)](_0x47dbfe(0x15f),_0x1eb8c7);else _0x95afe[_0x47dbfe(0x10b)](_0x57d0cd,_0x47dbfe(0x166))?await _0x1ccf8b['executeQuery']('INSERT\x20INTO\x20job_registry\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(job_name,\x20display_name,\x20type,\x20schedule,\x20queue,\x20handler,\x20config_file,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout,\x20retry_max,\x20retry_backoff,\x20status,\x20next_run_at,\x20created_at,\x20updated_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20NOW(),\x20NOW())\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20DUPLICATE\x20KEY\x20UPDATE\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display_name\x20=\x20VALUES(display_name),\x20type\x20=\x20VALUES(type),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20schedule\x20=\x20VALUES(schedule),\x20queue\x20=\x20VALUES(queue),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20handler\x20=\x20VALUES(handler),\x20config_file\x20=\x20VALUES(config_file),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout\x20=\x20VALUES(timeout),\x20retry_max\x20=\x20VALUES(retry_max),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20retry_backoff\x20=\x20VALUES(retry_backoff),\x20status\x20=\x20VALUES(status),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20VALUES(next_run_at)',_0x1eb8c7):await _0x1ccf8b[_0x47dbfe(0x116)](_0x47dbfe(0xff),_0x1eb8c7);}catch(_0x5a210e){logger[_0x47dbfe(0x175)]({'event':_0x47dbfe(0xed),'name':_0x34f491['name'],'error':_0x5a210e[_0x47dbfe(0x177)]},'Failed\x20to\x20upsert\x20job\x20registry:\x20'+_0x34f491[_0x47dbfe(0x123)]+_0x47dbfe(0xb9)+_0x5a210e[_0x47dbfe(0x177)]);}}async['insertJobHistory'](_0x34a6c2){const _0x27864c=a0_0x3c965a,_0x52524c={'ZvwpO':'cron','tCDrP':_0x27864c(0xb0),'XGlzq':'mysql','bxLPD':'running','CJLGy':'job_history_insert_error'},_0xf8c697=this['getDbUtils']();if(!_0xf8c697)return;const _0x198d88=this[_0x27864c(0xfb)](),_0x45a36e=[_0x34a6c2['id'],_0x34a6c2['jobName'],_0x34a6c2['bullmqJobId']||null,_0x34a6c2['triggerType']||_0x52524c[_0x27864c(0x174)],_0x34a6c2[_0x27864c(0x119)]||_0x52524c['tCDrP'],_0x34a6c2[_0x27864c(0xe2)]||_0x27864c(0xcd),_0x34a6c2[_0x27864c(0x186)]||0x1,_0x34a6c2['configFile']||null,process['pid']];try{if(_0x198d88===_0x27864c(0xc2))await _0xf8c697['executeQuery']('INSERT\x20INTO\x20job_history\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(id,\x20job_name,\x20bullmq_job_id,\x20trigger_type,\x20triggered_by,\x20status,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20queue,\x20attempt,\x20config_file,\x20started_at,\x20worker_pid,\x20created_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(:1,\x20:2,\x20:3,\x20:4,\x20:5,\x20\x27running\x27,\x20:6,\x20:7,\x20:8,\x20SYSTIMESTAMP,\x20:9,\x20SYSTIMESTAMP)',_0x45a36e);else _0x198d88===_0x52524c['XGlzq']?await _0xf8c697['executeQuery']('INSERT\x20INTO\x20job_history\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(id,\x20job_name,\x20bullmq_job_id,\x20trigger_type,\x20triggered_by,\x20status,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20queue,\x20attempt,\x20config_file,\x20started_at,\x20worker_pid,\x20created_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20\x27running\x27,\x20?,\x20?,\x20?,\x20NOW(),\x20?,\x20NOW())',_0x45a36e):await _0xf8c697['executeQuery'](_0x27864c(0x112),_0x45a36e);await this['updateRegistryStatus'](_0x34a6c2[_0x27864c(0x17a)],_0x52524c['bxLPD']);}catch(_0x3d5dee){logger['warn']({'event':_0x52524c[_0x27864c(0x8b)],'jobName':_0x34a6c2['jobName'],'error':_0x3d5dee['message']},'Failed\x20to\x20insert\x20job\x20history:\x20'+_0x3d5dee['message']);}}async[a0_0x3c965a(0x16b)](_0x4cad77,_0x35873d,_0x2f02be){const _0x21296e=a0_0x3c965a,_0x2017dd={'bitaB':_0x21296e(0x162)},_0x378ccf=this['getDbUtils']();if(!_0x378ccf)return;const _0x9cef53=this[_0x21296e(0xfb)](),_0x515792=_0x2f02be?String(_0x2f02be)['substring'](0x0,0x1f4):null;try{if(_0x9cef53==='oracle')await _0x378ccf[_0x21296e(0x116)](_0x21296e(0x187),[_0x35873d,_0x515792,_0x4cad77]);else _0x9cef53===_0x21296e(0x166)?await _0x378ccf[_0x21296e(0x116)]('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?',[_0x35873d,_0x515792,_0x4cad77]):await _0x378ccf[_0x21296e(0x116)](_0x21296e(0x142),[_0x35873d,_0x515792,_0x4cad77]);}catch(_0x137d8b){logger[_0x21296e(0x175)]({'event':_0x2017dd['bitaB'],'historyId':_0x4cad77,'error':_0x137d8b[_0x21296e(0x177)]},'Failed\x20to\x20update\x20job\x20history\x20(completed):\x20'+_0x137d8b['message']);}}async[a0_0x3c965a(0x15a)](_0x2d42c7,_0x438bec,_0x28044c,_0x12adbe,_0x5b9333){const _0x188f90=a0_0x3c965a,_0x102216={'QeZJu':function(_0x58cc75,_0x3dea88){return _0x58cc75===_0x3dea88;},'mqlsD':'oracle','CEpAp':function(_0x46954a,_0x84663a){return _0x46954a||_0x84663a;},'XqpJT':_0x188f90(0x12f)},_0x5023cd=this['getDbUtils']();if(!_0x5023cd)return;const _0x497c2b=this[_0x188f90(0xfb)](),_0x1f73ec=_0x12adbe?String(_0x12adbe)[_0x188f90(0x79)](0x0,0x3e8):null,_0xe03006=_0x5b9333?String(_0x5b9333)['substring'](0x0,0xfa0):null;try{if(_0x102216['QeZJu'](_0x497c2b,_0x102216['mqlsD']))await _0x5023cd[_0x188f90(0x116)](_0x188f90(0x11e),[_0x438bec,_0x28044c||0x0,_0x1f73ec,_0xe03006,_0x2d42c7]);else _0x497c2b===_0x188f90(0x166)?await _0x5023cd['executeQuery'](_0x188f90(0x13d),[_0x438bec,_0x102216['CEpAp'](_0x28044c,0x0),_0x1f73ec,_0xe03006,_0x2d42c7]):await _0x5023cd['executeQuery'](_0x188f90(0x151),[_0x438bec,_0x102216['CEpAp'](_0x28044c,0x0),_0x1f73ec,_0xe03006,_0x2d42c7]);}catch(_0x4c690f){logger['warn']({'event':_0x102216[_0x188f90(0xdb)],'historyId':_0x2d42c7,'error':_0x4c690f[_0x188f90(0x177)]},_0x188f90(0x113)+_0x4c690f['message']);}}async['updateRegistryStatus'](_0x33b4f9,_0x3ae596){const _0x24dd10=a0_0x3c965a,_0x42fe99={'fKasJ':function(_0x83a8b1,_0x1d725b){return _0x83a8b1===_0x1d725b;},'FMpcI':_0x24dd10(0xc2),'Wbegj':_0x24dd10(0x166)},_0x19e235=this['getDbUtils']();if(!_0x19e235)return;const _0x27aa34=this[_0x24dd10(0xfb)]();try{if(_0x42fe99['fKasJ'](_0x27aa34,_0x42fe99['FMpcI']))await _0x19e235['executeQuery'](_0x24dd10(0x12b),[_0x3ae596,_0x33b4f9]);else _0x27aa34===_0x42fe99['Wbegj']?await _0x19e235['executeQuery'](_0x24dd10(0x97),[_0x3ae596,_0x33b4f9]):await _0x19e235[_0x24dd10(0x116)]('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',[_0x3ae596,_0x33b4f9]);}catch(_0x1d4976){}}async['updateRegistryCounters'](_0x7f12e0,_0x5c1517,_0x4f61e4,_0x245830){const _0x1d9859=a0_0x3c965a,_0x5d5433={'oIGeT':function(_0x58e8f7,_0x2439be){return _0x58e8f7===_0x2439be;},'OWJsS':function(_0x38ab26,_0x315f48){return _0x38ab26===_0x315f48;},'ZtLAr':'mysql','XqRou':_0x1d9859(0xd4)},_0x49d243=this[_0x1d9859(0x189)]();if(!_0x49d243)return;const _0x806cd4=this['getDbType'](),_0x4bd53c=_0x5d5433['oIGeT'](_0x5c1517,_0x1d9859(0x152))?'total_success':_0x1d9859(0x7a);try{if(_0x806cd4==='oracle')await _0x49d243[_0x1d9859(0x116)]('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'+_0x4bd53c+'\x20=\x20'+_0x4bd53c+_0x1d9859(0x141),[_0x5c1517,_0x4f61e4,_0x245830,_0x7f12e0]);else _0x5d5433[_0x1d9859(0xaf)](_0x806cd4,_0x5d5433['ZtLAr'])?await _0x49d243[_0x1d9859(0x116)]('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'+_0x4bd53c+_0x1d9859(0x93)+_0x4bd53c+'\x20+\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20?\x20WHERE\x20job_name\x20=\x20?',[_0x5c1517,_0x4f61e4,_0x245830,_0x7f12e0]):await _0x49d243['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'+_0x4bd53c+_0x1d9859(0x93)+_0x4bd53c+'\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',[_0x5c1517,_0x4f61e4,_0x245830,_0x7f12e0]);}catch(_0x10498b){logger[_0x1d9859(0x175)]({'event':_0x5d5433['XqRou'],'jobName':_0x7f12e0,'error':_0x10498b['message']},'Failed\x20to\x20update\x20job\x20registry\x20counters:\x20'+_0x10498b[_0x1d9859(0x177)]);}}async['getNextRunFromBullMQ'](_0x41aab6){const _0xddd0ea=a0_0x3c965a,_0x22d915={'uOcvb':function(_0x32891b,_0x4246a5){return _0x32891b!==_0x4246a5;},'Awniq':'cron'},_0x394054=this['jobConfigs'][_0x41aab6];if(!_0x394054||_0x22d915[_0xddd0ea(0xf2)](_0x394054['type'],_0x22d915[_0xddd0ea(0x8f)])||_0x394054[_0xddd0ea(0xd3)]===![])return null;const _0xa7c824=this['queues'][_0x394054[_0xddd0ea(0xe2)]||'default'];if(!_0xa7c824)return null;try{if(typeof _0xa7c824['getJobSchedulers']==='function'){const _0x15bc26=await _0xa7c824['getJobSchedulers'](0x0,0x64),_0x40f0b3=_0x15bc26['find'](_0x591958=>_0x591958['name']===_0x41aab6);return _0x40f0b3?.[_0xddd0ea(0x13a)]?new Date(_0x40f0b3[_0xddd0ea(0x13a)]):null;}}catch(_0x1d1713){}return null;}async[a0_0x3c965a(0xa9)](){const _0x4d1c19=a0_0x3c965a,_0x36e584={'tVMne':function(_0x1c7c44,_0x16cfcc){return _0x1c7c44===_0x16cfcc;},'dkbWJ':'oracle','IFWCR':_0x4d1c19(0x166),'tIvPT':'job_registry_offline_error'},_0x56453f=this['getDbUtils']();if(!_0x56453f)return;const _0x2e7a82=this['getDbType']();try{if(_0x36e584[_0x4d1c19(0x16e)](_0x2e7a82,_0x36e584['dkbWJ']))await _0x56453f[_0x4d1c19(0x116)](_0x4d1c19(0xb7));else _0x2e7a82===_0x36e584['IFWCR']?await _0x56453f['executeQuery']('UPDATE\x20job_registry\x20SET\x20status\x20=\x20\x27offline\x27,\x20next_run_at\x20=\x20NULL'):await _0x56453f['executeQuery']('UPDATE\x20job_registry\x20SET\x20status\x20=\x20\x27offline\x27,\x20next_run_at\x20=\x20NULL,\x20updated_at\x20=\x20NOW()');}catch(_0x5ae8bc){logger[_0x4d1c19(0x175)]({'event':_0x36e584['tIvPT'],'error':_0x5ae8bc[_0x4d1c19(0x177)]},_0x4d1c19(0x188)+_0x5ae8bc[_0x4d1c19(0x177)]);}}[a0_0x3c965a(0x189)](){const _0x1cd896=a0_0x3c965a,_0xbc8c57={'CDBBq':_0x1cd896(0x120),'WfptL':function(_0xf69199,_0x449b42){return _0xf69199===_0x449b42;},'OBZLz':_0x1cd896(0x166),'ubzNA':function(_0x306fdc,_0x467ddb){return _0x306fdc(_0x467ddb);},'LmuxJ':_0x1cd896(0x14e),'iJMbe':'../../utils/db','vdXsK':_0x1cd896(0xcb),'cRWCL':_0x1cd896(0x12d)},_0x5a2355=(process['env'][_0x1cd896(0xd7)]||_0xbc8c57[_0x1cd896(0x126)])['toLowerCase']();if(_0xbc8c57['WfptL'](_0x5a2355,'oracle'))try{const _0x291912=require(_0x1cd896(0x176));return{'executeQuery':(_0x4f55fa,_0x5387f2)=>_0x291912['executeQuery'](_0x4f55fa,_0x5387f2),'executeTransaction':_0x37a147=>_0x291912['executeTransaction'](_0x37a147),'getPool':()=>_0x291912['getPool']()};}catch(_0x22c724){return logger['warn']({'event':_0x1cd896(0xb8)},_0x1cd896(0x9f)),null;}if(_0x5a2355===_0xbc8c57['OBZLz'])try{const _0xca8b48=_0xbc8c57['ubzNA'](require,_0xbc8c57['LmuxJ']);return{'executeQuery':(_0x529ad8,_0x333b68)=>_0xca8b48[_0x1cd896(0x116)](_0x529ad8,_0x333b68),'executeTransaction':_0x195228=>_0xca8b48[_0x1cd896(0xb2)](_0x195228),'getPool':()=>_0xca8b48[_0x1cd896(0x100)]()};}catch(_0x33434f){return logger['warn']({'event':'db_mysql_unavailable'},_0x1cd896(0x111)),null;}try{const _0x173749=require(_0xbc8c57[_0x1cd896(0x150)]);return{'executeQuery':_0x173749[_0x1cd896(0x116)],'executeTransaction':_0x173749['executeTransaction'],'getPool':_0x173749['getPool']};}catch(_0x40debb){return logger[_0x1cd896(0x175)]({'event':_0xbc8c57['vdXsK']},_0xbc8c57['cRWCL']),null;}}['getRedisClient'](){const _0x49f713=a0_0x3c965a,_0x50eaff={'TfUci':'../../utils/redis-client'};try{const _0x19b414=require(_0x50eaff['TfUci']);return _0x19b414[_0x49f713(0x18f)]?_0x19b414['getClient']():_0x19b414;}catch(_0x5d6cfa){return null;}}[a0_0x3c965a(0xf7)](){const _0x449916=a0_0x3c965a,_0xffefcd={'xTpbC':_0x449916(0x136)};try{if(process[_0x449916(0x91)]['KAFKA_ENABLED']==='true'){const _0x27c754=require(_0xffefcd['xTpbC']);return _0x27c754[_0x449916(0xa8)]?_0x27c754[_0x449916(0xa8)]():_0x27c754;}}catch(_0x517c2e){}return null;}['getCacheManager'](){const _0x4f5ae3={'tNjJh':function(_0x1ae7e1,_0x49f234){return _0x1ae7e1(_0x49f234);}};try{return _0x4f5ae3['tNjJh'](require,'../../utils/cache-manager');}catch(_0x245dab){return null;}}async[a0_0x3c965a(0x17c)](_0x4193a7,_0x10f2c5={}){const _0x5e8be5=a0_0x3c965a,_0x22b1ae={'noQDs':_0x5e8be5(0xcd),'rUYhy':'exponential','pQmlN':'job_dispatched'},_0x489652=this['jobConfigs'][_0x4193a7];if(!_0x489652)throw new Error('Job\x20not\x20found:\x20'+_0x4193a7);const _0x4dae82=this['queues'][_0x489652['queue']||_0x22b1ae[_0x5e8be5(0x9e)]],_0x1ee98d=await _0x4dae82['add'](_0x4193a7,{..._0x10f2c5,'handler':_0x489652[_0x5e8be5(0x14c)],'triggeredBy':_0x5e8be5(0x138)},{'attempts':_0x489652[_0x5e8be5(0x184)]?.[_0x5e8be5(0x124)]||0x3,'backoff':{'type':_0x489652[_0x5e8be5(0x184)]?.[_0x5e8be5(0x11f)]||_0x22b1ae[_0x5e8be5(0x13e)],'delay':_0x489652[_0x5e8be5(0x184)]?.['initialDelay']||0x1388},'timeout':_0x489652['timeout']||0x7530});return logger['info']({'event':_0x22b1ae[_0x5e8be5(0xb1)],'jobId':_0x1ee98d['id'],'name':_0x4193a7,'triggeredBy':_0x5e8be5(0x138)},'Job\x20dispatched:\x20'+_0x4193a7+_0x5e8be5(0x9a)+_0x1ee98d['id']+')'),{'jobId':_0x1ee98d['id'],'name':_0x4193a7};}async[a0_0x3c965a(0xe4)](_0x5f2ecc,_0x255e32={},_0x55b405=0x0){const _0x386ff6=a0_0x3c965a,_0x21d8be={'TZKzs':'default','ilxHA':_0x386ff6(0x7f)},_0x5e7009=this[_0x386ff6(0xa0)][_0x5f2ecc];if(!_0x5e7009)throw new Error('Job\x20not\x20found:\x20'+_0x5f2ecc);const _0x3de9b7=this[_0x386ff6(0x153)][_0x5e7009['queue']||_0x21d8be['TZKzs']],_0x4525a2=await _0x3de9b7[_0x386ff6(0x137)](_0x5f2ecc,{..._0x255e32,'handler':_0x5e7009[_0x386ff6(0x14c)],'triggeredBy':'api-delayed'},{'delay':_0x55b405,'attempts':_0x5e7009[_0x386ff6(0x184)]?.['maxAttempts']||0x3,'backoff':{'type':_0x5e7009[_0x386ff6(0x184)]?.[_0x386ff6(0x11f)]||_0x21d8be[_0x386ff6(0x94)],'delay':_0x5e7009[_0x386ff6(0x184)]?.['initialDelay']||0x1388},'timeout':_0x5e7009['timeout']||0x7530});return logger['info']({'event':_0x386ff6(0xfc),'jobId':_0x4525a2['id'],'name':_0x5f2ecc,'delayMs':_0x55b405},_0x386ff6(0x14b)+_0x55b405+'ms):\x20'+_0x5f2ecc+'\x20(id:\x20'+_0x4525a2['id']+')'),{'jobId':_0x4525a2['id'],'name':_0x5f2ecc};}async['getJobStatus'](_0x259b8a){const _0x592b1e=a0_0x3c965a;for(const _0x8843c8 of Object['values'](this[_0x592b1e(0x153)])){const _0x286be6=await _0x8843c8['getJob'](_0x259b8a);if(_0x286be6){const _0x2c7f1d=await _0x286be6[_0x592b1e(0xc6)]();return{'jobId':_0x286be6['id'],'name':_0x286be6['name'],'state':_0x2c7f1d,'progress':_0x286be6[_0x592b1e(0x7b)],'attemptsMade':_0x286be6[_0x592b1e(0x16c)],'failedReason':_0x286be6['failedReason'],'returnvalue':_0x286be6[_0x592b1e(0x10d)],'data':_0x286be6[_0x592b1e(0xdf)],'timestamps':{'created':_0x286be6[_0x592b1e(0x11b)],'started':_0x286be6[_0x592b1e(0x9c)],'completed':_0x286be6['finishedOn']}};}}return null;}[a0_0x3c965a(0x77)](){const _0x4bb5d3=a0_0x3c965a;return Object[_0x4bb5d3(0x17e)](this['jobConfigs'])['map'](_0x5a1a23=>({'name':_0x5a1a23['name'],'description':_0x5a1a23[_0x4bb5d3(0xbe)]||'','type':_0x5a1a23[_0x4bb5d3(0x99)],'schedule':_0x5a1a23['schedule'],'handler':_0x5a1a23['handler'],'enabled':_0x5a1a23[_0x4bb5d3(0xd3)]!==![],'queue':_0x5a1a23['queue']||'default','timeout':_0x5a1a23['timeout']||0x7530,'retry':_0x5a1a23['retry']||{'maxAttempts':0x3,'backoff':_0x4bb5d3(0x7f),'initialDelay':0x1388},'metadata':_0x5a1a23[_0x4bb5d3(0x75)]||{}}));}async[a0_0x3c965a(0x117)](){const _0x20b6c2=a0_0x3c965a,_0x23bc0d=[];for(const [_0xff4f4a,_0x5aedf7]of Object['entries'](this['queues'])){const _0x16277c=await _0x5aedf7['getJobs']([_0x20b6c2(0xaa)]);for(const _0x10e8de of _0x16277c){_0x23bc0d[_0x20b6c2(0x18e)]({'jobId':_0x10e8de['id'],'name':_0x10e8de['name'],'queue':_0xff4f4a,'progress':_0x10e8de['progress'],'attemptsMade':_0x10e8de['attemptsMade'],'startedAt':_0x10e8de[_0x20b6c2(0x9c)]});}}return _0x23bc0d;}async[a0_0x3c965a(0x125)](_0x41a5ef={}){const _0x590a93=a0_0x3c965a,_0x473d85={'hVAKW':function(_0x47a513,_0x5c76f8){return _0x47a513*_0x5c76f8;},'RYLgz':function(_0x3d4ec3,_0x29d4b5){return _0x3d4ec3+_0x29d4b5;},'ZNGND':'completed'},_0x1e1f9c=parseInt(_0x41a5ef['page'],0xa)||0x1,_0x447d79=Math['min'](parseInt(_0x41a5ef['limit'],0xa)||0x14,0x64),_0x35f610=_0x473d85[_0x590a93(0x169)](_0x1e1f9c-0x1,_0x447d79),_0x489a64=_0x473d85[_0x590a93(0x164)](_0x35f610,_0x447d79)-0x1,_0x49cf8a=[];for(const [_0x45409d,_0x2b0b64]of Object['entries'](this['queues'])){const _0x1637a8=await _0x2b0b64['getJobs']([_0x473d85[_0x590a93(0x80)]],_0x35f610,_0x489a64),_0x4b2b90=await _0x2b0b64['getJobs'](['failed'],_0x35f610,_0x489a64);for(const _0x58089b of[..._0x1637a8,..._0x4b2b90]){const _0x4ec641=await _0x58089b[_0x590a93(0xc6)]();_0x49cf8a['push']({'jobId':_0x58089b['id'],'name':_0x58089b['name'],'state':_0x4ec641,'queue':_0x45409d,'attemptsMade':_0x58089b['attemptsMade'],'failedReason':_0x58089b[_0x590a93(0x18b)],'returnvalue':_0x58089b[_0x590a93(0x10d)],'timestamps':{'created':_0x58089b[_0x590a93(0x11b)],'started':_0x58089b['processedOn'],'completed':_0x58089b[_0x590a93(0x11d)]}});}}return _0x49cf8a[_0x590a93(0x109)]((_0x3e5ec6,_0x118289)=>(_0x118289['timestamps'][_0x590a93(0x18a)]||0x0)-(_0x3e5ec6['timestamps']['created']||0x0)),{'jobs':_0x49cf8a['slice'](0x0,_0x447d79),'total':_0x49cf8a['length'],'page':_0x1e1f9c,'limit':_0x447d79};}async['cancelJob'](_0x116ca1){const _0x407e00=a0_0x3c965a,_0x1f7b01={'aOIrR':function(_0x3cf185,_0x4511bf){return _0x3cf185===_0x4511bf;},'hnhmZ':'active','wfQFT':'Job\x20cancelled\x20via\x20API','GPPUt':_0x407e00(0x135),'djnIB':function(_0x3e4ac4,_0x1bcd09){return _0x3e4ac4===_0x1bcd09;},'PVjEb':'delayed'};for(const _0x29c01e of Object['values'](this[_0x407e00(0x153)])){const _0x3ae11b=await _0x29c01e[_0x407e00(0xcf)](_0x116ca1);if(_0x3ae11b){const _0x3540a6=await _0x3ae11b[_0x407e00(0xc6)]();if(_0x1f7b01['aOIrR'](_0x3540a6,_0x1f7b01['hnhmZ']))return await _0x3ae11b['moveToFailed'](new Error(_0x1f7b01[_0x407e00(0x7d)]),'api-cancel',!![]),{'success':!![],'message':_0x407e00(0x16f)+_0x116ca1+'\x20cancelled\x20(was\x20active)'};if(_0x3540a6===_0x1f7b01[_0x407e00(0x154)]||_0x1f7b01['djnIB'](_0x3540a6,_0x1f7b01[_0x407e00(0xee)]))return await _0x3ae11b[_0x407e00(0xdc)](),{'success':!![],'message':_0x407e00(0x16f)+_0x116ca1+_0x407e00(0x84)+_0x3540a6+')'};return{'success':![],'message':'Job\x20'+_0x116ca1+'\x20cannot\x20be\x20cancelled\x20(state:\x20'+_0x3540a6+')'};}}return{'success':![],'message':_0x407e00(0x16f)+_0x116ca1+'\x20not\x20found'};}async['getHealthStatus'](){const _0x96a758=a0_0x3c965a,_0x5beab6={'KTOab':'delayed','YlYta':'failed','ATnCY':'waiting'},_0x4d5e0b={};for(const [_0x186875,_0x5f369b]of Object[_0x96a758(0xa7)](this[_0x96a758(0x153)])){try{const _0x1b04c8=await _0x5f369b['getJobCounts']('active','completed',_0x5beab6[_0x96a758(0xf5)],_0x5beab6['YlYta'],'paused',_0x5beab6['ATnCY']);_0x4d5e0b[_0x186875]=_0x1b04c8;}catch(_0x2471d8){_0x4d5e0b[_0x186875]={'error':_0x2471d8['message']};}}const _0x3f0a18={};for(const [_0x271e56,_0x3c1a18]of Object['entries'](this[_0x96a758(0x10e)])){_0x3f0a18[_0x271e56]={'running':_0x3c1a18[_0x96a758(0x190)](),'paused':_0x3c1a18['isPaused']()};}return{'initialized':this['initialized'],'registeredJobs':Object['keys'](this['jobConfigs'])['length'],'redisConnections':this['connections'][_0x96a758(0xe3)],'queues':_0x4d5e0b,'workers':_0x3f0a18};}async['onJobCompleted'](_0x2f835f,_0x183f2b){const _0xd8039c=a0_0x3c965a,_0x3e62f9={'pHyAx':'after_job_complete_hook_error','RlUZi':'onAfterJobComplete\x20handler\x20error\x20(non-blocking)','ePwTY':function(_0x2dcfff,_0x3aadff){return _0x2dcfff-_0x3aadff;},'DfenQ':function(_0x5bc40a,_0x5c7587){return _0x5bc40a===_0x5c7587;},'IGkxN':'string','AZqPh':_0xd8039c(0x152),'zRGaW':function(_0x3f5a17){return _0x3f5a17();},'rAqun':'function','oxKAN':_0xd8039c(0xd8),'TVnEe':'JOB_COMPLETED','FeNpl':_0xd8039c(0x7e)},_0x3cbbe8=logger[_0xd8039c(0xc4)]({'jobId':_0x2f835f['id'],'jobName':_0x2f835f[_0xd8039c(0x123)]});_0x3cbbe8['info']({'event':_0xd8039c(0xe5),'attemptsMade':_0x2f835f['attemptsMade'],'duration':_0x2f835f[_0xd8039c(0x11d)]?_0x2f835f['finishedOn']-_0x2f835f[_0xd8039c(0x9c)]:null},'Job\x20completed:\x20'+_0x2f835f['name']);const _0x232814=this[_0xd8039c(0x95)][_0xd8039c(0x16a)](_0x2f835f['id']);if(_0x232814){if(_0x232814[_0xd8039c(0x105)])await _0x232814[_0xd8039c(0x105)];const _0x25c54d=_0x2f835f[_0xd8039c(0x11d)]&&_0x2f835f['processedOn']?_0x3e62f9[_0xd8039c(0x11c)](_0x2f835f[_0xd8039c(0x11d)],_0x2f835f[_0xd8039c(0x9c)]):null,_0x2f0dba=_0x3e62f9[_0xd8039c(0x134)](typeof _0x183f2b,_0x3e62f9['IGkxN'])?_0x183f2b:_0x183f2b?JSON['stringify'](_0x183f2b)['substring'](0x0,0x1f4):null;await this['updateJobHistoryCompleted'](_0x232814[_0xd8039c(0xb4)],_0x25c54d,_0x2f0dba);const _0x265938=await this['getNextRunFromBullMQ'](_0x2f835f[_0xd8039c(0x123)]);await this[_0xd8039c(0x78)](_0x2f835f['name'],_0x3e62f9['AZqPh'],_0x25c54d,_0x265938),this['activeHistoryIds'][_0xd8039c(0x179)](_0x2f835f['id']);}const _0x339bc7=_0x3e62f9[_0xd8039c(0xa1)](getComponentEngine);if(_0x339bc7&&typeof _0x339bc7['executeEventHandlers']===_0x3e62f9['rAqun']){const _0x41949b={'jobId':_0x2f835f['id'],'jobName':_0x2f835f[_0xd8039c(0x123)],'result':_0x183f2b,'config':this['jobConfigs'][_0x2f835f['name']]||{}};_0x339bc7[_0xd8039c(0xc3)](_0x3e62f9[_0xd8039c(0x7c)],_0x41949b,![])['catch'](_0x35ef89=>{const _0x1ae76f=_0xd8039c;_0x3cbbe8[_0x1ae76f(0x175)]({'event':_0x3e62f9['pHyAx'],'error':_0x35ef89[_0x1ae76f(0x177)]},_0x3e62f9['RlUZi']);});}const _0x5b9a4d=this[_0xd8039c(0xf7)]();if(_0x5b9a4d)try{await _0x5b9a4d[_0xd8039c(0xda)]('restforge.jobs.completed',_0x3e62f9['TVnEe'],null,{'jobId':_0x2f835f['id'],'name':_0x2f835f[_0xd8039c(0x123)],'result':_0x183f2b},{'module':_0xd8039c(0x9d),'endpoint':_0x2f835f[_0xd8039c(0x123)]});}catch(_0x5558ec){_0x3cbbe8[_0xd8039c(0x175)]({'event':_0x3e62f9[_0xd8039c(0x132)],'error':_0x5558ec['message']},_0xd8039c(0xb3));}}async[a0_0x3c965a(0x98)](_0x3bc402,_0x27d127){const _0x2a26c0=a0_0x3c965a,_0x1f78b0={'tzpCE':'after_job_failed_hook_error','bqihe':'job_failed','UFQgT':function(_0x3c2ecb,_0xdbca1b){return _0x3c2ecb<_0xdbca1b;},'lgFVt':function(_0x18fb2c,_0x57f945){return _0x18fb2c-_0x57f945;},'zyQCY':function(_0x4366cb){return _0x4366cb();},'gEdkf':function(_0x387620,_0x9b378d){return _0x387620===_0x9b378d;},'mTjzO':_0x2a26c0(0x15e),'ZVbyZ':_0x2a26c0(0x7e),'zrfDf':'Failed\x20to\x20publish\x20JOB_FAILED\x20to\x20Kafka'},_0x144084=logger[_0x2a26c0(0xc4)]({'jobId':_0x3bc402['id'],'jobName':_0x3bc402['name']});_0x144084[_0x2a26c0(0xcc)]({'event':_0x1f78b0['bqihe'],'attemptsMade':_0x3bc402['attemptsMade'],'failedReason':_0x27d127?.[_0x2a26c0(0x177)],'willRetry':_0x1f78b0[_0x2a26c0(0x145)](_0x3bc402[_0x2a26c0(0x16c)],this['jobConfigs'][_0x3bc402[_0x2a26c0(0x123)]]?.['retry']?.[_0x2a26c0(0x124)]||0x3)},_0x2a26c0(0xe8)+_0x3bc402['name']+'\x20—\x20'+_0x27d127?.[_0x2a26c0(0x177)]);const _0x182d9f=this['activeHistoryIds']['get'](_0x3bc402['id']);if(_0x182d9f){if(_0x182d9f['insertPromise'])await _0x182d9f['insertPromise'];const _0x5c26a8=_0x3bc402[_0x2a26c0(0x11d)]&&_0x3bc402[_0x2a26c0(0x9c)]?_0x1f78b0['lgFVt'](_0x3bc402[_0x2a26c0(0x11d)],_0x3bc402[_0x2a26c0(0x9c)]):null;await this[_0x2a26c0(0x15a)](_0x182d9f[_0x2a26c0(0xb4)],_0x5c26a8,_0x3bc402['progress'],_0x27d127?.[_0x2a26c0(0x177)],_0x27d127?.['stack']);const _0x4d0966=await this[_0x2a26c0(0x10f)](_0x3bc402['name']);await this['updateRegistryCounters'](_0x3bc402['name'],_0x2a26c0(0x182),_0x5c26a8,_0x4d0966),this[_0x2a26c0(0x95)]['delete'](_0x3bc402['id']);}const _0x136eda=_0x1f78b0['zyQCY'](getComponentEngine);if(_0x136eda&&_0x1f78b0[_0x2a26c0(0xbc)](typeof _0x136eda['executeEventHandlers'],_0x2a26c0(0x147))){const _0x537551={'jobId':_0x3bc402['id'],'jobName':_0x3bc402[_0x2a26c0(0x123)],'error':_0x27d127?.['message'],'attemptsMade':_0x3bc402['attemptsMade'],'config':this[_0x2a26c0(0xa0)][_0x3bc402['name']]||{}};_0x136eda['executeEventHandlers']('onAfterJobFailed',_0x537551,![])[_0x2a26c0(0x148)](_0x1dd04c=>{_0x144084['warn']({'event':_0x1f78b0['tzpCE'],'error':_0x1dd04c['message']},'onAfterJobFailed\x20handler\x20error\x20(non-blocking)');});}const _0xe2eec5=this['getKafkaService']();if(_0xe2eec5)try{await _0xe2eec5['publishEvent']('restforge.jobs.failed',_0x1f78b0[_0x2a26c0(0x102)],null,{'jobId':_0x3bc402['id'],'name':_0x3bc402[_0x2a26c0(0x123)],'error':_0x27d127?.['message'],'attemptsMade':_0x3bc402['attemptsMade']},{'module':_0x2a26c0(0x9d),'endpoint':_0x3bc402[_0x2a26c0(0x123)]});}catch(_0x218113){_0x144084['warn']({'event':_0x1f78b0['ZVbyZ'],'error':_0x218113['message']},_0x1f78b0[_0x2a26c0(0x12a)]);}}[a0_0x3c965a(0x15c)](_0x13ce14,_0x387586){const _0x234f8e=a0_0x3c965a,_0x4921ca={'jdcWT':'job_progress'};logger[_0x234f8e(0x76)]({'event':_0x4921ca[_0x234f8e(0xa6)],'jobId':_0x13ce14['id'],'jobName':_0x13ce14[_0x234f8e(0x123)],'progress':_0x387586},'Job\x20progress:\x20'+_0x13ce14['name']+'\x20—\x20'+_0x387586+'%');}}module['exports']=new JobManager();function a0_0x2127(){const _0x100feb=['ELjhyvC','uMPKs3G','zhvWBgLJyxrL','sM9IignVBMzPzYbPBNzHBgLKoIa','z1bnC2u','AMrJv1q','zw50CMLLCW','z2v0sw5ZDgfUy2u','C2v0qwXSsM9IC09MzMXPBMu','ywn0AxzL','AM9Ix3n0yxj0zwq','ndi3EfvYEfPi','ndi2oty2EM1eAwrc','Aw5JBhvKzxm','t1DkC1m','C3LZDgvT','CffTBe4','zxHLy3v0zvrYyw5Zywn0Aw9U','rMfPBgvKihrVihb1yMXPC2GGsK9cx0nptvbmrvrfrcb0BYblywzRyq','AgLZDg9YEuLK','AM9Ix3n0ywXSzwq','nJCYzKTrtK9l','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGC3rHDhvZid0Gj29MzMXPBMuNlcbUzxH0x3j1BL9HDca9ie5vteWSihvWzgf0zwrFyxqGpsbtwvnusu1fu1rbtva','zgjFB3jHy2XLx3vUyxzHAwXHyMXL','iokaLca','zNrSANC','igPVyIbJB25MAwCOCYKGzNjVBsbWyxLSB2fKl2PVyNmV','z0vKA2y','rfPAwfa','zgvZy3jPChrPB24','B25SAw5L','y3jLyxrLqNvSBe1rq29UBMvJDgLVBG','mYbcDwXStveGv29YA2vYCYbJCMvHDgvKicHJB25JDxjYzw5JEtOG','B3jHy2XL','zxHLy3v0zuv2zw50sgfUzgXLCNm','y2HPBgq','wNzJDfO','z2v0u3rHDgu','C3rHCNrZv2L0Aa','D0jws0G','sM9IigHHBMrSzxiGy29TCgXLDgvKoIa','Aw5PDgLHBerLBgf5','zgjFCgDFDw5HDMfPBgfIBgu','zxjYB3i','zgvMyxvSDa','B25kB2jdB21WBgv0zwq','z2v0sM9I','zxjYB3jZ','ndCWnJmWte90zwLl','AgLNAa','zw5HyMXLza','AM9Ix3jLz2LZDhj5x2nVDw50zxjFzxjYB3i','swThy0O','uKfus00','rejFvfLqrq','B25bzNrLCKPVyKnVBxbSzxrL','rejFvfLqrsaN','ChvIBgLZAev2zw50','whfWsLq','CMvTB3zL','uKvesvnFse9tva','AM9Ix2nVBMzPz19WyxjZzv9LCNjVCG','zgf0yq','D3zereO','yNvSBg1Xx3jLzgLZx2vYCM9Y','CxvLDwu','BgvUz3rO','zgLZCgf0y2HezwXHEwvK','AM9Ix2nVBxbSzxrLza','ndvRug9Jvwi','AM9Ix3DVCMTLCNnFy3jLyxrLza','sM9IigzHAwXLzdOG','tNDlDgm','zxHPC3rZu3LUyW','y29UBMvJDgLVBNm','C2rUBue','AM9Ix3jLz2LZDhj5x3vWC2vYDf9LCNjVCG','ufzQrwi','DhjPBq','sM9Iig1VBML0B3jPBMCGDgfIBgvZigvUC3vYzwqGka','AM9Ix3f1zxvLC19JCMvHDgvK','Du9JDMi','CMvHzezPBgvtEw5J','rgf0ywjHC2uGDgLKywSGDgvYC2vKAweSihnRAxaGyxv0BY1JCMvHDguGAM9IihrHyMXLCW','s1rpywi','Bg93','z2v0s2fMA2ftzxj2AwnL','yNvSBg1Xx3DVCMTLCL9LCNjVCG','DxbZzxj0sM9Iu2nOzwr1BgvY','AM9Ix3jLz2LZDgvYx2zHAwXLza','z2v0rgjuExbL','AM9Ix2rPC3bHDgnOzwrFzgvSyxLLza','DgPUD2y','ywXS','su5trvjuieLove8GAM9Ix3jLz2LZDhj5cIaGicaGicaGicaGkgPVyL9Uyw1LlcbKAxnWBgf5x25HBwuSihr5CguSihnJAgvKDwXLlcbXDwv1zsWGAgfUzgXLCIWGy29UzMLNx2zPBguScIaGicaGicaGicaGihrPBwvVDxqSihjLDhj5x21HEcWGCMv0CNLFyMfJA29MzIWGC3rHDhvZlcbUzxH0x3j1BL9HDcWGy3jLyxrLzf9HDcWGDxbKyxrLzf9HDcKkicaGicaGicaGicbwquXvrvmGkcqXlcaKmIWGjdmSicq0lcaKnsWGjdySicq3lcaKocWGjdKSicqXmcWGjdeXlcaKmtiSie5pvYGPlcbot1COksKkicaGicaGicaGicbptIbdt05gteLdvcaOAM9Ix25HBwuPierpifvqrefursbtrvqkicaGicaGicaGicaGigrPC3bSyxLFBMfTzsa9ievyq0XvrevelMrPC3bSyxLFBMfTzsWGDhLWzsa9ievyq0XvrevelNr5CguScIaGicaGicaGicaGicbZy2HLzhvSzsa9ievyq0XvrevelNnJAgvKDwXLlcbXDwv1zsa9ievyq0XvrevelNf1zxvLlaOGicaGicaGicaGicaGAgfUzgXLCIa9ievyq0XvrevelMHHBMrSzxiSignVBMzPz19MAwXLid0GrvHdtfveruqUy29UzMLNx2zPBguScIaGicaGicaGicaGicb0Aw1LB3v0id0GrvHdtfveruqUDgLTzw91DcWGCMv0CNLFBwf4id0GrvHdtfveruqUCMv0CNLFBwf4laOGicaGicaGicaGicaGCMv0CNLFyMfJA29MzIa9ievyq0XvrevelNjLDhj5x2jHy2TVzMySihn0yxr1CYa9ievyq0XvrevelNn0yxr1CYWkicaGicaGicaGicaGig5LEhrFCNvUx2f0id0GrvHdtfveruqUBMv4Df9YDw5FyxqSihvWzgf0zwrFyxqGpsbot1COkq','z2v0ug9VBa','AM9PBG','BvrQEK8','z2v0uMvKAxndBgLLBNq','zgvSyxLLza','Aw5Zzxj0uhjVBwLZzq','qNvSBe1rifDVCMTLCIbLCNjVCIaO','C2nOzwr1Bgu','ChjVy2vZC0PVyG','C29YDa','D29YA2LUz0rPCG','zvzJteS','z2v0q2fJAgvnyw5Hz2vY','CMv0DxjUDMfSDwu','D29YA2vYCW','z2v0tMv4Dfj1BKzYB21cDwXStve','uKvesvnFueftu1DpuKq','txLtuuWGreiGBw9KDwXLig5VDcbHDMfPBgfIBgu','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticGKmsWGjdiSicqZlcaKncWGjduSicDYDw5UAw5NjYWGjdySicq3lcaKocWGtK9xkcKSicq5lcbot1COksK','rMfPBgvKihrVihvWzgf0zsbQB2iGAgLZDg9YEsaOzMfPBgvKktOG','BgzjrNa','y29TCg9Uzw50rw5NAw5L','zxHLy3v0zvf1zxj5','BgLZDfj1BM5PBMC','Dw5RBM93BG','DhjPz2DLCMvKqNK','x3nVDxjJzuzPBgu','DgLTzxn0yw1W','zvb3vfK','zMLUAxnOzwrpBG','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNzMfPBgvKjYWGy29TCgXLDgvKx2f0id0Gu1LtveLnrvnuqu1qlaOGicaGicaGicaGigr1CMf0Aw9Ux21Zid0GoJeSihbYB2DYzxnZid0GoJiSigvYCM9Yx21LC3nHz2uGpsa6mYWGzxjYB3jFC3rHy2SGpsa6ncbxsevsrsbPzca9idO1','yMfJA29MzG','Cg9ZDgDYzxnXBa','BwfW','mYbcDwXStveGuxvLDwvZignYzwf0zwqGkgHPz2GSigrLzMf1BhqSigXVDYK','BMfTzq','Bwf4qxr0zw1WDhm','z2v0sgLZDg9YEq','q0rcqNe','CgLUzW','lIbeqIbTB25PDg9YAw5NigrPC2fIBgvKlG','DMfSAwq','ENjMrgy','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa6msWGBgfZDf9YDw5FyxqGpsbtwvnusu1fu1rbtvaScIaGicaGicaGicaGDxbKyxrLzf9HDca9ifnzu1rjtuvtvefnucbxsevsrsbQB2jFBMfTzsa9idOY','Bg9JywXOB3n0','ug9ZDgDYzvnrtcbeqIbTB2r1BguGBM90igf2ywLSywjSzq','zw5ZDxjLvgfIBgvZ','AM9Ix2HPC3rVCNLFzMfPBgvKx2vYCM9Y','sw5PDgLHBgL6Aw5NiePVyIbnyw5Hz2vYlI4U','AM9Ix3rHyMXLC19LBNn1CMvK','rMvoCgW','AM9Ix2rIx3vUyxzHAwXHyMXL','rgzLBLe','D2fPDgLUzW','lI4VlI4VC2vYDMLJzxmVA2fMA2ftzxj2AwnL','ywrK','yxbP','y3jVBG','BMv4Da','q3jVBIbYzwDPC3rLCMvKoIa','mtHhDvnJEue','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNzMfPBgvKjYWGy29TCgXLDgvKx2f0id0GtK9xkcKScIaGicaGicaGicaGzhvYyxrPB25FBxmGpsa/lcbWCM9NCMvZCYa9id8SigvYCM9Yx21LC3nHz2uGpsa/lcbLCNjVCL9ZDgfJAYa9id8Gv0HfuKuGAwqGpsa/','CLvzAhK','yLbpy0m','BM93','icSGmsWkicaGicaGicaGicbUzxH0x3j1BL9HDca9idOZlcb1CgrHDgvKx2f0id0Gu1LtveLnrvnuqu1qifDirvjfigPVyL9Uyw1Lid0GoJq','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNC3vJy2vZCYCSignVBxbSzxrLzf9HDca9ie5pvYGPlaOGicaGicaGicaGigr1CMf0Aw9Ux21Zid0GjdeSihbYB2DYzxnZid0GmtaWlcbYzxn1BhrFC3vTBwfYEsa9icqYifDirvjfigLKid0Gjdm','yNvPBgrdB250zxH0','AM9Ix2vUC3vYzv90ywjSzxnFzxjYB3i','vuzrz1q','C3bSAxq','zNvUy3rPB24','y2f0y2G','uKvesvnFrei','DxrMoa','sM9IigrPC3bHDgnOzwqGkgrLBgf5zwqG','AgfUzgXLCG','mti5nJiZnwX1we5Qwa','lI4VlI4VDxrPBhmVzgiTBxLZCwW','B3jHltaWotu1','AuPnyMu','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNzMfPBgvKjYWGy29TCgXLDgvKx2f0id0GtK9xkcKScIaGicaGicaGicaGzhvYyxrPB25FBxmGpsaKmsWGChjVz3jLC3mGpsaKmIWGzxjYB3jFBwvZC2fNzsa9icqZlcbLCNjVCL9ZDgfJAYa9icq0ifDirvjfigLKid0Gjdu','C3vJy2vZCW','CxvLDwvZ','r1bqvxq','n2nrBKvLEG','mtm3nZyXBhLAz1LU','vxb6Axy','AgfUzgXLCNm','zMLSDgvY','DxbKyxrLsM9IsgLZDg9YEuzHAwXLza','EvDAsw4','B25kB2jqCM9NCMvZCW','vgLKywSGywrHigPVyIbJB25MAwCGzgL0zw11A2fUigrPihbHEwXVywqVAM9ICY8UiePVyIbnyw5Hz2vYigfRDgLMihrHBNbHignYB24U','sK9cx0zbsuXfra','tuvsr0uGsu5utYbQB2jFCMvNAxn0CNKGCGOGicaGicaGicaGifvtsu5hicHtruXfq1qGoJeGqvmGAM4GrLjptsbevufmksbZie9oicHYlMPVyL9Uyw1Lid0GCY5QBIKkicaGicaGicaGicbxsevoie1bveniruqGveHftIbvuerbveuGu0vucIaGicaGicaGicaGicbKAxnWBgf5x25HBwuGpsa6mIWGDhLWzsa9idOZlcbZy2HLzhvSzsa9idO0lcbXDwv1zsa9idO1laOGicaGicaGicaGicaGAgfUzgXLCIa9idO2lcbJB25MAwDFzMLSzsa9idO3lcb0Aw1LB3v0id0GoJGSihjLDhj5x21HEca9idO5laOGicaGicaGicaGicaGCMv0CNLFyMfJA29MzIa9idOXmcWGC3rHDhvZid0GoJeXlcbUzxH0x3j1BL9HDca9idOXmIWGDxbKyxrLzf9HDca9ifnzu1rjtuvtvefnuaOGicaGicaGicaGifDiru4GtK9uie1bveniruqGveHftIbjtLnfuLqkicaGicaGicaGicaGicHQB2jFBMfTzsWGzgLZCgXHEv9Uyw1Llcb0ExbLlcbZy2HLzhvSzsWGCxvLDwuSigHHBMrSzxiSignVBMzPz19MAwXLlaOGicaGicaGicaGicaGihrPBwvVDxqSihjLDhj5x21HEcWGCMv0CNLFyMfJA29MzIWGC3rHDhvZlcbUzxH0x3j1BL9HDcWGy3jLyxrLzf9HDcWGDxbKyxrLzf9HDcKkicaGicaGicaGicbwquXvrvmGkdOXlca6mIWGoJmSidO0lca6nsWGoJySidO3lca6ocWGoJKSidOXmcWGoJeXlca6mtiSifnzu1rjtuvtvefnucWGu1LtveLnrvnuqu1qkq','s3Pcqwu','CxvPDa','AM9Ix2HPC3rVCNLFy29TCgXLDgvFzxjYB3i','ifjLzgLZignVBM5Ly3rPB25Z','uLLmz3O','mJG3mdq4ogLjvxf3BW','BxLZCwW','sK9cx0zbsuXfrf9srvrftLrjt05Fse9vuLm','AuXOq0S','Afzbs1C','z2v0','DxbKyxrLsM9IsgLZDg9YEunVBxbSzxrLza','yxr0zw1WDhnnywrL','AM9Ix21HBMfNzxjFCMvHzhK','DfznBMu','sM9Iia','sgfUzgXLCIbUB3qGzM91BMqGzM9YigPVyJOG','rM9SzgvYihbHEwXVywqVAM9ICY8GDgLKywSGzgL0zw11A2fU','Aw5MBW','ngzgvgTABq','wNz3Ce8','D2fYBG','lI4VlI4VDxrPBhmVzgiTB3jHy2XL','BwvZC2fNzq','lIbkB2iGu2nOzwr1BgvYihrPzgfRigfRyw4GywT0AwyU','zgvSzxrL','AM9ItMfTzq','ktOG','zgLZCgf0y2G','ntq3mJu2nNLnuxDmqW','DMfSDwvZ','oMPVyG','sM9Iihn0yxj0zwq6ia','z0jmvMW','zMfPBgvK','uvrYD0K','CMv0CNK','wxreq2C','yxr0zw1WDa','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNC3vJy2vZCYCSignVBxbSzxrLzf9HDca9ifnzu1rjtuvtvefnucWkicaGicaGicaGicbKDxjHDgLVBL9TCYa9idOXlcbWCM9NCMvZCYa9ideWmcWGCMvZDwX0x3n1Bw1HCNKGpsa6mIbxsevsrsbPzca9idOZ','rMfPBgvKihrVihnLDcbQB2jZig9MzMXPBMu6ia','z2v0rgjvDgLSCW','y3jLyxrLza','zMfPBgvKuMvHC29U','y2XVC2u','AM9ICW','ChvZAa','z2v0q2XPzw50','AxnsDw5UAw5N','DxbZzxj0sM9IuMvNAxn0CNK','Bwv0ywrHDge','zgvIDwC','BgLZDePVyNm','DxbKyxrLuMvNAxn0CNLdB3vUDgvYCW','C3vIC3rYAw5N','Dg90ywXFzMfPBgvK','ChjVz3jLC3m','B3Hlqu4','D2zrrLq','AM9Ix2THzMTHx3b1yMXPC2HFzxjYB3i','zxHWB25LBNrPywW','wK5htKq','rerjsgS','ufPrDeS','tfrzwwC','ihjLBw92zwqGkhDHCYa','rMfPBgvKihrVigvUC3vYzsbQB2iGDgfIBgvZoIa','qMfJA2DYB3vUzcbPBNnLCNqGAM9IigHPC3rVCNKGzMfPBgvKoIa','Aw5PDgLHBgL6zwq','icHHDhrLBxb0ia','BxLZCwWUC3fS','C3jJ','q0Pmr3K','CMvHzgrPCLn5BMm','mJiYohfRvgjzAq','wNDeCey','qxDUAxe','u0vYAuC','zw52','lMPZ','id0G','AwX4see','ywn0AxzLsgLZDg9YEuLKCW','mhW3Fdv8mNWXFdz8nhWZ','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa/lcbSyxn0x3j1BL9HDca9ie5pvYGPifDirvjfigPVyL9Uyw1Lid0GpW','B25kB2jgywLSzwq','DhLWzq','icHPzdOG','Cg9ZDgDYzxnXBc5ZCwW','ChjVy2vZC2vKt24','AM9IlxnJAgvKDwXLCG','BM9rrhm','t3jHy2XLiercig1VzhvSzsbUB3qGyxzHAwXHyMXL','AM9Iq29UzMLNCW'];a0_0x2127=function(){return _0x100feb;};return a0_0x2127();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x24d6(){const _0x2d1775=['icHPzdOG','AM9Ix2HPC3rVCNLFzxjYB3i','mJe3otCWBuXyA3bx','Bwf4qxr0zw1WDhm','odiYsgPbr09T','zw52','AwLAre4','twzdt0y','ChvZAa','CgfNzq','l2XPC3q','rxjYB3iGz2v0DgLUzYbQB2iGC3rHDhvZ','Aw5MBW','ihrPzgfRigrPDgvTDwTHBG','sM9Iici','EMruzgi','z2v0sM9ICW','D2fPDgLUzW','y3jLyxrLza','BgH1Eg4','ywrK','DgLTzxn0yw1W','AM9Ix3rYAwDNzxjFzxjYB3i','BMfTzq','uKvesvnFue9sva','C3rHDhvZ','C2nOzwr1Bgu','mtyWmtaXwgLKrgX1','l2HLywX0Aa','yxr0zw1WDhnnywrL','rxjYB3iGDhjPz2DLCMLUzYbQB2i','Bg9JywXOB3n0','Cgf5Bg9Hza','AM9ICW','ntq1ndrTs1jvyKy','yMjKvLm','Bwv0ywrHDge','wwjbug8','iIb0AwrHAYbKAxrLBxvRyw4GzgKGA29UzMLNDxjHC2K','s3DsExm','yM9KEq','BwvZC2fNzq','Bg93','zw50CMLLCW','rxjYB3iGz2v0DgLUzYbXDwv1zsbZDgf0CW','zw5KC1DPDgG','AM9Ix3rYAwDNzxjLzf92AwfFyxbP','wMHns00','z2v0','A2v5CW','B0frBfm','zgvMyxvSDa','Eefct1i','CMvHzezPBgvtEw5J','AgvHBhrOEq','BgvUz3rO','sM9Iia','CMy6AM9I','ChjVy2vZC2vKt24','CMvTB3zL','lMPZB24','zxHWCMvZCW','DMfSDwvZ','BgLTAxq','zMfPBgvK','mJC5mtyXn0TgtuPluW','DgLTzw91Da','BwLU','uKvesvnFueftu1DpuKq','AgLNAa','AM9PBG','zNLlsgi','mtmYmdm1mJbxwgLtvuO','zgvSyxLLza','nty4ndq4sfnIAM56','yxbP','ihjLBw92zwqGkhDHCYa','rxjYB3iGz2v0DgLUzYbQB2iGAgLZDg9YEq','CMv0CNK','Cgf0Aa','yxbPlwnHBMnLBa','l2HPC3rVCNK','DeX6tve','zMLSDgvY','rxjYB3iGy2fUy2vSBgLUzYbQB2i','ANnVBG','AM9Ix2XPC3rFzxjYB3i','zxjYB3i','AM9Ix2nHBMnLBf9LCNjVCG','igjLCMHHC2LSigrPlxrYAwDNzxi','AgfUzgXLCG','sM9IignHBMnLBgXLzcb2AweGqvbj','y29TCgXLDgvK','mZe1nZaXyNnovuzf','DgLTzxn0yw1WCW','Cgf1C2vK','z2rNsK8','BwfW','z2v0sM9I','z2v0u3rHDgu','DxrMoa','z2v0sM9Iq291BNrZ','Cg9ZDa','oe9bD2fJra','Aw5PDgLHBerLBgf5','y3DK','shzyCNO','ywn0AxzL','nefOy2nzqG','CxvLDwu','CgfYyw1Z','ELresK8','C050s1e','ChjVz3jLC3m','DhLWzq','zMfPBgvKuMvHC29U','Aw9YzwrPCW','l3f1zxvLCW'];a0_0x24d6=function(){return _0x2d1775;};return a0_0x24d6();}const a0_0x10cdc6=a0_0x1406;(function(_0x439e79,_0x19cf56){const _0x3bdd2d=a0_0x1406,_0x5141bf=_0x439e79();while(!![]){try{const _0x220932=parseInt(_0x3bdd2d(0x1f2))/0x1+-parseInt(_0x3bdd2d(0x255))/0x2+parseInt(_0x3bdd2d(0x24c))/0x3+parseInt(_0x3bdd2d(0x201))/0x4*(parseInt(_0x3bdd2d(0x20d))/0x5)+parseInt(_0x3bdd2d(0x20f))/0x6*(parseInt(_0x3bdd2d(0x22d))/0x7)+parseInt(_0x3bdd2d(0x1fc))/0x8*(-parseInt(_0x3bdd2d(0x226))/0x9)+-parseInt(_0x3bdd2d(0x253))/0xa;if(_0x220932===_0x19cf56)break;else _0x5141bf['push'](_0x5141bf['shift']());}catch(_0x884e32){_0x5141bf['push'](_0x5141bf['shift']());}}}(a0_0x24d6,0xb36fd));const express=require(a0_0x10cdc6(0x248)),{Queue}=require('bullmq'),Redis=require(a0_0x10cdc6(0x209)),{logger}=require('../../utils/logger');let readConnection=null,readQueues=null,cachedJobConfigs=null;const QUEUE_NAMES={'high-priority':a0_0x10cdc6(0x250),'default':a0_0x10cdc6(0x23e),'low-priority':a0_0x10cdc6(0x235)};function getReadQueues(){const _0x50a5d8=a0_0x10cdc6,_0x2741d8={'sFFay':_0x50a5d8(0x244),'yZwTq':function(_0xa34559,_0x336314,_0x353b65){return _0xa34559(_0x336314,_0x353b65);},'YUWBq':_0x50a5d8(0x1ec)};if(readQueues)return readQueues;const _0x4aba51=process[_0x50a5d8(0x210)]['JOB_REDIS_PREFIX']||_0x2741d8['sFFay'];readConnection=new Redis({'host':process[_0x50a5d8(0x210)]['REDIS_HOST']||_0x50a5d8(0x22a),'port':_0x2741d8['yZwTq'](parseInt,process['env'][_0x50a5d8(0x223)],0xa)||0x18ec,'password':process[_0x50a5d8(0x210)][_0x50a5d8(0x24f)]||undefined,'db':parseInt(process['env']['REDIS_DB'],0xa)||0x0,'maxRetriesPerRequest':null}),readConnection['on'](_0x2741d8['YUWBq'],_0x594c03=>{const _0x26d028=_0x50a5d8;logger['error']({'event':'job_routes_redis_error','error':_0x594c03[_0x26d028(0x234)]},'Job\x20Routes\x20Redis\x20error:\x20'+_0x594c03[_0x26d028(0x234)]);}),readQueues={};for(const [_0x2321d7,_0x587d77]of Object['entries'](QUEUE_NAMES)){readQueues[_0x2321d7]=new Queue(_0x587d77,{'connection':readConnection,'prefix':_0x4aba51});}return readQueues;}function createJobRoutes(_0x8914e2){const _0x342b5d=a0_0x10cdc6,_0x469ee9={'ZhMKM':function(_0x271ceb,_0x3d72bf){return _0x271ceb(_0x3d72bf);},'tLzMQ':_0x342b5d(0x22b),'MKBSC':function(_0x2f9d0c,_0x42a919){return _0x2f9d0c!==_0x42a919;},'sNtKQ':_0x342b5d(0x23e),'hmppc':_0x342b5d(0x1eb),'zdTdb':'job_status_error','MfCOF':_0x342b5d(0x216),'HvXrz':'path','gdgJO':_0x342b5d(0x1f9),'oFvjD':function(_0x3b8e2c){return _0x3b8e2c();},'oAQlS':_0x342b5d(0x221),'mpkbq':_0x342b5d(0x229),'QkQmx':'active','iiZDN':_0x342b5d(0x25b),'gwIhb':_0x342b5d(0x21c),'kwQuD':function(_0x4de682,_0x5cd1cf){return _0x4de682===_0x5cd1cf;},'boVJc':'delayed','BZCfh':_0x342b5d(0x1e9),'fyKHb':function(_0x10149f,_0x4f33e4,_0x94cd48){return _0x10149f(_0x4f33e4,_0x94cd48);},'bbdVS':function(_0x3b7ed8,_0x1ddef7){return _0x3b7ed8-_0x1ddef7;},'JPMEg':function(_0x596fb5,_0x544bdd){return _0x596fb5+_0x544bdd;},'vzUlZ':function(_0x122796){return _0x122796();},'mjoaH':_0x342b5d(0x1f1),'zTDJO':_0x342b5d(0x258),'YbAPo':_0x342b5d(0x24b),'tfhld':'job_queues_error','agLmD':'disconnected','xABOR':'unhealthy','KwRys':function(_0x2b6aed,_0x1f2cd6){return _0x2b6aed>_0x1f2cd6;},'lhuxn':_0x342b5d(0x215),'lHoeA':_0x342b5d(0x20a)},_0x2770ca=express['Router']();return _0x8914e2&&_0x469ee9[_0x342b5d(0x232)](Object[_0x342b5d(0x23c)](_0x8914e2)[_0x342b5d(0x242)],0x0)&&(cachedJobConfigs=_0x8914e2),_0x2770ca[_0x342b5d(0x23b)](_0x469ee9[_0x342b5d(0x21e)],(_0x209c89,_0x5b1ec1)=>{const _0x5ba05c=_0x342b5d;try{if(cachedJobConfigs){const _0x21082a=Object[_0x5ba05c(0x249)](cachedJobConfigs)[_0x5ba05c(0x1f6)](_0x354e07=>({'name':_0x354e07['name'],'description':_0x354e07['description']||'','type':_0x354e07['type'],'schedule':_0x354e07[_0x5ba05c(0x225)],'handler':_0x354e07[_0x5ba05c(0x1ef)],'enabled':_0x354e07['enabled']!==![],'queue':_0x354e07['queue']||_0x5ba05c(0x23e),'timeout':_0x354e07['timeout']||0x7530,'retry':_0x354e07[_0x5ba05c(0x259)]||{'maxAttempts':0x3,'backoff':'exponential','initialDelay':0x1388},'metadata':_0x354e07['metadata']||{}}));return _0x5b1ec1['json']({'success':!![],'data':_0x21082a,'total':_0x21082a[_0x5ba05c(0x242)]});}const _0x215344=require('fs'),_0x4079ff=_0x469ee9[_0x5ba05c(0x23a)](require,_0x5ba05c(0x25a)),_0x5da849=_0x4079ff['join'](process['cwd'](),_0x469ee9[_0x5ba05c(0x25d)],'jobs');if(!_0x215344['existsSync'](_0x5da849))return _0x5b1ec1[_0x5ba05c(0x1ea)]({'success':!![],'data':[],'total':0x0});const _0x59b9a5=_0x215344['readdirSync'](_0x5da849)[_0x5ba05c(0x1e8)](_0x4d9862=>_0x4d9862[_0x5ba05c(0x238)](_0x5ba05c(0x247))),_0x3cf9df=[];for(const _0x4d67c4 of _0x59b9a5){try{const _0x43548a=_0x215344[_0x5ba05c(0x240)](_0x4079ff[_0x5ba05c(0x251)](_0x5da849,_0x4d67c4),_0x5ba05c(0x1f9)),_0x348c67=JSON['parse'](_0x43548a);_0x3cf9df['push']({'name':_0x348c67[_0x5ba05c(0x222)],'description':_0x348c67['description']||'','type':_0x348c67[_0x5ba05c(0x207)],'schedule':_0x348c67['schedule'],'handler':_0x348c67['handler'],'enabled':_0x469ee9['MKBSC'](_0x348c67['enabled'],![]),'queue':_0x348c67['queue']||_0x469ee9['sNtKQ'],'timeout':_0x348c67['timeout']||0x7530,'retry':_0x348c67[_0x5ba05c(0x259)]||{},'metadata':_0x348c67[_0x5ba05c(0x22f)]||{}});}catch(_0x4238be){}}_0x5b1ec1['json']({'success':!![],'data':_0x3cf9df,'total':_0x3cf9df[_0x5ba05c(0x242)]});}catch(_0xe616e7){logger[_0x5ba05c(0x1ec)]({'event':_0x469ee9['hmppc'],'error':_0xe616e7[_0x5ba05c(0x234)]},'Error\x20listing\x20jobs'),_0x5b1ec1['status'](0x1f4)[_0x5ba05c(0x1ea)]({'success':![],'error':_0xe616e7[_0x5ba05c(0x234)]});}}),_0x2770ca[_0x342b5d(0x23b)]('/status/:jobId',async(_0x63f28c,_0x284414)=>{const _0x4802a6=_0x342b5d;try{const {jobId:_0x1d734c}=_0x63f28c[_0x4802a6(0x203)],_0x11cbc8=getReadQueues();for(const _0xd86ef of Object[_0x4802a6(0x249)](_0x11cbc8)){const _0x5217ac=await _0xd86ef['getJob'](_0x1d734c);if(_0x5217ac){const _0x199332=await _0x5217ac[_0x4802a6(0x1f8)]();return _0x284414[_0x4802a6(0x1ea)]({'success':!![],'data':{'jobId':_0x5217ac['id'],'name':_0x5217ac[_0x4802a6(0x222)],'state':_0x199332,'progress':_0x5217ac[_0x4802a6(0x206)],'attemptsMade':_0x5217ac[_0x4802a6(0x228)],'failedReason':_0x5217ac['failedReason'],'returnvalue':_0x5217ac['returnvalue'],'data':_0x5217ac['data'],'timestamps':{'created':_0x5217ac[_0x4802a6(0x220)],'started':_0x5217ac[_0x4802a6(0x245)],'completed':_0x5217ac['finishedOn']}}});}}_0x284414[_0x4802a6(0x224)](0x194)['json']({'success':![],'error':'Job\x20'+_0x1d734c+_0x4802a6(0x218)});}catch(_0x2ba562){logger['error']({'event':_0x469ee9[_0x4802a6(0x21a)],'error':_0x2ba562[_0x4802a6(0x234)]},_0x469ee9[_0x4802a6(0x212)]),_0x284414['status'](0x1f4)[_0x4802a6(0x1ea)]({'success':![],'error':_0x2ba562[_0x4802a6(0x234)]});}}),_0x2770ca[_0x342b5d(0x1fb)]('/trigger/:jobName',async(_0x47acc5,_0x1e43fb)=>{const _0x637f05=_0x342b5d;try{const {jobName:_0x147d8c}=_0x47acc5[_0x637f05(0x203)],_0x2904db=_0x47acc5[_0x637f05(0x233)]||{};let _0x932c3d=cachedJobConfigs?.[_0x147d8c];if(!_0x932c3d){const _0x472521=require('fs'),_0x3e12dd=_0x469ee9['ZhMKM'](require,_0x469ee9[_0x637f05(0x1ff)]),_0x498b04=_0x3e12dd[_0x637f05(0x251)](process[_0x637f05(0x1fe)](),_0x637f05(0x22b),_0x637f05(0x22c)),_0x40333c=_0x472521['existsSync'](_0x498b04)?_0x472521['readdirSync'](_0x498b04)[_0x637f05(0x1e8)](_0x197b6e=>_0x197b6e['endsWith']('.json')):[];for(const _0x1b3246 of _0x40333c){try{const _0x5943de=_0x472521[_0x637f05(0x240)](_0x3e12dd['join'](_0x498b04,_0x1b3246),_0x469ee9[_0x637f05(0x1f5)]),_0x4cb6cd=JSON['parse'](_0x5943de);if(_0x4cb6cd['name']===_0x147d8c){_0x932c3d=_0x4cb6cd;break;}}catch(_0x401f04){}}}if(!_0x932c3d)return _0x1e43fb['status'](0x194)[_0x637f05(0x1ea)]({'success':![],'error':_0x637f05(0x219)+_0x147d8c+_0x637f05(0x231)});const _0x4a0ca3=_0x469ee9['oFvjD'](getReadQueues),_0x59ca59=_0x4a0ca3[_0x932c3d[_0x637f05(0x202)]||_0x469ee9[_0x637f05(0x205)]],_0x3366ac=await _0x59ca59[_0x637f05(0x21f)](_0x147d8c,{..._0x2904db,'handler':_0x932c3d[_0x637f05(0x1ef)],'triggeredBy':_0x637f05(0x256)},{'attempts':_0x932c3d['retry']?.[_0x637f05(0x20e)]||0x3,'backoff':{'type':_0x932c3d[_0x637f05(0x259)]?.['backoff']||'exponential','delay':_0x932c3d['retry']?.[_0x637f05(0x1fd)]||0x1388},'timeout':_0x932c3d[_0x637f05(0x24d)]||0x7530});logger[_0x637f05(0x217)]({'event':_0x637f05(0x239),'jobId':_0x3366ac['id'],'name':_0x147d8c},'Job\x20triggered\x20via\x20API:\x20'+_0x147d8c+_0x637f05(0x20b)+_0x3366ac['id']+')'),_0x1e43fb[_0x637f05(0x1ea)]({'success':!![],'jobId':_0x3366ac['id'],'message':_0x637f05(0x243)+_0x147d8c+_0x637f05(0x1ee)});}catch(_0x47f75c){logger[_0x637f05(0x1ec)]({'event':_0x469ee9[_0x637f05(0x23d)],'error':_0x47f75c[_0x637f05(0x234)]},_0x469ee9['mpkbq']),_0x1e43fb[_0x637f05(0x224)](0x1f4)['json']({'success':![],'error':_0x47f75c['message']});}}),_0x2770ca['post']('/cancel/:jobId',async(_0x323ad6,_0xeb2a9e)=>{const _0x1998d5=_0x342b5d;try{const {jobId:_0x49a8be}=_0x323ad6[_0x1998d5(0x203)],_0x6422a9=getReadQueues();for(const _0x3030ed of Object['values'](_0x6422a9)){const _0x579e7a=await _0x3030ed[_0x1998d5(0x1f7)](_0x49a8be);if(_0x579e7a){const _0x4e4653=await _0x579e7a['getState']();if(_0x4e4653===_0x469ee9['QkQmx'])return await _0x579e7a['moveToFailed'](new Error(_0x1998d5(0x1f0)),_0x469ee9[_0x1998d5(0x211)],!![]),_0xeb2a9e[_0x1998d5(0x1ea)]({'success':!![],'message':_0x1998d5(0x243)+_0x49a8be+'\x20cancelled\x20(was\x20active)'});if(_0x4e4653===_0x469ee9['gwIhb']||_0x469ee9['kwQuD'](_0x4e4653,_0x469ee9['boVJc']))return await _0x579e7a[_0x1998d5(0x246)](),_0xeb2a9e['json']({'success':!![],'message':'Job\x20'+_0x49a8be+_0x1998d5(0x257)+_0x4e4653+')'});return _0xeb2a9e['json']({'success':![],'message':'Job\x20'+_0x49a8be+'\x20tidak\x20bisa\x20di-cancel\x20(state:\x20'+_0x4e4653+')'});}}_0xeb2a9e[_0x1998d5(0x224)](0x194)['json']({'success':![],'error':'Job\x20'+_0x49a8be+'\x20tidak\x20ditemukan'});}catch(_0x15862d){logger['error']({'event':_0x1998d5(0x1ed),'error':_0x15862d['message']},_0x469ee9['BZCfh']),_0xeb2a9e['status'](0x1f4)['json']({'success':![],'error':_0x15862d['message']});}}),_0x2770ca[_0x342b5d(0x23b)](_0x342b5d(0x25c),async(_0x153a60,_0x5efc9e)=>{const _0x213692=_0x342b5d;try{const _0x52efda=parseInt(_0x153a60['query'][_0x213692(0x214)],0xa)||0x1,_0x3ff40e=Math[_0x213692(0x24e)](_0x469ee9[_0x213692(0x252)](parseInt,_0x153a60['query'][_0x213692(0x24a)],0xa)||0x14,0x64),_0x4f839e=_0x469ee9[_0x213692(0x22e)](_0x52efda,0x1)*_0x3ff40e,_0x40b6a0=_0x469ee9['JPMEg'](_0x4f839e,_0x3ff40e)-0x1,_0x1c8b7f=_0x469ee9['vzUlZ'](getReadQueues),_0x446f54=[];for(const [_0x63ce1b,_0x46fb68]of Object[_0x213692(0x236)](_0x1c8b7f)){const _0x24d2e6=await _0x46fb68[_0x213692(0x21b)]([_0x469ee9['mjoaH']],_0x4f839e,_0x40b6a0),_0xb905d1=await _0x46fb68[_0x213692(0x21b)](['failed'],_0x4f839e,_0x40b6a0);for(const _0x5a78ea of[..._0x24d2e6,..._0xb905d1]){const _0x40a24a=await _0x5a78ea['getState']();_0x446f54[_0x213692(0x213)]({'jobId':_0x5a78ea['id'],'name':_0x5a78ea['name'],'state':_0x40a24a,'queue':_0x63ce1b,'attemptsMade':_0x5a78ea['attemptsMade'],'failedReason':_0x5a78ea[_0x213692(0x208)],'returnvalue':_0x5a78ea['returnvalue'],'timestamps':{'created':_0x5a78ea[_0x213692(0x220)],'started':_0x5a78ea[_0x213692(0x245)],'completed':_0x5a78ea['finishedOn']}});}}_0x446f54['sort']((_0x206781,_0x21191f)=>(_0x21191f[_0x213692(0x1f3)]['created']||0x0)-(_0x206781[_0x213692(0x1f3)][_0x213692(0x21d)]||0x0)),_0x5efc9e[_0x213692(0x1ea)]({'success':!![],'data':_0x446f54['slice'](0x0,_0x3ff40e),'total':_0x446f54[_0x213692(0x242)],'page':_0x52efda,'limit':_0x3ff40e});}catch(_0x3674f2){logger[_0x213692(0x1ec)]({'event':_0x213692(0x20c),'error':_0x3674f2[_0x213692(0x234)]},_0x469ee9[_0x213692(0x204)]),_0x5efc9e[_0x213692(0x224)](0x1f4)['json']({'success':![],'error':_0x3674f2['message']});}}),_0x2770ca[_0x342b5d(0x23b)](_0x469ee9['lHoeA'],async(_0x47ff36,_0x2e560f)=>{const _0x472b9d=_0x342b5d;try{const _0x3de70a=getReadQueues(),_0x21e294={};for(const [_0x18c182,_0x57988a]of Object[_0x472b9d(0x236)](_0x3de70a)){try{const _0x23a1b8=await _0x57988a[_0x472b9d(0x1fa)]('active',_0x472b9d(0x1f1),_0x472b9d(0x254),_0x469ee9[_0x472b9d(0x230)],_0x472b9d(0x1f4),'waiting');_0x21e294[_0x18c182]=_0x23a1b8;}catch(_0x4c5463){_0x21e294[_0x18c182]={'error':_0x4c5463['message']};}}_0x2e560f['json']({'success':!![],'data':_0x21e294});}catch(_0x546ed5){logger['error']({'event':_0x469ee9['tfhld'],'error':_0x546ed5[_0x472b9d(0x234)]},_0x472b9d(0x237)),_0x2e560f['status'](0x1f4)['json']({'success':![],'error':_0x546ed5['message']});}}),_0x2770ca['get'](_0x342b5d(0x227),async(_0x16c73c,_0xcf509e)=>{const _0x1cd87c=_0x342b5d;try{const _0x3784af=_0x469ee9['vzUlZ'](getReadQueues),_0x478998={};let _0xa402=![];for(const [_0x238cd5,_0xda5e3f]of Object['entries'](_0x3784af)){try{const _0x34abac=await _0xda5e3f[_0x1cd87c(0x1fa)](_0x1cd87c(0x200),'waiting',_0x1cd87c(0x24b));_0x478998[_0x238cd5]=_0x34abac,_0xa402=!![];}catch(_0x4365c8){_0x478998[_0x238cd5]={'error':_0x4365c8[_0x1cd87c(0x234)]};}}let _0x540812=0x0;cachedJobConfigs&&(_0x540812=Object['keys'](cachedJobConfigs)['length']),_0xcf509e['json']({'success':!![],'data':{'status':_0xa402?_0x1cd87c(0x241):'degraded','redis':_0xa402?'connected':_0x469ee9['agLmD'],'registeredJobs':_0x540812,'queues':_0x478998}});}catch(_0xa623c3){_0xcf509e[_0x1cd87c(0x224)](0x1f7)['json']({'success':![],'data':{'status':_0x469ee9[_0x1cd87c(0x23f)],'error':_0xa623c3[_0x1cd87c(0x234)]}});}}),_0x2770ca;}function a0_0x1406(_0x54d083,_0x5d248d){_0x54d083=_0x54d083-0x1e8;const _0x24d6be=a0_0x24d6();let _0x140605=_0x24d6be[_0x54d083];if(a0_0x1406['PtVvDO']===undefined){var _0x59f610=function(_0xcaebdc){const _0x403cc2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x43d795='',_0x3967d2='';for(let _0x24ebe9=0x0,_0x1847c3,_0x21a378,_0x4eac18=0x0;_0x21a378=_0xcaebdc['charAt'](_0x4eac18++);~_0x21a378&&(_0x1847c3=_0x24ebe9%0x4?_0x1847c3*0x40+_0x21a378:_0x21a378,_0x24ebe9++%0x4)?_0x43d795+=String['fromCharCode'](0xff&_0x1847c3>>(-0x2*_0x24ebe9&0x6)):0x0){_0x21a378=_0x403cc2['indexOf'](_0x21a378);}for(let _0x204fa3=0x0,_0x5de142=_0x43d795['length'];_0x204fa3<_0x5de142;_0x204fa3++){_0x3967d2+='%'+('00'+_0x43d795['charCodeAt'](_0x204fa3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3967d2);};a0_0x1406['bgLRAJ']=_0x59f610,a0_0x1406['vaGAeJ']={},a0_0x1406['PtVvDO']=!![];}const _0x596b39=_0x24d6be[0x0],_0xba3aca=_0x54d083+_0x596b39,_0x25f9d2=a0_0x1406['vaGAeJ'][_0xba3aca];return!_0x25f9d2?(_0x140605=a0_0x1406['bgLRAJ'](_0x140605),a0_0x1406['vaGAeJ'][_0xba3aca]=_0x140605):_0x140605=_0x25f9d2,_0x140605;}module['exports']=createJobRoutes;
|
|
1
|
+
const a0_0x3edfe3=a0_0x5935;(function(_0x2b455c,_0x4c9d1e){const _0x207924=a0_0x5935,_0x932e7c=_0x2b455c();while(!![]){try{const _0x803fda=-parseInt(_0x207924(0x19a))/0x1+parseInt(_0x207924(0x197))/0x2*(-parseInt(_0x207924(0x172))/0x3)+-parseInt(_0x207924(0x177))/0x4*(-parseInt(_0x207924(0x1ca))/0x5)+parseInt(_0x207924(0x187))/0x6*(-parseInt(_0x207924(0x1a6))/0x7)+-parseInt(_0x207924(0x1ce))/0x8+-parseInt(_0x207924(0x1c2))/0x9*(parseInt(_0x207924(0x19d))/0xa)+parseInt(_0x207924(0x19f))/0xb;if(_0x803fda===_0x4c9d1e)break;else _0x932e7c['push'](_0x932e7c['shift']());}catch(_0x36a56d){_0x932e7c['push'](_0x932e7c['shift']());}}}(a0_0x21c4,0xd1de1));const express=require('express'),{Queue}=require('bullmq'),Redis=require(a0_0x3edfe3(0x1a2)),{logger}=require('../../utils/logger');let readConnection=null,readQueues=null,cachedJobConfigs=null;const QUEUE_NAMES={'high-priority':a0_0x3edfe3(0x1ba),'default':a0_0x3edfe3(0x16c),'low-priority':'low'};function a0_0x5935(_0x422dbd,_0xb656ba){_0x422dbd=_0x422dbd-0x165;const _0x21c48d=a0_0x21c4();let _0x593547=_0x21c48d[_0x422dbd];if(a0_0x5935['puKKIw']===undefined){var _0x502d62=function(_0x57a1a8){const _0x54e695='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xab33b2='',_0x39d367='';for(let _0x3cab5e=0x0,_0xde5d90,_0x2914af,_0x2181b2=0x0;_0x2914af=_0x57a1a8['charAt'](_0x2181b2++);~_0x2914af&&(_0xde5d90=_0x3cab5e%0x4?_0xde5d90*0x40+_0x2914af:_0x2914af,_0x3cab5e++%0x4)?_0xab33b2+=String['fromCharCode'](0xff&_0xde5d90>>(-0x2*_0x3cab5e&0x6)):0x0){_0x2914af=_0x54e695['indexOf'](_0x2914af);}for(let _0x37fa50=0x0,_0x29643f=_0xab33b2['length'];_0x37fa50<_0x29643f;_0x37fa50++){_0x39d367+='%'+('00'+_0xab33b2['charCodeAt'](_0x37fa50)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x39d367);};a0_0x5935['BpIeoR']=_0x502d62,a0_0x5935['ZYwdZb']={},a0_0x5935['puKKIw']=!![];}const _0x502b9f=_0x21c48d[0x0],_0x122cb0=_0x422dbd+_0x502b9f,_0x4d7959=a0_0x5935['ZYwdZb'][_0x122cb0];return!_0x4d7959?(_0x593547=a0_0x5935['BpIeoR'](_0x593547),a0_0x5935['ZYwdZb'][_0x122cb0]=_0x593547):_0x593547=_0x4d7959,_0x593547;}function getReadQueues(){const _0x26a9cd=a0_0x3edfe3,_0x7ea91f={'sBvaG':function(_0x538fd8,_0x5db69c,_0x4053b1){return _0x538fd8(_0x5db69c,_0x4053b1);},'Mmyuk':function(_0x95bc9,_0x29a9a1,_0xd89ca7){return _0x95bc9(_0x29a9a1,_0xd89ca7);}};if(readQueues)return readQueues;const _0x15b9a6=process[_0x26a9cd(0x171)]['JOB_REDIS_PREFIX']||'rf:job';readConnection=new Redis({'host':process['env'][_0x26a9cd(0x188)]||'localhost','port':_0x7ea91f[_0x26a9cd(0x16d)](parseInt,process['env'][_0x26a9cd(0x198)],0xa)||0x18ec,'password':process[_0x26a9cd(0x171)]['REDIS_PASSWORD']||undefined,'db':_0x7ea91f[_0x26a9cd(0x1c4)](parseInt,process['env']['REDIS_DB'],0xa)||0x0,'maxRetriesPerRequest':null}),readConnection['on']('error',_0x117da2=>{const _0x3e0d22=_0x26a9cd;logger['error']({'event':_0x3e0d22(0x1a4),'error':_0x117da2[_0x3e0d22(0x186)]},_0x3e0d22(0x1b3)+_0x117da2[_0x3e0d22(0x186)]);}),readQueues={};for(const [_0x5901bf,_0x15be6c]of Object['entries'](QUEUE_NAMES)){readQueues[_0x5901bf]=new Queue(_0x15be6c,{'connection':readConnection,'prefix':_0x15b9a6});}return readQueues;}function createJobRoutes(_0x575ace){const _0x2d7ba9=a0_0x3edfe3,_0x574ae0={'GtEJi':function(_0x343b84,_0x182a12){return _0x343b84(_0x182a12);},'ALAlK':function(_0x42530a,_0x55e295){return _0x42530a(_0x55e295);},'VvGMS':_0x2d7ba9(0x1b8),'FfNtx':_0x2d7ba9(0x185),'IaknZ':function(_0x5bfd09,_0x5c8947){return _0x5bfd09!==_0x5c8947;},'DZIFU':_0x2d7ba9(0x18e),'SyEdE':function(_0x426246){return _0x426246();},'iVaga':_0x2d7ba9(0x1cd),'cCTlu':function(_0x40bcb1,_0x472ba4){return _0x40bcb1(_0x472ba4);},'wjdeH':_0x2d7ba9(0x16c),'FZZim':'job_triggered_via_api','rOtWJ':_0x2d7ba9(0x1ae),'wVgOF':'Error\x20triggering\x20job','ZFXHD':function(_0x8be026){return _0x8be026();},'bNcHc':_0x2d7ba9(0x1b5),'oWNYx':'api-cancel','ObmIb':'waiting','bzfeV':function(_0x5ea9c5,_0x2fcc02){return _0x5ea9c5===_0x2fcc02;},'rOHlV':'job_cancel_error','wsKPz':function(_0x5d07e7,_0x1effa3,_0x4aa82b){return _0x5d07e7(_0x1effa3,_0x4aa82b);},'qmuGx':function(_0x19d1e7,_0x178fd9){return _0x19d1e7*_0x178fd9;},'rQmqh':function(_0x87c64d,_0x79046d){return _0x87c64d-_0x79046d;},'nfDEh':'completed','JTobe':_0x2d7ba9(0x183),'CpUVC':'job_queues_error','cLqMr':_0x2d7ba9(0x1c9),'uBWjy':'connected','eZSEJ':_0x2d7ba9(0x1a7),'uZoGT':_0x2d7ba9(0x168),'BMQzS':function(_0x4ad825,_0xab44cd){return _0x4ad825>_0xab44cd;},'DxnYD':'/list','VzGpn':'/status/:jobId','TLHzd':_0x2d7ba9(0x181),'pUOUW':'/history'},_0xd96684=express[_0x2d7ba9(0x18f)]();return _0x575ace&&_0x574ae0[_0x2d7ba9(0x176)](Object[_0x2d7ba9(0x1bc)](_0x575ace)[_0x2d7ba9(0x1c3)],0x0)&&(cachedJobConfigs=_0x575ace),_0xd96684[_0x2d7ba9(0x1cc)](_0x574ae0[_0x2d7ba9(0x1b4)],(_0x3c36fa,_0x86c465)=>{const _0x2cb7a1=_0x2d7ba9;try{if(cachedJobConfigs){const _0x23381b=Object[_0x2cb7a1(0x1c1)](cachedJobConfigs)[_0x2cb7a1(0x1ac)](_0x101478=>({'name':_0x101478[_0x2cb7a1(0x175)],'description':_0x101478[_0x2cb7a1(0x199)]||'','type':_0x101478[_0x2cb7a1(0x16e)],'schedule':_0x101478['schedule'],'handler':_0x101478[_0x2cb7a1(0x189)],'enabled':_0x101478['enabled']!==![],'queue':_0x101478[_0x2cb7a1(0x1b1)]||_0x2cb7a1(0x16c),'timeout':_0x101478[_0x2cb7a1(0x16b)]||0x7530,'retry':_0x101478['retry']||{'maxAttempts':0x3,'backoff':'exponential','initialDelay':0x1388},'metadata':_0x101478['metadata']||{}}));return _0x86c465[_0x2cb7a1(0x1ad)]({'success':!![],'data':_0x23381b,'total':_0x23381b['length']});}const _0x458413=_0x574ae0[_0x2cb7a1(0x17d)](require,'fs'),_0x41d2ae=_0x574ae0[_0x2cb7a1(0x1cf)](require,_0x574ae0[_0x2cb7a1(0x179)]),_0x35aa9e=_0x41d2ae['join'](process[_0x2cb7a1(0x192)](),_0x574ae0[_0x2cb7a1(0x166)],_0x2cb7a1(0x17f));if(!_0x458413['existsSync'](_0x35aa9e))return _0x86c465['json']({'success':!![],'data':[],'total':0x0});const _0xb03104=_0x458413['readdirSync'](_0x35aa9e)['filter'](_0x469d42=>_0x469d42[_0x2cb7a1(0x1c7)](_0x2cb7a1(0x169))),_0x2b46ea=[];for(const _0x3b1064 of _0xb03104){try{const _0x58caca=_0x458413[_0x2cb7a1(0x1c0)](_0x41d2ae[_0x2cb7a1(0x19c)](_0x35aa9e,_0x3b1064),'utf8'),_0x32b0a9=JSON[_0x2cb7a1(0x18b)](_0x58caca);_0x2b46ea['push']({'name':_0x32b0a9['name'],'description':_0x32b0a9[_0x2cb7a1(0x199)]||'','type':_0x32b0a9['type'],'schedule':_0x32b0a9[_0x2cb7a1(0x1a1)],'handler':_0x32b0a9['handler'],'enabled':_0x574ae0[_0x2cb7a1(0x19e)](_0x32b0a9['enabled'],![]),'queue':_0x32b0a9['queue']||_0x2cb7a1(0x16c),'timeout':_0x32b0a9[_0x2cb7a1(0x16b)]||0x7530,'retry':_0x32b0a9['retry']||{},'metadata':_0x32b0a9['metadata']||{}});}catch(_0x444569){}}_0x86c465[_0x2cb7a1(0x1ad)]({'success':!![],'data':_0x2b46ea,'total':_0x2b46ea['length']});}catch(_0x432cbf){logger[_0x2cb7a1(0x17b)]({'event':'job_list_error','error':_0x432cbf['message']},_0x574ae0['DZIFU']),_0x86c465[_0x2cb7a1(0x1a9)](0x1f4)['json']({'success':![],'error':_0x432cbf['message']});}}),_0xd96684['get'](_0x574ae0[_0x2d7ba9(0x184)],async(_0x35f83d,_0x47e9fe)=>{const _0x26db1d=_0x2d7ba9;try{const {jobId:_0x4d994b}=_0x35f83d[_0x26db1d(0x1bd)],_0x1976a2=_0x574ae0['SyEdE'](getReadQueues);for(const _0x22fc05 of Object[_0x26db1d(0x1c1)](_0x1976a2)){const _0x3f630d=await _0x22fc05['getJob'](_0x4d994b);if(_0x3f630d){const _0x3608a2=await _0x3f630d['getState']();return _0x47e9fe['json']({'success':!![],'data':{'jobId':_0x3f630d['id'],'name':_0x3f630d[_0x26db1d(0x175)],'state':_0x3608a2,'progress':_0x3f630d[_0x26db1d(0x170)],'attemptsMade':_0x3f630d['attemptsMade'],'failedReason':_0x3f630d[_0x26db1d(0x1a8)],'returnvalue':_0x3f630d['returnvalue'],'data':_0x3f630d[_0x26db1d(0x1d6)],'timestamps':{'created':_0x3f630d[_0x26db1d(0x1d3)],'started':_0x3f630d[_0x26db1d(0x1c5)],'completed':_0x3f630d['finishedOn']}}});}}_0x47e9fe['status'](0x194)[_0x26db1d(0x1ad)]({'success':![],'error':'Job\x20'+_0x4d994b+'\x20tidak\x20ditemukan'});}catch(_0x306cf0){logger[_0x26db1d(0x17b)]({'event':_0x574ae0[_0x26db1d(0x1d7)],'error':_0x306cf0[_0x26db1d(0x186)]},'Error\x20getting\x20job\x20status'),_0x47e9fe['status'](0x1f4)['json']({'success':![],'error':_0x306cf0[_0x26db1d(0x186)]});}}),_0xd96684['post'](_0x574ae0['TLHzd'],async(_0x911950,_0x2442ab)=>{const _0x270ee0=_0x2d7ba9;try{const {jobName:_0x923a6d}=_0x911950[_0x270ee0(0x1bd)],_0x4a7b4f=_0x911950[_0x270ee0(0x190)]||{};let _0x5b452c=cachedJobConfigs?.[_0x923a6d];if(!_0x5b452c){const _0x19f9a9=require('fs'),_0xb95bee=_0x574ae0['cCTlu'](require,'path'),_0x1d48d4=_0xb95bee[_0x270ee0(0x19c)](process['cwd'](),'payload','jobs'),_0x478516=_0x19f9a9[_0x270ee0(0x18a)](_0x1d48d4)?_0x19f9a9[_0x270ee0(0x16f)](_0x1d48d4)['filter'](_0xec9c4a=>_0xec9c4a[_0x270ee0(0x1c7)]('.json')):[];for(const _0x3c0c0c of _0x478516){try{const _0x554a80=_0x19f9a9['readFileSync'](_0xb95bee['join'](_0x1d48d4,_0x3c0c0c),_0x270ee0(0x196)),_0x280cbf=JSON[_0x270ee0(0x18b)](_0x554a80);if(_0x280cbf[_0x270ee0(0x175)]===_0x923a6d){_0x5b452c=_0x280cbf;break;}}catch(_0x44285d){}}}if(!_0x5b452c)return _0x2442ab['status'](0x194)[_0x270ee0(0x1ad)]({'success':![],'error':'Job\x20\x22'+_0x923a6d+'\x22\x20tidak\x20ditemukan\x20di\x20konfigurasi'});const _0x1ecd67=getReadQueues(),_0x650595=_0x1ecd67[_0x5b452c['queue']||_0x574ae0['wjdeH']],_0x36cff3=await _0x650595['add'](_0x923a6d,{..._0x4a7b4f,'handler':_0x5b452c['handler'],'triggeredBy':_0x270ee0(0x1d0)},{'attempts':_0x5b452c['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0x5b452c['retry']?.['backoff']||'exponential','delay':_0x5b452c['retry']?.[_0x270ee0(0x1ab)]||0x1388},'timeout':_0x5b452c[_0x270ee0(0x16b)]||0x7530});logger[_0x270ee0(0x1a5)]({'event':_0x574ae0[_0x270ee0(0x1d1)],'jobId':_0x36cff3['id'],'name':_0x923a6d},_0x270ee0(0x1c6)+_0x923a6d+_0x270ee0(0x18d)+_0x36cff3['id']+')'),_0x2442ab[_0x270ee0(0x1ad)]({'success':!![],'jobId':_0x36cff3['id'],'message':'Job\x20'+_0x923a6d+_0x270ee0(0x1c8)});}catch(_0x3c93b6){logger['error']({'event':_0x574ae0[_0x270ee0(0x174)],'error':_0x3c93b6['message']},_0x574ae0[_0x270ee0(0x193)]),_0x2442ab['status'](0x1f4)['json']({'success':![],'error':_0x3c93b6[_0x270ee0(0x186)]});}}),_0xd96684['post']('/cancel/:jobId',async(_0x33ddb6,_0x5055e6)=>{const _0x164144=_0x2d7ba9;try{const {jobId:_0x46f906}=_0x33ddb6['params'],_0x131c2f=_0x574ae0[_0x164144(0x167)](getReadQueues);for(const _0x2f297c of Object['values'](_0x131c2f)){const _0x43116c=await _0x2f297c['getJob'](_0x46f906);if(_0x43116c){const _0x4671d4=await _0x43116c['getState']();if(_0x4671d4===_0x574ae0[_0x164144(0x1b9)])return await _0x43116c['moveToFailed'](new Error(_0x164144(0x182)),_0x574ae0[_0x164144(0x180)],!![]),_0x5055e6['json']({'success':!![],'message':_0x164144(0x1af)+_0x46f906+_0x164144(0x165)});if(_0x4671d4===_0x574ae0[_0x164144(0x1aa)]||_0x574ae0['bzfeV'](_0x4671d4,'delayed'))return await _0x43116c[_0x164144(0x17e)](),_0x5055e6[_0x164144(0x1ad)]({'success':!![],'message':_0x164144(0x1af)+_0x46f906+'\x20removed\x20(was\x20'+_0x4671d4+')'});return _0x5055e6[_0x164144(0x1ad)]({'success':![],'message':'Job\x20'+_0x46f906+'\x20cannot\x20be\x20cancelled\x20(state:\x20'+_0x4671d4+')'});}}_0x5055e6[_0x164144(0x1a9)](0x194)['json']({'success':![],'error':_0x164144(0x1af)+_0x46f906+_0x164144(0x178)});}catch(_0x2312c9){logger[_0x164144(0x17b)]({'event':_0x574ae0['rOHlV'],'error':_0x2312c9['message']},'Error\x20cancelling\x20job'),_0x5055e6['status'](0x1f4)[_0x164144(0x1ad)]({'success':![],'error':_0x2312c9[_0x164144(0x186)]});}}),_0xd96684[_0x2d7ba9(0x1cc)](_0x574ae0['pUOUW'],async(_0x606741,_0x2e8759)=>{const _0x238749=_0x2d7ba9;try{const _0x15e166=_0x574ae0['wsKPz'](parseInt,_0x606741['query']['page'],0xa)||0x1,_0x5f13a0=Math['min'](parseInt(_0x606741[_0x238749(0x194)][_0x238749(0x1a3)],0xa)||0x14,0x64),_0x4288e4=_0x574ae0[_0x238749(0x16a)](_0x15e166-0x1,_0x5f13a0),_0x21ba05=_0x574ae0[_0x238749(0x1b2)](_0x4288e4+_0x5f13a0,0x1),_0x5a6686=_0x574ae0['SyEdE'](getReadQueues),_0x4da76a=[];for(const [_0x1b26ed,_0x2db8ae]of Object['entries'](_0x5a6686)){const _0x17772b=await _0x2db8ae[_0x238749(0x1b7)]([_0x574ae0['nfDEh']],_0x4288e4,_0x21ba05),_0x425e77=await _0x2db8ae[_0x238749(0x1b7)]([_0x238749(0x1cb)],_0x4288e4,_0x21ba05);for(const _0x2cefc5 of[..._0x17772b,..._0x425e77]){const _0x41eaac=await _0x2cefc5[_0x238749(0x18c)]();_0x4da76a[_0x238749(0x1d2)]({'jobId':_0x2cefc5['id'],'name':_0x2cefc5[_0x238749(0x175)],'state':_0x41eaac,'queue':_0x1b26ed,'attemptsMade':_0x2cefc5['attemptsMade'],'failedReason':_0x2cefc5['failedReason'],'returnvalue':_0x2cefc5['returnvalue'],'timestamps':{'created':_0x2cefc5['timestamp'],'started':_0x2cefc5[_0x238749(0x1c5)],'completed':_0x2cefc5['finishedOn']}});}}_0x4da76a[_0x238749(0x191)]((_0x3bf246,_0x10a493)=>(_0x10a493[_0x238749(0x1b0)]['created']||0x0)-(_0x3bf246['timestamps']['created']||0x0)),_0x2e8759[_0x238749(0x1ad)]({'success':!![],'data':_0x4da76a['slice'](0x0,_0x5f13a0),'total':_0x4da76a[_0x238749(0x1c3)],'page':_0x15e166,'limit':_0x5f13a0});}catch(_0x4ea46a){logger[_0x238749(0x17b)]({'event':_0x238749(0x1d5),'error':_0x4ea46a['message']},_0x238749(0x195)),_0x2e8759['status'](0x1f4)['json']({'success':![],'error':_0x4ea46a['message']});}}),_0xd96684[_0x2d7ba9(0x1cc)](_0x2d7ba9(0x1d4),async(_0x3dacd9,_0x2294a0)=>{const _0x51b23e=_0x2d7ba9;try{const _0x219b94=getReadQueues(),_0x2dcd47={};for(const [_0x18a711,_0x16c6f9]of Object['entries'](_0x219b94)){try{const _0x472aca=await _0x16c6f9[_0x51b23e(0x173)](_0x574ae0['bNcHc'],_0x51b23e(0x1a0),_0x574ae0['JTobe'],_0x51b23e(0x1cb),_0x51b23e(0x1be),_0x51b23e(0x1bb));_0x2dcd47[_0x18a711]=_0x472aca;}catch(_0x5d8294){_0x2dcd47[_0x18a711]={'error':_0x5d8294[_0x51b23e(0x186)]};}}_0x2294a0[_0x51b23e(0x1ad)]({'success':!![],'data':_0x2dcd47});}catch(_0x27a2b0){logger[_0x51b23e(0x17b)]({'event':_0x574ae0[_0x51b23e(0x17a)],'error':_0x27a2b0[_0x51b23e(0x186)]},_0x51b23e(0x1b6)),_0x2294a0[_0x51b23e(0x1a9)](0x1f4)[_0x51b23e(0x1ad)]({'success':![],'error':_0x27a2b0[_0x51b23e(0x186)]});}}),_0xd96684[_0x2d7ba9(0x1cc)]('/health',async(_0xbc36b5,_0x500bb7)=>{const _0x27ebdf=_0x2d7ba9;try{const _0x75f7e1=getReadQueues(),_0x546ecd={};let _0xee90d4=![];for(const [_0x2efdc3,_0x5e674a]of Object[_0x27ebdf(0x17c)](_0x75f7e1)){try{const _0x3398bd=await _0x5e674a['getJobCounts'](_0x574ae0['bNcHc'],_0x574ae0[_0x27ebdf(0x1aa)],_0x27ebdf(0x1cb));_0x546ecd[_0x2efdc3]=_0x3398bd,_0xee90d4=!![];}catch(_0x1f76da){_0x546ecd[_0x2efdc3]={'error':_0x1f76da[_0x27ebdf(0x186)]};}}let _0x1a8293=0x0;cachedJobConfigs&&(_0x1a8293=Object['keys'](cachedJobConfigs)['length']),_0x500bb7[_0x27ebdf(0x1ad)]({'success':!![],'data':{'status':_0xee90d4?'healthy':_0x574ae0['cLqMr'],'redis':_0xee90d4?_0x574ae0[_0x27ebdf(0x19b)]:_0x574ae0['eZSEJ'],'registeredJobs':_0x1a8293,'queues':_0x546ecd}});}catch(_0x45267d){_0x500bb7[_0x27ebdf(0x1a9)](0x1f7)[_0x27ebdf(0x1ad)]({'success':![],'data':{'status':_0x574ae0['uZoGT'],'error':_0x45267d[_0x27ebdf(0x186)]}});}}),_0xd96684;}function a0_0x21c4(){const _0x2aa05a=['t2jTswi','Aw5PDgLHBerLBgf5','BwfW','ANnVBG','AM9Ix3rYAwDNzxjFzxjYB3i','sM9Iia','DgLTzxn0yw1WCW','CxvLDwu','CLfTCwG','sM9IifjVDxrLCYbszwrPCYbLCNjVCJOG','rhHUwuq','ywn0AxzL','rxjYB3iGz2v0DgLUzYbXDwv1zsbZDgf0CW','z2v0sM9ICW','Cgf0Aa','yK5Jsgm','AgLNAa','D2fPDgLUzW','A2v5CW','CgfYyw1Z','Cgf1C2vK','zxHWB3j0CW','CMvHzezPBgvtEw5J','DMfSDwvZ','mZe0mxDhzhPhAW','BgvUz3rO','tw15DwS','ChjVy2vZC2vKt24','sM9IihrYAwDNzxjLzcb2AweGqvbjoIa','zw5KC1DPDgG','ihrYAwDNzxjLzcbZDwnJzxnZzNvSBhK','zgvNCMfKzwq','mJa1otvuwg1NyK0','zMfPBgvK','z2v0','AM9Ix3n0yxr1C19LCNjVCG','nJy5nJi3mMjkEvDZra','quXbBeS','yxbP','rLPAAw0','ChvZAa','DgLTzxn0yw1W','l3f1zxvLCW','AM9Ix2HPC3rVCNLFzxjYB3i','zgf0yq','AvzHz2e','ignHBMnLBgXLzcaOD2fZigfJDgL2zsK','rMzoDhG','wKzyseq','Dw5OzwfSDgH5','lMPZB24','Cw11r3G','DgLTzw91Da','zgvMyxvSDa','C0j2yuC','DhLWzq','CMvHzgrPCLn5BMm','ChjVz3jLC3m','zw52','nJKWEgPrrvHk','z2v0sM9Iq291BNrZ','CK90v0O','BMfTzq','qK1rELm','mti3mLLYC0nOzG','ihrPzgfRigrPDgvTDwTHBG','vNzhtvm','q3bvvKm','zxjYB3i','zw50CMLLCW','r3rfsMK','CMvTB3zL','AM9ICW','B1DowxG','l3rYAwDNzxiVoMPVyK5HBwu','sM9IignHBMnLBgXLzcb2AweGqvbj','zgvSyxLLza','vNPhCg4','Cgf5Bg9Hza','BwvZC2fNzq','nZH5z3vetMu','uKvesvnFse9tva','AgfUzgXLCG','zxHPC3rZu3LUyW','CgfYC2u','z2v0u3rHDgu','icHPzdOG','rxjYB3iGBgLZDgLUzYbQB2jZ','uM91DgvY','yM9KEq','C29YDa','y3DK','D1zNt0y','CxvLCNK','rxjYB3iGz2v0DgLUzYbQB2iGAgLZDg9YEq','DxrMoa','otG0qNvPChfJ','uKvesvnFue9sva','zgvZy3jPChrPB24','mtmWmde4nw1quNn2ra','DujxANK','AM9PBG','mJG4ntbPuwXgq3m','swfRBLO','mZC5nJu3mtLktgD6BLa','y29TCgXLDgvK','C2nOzwr1Bgu','Aw9YzwrPCW','BgLTAxq','AM9Ix3jVDxrLC19YzwrPC19LCNjVCG','Aw5MBW','mZq2otKWtgnHt01l','zgLZy29UBMvJDgvK','zMfPBgvKuMvHC29U','C3rHDhvZ'];a0_0x21c4=function(){return _0x2aa05a;};return a0_0x21c4();}module[a0_0x3edfe3(0x1bf)]=createJobRoutes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x3368(_0x41c710,_0xa07c6c){_0x41c710=_0x41c710-0x86;const _0x2a6f32=a0_0x2a6f();let _0x336876=_0x2a6f32[_0x41c710];if(a0_0x3368['ySIbHd']===undefined){var _0x322d51=function(_0x290a53){const _0x80c22d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x224a10='',_0x16784a='';for(let _0x146c0c=0x0,_0x705213,_0x2b0143,_0x10d1cb=0x0;_0x2b0143=_0x290a53['charAt'](_0x10d1cb++);~_0x2b0143&&(_0x705213=_0x146c0c%0x4?_0x705213*0x40+_0x2b0143:_0x2b0143,_0x146c0c++%0x4)?_0x224a10+=String['fromCharCode'](0xff&_0x705213>>(-0x2*_0x146c0c&0x6)):0x0){_0x2b0143=_0x80c22d['indexOf'](_0x2b0143);}for(let _0x3e11b5=0x0,_0x58d88e=_0x224a10['length'];_0x3e11b5<_0x58d88e;_0x3e11b5++){_0x16784a+='%'+('00'+_0x224a10['charCodeAt'](_0x3e11b5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x16784a);};a0_0x3368['WYOmOu']=_0x322d51,a0_0x3368['IKLNwG']={},a0_0x3368['ySIbHd']=!![];}const _0x5be062=_0x2a6f32[0x0],_0x2725ba=_0x41c710+_0x5be062,_0x4157f2=a0_0x3368['IKLNwG'][_0x2725ba];return!_0x4157f2?(_0x336876=a0_0x3368['WYOmOu'](_0x336876),a0_0x3368['IKLNwG'][_0x2725ba]=_0x336876):_0x336876=_0x4157f2,_0x336876;}function a0_0x2a6f(){const _0x54590d=['C3jJ','rgjmq2i','iIbOyxj1CYbHBMDRysa+ida','Bwv0ywrHDge','C3rYAw5N','lMPZ','mtC3ntb1A2vVu0u','CKvnC0O','AM9ICW','DMfSAwrHDgvdCM9UrxHWCMvZC2LVBG','BwLUDxrL','zxHWB25LBNrPywW','zgf5lw9Mlw1VBNrO','Bg93lxbYAw9YAxr5','tNv1zKG','r21Lru8','v3zTufi','BhDrD0y','q3jVBIbMAwvSzcaI','sgfUzgXLCIbMAwXLihrPzgfRigrPDgvTDwTHBJOGC3jJl2PVyNmV','iJOGBMLSywKGiG','rxHRsLC','AxnbCNjHEq','BMfTzq','Bwf4qxr0zw1WDhm','DgLTzw91Da','ChvZAa','zxHWB3j0CW','Bwf4','zw5HyMXLza','rMLLBgqGiNr5CguIigHHCNvZicjJCM9UiIWGzgL0zw11A2fUoIaI','mtbmD21RBLm','odC4otKXnLHvv3L4uG','nZy3n3bsEuv5Ca','zLbwvwK','rMLLBgqGiM5HBwuIihDHAMLIigrPAxnPicHZDhjPBMCP','EuLqv0C','y29Uy3vYCMvUy3K','lMPZicHHyNnVBhv0ztOG','mtyYntGYowHeBu5duG','rMLLBgqGiNjLDhj5lMLUAxrPywXezwXHEsiGAgfYDxmGBNvTyMvYid4GmcaOzgfSyw0GBxmP','C3bSAxq','rMLLBgqGiMnVBMn1CNjLBMn5iIbOyxj1CYbUDw1IzxiGyw50yxjHideTnta','BwLU','mtaYmdG2DLn4ze1T','mZfgAfvPt2W','DhLWzq','zxjYB3jZ','CxvLDwu','vvvXD08','CfbNEfi','Aw5PDgLHBerLBgf5','BNvTyMvY','iIb0AwrHAYb2ywXPzc4GugLSAwHHBJOG','rMLLBgqGiNjLDhj5lM1HEef0DgvTChrZiIbOyxj1CYbUDw1IzxiGyw50yxjHideTmta','vxfMu3u','CMv0CNK','DMfSAwrHDgviyw5KBgvYrxHPC3rZ','rMLLBgqGiMHHBMrSzxiIihDHAMLIigrPAxnPicHWyxrOihjLBgf0AwyGzgfYAsbZCMmVAM9ICY8P','ExHcvKu','mJuZmZKXmNLeBLHXvq','AM9PBG','yMfJA29MzG','DMfSAwq','C09luuq','B2jQzwn0','q0Tfu2e','AgfUzgXLCG','y3jVBG','Aw5JBhvKzxm','mteWmJC2mtbWturMz24','C2nOzwr1Bgu','x2LZvMfSAwrsyw5Nzq','BgvUz3rO','mJfXtMzouuG','Ag91CG','rMLLBgqGiMvUywjSzwqIigHHCNvZigjVB2XLyw4','mJm4ntq5mKzPzg94ta','rgjhwfm','rMLLBgqGiNr5CguIihDHAMLIigrPAxnPicHZDhjPBMCP','s2jJD3q','rMLLBgqGiM1LDgfKyxrHiIbOyxj1CYbIzxj1CgeGB2jQzwn0','AgLNAc1WCMLVCML0Eq','iIbKAsbSDwfYihjHBMDLia','DgvZDa'];a0_0x2a6f=function(){return _0x54590d;};return a0_0x2a6f();}const a0_0x1f82b9=a0_0x3368;(function(_0x74e370,_0x4c4028){const _0x854f6f=a0_0x3368,_0x393605=_0x74e370();while(!![]){try{const _0x451594=-parseInt(_0x854f6f(0x96))/0x1*(parseInt(_0x854f6f(0x95))/0x2)+parseInt(_0x854f6f(0x90))/0x3+-parseInt(_0x854f6f(0xb6))/0x4*(parseInt(_0x854f6f(0x88))/0x5)+parseInt(_0x854f6f(0x89))/0x6+-parseInt(_0x854f6f(0xb3))/0x7*(parseInt(_0x854f6f(0xa5))/0x8)+parseInt(_0x854f6f(0x8a))/0x9*(parseInt(_0x854f6f(0xc4))/0xa)+parseInt(_0x854f6f(0xaf))/0xb;if(_0x451594===_0x4c4028)break;else _0x393605['push'](_0x393605['shift']());}catch(_0x3239f0){_0x393605['push'](_0x393605['shift']());}}}(a0_0x2a6f,0xc2e0a));const fs=require('fs'),path=require('path'),VALID_QUEUE_NAMES=[a0_0x1f82b9(0xbb),'default',a0_0x1f82b9(0xcb)],VALID_BACKOFF_TYPES=['fixed',a0_0x1f82b9(0xc9)],SLUG_REGEX=/^[a-z0-9]+(?:-[a-z0-9]+)*$/;class JobValidator{['validateConfig'](_0x4eff0c,_0x3088ab){const _0x377e24=a0_0x1f82b9,_0x51fec3={'UUqwO':function(_0xe821e,_0x2dc288){return _0xe821e!==_0x2dc288;},'DbLCb':_0x377e24(0x8c),'qTvFC':_0x377e24(0xc2),'sOKQD':_0x377e24(0xb8),'auufQ':_0x377e24(0xad),'TVPaJ':function(_0x110ce7,_0x44ccda){return _0x110ce7!==_0x44ccda;},'cmcRl':function(_0x383a5d,_0x5a3c3b){return _0x383a5d!==_0x5a3c3b;},'sqFLc':'boolean','fPVUi':_0x377e24(0xb5),'WvmPR':function(_0x41c022,_0x159588){return _0x41c022!==_0x159588;},'CKESa':'number','pOyex':function(_0x576bb0,_0x40c751){return _0x576bb0>_0x40c751;},'DbGXS':function(_0x5b88d9,_0x2230e2){return _0x5b88d9===_0x2230e2;},'lwQwF':'Field\x20\x22retry\x22\x20harus\x20berupa\x20object','pPgxR':function(_0x4af0c4,_0x29252d){return _0x4af0c4!==_0x29252d;},'ExkJW':function(_0x31452e,_0x5dc296){return _0x31452e!==_0x5dc296;},'Kbcwt':'object','RLQyj':_0x377e24(0xba)},_0x111466=[];if(!_0x4eff0c||_0x51fec3['UUqwO'](typeof _0x4eff0c,'object'))return{'valid':![],'errors':['Config\x20harus\x20berupa\x20object']};if(!_0x4eff0c[_0x377e24(0xd5)]||_0x51fec3[_0x377e24(0x9a)](typeof _0x4eff0c[_0x377e24(0xd5)],_0x377e24(0xc2)))_0x111466[_0x377e24(0xd8)](_0x51fec3[_0x377e24(0xbf)]);else!SLUG_REGEX[_0x377e24(0xbd)](_0x4eff0c[_0x377e24(0xd5)])&&_0x111466['push']('Field\x20\x22name\x22\x20harus\x20slug\x20format\x20(lowercase,\x20dash):\x20\x22'+_0x4eff0c[_0x377e24(0xd5)]+'\x22');if(!_0x4eff0c['type']||_0x51fec3[_0x377e24(0x9a)](typeof _0x4eff0c['type'],_0x51fec3['qTvFC']))_0x111466['push'](_0x51fec3[_0x377e24(0xa9)]);else _0x4eff0c[_0x377e24(0x97)]!==_0x51fec3['auufQ']&&_0x111466['push'](_0x377e24(0x87)+_0x4eff0c['type']+'\x22');if(!_0x4eff0c['schedule']||_0x51fec3['TVPaJ'](typeof _0x4eff0c[_0x377e24(0xb0)],_0x51fec3['qTvFC']))_0x111466['push']('Field\x20\x22schedule\x22\x20wajib\x20diisi\x20(cron\x20expression\x20string)');else{const _0x41080f=this[_0x377e24(0xc7)](_0x4eff0c['schedule']);!_0x41080f[_0x377e24(0xa8)]&&_0x111466[_0x377e24(0xd8)](..._0x41080f['errors']);}if(!_0x4eff0c['handler']||_0x51fec3[_0x377e24(0x9a)](typeof _0x4eff0c['handler'],_0x377e24(0xc2)))_0x111466[_0x377e24(0xd8)](_0x377e24(0xa3));else{if(_0x3088ab){const _0x1d736b=this[_0x377e24(0xa2)](_0x4eff0c[_0x377e24(0xac)],_0x3088ab);!_0x1d736b[_0x377e24(0xa8)]&&_0x111466['push'](..._0x1d736b['errors']);}}_0x51fec3['cmcRl'](_0x4eff0c[_0x377e24(0x86)],undefined)&&_0x51fec3['UUqwO'](typeof _0x4eff0c[_0x377e24(0x86)],_0x51fec3['sqFLc'])&&_0x111466['push'](_0x51fec3[_0x377e24(0x8b)]);_0x51fec3[_0x377e24(0xce)](_0x4eff0c[_0x377e24(0xd7)],undefined)&&((typeof _0x4eff0c['timeout']!==_0x51fec3[_0x377e24(0xab)]||_0x4eff0c[_0x377e24(0xd7)]<=0x0)&&_0x111466[_0x377e24(0xd8)]('Field\x20\x22timeout\x22\x20harus\x20number\x20>\x200\x20(dalam\x20ms)'));if(_0x51fec3['UUqwO'](_0x4eff0c[_0x377e24(0x99)],undefined)){const _0xdc9c4b=this['validateQueueName'](_0x4eff0c[_0x377e24(0x99)]);!_0xdc9c4b['valid']&&_0x111466[_0x377e24(0xd8)](..._0xdc9c4b['errors']);}_0x51fec3['WvmPR'](_0x4eff0c[_0x377e24(0x8e)],undefined)&&((_0x51fec3[_0x377e24(0xce)](typeof _0x4eff0c[_0x377e24(0x8e)],_0x377e24(0x9d))||_0x4eff0c['concurrency']<0x1||_0x51fec3['pOyex'](_0x4eff0c[_0x377e24(0x8e)],0x32))&&_0x111466['push'](_0x377e24(0x93)));if(_0x4eff0c['retry']!==undefined){if(_0x51fec3['WvmPR'](typeof _0x4eff0c['retry'],_0x377e24(0xaa))||_0x51fec3[_0x377e24(0xb7)](_0x4eff0c[_0x377e24(0xa1)],null))_0x111466['push'](_0x51fec3[_0x377e24(0xcf)]);else{const _0x4fe994=this['validateRetryConfig'](_0x4eff0c[_0x377e24(0xa1)]);!_0x4fe994[_0x377e24(0xa8)]&&_0x111466['push'](..._0x4fe994[_0x377e24(0x98)]);}}return _0x51fec3[_0x377e24(0x9b)](_0x4eff0c['metadata'],undefined)&&((_0x51fec3[_0x377e24(0xd3)](typeof _0x4eff0c['metadata'],_0x51fec3[_0x377e24(0xb9)])||_0x4eff0c[_0x377e24(0xc1)]===null||Array[_0x377e24(0xd4)](_0x4eff0c['metadata']))&&_0x111466['push'](_0x51fec3['RLQyj'])),{'valid':_0x111466[_0x377e24(0xb2)]===0x0,'errors':_0x111466};}[a0_0x1f82b9(0xc7)](_0x1855dd){const _0xf86372=a0_0x1f82b9,_0x8807f4={'rEMsJ':function(_0x38dbbc,_0x8ee1e0){return _0x38dbbc!==_0x8ee1e0;},'CNRAD':'month','GmeEO':'day-of-week','yIPWG':function(_0x434e1d,_0x2a1b2f){return _0x434e1d===_0x2a1b2f;},'MZWld':function(_0x3cffd5,_0x376383){return _0x3cffd5!==_0x376383;},'NuufH':function(_0x5e7ab0,_0x4261a8,_0xbf5a9d){return _0x5e7ab0(_0x4261a8,_0xbf5a9d);},'iWrzi':function(_0x334db2,_0x391c66){return _0x334db2<_0x391c66;},'COSqM':function(_0x572b8d,_0x1fe1e6){return _0x572b8d===_0x1fe1e6;}},_0x5b19b3=[],_0x71c069=_0x1855dd['trim']()['split'](/\s+/);if(_0x8807f4[_0xf86372(0xc5)](_0x71c069[_0xf86372(0xb2)],0x5))return _0x5b19b3['push']('Cron\x20expression\x20harus\x205\x20field\x20(minute\x20hour\x20day\x20month\x20weekday),\x20ditemukan\x20'+_0x71c069[_0xf86372(0xb2)]+'\x20field:\x20\x22'+_0x1855dd+'\x22'),{'valid':![],'errors':_0x5b19b3};const _0x248187=[_0xf86372(0xc8),_0xf86372(0xb4),_0xf86372(0xca),_0x8807f4['CNRAD'],_0x8807f4[_0xf86372(0xcd)]],_0x18a096=[{'min':0x0,'max':0x3b},{'min':0x0,'max':0x17},{'min':0x1,'max':0x1f},{'min':0x1,'max':0xc},{'min':0x0,'max':0x7}],_0x439ddb=/^(\*|[0-9]+(-[0-9]+)?)([,/](\*|[0-9]+(-[0-9]+)?))*$/;for(let _0x36310a=0x0;_0x36310a<0x5;_0x36310a++){const _0x19981a=_0x71c069[_0x36310a];if(_0x8807f4[_0xf86372(0x8d)](_0x19981a,'*'))continue;if(_0x19981a['includes']('/')){const [_0xecebcc,_0x2cd10e]=_0x19981a['split']('/');_0x8807f4['MZWld'](_0xecebcc,'*')&&!this['_isValidRange'](_0xecebcc,_0x18a096[_0x36310a])&&_0x5b19b3['push']('Cron\x20field\x20\x22'+_0x248187[_0x36310a]+'\x22:\x20base\x20\x22'+_0xecebcc+'\x22\x20tidak\x20valid');const _0x278cc5=_0x8807f4[_0xf86372(0xcc)](parseInt,_0x2cd10e,0xa);(isNaN(_0x278cc5)||_0x8807f4['iWrzi'](_0x278cc5,0x1))&&_0x5b19b3['push'](_0xf86372(0xd0)+_0x248187[_0x36310a]+'\x22:\x20step\x20\x22/'+_0x2cd10e+_0xf86372(0xc0));continue;}const _0x21bb2c=_0x19981a[_0xf86372(0x92)](',');for(const _0x396e45 of _0x21bb2c){!this[_0xf86372(0xb1)](_0x396e45,_0x18a096[_0x36310a])&&_0x5b19b3[_0xf86372(0xd8)](_0xf86372(0xd0)+_0x248187[_0x36310a]+_0xf86372(0xd2)+_0x396e45+_0xf86372(0xbc)+_0x18a096[_0x36310a]['min']+'-'+_0x18a096[_0x36310a]['max']);}}return{'valid':_0x8807f4['COSqM'](_0x5b19b3[_0xf86372(0xb2)],0x0),'errors':_0x5b19b3};}[a0_0x1f82b9(0xb1)](_0x34c701,_0x34f400){const _0x12c1d1=a0_0x1f82b9,_0x30f08c={'UqfSu':function(_0x32da7b,_0x4f2992){return _0x32da7b(_0x4f2992);},'EqsvI':function(_0x202061,_0x1a718b){return _0x202061>=_0x1a718b;},'xlXzj':function(_0x5d6bec,_0x383f1d){return _0x5d6bec<=_0x383f1d;},'DnSxy':function(_0x20ea54,_0xd0d172,_0xa69bf6){return _0x20ea54(_0xd0d172,_0xa69bf6);},'ROnrF':function(_0x148fc4,_0x568b89){return _0x148fc4(_0x568b89);},'qTkQR':function(_0x3a6505,_0x456508){return _0x3a6505>=_0x456508;}};if(_0x34c701['includes']('-')){const [_0x159df9,_0x18a3b4]=_0x34c701[_0x12c1d1(0x92)]('-')['map'](Number);return!isNaN(_0x159df9)&&!_0x30f08c[_0x12c1d1(0xa0)](isNaN,_0x18a3b4)&&_0x159df9>=_0x34f400[_0x12c1d1(0x94)]&&_0x159df9<=_0x34f400['max']&&_0x30f08c['EqsvI'](_0x18a3b4,_0x34f400[_0x12c1d1(0x94)])&&_0x30f08c['xlXzj'](_0x18a3b4,_0x34f400['max'])&&_0x159df9<=_0x18a3b4;}const _0x32f7d6=_0x30f08c['DnSxy'](parseInt,_0x34c701,0xa);return!_0x30f08c['ROnrF'](isNaN,_0x32f7d6)&&_0x30f08c['qTkQR'](_0x32f7d6,_0x34f400['min'])&&_0x32f7d6<=_0x34f400[_0x12c1d1(0xda)];}['validateQueueName'](_0xc79bfe){const _0x3f17aa=a0_0x1f82b9;if(!VALID_QUEUE_NAMES[_0x3f17aa(0xae)](_0xc79bfe))return{'valid':![],'errors':['Queue\x20\x22'+_0xc79bfe+_0x3f17aa(0x9e)+VALID_QUEUE_NAMES['join'](',\x20')]};return{'valid':!![],'errors':[]};}['validateRetryConfig'](_0x3e3a50){const _0x368a94=a0_0x1f82b9,_0xc83c1d={'ruDGB':function(_0x5b6fba,_0xc9f18c){return _0x5b6fba!==_0xc9f18c;},'yxBVE':function(_0x2a25b1,_0x265ea2){return _0x2a25b1!==_0x265ea2;},'HmOYx':function(_0x18d089,_0x52b6b7){return _0x18d089<_0x52b6b7;},'ppadj':_0x368a94(0x9f),'PMRhA':'\x22\x20atau\x20\x22','PjzxK':function(_0x39d95b,_0x42ab66){return _0x39d95b!==_0x42ab66;}},_0x18c4eb=[];return _0xc83c1d['ruDGB'](_0x3e3a50['maxAttempts'],undefined)&&((_0xc83c1d[_0x368a94(0xa4)](typeof _0x3e3a50[_0x368a94(0xd6)],_0x368a94(0x9d))||_0xc83c1d['HmOYx'](_0x3e3a50[_0x368a94(0xd6)],0x1)||_0x3e3a50['maxAttempts']>0xa)&&_0x18c4eb[_0x368a94(0xd8)](_0xc83c1d['ppadj'])),_0x3e3a50[_0x368a94(0xa7)]!==undefined&&(!VALID_BACKOFF_TYPES['includes'](_0x3e3a50[_0x368a94(0xa7)])&&_0x18c4eb['push']('Field\x20\x22retry.backoff\x22\x20harus\x20\x22'+VALID_BACKOFF_TYPES['join'](_0xc83c1d['PMRhA'])+'\x22')),_0xc83c1d['yxBVE'](_0x3e3a50[_0x368a94(0x9c)],undefined)&&((_0xc83c1d['PjzxK'](typeof _0x3e3a50['initialDelay'],_0x368a94(0x9d))||_0x3e3a50['initialDelay']<=0x0)&&_0x18c4eb[_0x368a94(0xd8)](_0x368a94(0x91))),{'valid':_0x18c4eb['length']===0x0,'errors':_0x18c4eb};}[a0_0x1f82b9(0xa2)](_0x28e8ef,_0x22c5a1){const _0xf22e60=a0_0x1f82b9,_0x496bcb={'knZjj':_0xf22e60(0xc6)},_0x19d78a=path[_0xf22e60(0xa6)](_0x22c5a1,_0xf22e60(0xbe),_0x496bcb['knZjj'],_0x28e8ef+_0xf22e60(0xc3));if(!fs['existsSync'](_0x19d78a))return{'valid':![],'errors':[_0xf22e60(0xd1)+_0x28e8ef+_0xf22e60(0x8f)+_0x19d78a+')']};return{'valid':!![],'errors':[]};}}module[a0_0x1f82b9(0xd9)]=new JobValidator();
|
|
1
|
+
const a0_0x1e70d9=a0_0x5a2b;(function(_0x3baa30,_0xd79ec9){const _0x1d1ab3=a0_0x5a2b,_0x5c3d67=_0x3baa30();while(!![]){try{const _0x3079e4=-parseInt(_0x1d1ab3(0x135))/0x1+parseInt(_0x1d1ab3(0x126))/0x2*(parseInt(_0x1d1ab3(0x15a))/0x3)+parseInt(_0x1d1ab3(0x132))/0x4*(-parseInt(_0x1d1ab3(0x159))/0x5)+parseInt(_0x1d1ab3(0x15f))/0x6*(-parseInt(_0x1d1ab3(0x15b))/0x7)+-parseInt(_0x1d1ab3(0x155))/0x8+parseInt(_0x1d1ab3(0x139))/0x9+-parseInt(_0x1d1ab3(0x128))/0xa*(-parseInt(_0x1d1ab3(0x152))/0xb);if(_0x3079e4===_0xd79ec9)break;else _0x5c3d67['push'](_0x5c3d67['shift']());}catch(_0x1c55b2){_0x5c3d67['push'](_0x5c3d67['shift']());}}}(a0_0x198d,0xab75f));const fs=require('fs'),path=require('path'),VALID_QUEUE_NAMES=[a0_0x1e70d9(0x164),a0_0x1e70d9(0x12a),'low-priority'],VALID_BACKOFF_TYPES=['fixed','exponential'],SLUG_REGEX=/^[a-z0-9]+(?:-[a-z0-9]+)*$/;function a0_0x5a2b(_0x565ef4,_0x2a2fc0){_0x565ef4=_0x565ef4-0x122;const _0x198d82=a0_0x198d();let _0x5a2b53=_0x198d82[_0x565ef4];if(a0_0x5a2b['UEdhAt']===undefined){var _0x2657cd=function(_0x46c4c3){const _0x4fbdc1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xac8889='',_0x449436='';for(let _0x5d0d96=0x0,_0xd040aa,_0x2e1bac,_0x1b043d=0x0;_0x2e1bac=_0x46c4c3['charAt'](_0x1b043d++);~_0x2e1bac&&(_0xd040aa=_0x5d0d96%0x4?_0xd040aa*0x40+_0x2e1bac:_0x2e1bac,_0x5d0d96++%0x4)?_0xac8889+=String['fromCharCode'](0xff&_0xd040aa>>(-0x2*_0x5d0d96&0x6)):0x0){_0x2e1bac=_0x4fbdc1['indexOf'](_0x2e1bac);}for(let _0x1fc708=0x0,_0x2de946=_0xac8889['length'];_0x1fc708<_0x2de946;_0x1fc708++){_0x449436+='%'+('00'+_0xac8889['charCodeAt'](_0x1fc708)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x449436);};a0_0x5a2b['fGMWKr']=_0x2657cd,a0_0x5a2b['QrlKDZ']={},a0_0x5a2b['UEdhAt']=!![];}const _0x1fdcac=_0x198d82[0x0],_0x1129a8=_0x565ef4+_0x1fdcac,_0x8ac6fa=a0_0x5a2b['QrlKDZ'][_0x1129a8];return!_0x8ac6fa?(_0x5a2b53=a0_0x5a2b['fGMWKr'](_0x5a2b53),a0_0x5a2b['QrlKDZ'][_0x1129a8]=_0x5a2b53):_0x5a2b53=_0x8ac6fa,_0x5a2b53;}class JobValidator{[a0_0x1e70d9(0x13e)](_0x4a4518,_0x10c060){const _0x387aa4=a0_0x1e70d9,_0x4059ae={'oBoUS':'object','AQJhj':_0x387aa4(0x12c),'hikKU':_0x387aa4(0x127),'AuoSx':function(_0x569dda,_0x2405f6){return _0x569dda!==_0x2405f6;},'tmZPh':_0x387aa4(0x13b),'RYYJi':_0x387aa4(0x145),'JmwcR':function(_0x3ef2da,_0x30cedb){return _0x3ef2da!==_0x30cedb;},'SXHMN':_0x387aa4(0x137),'SNtBN':'Field\x20\x22schedule\x22\x20is\x20required\x20(cron\x20expression\x20string)','olCmv':'Field\x20\x22handler\x22\x20is\x20required\x20(path\x20relative\x20to\x20src/jobs/)','mnlGa':_0x387aa4(0x140),'cmOmQ':_0x387aa4(0x168),'SrUJp':function(_0x469fcf,_0x551987){return _0x469fcf<=_0x551987;},'xwLBf':function(_0xc85e52,_0x2b3f3d){return _0xc85e52!==_0x2b3f3d;},'sOZAl':'Field\x20\x22concurrency\x22\x20must\x20be\x20a\x20number\x20between\x201-50','JeDjl':function(_0x512bcf,_0x1d6c5b){return _0x512bcf!==_0x1d6c5b;},'Zwqqe':function(_0x461fba,_0x13bc56){return _0x461fba===_0x13bc56;}},_0x4ee85b=[];if(!_0x4a4518||typeof _0x4a4518!==_0x4059ae['oBoUS'])return{'valid':![],'errors':[_0x4059ae['AQJhj']]};if(!_0x4a4518[_0x387aa4(0x130)]||typeof _0x4a4518[_0x387aa4(0x130)]!=='string')_0x4ee85b[_0x387aa4(0x12f)](_0x4059ae['hikKU']);else!SLUG_REGEX['test'](_0x4a4518[_0x387aa4(0x130)])&&_0x4ee85b['push'](_0x387aa4(0x142)+_0x4a4518['name']+'\x22');if(!_0x4a4518['type']||_0x4059ae[_0x387aa4(0x158)](typeof _0x4a4518[_0x387aa4(0x153)],_0x387aa4(0x137)))_0x4ee85b['push'](_0x4059ae[_0x387aa4(0x16c)]);else _0x4059ae['AuoSx'](_0x4a4518['type'],_0x4059ae[_0x387aa4(0x122)])&&_0x4ee85b[_0x387aa4(0x12f)](_0x387aa4(0x16d)+_0x4a4518['type']+'\x22');if(!_0x4a4518[_0x387aa4(0x163)]||_0x4059ae['JmwcR'](typeof _0x4a4518['schedule'],_0x4059ae[_0x387aa4(0x162)]))_0x4ee85b['push'](_0x4059ae[_0x387aa4(0x134)]);else{const _0x27f7c4=this['validateCronExpression'](_0x4a4518['schedule']);!_0x27f7c4['valid']&&_0x4ee85b[_0x387aa4(0x12f)](..._0x27f7c4[_0x387aa4(0x133)]);}if(!_0x4a4518['handler']||typeof _0x4a4518['handler']!==_0x4059ae['SXHMN'])_0x4ee85b['push'](_0x4059ae['olCmv']);else{if(_0x10c060){const _0x3e814f=this['validateHandlerExists'](_0x4a4518['handler'],_0x10c060);!_0x3e814f['valid']&&_0x4ee85b[_0x387aa4(0x12f)](..._0x3e814f['errors']);}}_0x4a4518[_0x387aa4(0x16f)]!==undefined&&typeof _0x4a4518[_0x387aa4(0x16f)]!==_0x4059ae['mnlGa']&&_0x4ee85b['push'](_0x4059ae[_0x387aa4(0x15d)]);_0x4a4518['timeout']!==undefined&&((typeof _0x4a4518[_0x387aa4(0x16b)]!==_0x387aa4(0x146)||_0x4059ae['SrUJp'](_0x4a4518['timeout'],0x0))&&_0x4ee85b[_0x387aa4(0x12f)](_0x387aa4(0x14c)));if(_0x4a4518['queue']!==undefined){const _0x19ccdd=this[_0x387aa4(0x13d)](_0x4a4518[_0x387aa4(0x14e)]);!_0x19ccdd[_0x387aa4(0x14b)]&&_0x4ee85b['push'](..._0x19ccdd[_0x387aa4(0x133)]);}_0x4059ae[_0x387aa4(0x12d)](_0x4a4518['concurrency'],undefined)&&((_0x4059ae['JmwcR'](typeof _0x4a4518['concurrency'],_0x387aa4(0x146))||_0x4a4518['concurrency']<0x1||_0x4a4518['concurrency']>0x32)&&_0x4ee85b['push'](_0x4059ae['sOZAl']));if(_0x4059ae['AuoSx'](_0x4a4518[_0x387aa4(0x14d)],undefined)){if(_0x4059ae['JeDjl'](typeof _0x4a4518['retry'],_0x4059ae[_0x387aa4(0x15c)])||_0x4059ae[_0x387aa4(0x151)](_0x4a4518['retry'],null))_0x4ee85b['push'](_0x387aa4(0x141));else{const _0x3bf946=this['validateRetryConfig'](_0x4a4518['retry']);!_0x3bf946[_0x387aa4(0x14b)]&&_0x4ee85b['push'](..._0x3bf946['errors']);}}return _0x4059ae[_0x387aa4(0x12d)](_0x4a4518['metadata'],undefined)&&((typeof _0x4a4518['metadata']!==_0x387aa4(0x123)||_0x4a4518[_0x387aa4(0x147)]===null||Array[_0x387aa4(0x13f)](_0x4a4518[_0x387aa4(0x147)]))&&_0x4ee85b['push']('Field\x20\x22metadata\x22\x20must\x20be\x20an\x20object')),{'valid':_0x4059ae['Zwqqe'](_0x4ee85b[_0x387aa4(0x13c)],0x0),'errors':_0x4ee85b};}['validateCronExpression'](_0x343ee5){const _0x569eb9=a0_0x1e70d9,_0x55c120={'BQQNJ':function(_0x1f9955,_0x424bd6){return _0x1f9955!==_0x424bd6;},'YxXfc':'minute','klHdx':'day-of-month','tHBKz':_0x569eb9(0x124),'RcXsk':function(_0x53427c,_0x48964e,_0x2ac56c){return _0x53427c(_0x48964e,_0x2ac56c);},'sAGGS':function(_0xe4a27c,_0x452ba0){return _0xe4a27c===_0x452ba0;}},_0x2718cf=[],_0x4e3c98=_0x343ee5['trim']()[_0x569eb9(0x171)](/\s+/);if(_0x55c120[_0x569eb9(0x12b)](_0x4e3c98['length'],0x5))return _0x2718cf['push']('Cron\x20expression\x20must\x20have\x205\x20fields\x20(minute\x20hour\x20day\x20month\x20weekday),\x20found\x20'+_0x4e3c98['length']+_0x569eb9(0x149)+_0x343ee5+'\x22'),{'valid':![],'errors':_0x2718cf};const _0x5f3d36=[_0x55c120[_0x569eb9(0x16a)],'hour',_0x55c120[_0x569eb9(0x125)],_0x55c120['tHBKz'],'day-of-week'],_0x5609c3=[{'min':0x0,'max':0x3b},{'min':0x0,'max':0x17},{'min':0x1,'max':0x1f},{'min':0x1,'max':0xc},{'min':0x0,'max':0x7}],_0x225344=/^(\*|[0-9]+(-[0-9]+)?)([,/](\*|[0-9]+(-[0-9]+)?))*$/;for(let _0x3ad16c=0x0;_0x3ad16c<0x5;_0x3ad16c++){const _0x4958a1=_0x4e3c98[_0x3ad16c];if(_0x4958a1==='*')continue;if(_0x4958a1[_0x569eb9(0x136)]('/')){const [_0x1feb70,_0x2a60f0]=_0x4958a1['split']('/');_0x1feb70!=='*'&&!this['_isValidRange'](_0x1feb70,_0x5609c3[_0x3ad16c])&&_0x2718cf[_0x569eb9(0x12f)](_0x569eb9(0x169)+_0x5f3d36[_0x3ad16c]+_0x569eb9(0x156)+_0x1feb70+'\x22');const _0x1470f0=_0x55c120['RcXsk'](parseInt,_0x2a60f0,0xa);(isNaN(_0x1470f0)||_0x1470f0<0x1)&&_0x2718cf[_0x569eb9(0x12f)]('Cron\x20field\x20\x22'+_0x5f3d36[_0x3ad16c]+'\x22:\x20step\x20\x22/'+_0x2a60f0+_0x569eb9(0x14f));continue;}const _0x422940=_0x4958a1[_0x569eb9(0x171)](',');for(const _0x1735b1 of _0x422940){!this['_isValidRange'](_0x1735b1,_0x5609c3[_0x3ad16c])&&_0x2718cf[_0x569eb9(0x12f)]('Cron\x20field\x20\x22'+_0x5f3d36[_0x3ad16c]+'\x22:\x20value\x20\x22'+_0x1735b1+'\x22\x20is\x20out\x20of\x20range\x20'+_0x5609c3[_0x3ad16c][_0x569eb9(0x166)]+'-'+_0x5609c3[_0x3ad16c]['max']);}}return{'valid':_0x55c120[_0x569eb9(0x143)](_0x2718cf['length'],0x0),'errors':_0x2718cf};}[a0_0x1e70d9(0x15e)](_0x266ec5,_0x3b67b7){const _0x20f9ef=a0_0x1e70d9,_0x875042={'goEje':function(_0x3a5407,_0x58ec7c){return _0x3a5407<=_0x58ec7c;},'EiBTP':function(_0x21d5c1,_0x52632e){return _0x21d5c1>=_0x52632e;}};if(_0x266ec5['includes']('-')){const [_0x7836ce,_0x2fb1b1]=_0x266ec5[_0x20f9ef(0x171)]('-')[_0x20f9ef(0x170)](Number);return!isNaN(_0x7836ce)&&!isNaN(_0x2fb1b1)&&_0x7836ce>=_0x3b67b7[_0x20f9ef(0x166)]&&_0x7836ce<=_0x3b67b7['max']&&_0x2fb1b1>=_0x3b67b7[_0x20f9ef(0x166)]&&_0x2fb1b1<=_0x3b67b7['max']&&_0x875042['goEje'](_0x7836ce,_0x2fb1b1);}const _0x5ed408=parseInt(_0x266ec5,0xa);return!isNaN(_0x5ed408)&&_0x875042[_0x20f9ef(0x167)](_0x5ed408,_0x3b67b7['min'])&&_0x5ed408<=_0x3b67b7['max'];}['validateQueueName'](_0x4e7d4f){const _0x5c1510=a0_0x1e70d9;if(!VALID_QUEUE_NAMES[_0x5c1510(0x136)](_0x4e7d4f))return{'valid':![],'errors':['Queue\x20\x22'+_0x4e7d4f+'\x22\x20tidak\x20valid.\x20Pilihan:\x20'+VALID_QUEUE_NAMES['join'](',\x20')]};return{'valid':!![],'errors':[]};}[a0_0x1e70d9(0x138)](_0x986fa0){const _0x3b8bc2=a0_0x1e70d9,_0x1c3e35={'RksKe':function(_0x483052,_0x107b1d){return _0x483052!==_0x107b1d;},'pwzHQ':function(_0x4a8afc,_0x3c41a9){return _0x4a8afc!==_0x3c41a9;},'CSJJC':function(_0x2c30c6,_0x5a1b07){return _0x2c30c6>_0x5a1b07;},'DZRyz':_0x3b8bc2(0x14a),'cdixo':function(_0x3330ca,_0x3c4f05){return _0x3330ca!==_0x3c4f05;},'LpBvj':function(_0x26b37f,_0x53eb2e){return _0x26b37f!==_0x53eb2e;},'UJnnz':'number','kiCFV':function(_0x4c4f1e,_0xdec472){return _0x4c4f1e<=_0xdec472;}},_0x3c2403=[];return _0x1c3e35['RksKe'](_0x986fa0['maxAttempts'],undefined)&&((_0x1c3e35[_0x3b8bc2(0x157)](typeof _0x986fa0['maxAttempts'],_0x3b8bc2(0x146))||_0x986fa0[_0x3b8bc2(0x129)]<0x1||_0x1c3e35[_0x3b8bc2(0x144)](_0x986fa0[_0x3b8bc2(0x129)],0xa))&&_0x3c2403['push'](_0x1c3e35['DZRyz'])),_0x1c3e35['cdixo'](_0x986fa0['backoff'],undefined)&&(!VALID_BACKOFF_TYPES[_0x3b8bc2(0x136)](_0x986fa0[_0x3b8bc2(0x154)])&&_0x3c2403[_0x3b8bc2(0x12f)]('Field\x20\x22retry.backoff\x22\x20must\x20be\x20\x22'+VALID_BACKOFF_TYPES['join']('\x22\x20or\x20\x22')+'\x22')),_0x1c3e35['LpBvj'](_0x986fa0['initialDelay'],undefined)&&((typeof _0x986fa0[_0x3b8bc2(0x16e)]!==_0x1c3e35['UJnnz']||_0x1c3e35[_0x3b8bc2(0x165)](_0x986fa0['initialDelay'],0x0))&&_0x3c2403['push'](_0x3b8bc2(0x148))),{'valid':_0x3c2403[_0x3b8bc2(0x13c)]===0x0,'errors':_0x3c2403};}['validateHandlerExists'](_0x44e71f,_0x431f30){const _0x4f9b30=a0_0x1e70d9,_0x159a00={'QltRs':_0x4f9b30(0x150)},_0x3d3d61=path['join'](_0x431f30,_0x159a00[_0x4f9b30(0x12e)],'jobs',_0x44e71f+'.js');if(!fs[_0x4f9b30(0x13a)](_0x3d3d61))return{'valid':![],'errors':[_0x4f9b30(0x131)+_0x44e71f+_0x4f9b30(0x160)+_0x3d3d61+')']};return{'valid':!![],'errors':[]};}}module[a0_0x1e70d9(0x161)]=new JobValidator();function a0_0x198d(){const _0x469199=['DMfSAwrHDgvdB25MAwC','AxnbCNjHEq','yM9VBgvHBG','rMLLBgqGiNjLDhj5iIbTDxn0igjLigfUig9IAMvJDa','rMLLBgqGiM5HBwuIig11C3qGyMuGAw4GC2X1zYbMB3jTyxqGkgXVD2vYy2fZzsWGzgfZAcK6ici','C0fhr1m','q1nksKm','y3jVBG','BNvTyMvY','Bwv0ywrHDge','rMLLBgqGiNjLDhj5lMLUAxrPywXezwXHEsiGBxvZDcbIzsbHig51BwjLCIa+idaGkgLUig1Zkq','igzPzwXKkhmPoIaI','rMLLBgqGiNjLDhj5lM1HEef0DgvTChrZiIbTDxn0igjLigeGBNvTyMvYigjLDhDLzw4Gms0Xma','DMfSAwq','rMLLBgqGiNrPBwvVDxqIig11C3qGyMuGysbUDw1IzxiGpIaWicHPBIbTCYK','CMv0CNK','CxvLDwu','iIbTDxn0igjLigeGBNvTyMvYid4Gma','C3jJ','wNDXCwu','mJC2ntu5nJL6CvrOuxC','DhLWzq','yMfJA29MzG','ode4mtaWmhLAr2P1DW','iJOGAw52ywXPzcbIyxnLici','ChD6sfe','qxvVu3G','ntm4ntuWnxvrCM5gyG','m1v0vuvdta','nJqZmZC1nNfnr1P0BW','B0jVvvm','y21pBve','x2LZvMfSAwrsyw5Nzq','nKXmtuPItG','lMPZicHHyNnVBhv0ztOG','zxHWB3j0CW','u1Hitu4','C2nOzwr1Bgu','AgLNAc1WCMLVCML0Eq','A2LdrLy','BwLU','rwLcvfa','rMLLBgqGiMvUywjSzwqIig11C3qGyMuGysbIB29SzwfU','q3jVBIbMAwvSzcaI','wxHyzMm','DgLTzw91Da','Dg1AugG','rMLLBgqGiNr5CguIig11C3qGyMuGiMnYB24IlcbMB3vUzdOGiG','Aw5PDgLHBerLBgf5','zw5HyMXLza','BwfW','C3bSAxq','uLLzsMK','B2jQzwn0','Bw9UDgG','A2XizhG','mtuZntKZoeD6uKDnqW','rMLLBgqGiM5HBwuIigLZihjLCxvPCMvKicHZDhjPBMCP','mtbjyxvpCLy','Bwf4qxr0zw1WDhm','zgvMyxvSDa','qLfrtKO','q29UzMLNigHHCNvZigjLCNvWysbVyMPLy3q','EhDmqMy','uwX0uNm','ChvZAa','BMfTzq','sgfUzgXLCIbMAwXLihrPzgfRigrPDgvTDwTHBJOGC3jJl2PVyNmV','nhHIzhvdCq','zxjYB3jZ','u050qK4','nZKXmJi5sMjTsgnm','Aw5JBhvKzxm','C3rYAw5N','DMfSAwrHDgvszxrYEunVBMzPzW','mteWnZe5nJjNz3DjwgS','zxHPC3rZu3LUyW','rMLLBgqGiNr5CguIigLZihjLCxvPCMvKicHZDhjPBMCP','BgvUz3rO','DMfSAwrHDgvrDwv1zu5HBwu'];a0_0x198d=function(){return _0x469199;};return a0_0x198d();}
|