@restforgejs/platform 5.1.20 → 5.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/catalog/dashboard.js +1 -1
- package/generators/cli/catalog/dbschema.js +3 -3
- package/generators/cli/catalog/field-validation.js +1 -1
- package/generators/cli/catalog/query-declarative.js +1 -1
- package/generators/cli/config/clear-default.js +1 -1
- package/generators/cli/config/get-default.js +1 -1
- package/generators/cli/config/list.js +1 -1
- package/generators/cli/config/schema.js +1 -1
- package/generators/cli/config/set-default.js +2 -2
- package/generators/cli/config/template.js +1 -1
- package/generators/cli/dashboard/create.js +7 -7
- package/generators/cli/data/pull.js +12 -12
- package/generators/cli/data/push.js +9 -9
- package/generators/cli/endpoint/create.js +11 -11
- package/generators/cli/endpoint/list.js +3 -3
- package/generators/cli/fast-track.js +7 -7
- package/generators/cli/init.js +2 -2
- package/generators/cli/kafka/consumer-create.js +5 -5
- package/generators/cli/key/generate.js +3 -3
- package/generators/cli/key/list.js +2 -2
- package/generators/cli/key/revoke.js +3 -3
- package/generators/cli/payload/diff.js +3 -3
- package/generators/cli/payload/generate.js +5 -5
- package/generators/cli/payload/sync.js +5 -5
- package/generators/cli/payload/validate.js +3 -3
- package/generators/cli/processor/create.js +7 -7
- package/generators/cli/processor/list.js +3 -3
- package/generators/cli/project/delete.js +2 -2
- package/generators/cli/project/list.js +1 -1
- package/generators/cli/query/validate.js +3 -3
- package/generators/cli/schema/apply.js +13 -13
- package/generators/cli/schema/describe.js +6 -6
- package/generators/cli/schema/diff.js +10 -10
- package/generators/cli/schema/generate-ddl.js +11 -11
- package/generators/cli/schema/init.js +95 -95
- package/generators/cli/schema/introspect.js +8 -8
- package/generators/cli/schema/list.js +6 -6
- package/generators/cli/schema/migrate.js +91 -13
- package/generators/cli/schema/models.js +6 -6
- package/generators/cli/schema/template.js +223 -222
- package/generators/cli/schema/validate.js +6 -6
- package/generators/cli/test/generate.js +6 -6
- package/generators/lib/dbschema-kit/apply-executor.js +20 -0
- package/generators/lib/dbschema-kit/introspect-mapper.js +20 -0
- package/generators/lib/generators/processor-validation-generator.js +4 -1
- package/generators/lib/migrate/field-type-resolver.js +23 -0
- package/generators/lib/payload/payload-runner.js +17 -3
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/integrity-manifest.json +18 -18
- package/package.json +1 -1
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/soft-delete-dashboard-guard.js +1 -1
- package/src/utils/sql-table-extractor.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x4e6a(){const _0x12d8fb=['ChjLzMv0y2G','D2fYBG','xsblB25LA3nPifjHyMjPDe1rihrLCNb1DhvZ','ntu5mJC2ogjZrLDwrG','xsbnzxnZywDLihnLBNqGDg8GuMfIyML0tveGC3vJy2vZC2z1BgX5oG','C3rYAw5NAwz5','mtC0mdjsA3PzrLq','t1DIvKW','mJC3otq1qNzUwwPt','DgLTzxn0yw1W','ndCYvfzizujS','xsbqCMvMzxrJAcbKAwf0DxiGA2uGmq','xsbgywLSzwqGDg8GChjVy2vZCYbTzxnZywDLlcbYzxf1zxvPBMC','yMLUzff1zxvL','yxnZzxj0rxHJAgfUz2u','AxndB25Uzwn0zwq','ChjVy2vZC01LC3nHz2u','BwvZC2fNzq','lI4VDxrPBhmVzgf0zuHLBhbLCG','CxvLDwuT','Bg9N','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','tNvXsvC','xsbtDgfYDcbJB25ZDw1PBMCGBwvZC2fNzxmGzNjVBsbXDwv1zsaI','zxjYB3i','y29UzMLN','lxjLDhj5lwv4y2HHBMDL','ksbJCMvHDgvK','xsbdyw5UB3qGC3rHCNqGy29UC3vTAw5NoIbUB3qGy29UBMvJDgvKihrVifjHyMjPDe1r','tuPsqwC','Aw5PDgLHBgL6zq','sLf1yNC','xsbfuLjpuJOGuxvLDwuG','xsbfCNjVCIbZzw5KAw5NihrVifjHyMjPDe1roIa','C3rHCNrdB25ZDw1L','C3vIC3rYAw5N','xsbfCNjVCIbZywf0ihnLDhvWigLUzNjHC3rYDwT0Dxi6ia','zxHJAgfUz2u','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','z2v0vgLTzq','Aw5JBhvKzxm','CMvNAxn0zxjnzxnZywDLsgfUzgXLCG','CK1Msgu','mtm3AKXYB3Lk','zgLYzwn0','ihDPDgGGreXy','y2XVC2u','nde3mZiWmwnUvgLXAG','zM91BMq','xsbtDwnJzxnZzNvSBhKGCMvJB25Uzwn0zwqGDg8GuMfIyML0tve','Ehnnq1G','AfLVwKy','rMfPBgvKihrVihnLBMqGBwvZC2fNzsb0BYbsywjIAxrnuq','t3jcDLm','Aw5LCxvPDMfSzw50igfYzW','ignYzwf0zwqVCMvHzhK','vhj5Aw5NigfSDgvYBMf0AxzLihf1zxvLig5HBwuUlI4','mJy1mdKYnZbUENHmt3G','C2v0DxbdB2XSzwn0B3jjBMzYyxn0CNvJDhvYzq','ChjVCgvYDgLLCW','mJiWotG2A25lquXd','yxbWBgLJyxrPB24VANnVBG','C3bSAxq','xsbcAw5KAw5Nia','CxvLDwu','ic0+ia','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','mJuYnJiZmfzMvK9Wva','qMzdCM4','Dg9ju09tDhjPBMC','z1LlA2q','xsbszxrYEsbLEgnOyw5Nzsa','xsbbBhrLCM5HDgL2zsbXDwv1zsa','CNbbBKm','CfDPv04','ywnR','DKjsz2m','wvfOy0i','mtC0y1bJruTv','twvZC2fNzsbJB250zw50oIa','CMvJB25Uzwn0','xsbgywLSzwqGDg8GCgfYC2uGBwvZC2fNztOG','x3f1zxvL','C0DRAKS','AhfYBge','ls0T','y2HHBM5LBa','xsbgywLSzwqGDg8GAw5PDgLHBgL6zsbsywjIAxrnutOG','BwvZC2fNzuHHBMrSzxjZ','y29UDgvUDa','CM91DgLUz0TLEq','B3fWr0i','y3jLyxrLzc9YzwfKEq','vxPdwMC','y29UC3vTzq','iI4UlG','zgvMyxvSDa','tKvAyMS','xsbgywLSzwqGDg8GC3rHCNqGy29UC3vTAw5NoIa','zNjVBq','y29UBMvJDgLVBG','xsbnzxnZywDLigHHBMrSzxiGBxvZDcbIzsbHigz1BMn0Aw9U'];a0_0x4e6a=function(){return _0x12d8fb;};return a0_0x4e6a();}const a0_0x40a24a=a0_0x193e;(function(_0x3d8777,_0x345c44){const _0x253c10=a0_0x193e,_0x1dd404=_0x3d8777();while(!![]){try{const _0x8747a0=-parseInt(_0x253c10(0x133))/0x1*(-parseInt(_0x253c10(0x174))/0x2)+-parseInt(_0x253c10(0x137))/0x3+-parseInt(_0x253c10(0x171))/0x4+parseInt(_0x253c10(0x176))/0x5*(parseInt(_0x253c10(0x156))/0x6)+-parseInt(_0x253c10(0x14b))/0x7+-parseInt(_0x253c10(0x178))/0x8*(parseInt(_0x253c10(0x144))/0x9)+parseInt(_0x253c10(0x141))/0xa;if(_0x8747a0===_0x345c44)break;else _0x1dd404['push'](_0x1dd404['shift']());}catch(_0x19256b){_0x1dd404['push'](_0x1dd404['shift']());}}}(a0_0x4e6a,0xd1092));function a0_0x193e(_0x335012,_0x3505c2){_0x335012=_0x335012-0x122;const _0x4e6a50=a0_0x4e6a();let _0x193ebc=_0x4e6a50[_0x335012];if(a0_0x193e['TFZpQU']===undefined){var _0x5bdb9d=function(_0x52400a){const _0x3ce5ff='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x15cf56='',_0x385dcd='';for(let _0x273fba=0x0,_0x4d048e,_0x1b1840,_0x112422=0x0;_0x1b1840=_0x52400a['charAt'](_0x112422++);~_0x1b1840&&(_0x4d048e=_0x273fba%0x4?_0x4d048e*0x40+_0x1b1840:_0x1b1840,_0x273fba++%0x4)?_0x15cf56+=String['fromCharCode'](0xff&_0x4d048e>>(-0x2*_0x273fba&0x6)):0x0){_0x1b1840=_0x3ce5ff['indexOf'](_0x1b1840);}for(let _0xcb8a1c=0x0,_0x4032db=_0x15cf56['length'];_0xcb8a1c<_0x4032db;_0xcb8a1c++){_0x385dcd+='%'+('00'+_0x15cf56['charCodeAt'](_0xcb8a1c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x385dcd);};a0_0x193e['yqzSLh']=_0x5bdb9d,a0_0x193e['XwKuDd']={},a0_0x193e['TFZpQU']=!![];}const _0x5c0934=_0x4e6a50[0x0],_0x15f1b6=_0x335012+_0x5c0934,_0x5f5b2b=a0_0x193e['XwKuDd'][_0x15f1b6];return!_0x5f5b2b?(_0x193ebc=a0_0x193e['yqzSLh'](_0x193ebc),a0_0x193e['XwKuDd'][_0x15f1b6]=_0x193ebc):_0x193ebc=_0x5f5b2b,_0x193ebc;}const {createConnection,createChannel,setupInfrastructure,closeConnection,getConfig}=require('../utils/rabbitmq'),{formatDate}=require(a0_0x40a24a(0x180));class RabbitMQService{constructor(){const _0x34ee88=a0_0x40a24a,_0xd47b58={'vBRgc':'1|3|4|0|2'},_0x3cc1e9=_0xd47b58[_0x34ee88(0x154)]['split']('|');let _0x561461=0x0;while(!![]){switch(_0x3cc1e9[_0x561461++]){case'0':this[_0x34ee88(0x17d)]=![];continue;case'1':this['connection']=null;continue;case'2':this['messageHandlers']=[];continue;case'3':this['channel']=null;continue;case'4':this[_0x34ee88(0x187)]=getConfig();continue;}break;}}async[a0_0x40a24a(0x126)](){const _0x486061=a0_0x40a24a,_0x39d903={'oJcZl':function(_0x44050a,_0x175450){return _0x44050a(_0x175450);},'OWbVL':function(_0x1df90a,_0x3b1d47,_0x2a515f){return _0x1df90a(_0x3b1d47,_0x2a515f);},'jOAGP':'2|7|0|5|6|3|4|1','hYoZF':function(_0x134501){return _0x134501();}};try{const _0x494050=_0x39d903['jOAGP'][_0x486061(0x146)]('|');let _0x35dbe8=0x0;while(!![]){switch(_0x494050[_0x35dbe8++]){case'0':await this[_0x486061(0x15e)][_0x486061(0x16e)](0x1);continue;case'1':return!![];case'2':this['connection']=await _0x39d903[_0x486061(0x13b)](createConnection);continue;case'3':this[_0x486061(0x17d)]=!![];continue;case'4':this['connection']['on'](_0x486061(0x136),()=>{const _0x414519=_0x486061;console['error']('['+_0x39d903['oJcZl'](formatDate,new Date())+_0x414519(0x170)),this[_0x414519(0x17d)]=![],_0x39d903[_0x414519(0x175)](setTimeout,()=>this['reconnect'](),0x1388);});continue;case'5':console[_0x486061(0x182)]('['+formatDate(new Date())+_0x486061(0x179));continue;case'6':await setupInfrastructure(this[_0x486061(0x15e)]);continue;case'7':this['channel']=await _0x39d903['oJcZl'](createChannel,this['connection']);continue;}break;}}catch(_0x35a52a){return console['error']('['+formatDate(new Date())+_0x486061(0x15f)+_0x35a52a['message']),this['isConnected']=![],![];}}async[a0_0x40a24a(0x158)](){const _0x477142=a0_0x40a24a,_0x1b0992={'MJRAg':function(_0x143daa,_0x3f88ee){return _0x143daa(_0x3f88ee);}};console[_0x477142(0x182)]('['+formatDate(new Date())+']\x20Attempting\x20to\x20reconnect\x20to\x20RabbitMQ...');try{await this[_0x477142(0x126)](),this[_0x477142(0x17d)]&&(console['log']('['+_0x1b0992[_0x477142(0x125)](formatDate,new Date())+_0x477142(0x139)),await this[_0x477142(0x12a)]());}catch(_0x57a475){console[_0x477142(0x186)]('['+_0x1b0992[_0x477142(0x125)](formatDate,new Date())+']\x20Failed\x20to\x20reconnect\x20to\x20RabbitMQ:\x20'+_0x57a475[_0x477142(0x17f)]),setTimeout(()=>this[_0x477142(0x158)](),0x1388);}}async[a0_0x40a24a(0x142)](_0x2cbe3c){const _0x2591d3=a0_0x40a24a,_0x228b2b={'NEZbk':function(_0x347a72){return _0x347a72();},'xsMCX':function(_0xb5efa4,_0x114e9e){return _0xb5efa4(_0x114e9e);},'UlVDJ':_0x2591d3(0x168),'sGkjK':_0x2591d3(0x134),'hqrla':function(_0x42acd9,_0x27c68e){return _0x42acd9(_0x27c68e);},'kHQvJ':function(_0x53de92,_0x3a4144){return _0x53de92===_0x3a4144;},'bvrdy':_0x2591d3(0x164),'JQubw':function(_0x47eb9c,_0x18441c){return _0x47eb9c(_0x18441c);},'rMfHe':_0x2591d3(0x13e),'UzCZg':'x-dead-letter-routing-key','rpAnC':function(_0x10bf4d,_0x2c4b66){return _0x10bf4d(_0x2c4b66);},'pWiWN':function(_0x19fa33,_0x7db78f){return _0x19fa33(_0x7db78f);}};try{!this['isConnected']&&(this[_0x2591d3(0x16c)]=await _0x228b2b[_0x2591d3(0x169)](createConnection),this['channel']=await _0x228b2b['xsMCX'](createChannel,this[_0x2591d3(0x16c)]),this[_0x2591d3(0x17d)]=!![]);const _0x3bd1a9=process['env'][_0x2591d3(0x183)]||_0x228b2b['UlVDJ'],_0x2cb844=_0x3bd1a9+_0x2591d3(0x122);await this[_0x2591d3(0x15e)][_0x2591d3(0x17c)](_0x2cb844,_0x228b2b[_0x2591d3(0x15b)],{'durable':!![],'autoDelete':![]}),console[_0x2591d3(0x182)]('['+formatDate(new Date())+_0x2591d3(0x14f)+_0x2cb844+_0x2591d3(0x13f)),await this[_0x2591d3(0x15e)][_0x2591d3(0x17c)](_0x2cbe3c[_0x2591d3(0x12d)],_0x228b2b[_0x2591d3(0x15b)],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x228b2b[_0x2591d3(0x15c)](formatDate,new Date())+']\x20Exchange\x20'+_0x2cbe3c['exchange']+'\x20created/ready');const _0x35be7c=_0x2cbe3c['routingKey']+'_retry',_0x118c16={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':_0x2cbe3c['exchange'],'x-dead-letter-routing-key':_0x2cbe3c[_0x2591d3(0x162)]}};await this[_0x2591d3(0x15e)]['assertQueue'](_0x35be7c,_0x118c16),console[_0x2591d3(0x182)]('['+_0x228b2b['hqrla'](formatDate,new Date())+']\x20Retry\x20queue\x20'+_0x35be7c+_0x2591d3(0x13f)),await this[_0x2591d3(0x15e)][_0x2591d3(0x17b)](_0x35be7c,_0x2cb844,_0x2cbe3c['routingKey']),console['log']('['+formatDate(new Date())+']\x20Retry\x20binding\x20for\x20'+_0x2cbe3c[_0x2591d3(0x162)]+'\x20created');const _0x517396={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x2cb844,'x-dead-letter-routing-key':_0x2cbe3c[_0x2591d3(0x162)]}};try{const _0x39425f=await this['channel']['assertQueue'](_0x2cbe3c[_0x2591d3(0x148)],_0x517396);console[_0x2591d3(0x182)]('['+formatDate(new Date())+']\x20Queue\x20'+_0x2cbe3c[_0x2591d3(0x148)]+'\x20'+(_0x228b2b['kHQvJ'](_0x39425f[_0x2591d3(0x148)],_0x2cbe3c['queue'])?_0x228b2b['bvrdy']:_0x2591d3(0x138))+_0x2591d3(0x135)),await this[_0x2591d3(0x15e)][_0x2591d3(0x17b)](_0x2cbe3c[_0x2591d3(0x148)],_0x2cbe3c['exchange'],_0x2cbe3c['routingKey']),console['log']('['+_0x228b2b[_0x2591d3(0x127)](formatDate,new Date())+']\x20Binding\x20'+_0x2cbe3c['exchange']+'\x20->\x20'+_0x2cbe3c[_0x2591d3(0x148)]+'\x20('+_0x2cbe3c['routingKey']+_0x2591d3(0x123));}catch(_0x5cadae){if(_0x5cadae[_0x2591d3(0x17f)]['includes'](_0x228b2b[_0x2591d3(0x132)])&&_0x5cadae[_0x2591d3(0x17f)][_0x2591d3(0x130)](_0x228b2b[_0x2591d3(0x165)])){console[_0x2591d3(0x186)]('\x0a['+_0x228b2b[_0x2591d3(0x151)](formatDate,new Date())+_0x2591d3(0x128)+_0x2cbe3c['queue']+_0x2591d3(0x12e)),console[_0x2591d3(0x186)](_0x2591d3(0x140));const _0x2e455f=_0x2cbe3c[_0x2591d3(0x162)]+_0x2591d3(0x15a),_0x203678=await this[_0x2591d3(0x15e)]['assertQueue'](_0x2e455f,_0x517396);console['log']('['+_0x228b2b[_0x2591d3(0x152)](formatDate,new Date())+_0x2591d3(0x150)+_0x2e455f+'\x20created\x20with\x20DLX'),await this['channel']['bindQueue'](_0x2e455f,_0x2cbe3c['exchange'],_0x2cbe3c['routingKey']),console[_0x2591d3(0x182)]('['+formatDate(new Date())+_0x2591d3(0x147)+_0x2cbe3c[_0x2591d3(0x12d)]+_0x2591d3(0x149)+_0x2e455f+'\x20('+_0x2cbe3c['routingKey']+_0x2591d3(0x123)),_0x2cbe3c[_0x2591d3(0x148)]=_0x2e455f;}else{console[_0x2591d3(0x186)]('['+_0x228b2b[_0x2591d3(0x13a)](formatDate,new Date())+_0x2591d3(0x14a)+_0x2cbe3c[_0x2591d3(0x148)]+':',_0x5cadae[_0x2591d3(0x17f)]);throw _0x5cadae;}}return!![];}catch(_0x4167c8){return console[_0x2591d3(0x186)]('['+formatDate(new Date())+_0x2591d3(0x12c)+_0x4167c8[_0x2591d3(0x17f)]),![];}}async['sendToQueue'](_0x50530d,_0x5346ee){const _0x299eca=a0_0x40a24a,_0x3a740c={'gYKkd':function(_0x467a84,_0x585677){return _0x467a84!==_0x585677;},'oqpGB':_0x299eca(0x145),'NuqIW':_0x299eca(0x13c)};if(!this['isConnected'])try{await this['initialize']();}catch(_0xca049a){return{'success':![],'message':'Cannot\x20connect\x20to\x20RabbitMQ:\x20'+_0xca049a['message'],'data':null};}try{const _0x14cf08=_0x3a740c[_0x299eca(0x14e)](_0x5346ee['auto_retry'],undefined)?_0x5346ee['auto_retry']:![],_0x1243e7=_0x5346ee['max_retries']||0x3,_0x262612={'rabbitmq':{'exchange':_0x5346ee['exchange'],'queue':_0x5346ee[_0x299eca(0x148)],'routing_key':_0x5346ee['routingKey'],'auto_retry':_0x14cf08,'max_retries':_0x1243e7},'message':_0x50530d};await this[_0x299eca(0x142)](_0x5346ee);const _0x3652f2=new Date(),_0x4e7a09={'timestamp':_0x3652f2['toISOString'](),'content':JSON['stringify'](_0x262612)},_0x155597=this['channel']['publish'](_0x5346ee[_0x299eca(0x12d)],_0x5346ee[_0x299eca(0x162)],Buffer[_0x299eca(0x16b)](JSON[_0x299eca(0x173)](_0x4e7a09)),{'persistent':!![],'contentType':_0x3a740c[_0x299eca(0x163)],'timestamp':_0x3652f2[_0x299eca(0x12f)](),'messageId':_0x3652f2['getTime']()+'-'+Math['random']()['toString'](0x24)[_0x299eca(0x12b)](0x7),'headers':{'x-auto-retry':_0x14cf08,'x-max-retry':_0x1243e7,'x-retry-count':0x0,'x-retry-interval':0x2710}});if(_0x155597){console[_0x299eca(0x182)]('['+formatDate(_0x3652f2)+_0x299eca(0x172),{'exchange':_0x5346ee['exchange'],'routing_key':_0x5346ee[_0x299eca(0x162)],'queue':_0x5346ee[_0x299eca(0x148)],'sendAt':_0x3652f2[_0x299eca(0x14d)]()});const _0x5aa1f9=_0x299eca(0x181)+_0x3652f2['getTime']()+'-'+Math['random']()['toString'](0x24)[_0x299eca(0x12b)](0x7);return{'success':!![],'message':'Data\x20sent\x20to\x20queue\x20successfully','data':{'id':_0x5aa1f9,'queueInfo':{'exchange':_0x5346ee['exchange'],'queue':_0x5346ee['queue'],'routingKey':_0x5346ee[_0x299eca(0x162)]}}};}else throw new Error(_0x3a740c[_0x299eca(0x184)]);}catch(_0x1cf524){return console['error']('['+formatDate(new Date())+_0x299eca(0x129)+_0x1cf524[_0x299eca(0x17f)]),{'success':![],'message':'Error:\x20'+_0x1cf524['message'],'data':null};}}[a0_0x40a24a(0x131)](_0x54d94d){const _0xf972b3=a0_0x40a24a,_0x68506b={'zbTYV':'function','gyZoi':function(_0x17c6df,_0x15787e){return _0x17c6df(_0x15787e);}};typeof _0x54d94d===_0x68506b['zbTYV']?(this['messageHandlers']['push'](_0x54d94d),console['log']('['+_0x68506b['gyZoi'](formatDate,new Date())+']\x20Message\x20handler\x20registered')):console[_0xf972b3(0x186)]('['+_0x68506b['gyZoi'](formatDate,new Date())+_0xf972b3(0x16d));}async[a0_0x40a24a(0x17e)](_0x5d0da2){const _0x3de7ef=a0_0x40a24a,_0x621030={'RDoYd':function(_0x56e3cb,_0x20c920){return _0x56e3cb(_0x20c920);}};if(this[_0x3de7ef(0x160)]['length']===0x0)return console[_0x3de7ef(0x16f)]('['+_0x621030['RDoYd'](formatDate,new Date())+']\x20No\x20handlers\x20registered\x20to\x20process\x20messages'),!![];try{for(const _0x47b46a of this['messageHandlers']){await _0x47b46a(_0x5d0da2);}return!![];}catch(_0x5ac3a2){return console['error']('['+_0x621030['RDoYd'](formatDate,new Date())+']\x20Error\x20processing\x20message:\x20'+_0x5ac3a2[_0x3de7ef(0x17f)]),![];}}async['startConsume'](){const _0x566628=a0_0x40a24a,_0x3e74f5={'OrBvS':function(_0x5a0967,_0x3f7216){return _0x5a0967!==_0x3f7216;},'YQhcB':function(_0x15c172,_0x3fc13f){return _0x15c172(_0x3fc13f);},'BfCrn':function(_0x37aec9,_0x218d28){return _0x37aec9(_0x218d28);}};if(!this[_0x566628(0x17d)])return console[_0x566628(0x186)]('['+_0x3e74f5[_0x566628(0x14c)](formatDate,new Date())+_0x566628(0x124)),![];try{return console['log']('['+formatDate(new Date())+_0x566628(0x185)+this[_0x566628(0x187)][_0x566628(0x148)]+_0x566628(0x167)),this['channel'][_0x566628(0x166)](this[_0x566628(0x187)]['queue'],async _0x327a6d=>{const _0x341d2d=_0x566628;if(_0x3e74f5[_0x341d2d(0x13d)](_0x327a6d,null)){const _0xadf5aa=new Date();let _0x360e0a;try{_0x360e0a=JSON['parse'](_0x327a6d[_0x341d2d(0x161)]['toString']());}catch(_0x40b552){console[_0x341d2d(0x186)]('['+_0x3e74f5[_0x341d2d(0x155)](formatDate,_0xadf5aa)+_0x341d2d(0x159)+_0x40b552[_0x341d2d(0x17f)]),console['error'](_0x341d2d(0x157)+_0x327a6d['content']['toString']()),this['channel'][_0x341d2d(0x153)](_0x327a6d);return;}const _0xad30da=_0x327a6d[_0x341d2d(0x143)][_0x341d2d(0x177)]?new Date(_0x327a6d['properties'][_0x341d2d(0x177)]):new Date(),_0x81fcee=await this[_0x341d2d(0x17e)](_0x360e0a);_0x81fcee?(console[_0x341d2d(0x182)]('['+formatDate(new Date())+']\x20Message\x20processed\x20successfully'),this['channel']['ack'](_0x327a6d)):(console['error']('['+formatDate(new Date())+_0x341d2d(0x17a)),this[_0x341d2d(0x15e)]['nack'](_0x327a6d,![],!![])),console[_0x341d2d(0x182)](_0x341d2d(0x15d));}},{'noAck':![]}),!![];}catch(_0x1d1070){return console[_0x566628(0x186)]('['+formatDate(new Date())+_0x566628(0x16a)+_0x1d1070['message']),![];}}async[a0_0x40a24a(0x136)](){const _0x4fc83f=a0_0x40a24a;this[_0x4fc83f(0x16c)]&&(await closeConnection(this['connection']),this[_0x4fc83f(0x17d)]=![]);}}let instance=null;function getInstance(){return!instance&&(instance=new RabbitMQService()),instance;}module['exports']={'getInstance':getInstance};
|
|
1
|
+
function a0_0x1181(_0x3b72a9,_0xbc994f){_0x3b72a9=_0x3b72a9-0x162;const _0x118857=a0_0x1188();let _0x118106=_0x118857[_0x3b72a9];if(a0_0x1181['VODQOe']===undefined){var _0x47e254=function(_0x84f4bb){const _0x37e131='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3d317c='',_0x1573e6='';for(let _0x5b03df=0x0,_0x505827,_0x3fa2b0,_0x32dcaa=0x0;_0x3fa2b0=_0x84f4bb['charAt'](_0x32dcaa++);~_0x3fa2b0&&(_0x505827=_0x5b03df%0x4?_0x505827*0x40+_0x3fa2b0:_0x3fa2b0,_0x5b03df++%0x4)?_0x3d317c+=String['fromCharCode'](0xff&_0x505827>>(-0x2*_0x5b03df&0x6)):0x0){_0x3fa2b0=_0x37e131['indexOf'](_0x3fa2b0);}for(let _0x5a1043=0x0,_0x4c12df=_0x3d317c['length'];_0x5a1043<_0x4c12df;_0x5a1043++){_0x1573e6+='%'+('00'+_0x3d317c['charCodeAt'](_0x5a1043)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1573e6);};a0_0x1181['zQYwaz']=_0x47e254,a0_0x1181['vyFFIc']={},a0_0x1181['VODQOe']=!![];}const _0x185127=_0x118857[0x0],_0x397f73=_0x3b72a9+_0x185127,_0x22effb=a0_0x1181['vyFFIc'][_0x397f73];return!_0x22effb?(_0x118106=a0_0x1181['zQYwaz'](_0x118106),a0_0x1181['vyFFIc'][_0x397f73]=_0x118106):_0x118106=_0x22effb,_0x118106;}const a0_0x2bd71f=a0_0x1181;(function(_0x49ec85,_0x258467){const _0x35c1cc=a0_0x1181,_0x3dc214=_0x49ec85();while(!![]){try{const _0x1f0892=-parseInt(_0x35c1cc(0x17a))/0x1+-parseInt(_0x35c1cc(0x18e))/0x2*(parseInt(_0x35c1cc(0x193))/0x3)+-parseInt(_0x35c1cc(0x1a1))/0x4*(-parseInt(_0x35c1cc(0x19b))/0x5)+parseInt(_0x35c1cc(0x17f))/0x6*(parseInt(_0x35c1cc(0x162))/0x7)+-parseInt(_0x35c1cc(0x18b))/0x8+-parseInt(_0x35c1cc(0x170))/0x9+parseInt(_0x35c1cc(0x1aa))/0xa*(parseInt(_0x35c1cc(0x1a6))/0xb);if(_0x1f0892===_0x258467)break;else _0x3dc214['push'](_0x3dc214['shift']());}catch(_0x7900f7){_0x3dc214['push'](_0x3dc214['shift']());}}}(a0_0x1188,0x6d56c));function a0_0x1188(){const _0x810095=['yMLUzff1zxvL','twvZC2fNzsbJB250zw50oIa','y29UBMvJDgLVBG','nZe2mJDMBML0wei','yxnZzxj0uxvLDwu','BMfJAW','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','CMfUzg9T','mte2nda2Axbhr2Tl','tgnAr1O','lI4VDxrPBhmVzgf0zuHLBhbLCG','C2vUzfrVuxvLDwu','y29UzMLN','CMvNAxn0zxjnzxnZywDLsgfUzgXLCG','ksbJCMvHDgvK','lI4VDxrPBhmVCMfIyML0Bxe','zNjVBq','zeHrzMi','BK5Tugu','Aw5JBhvKzxm','nJm3ntGXnKrZy0X5tW','C3rYAw5NAwz5','ihDPDgGGreXy','nte0mfDyzgfjBq','xsbfuLjpuJOGuxvLDwuG','CM91DgLUz0TLEq','rMfPBgvKihrVihnLBMqGBwvZC2fNzsb0BYbsywjIAxrnuq','xsbgywLSzwqGDg8GC3rHCNqGy29UC3vTAw5NoIa','nJy2sNPrqwHU','y29UC3vTzq','yMvZrxe','EKvSzxm','yxbWBgLJyxrPB24VANnVBG','BwvZC2fNzuHHBMrSzxjZ','ChjVy2vZC01LC3nHz2u','CxvLDwu','nJKWnZe1zNb6A3jR','xsbgywLSzwqGDg8GChjVy2vZCYbTzxnZywDLlcbYzxf1zxvPBMC','y29UDgvUDa','xsbdyw5UB3qGC3rHCNqGy29UC3vTAw5NoIbUB3qGy29UBMvJDgvKihrVifjHyMjPDe1r','vhj5Aw5NigfSDgvYBMf0AxzLihf1zxvLig5HBwuUlI4','BeL0svm','nhjTvMnquW','z2v0vgLTzq','xsbfCNjVCIbZzw5KAw5NihrVifjHyMjPDe1roIa','xsbtDwnJzxnZzNvSBhKGCMvJB25Uzwn0zwqGDg8GuMfIyML0tve','yNfMAwW','mZyXouT4yNHxCa','CxvLDwuT','C2v0DxbdB2XSzwn0B3jjBMzYyxn0CNvJDhvYzq','ref4sgG','ntG0nJbmC1nqr0G','BwvZC2fNzq','xsbqCMvMzxrJAcbKAwf0DxiGA2uGmq','yxnZzxj0rxHJAgfUz2u','xsbnzxnZywDLihbYB2nLC3nLzcbZDwnJzxnZzNvSBhK','Awfur0G','D2fYBG','tMzSBgW','zxHJAgfUz2u','xsblB25LA3nPifjHyMjPDe1rihrLCNb1DhvZ','D3P3wLu','zNvUy3rPB24','Aw5PDgLHBgL6zq','xsboBYbOyw5KBgvYCYbYzwDPC3rLCMvKihrVihbYB2nLC3mGBwvZC2fNzxm','BwHdDuO','mJaZwMPKseLx','q2fUBM90ignVBM5Ly3qGDg8GuMfIyML0tve6ia','Bg9N','zxvOy2W','zgLYzwn0','CgD2vgq','BgvUz3rO','xsbbDhrLBxb0Aw5NihrVihjLy29UBMvJDcb0BYbsywjIAxrnus4UlG','y2XVC2u','xsbnzxnZywDLigHHBMrSzxiGCMvNAxn0zxjLza','Bwf4x3jLDhjPzxm','y2HHBM5LBa','ic0+ia','ignYzwf0zwqVCMvHzhK','nJyZmZK5mgP5C01ODa','Cevzru4','zxjYB3i','Dg9tDhjPBMC','ENLivwS','AxndB25Uzwn0zwq','ChjVCgvYDgLLCW'];a0_0x1188=function(){return _0x810095;};return a0_0x1188();}const {createConnection,createChannel,setupInfrastructure,closeConnection,getConfig}=require(a0_0x2bd71f(0x186)),{formatDate}=require(a0_0x2bd71f(0x181));class RabbitMQService{constructor(){const _0x2c9f33=a0_0x2bd71f,_0x31b67e={'nNmPe':function(_0x37b709){return _0x37b709();}};this['connection']=null,this['channel']=null,this['config']=_0x31b67e[_0x2c9f33(0x189)](getConfig),this['isConnected']=![],this[_0x2c9f33(0x198)]=[];}async[a0_0x2bd71f(0x1b6)](){const _0x1deea4=a0_0x2bd71f,_0x505263={'sQDld':function(_0x4ddba2,_0x129414){return _0x4ddba2(_0x129414);},'besEq':function(_0x141179,_0x432bb,_0x1a9407){return _0x141179(_0x432bb,_0x1a9407);},'iaTGH':function(_0x271150,_0x12c8b4){return _0x271150(_0x12c8b4);},'mhCuJ':_0x1deea4(0x16a),'qlXRS':function(_0x5644c0,_0xe1c988){return _0x5644c0(_0xe1c988);}};try{return this[_0x1deea4(0x179)]=await createConnection(),this['channel']=await _0x505263[_0x1deea4(0x1af)](createChannel,this['connection']),await this[_0x1deea4(0x16d)]['prefetch'](0x1),console[_0x1deea4(0x164)]('['+formatDate(new Date())+_0x1deea4(0x1ac)),await setupInfrastructure(this['channel']),this[_0x1deea4(0x175)]=!![],this[_0x1deea4(0x179)]['on'](_0x505263[_0x1deea4(0x1b8)],()=>{const _0x4fa3e7=_0x1deea4;console['error']('['+_0x505263['sQDld'](formatDate,new Date())+_0x4fa3e7(0x1b3)),this[_0x4fa3e7(0x175)]=![],_0x505263[_0x4fa3e7(0x195)](setTimeout,()=>this['reconnect'](),0x1388);}),!![];}catch(_0x30f3cf){return console['error']('['+_0x505263['qlXRS'](formatDate,new Date())+']\x20Failed\x20to\x20initialize\x20RabbitMQ:\x20'+_0x30f3cf['message']),this[_0x1deea4(0x175)]=![],![];}}async['reconnect'](){const _0x19e6f0=a0_0x2bd71f,_0x3d2596={'xHHWZ':function(_0x1b440b,_0x1820c3){return _0x1b440b(_0x1820c3);},'DAxHh':function(_0x28a394,_0x5e8ec9){return _0x28a394(_0x5e8ec9);},'LcZGZ':function(_0x4898c6,_0x2f5a13,_0x5d83c6){return _0x4898c6(_0x2f5a13,_0x5d83c6);}};console[_0x19e6f0(0x164)]('['+_0x3d2596['xHHWZ'](formatDate,new Date())+_0x19e6f0(0x169));try{await this['initialize'](),this[_0x19e6f0(0x175)]&&(console[_0x19e6f0(0x164)]('['+formatDate(new Date())+_0x19e6f0(0x1a4)),await this['startConsume']());}catch(_0x324d88){console['error']('['+_0x3d2596[_0x19e6f0(0x1a9)](formatDate,new Date())+']\x20Failed\x20to\x20reconnect\x20to\x20RabbitMQ:\x20'+_0x324d88['message']),_0x3d2596[_0x19e6f0(0x180)](setTimeout,()=>this['reconnect'](),0x1388);}}async[a0_0x2bd71f(0x1a8)](_0x7ae3e9){const _0x514245=a0_0x2bd71f,_0x346597={'lItIS':function(_0x2d6e87){return _0x2d6e87();},'mvcde':'direct','pEYEN':function(_0x2da463,_0x1070f7){return _0x2da463(_0x1070f7);},'UHPJy':function(_0x58b9e4,_0x2a03cf){return _0x58b9e4(_0x2a03cf);},'pgvTd':function(_0x3affa6,_0x23b0d6){return _0x3affa6(_0x23b0d6);},'zyHUk':'created/ready','wzwZU':'x-dead-letter-routing-key'};try{!this[_0x514245(0x175)]&&(this['connection']=await _0x346597[_0x514245(0x1a0)](createConnection),this['channel']=await createChannel(this[_0x514245(0x179)]),this[_0x514245(0x175)]=!![]);const _0x229939=process['env']['RESTFORGE_PROJECT_NAME']||'default',_0x50d426=_0x229939+'-retry-exchange';await this[_0x514245(0x16d)][_0x514245(0x1ad)](_0x50d426,_0x346597['mvcde'],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x346597[_0x514245(0x171)](formatDate,new Date())+']\x20Retry\x20exchange\x20'+_0x50d426+_0x514245(0x16f)),await this['channel'][_0x514245(0x1ad)](_0x7ae3e9[_0x514245(0x1b2)],_0x514245(0x166),{'durable':!![],'autoDelete':![]}),console['log']('['+_0x346597['UHPJy'](formatDate,new Date())+']\x20Exchange\x20'+_0x7ae3e9['exchange']+_0x514245(0x16f));const _0x31b811=_0x7ae3e9['routingKey']+'_retry',_0x2329bf={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':_0x7ae3e9[_0x514245(0x1b2)],'x-dead-letter-routing-key':_0x7ae3e9[_0x514245(0x190)]}};await this[_0x514245(0x16d)][_0x514245(0x17b)](_0x31b811,_0x2329bf),console['log']('['+formatDate(new Date())+']\x20Retry\x20queue\x20'+_0x31b811+_0x514245(0x16f)),await this['channel'][_0x514245(0x177)](_0x31b811,_0x50d426,_0x7ae3e9['routingKey']),console[_0x514245(0x164)]('['+formatDate(new Date())+']\x20Retry\x20binding\x20for\x20'+_0x7ae3e9['routingKey']+'\x20created');const _0x139b06={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x50d426,'x-dead-letter-routing-key':_0x7ae3e9[_0x514245(0x190)]}};try{const _0x42d7a6=await this[_0x514245(0x16d)]['assertQueue'](_0x7ae3e9[_0x514245(0x19a)],_0x139b06);console['log']('['+_0x346597[_0x514245(0x167)](formatDate,new Date())+']\x20Queue\x20'+_0x7ae3e9['queue']+'\x20'+(_0x42d7a6['queue']===_0x7ae3e9[_0x514245(0x19a)]?_0x346597[_0x514245(0x174)]:'found')+_0x514245(0x18d)),await this['channel'][_0x514245(0x177)](_0x7ae3e9['queue'],_0x7ae3e9['exchange'],_0x7ae3e9[_0x514245(0x190)]),console['log']('['+_0x346597['pgvTd'](formatDate,new Date())+']\x20Binding\x20'+_0x7ae3e9[_0x514245(0x1b2)]+_0x514245(0x16e)+_0x7ae3e9[_0x514245(0x19a)]+'\x20('+_0x7ae3e9[_0x514245(0x190)]+_0x514245(0x185));}catch(_0x2c2f25){if(_0x2c2f25[_0x514245(0x1ab)][_0x514245(0x18a)]('inequivalent\x20arg')&&_0x2c2f25['message']['includes'](_0x346597[_0x514245(0x1b4)])){console[_0x514245(0x172)]('\x0a['+_0x346597[_0x514245(0x167)](formatDate,new Date())+_0x514245(0x18f)+_0x7ae3e9['queue']+_0x514245(0x17d)),console['error'](_0x514245(0x19f));const _0x6df1b2=_0x7ae3e9['routingKey']+'_queue',_0x5f30c9=await this['channel'][_0x514245(0x17b)](_0x6df1b2,_0x139b06);console[_0x514245(0x164)]('['+formatDate(new Date())+']\x20Alternative\x20queue\x20'+_0x6df1b2+'\x20created\x20with\x20DLX'),await this['channel']['bindQueue'](_0x6df1b2,_0x7ae3e9[_0x514245(0x1b2)],_0x7ae3e9['routingKey']),console[_0x514245(0x164)]('['+formatDate(new Date())+']\x20Binding\x20'+_0x7ae3e9['exchange']+_0x514245(0x16e)+_0x6df1b2+'\x20('+_0x7ae3e9['routingKey']+_0x514245(0x185)),_0x7ae3e9[_0x514245(0x19a)]=_0x6df1b2;}else{console[_0x514245(0x172)]('['+_0x346597['pgvTd'](formatDate,new Date())+']\x20Error\x20creating\x20queue\x20'+_0x7ae3e9['queue']+':',_0x2c2f25['message']);throw _0x2c2f25;}}return!![];}catch(_0x476e1d){return console[_0x514245(0x172)]('['+formatDate(new Date())+']\x20Error\x20saat\x20setup\x20infrastruktur:\x20'+_0x476e1d[_0x514245(0x1ab)]),![];}}async[a0_0x2bd71f(0x182)](_0x11cd45,_0x3945d4){const _0xbbfb9d=a0_0x2bd71f,_0x49932e={'zEles':function(_0x3229fb,_0x4ce59b){return _0x3229fb!==_0x4ce59b;},'pDZVQ':_0xbbfb9d(0x197),'nPDkF':_0xbbfb9d(0x191)};if(!this[_0xbbfb9d(0x175)])try{await this['initialize']();}catch(_0x4ede91){return{'success':![],'message':_0xbbfb9d(0x163)+_0x4ede91['message'],'data':null};}try{const _0x6cd361=_0x49932e[_0xbbfb9d(0x196)](_0x3945d4['auto_retry'],undefined)?_0x3945d4['auto_retry']:![],_0x589ca7=_0x3945d4[_0xbbfb9d(0x16c)]||0x3,_0x5e8664={'rabbitmq':{'exchange':_0x3945d4['exchange'],'queue':_0x3945d4['queue'],'routing_key':_0x3945d4[_0xbbfb9d(0x190)],'auto_retry':_0x6cd361,'max_retries':_0x589ca7},'message':_0x11cd45};await this[_0xbbfb9d(0x1a8)](_0x3945d4);const _0x270313=new Date(),_0x1a9b30={'timestamp':_0x270313['toISOString'](),'content':JSON[_0xbbfb9d(0x18c)](_0x5e8664)},_0x6403db=this['channel']['publish'](_0x3945d4[_0xbbfb9d(0x1b2)],_0x3945d4['routingKey'],Buffer[_0xbbfb9d(0x187)](JSON[_0xbbfb9d(0x18c)](_0x1a9b30)),{'persistent':!![],'contentType':_0x49932e['pDZVQ'],'timestamp':_0x270313[_0xbbfb9d(0x1a2)](),'messageId':_0x270313[_0xbbfb9d(0x1a2)]()+'-'+Math[_0xbbfb9d(0x17e)]()[_0xbbfb9d(0x173)](0x24)['substring'](0x7),'headers':{'x-auto-retry':_0x6cd361,'x-max-retry':_0x589ca7,'x-retry-count':0x0,'x-retry-interval':0x2710}});if(_0x6403db){console['log']('['+formatDate(_0x270313)+']\x20Message\x20sent\x20to\x20RabbitMQ\x20successfully:',{'exchange':_0x3945d4['exchange'],'routing_key':_0x3945d4[_0xbbfb9d(0x190)],'queue':_0x3945d4['queue'],'sendAt':_0x270313['toISOString']()});const _0x273b20=_0xbbfb9d(0x1a7)+_0x270313['getTime']()+'-'+Math['random']()[_0xbbfb9d(0x173)](0x24)['substring'](0x7);return{'success':!![],'message':'Data\x20sent\x20to\x20queue\x20successfully','data':{'id':_0x273b20,'queueInfo':{'exchange':_0x3945d4[_0xbbfb9d(0x1b2)],'queue':_0x3945d4[_0xbbfb9d(0x19a)],'routingKey':_0x3945d4[_0xbbfb9d(0x190)]}}};}else throw new Error(_0x49932e['nPDkF']);}catch(_0x2d982f){return console[_0xbbfb9d(0x172)]('['+formatDate(new Date())+_0xbbfb9d(0x1a3)+_0x2d982f[_0xbbfb9d(0x1ab)]),{'success':![],'message':'Error:\x20'+_0x2d982f[_0xbbfb9d(0x1ab)],'data':null};}}[a0_0x2bd71f(0x184)](_0x287c89){const _0x5c52e1=a0_0x2bd71f,_0x4dd1f7={'euhcl':function(_0x187f21,_0x4f74bb){return _0x187f21(_0x4f74bb);}};typeof _0x287c89===_0x5c52e1(0x1b5)?(this[_0x5c52e1(0x198)]['push'](_0x287c89),console[_0x5c52e1(0x164)]('['+_0x4dd1f7[_0x5c52e1(0x165)](formatDate,new Date())+_0x5c52e1(0x16b))):console[_0x5c52e1(0x172)]('['+formatDate(new Date())+']\x20Message\x20handler\x20must\x20be\x20a\x20function');}async[a0_0x2bd71f(0x199)](_0x4fc4eb){const _0x54911e=a0_0x2bd71f,_0x5d16eb={'dmAtB':function(_0x35ddb5,_0x47e250){return _0x35ddb5(_0x47e250);}};if(this['messageHandlers'][_0x54911e(0x168)]===0x0)return console[_0x54911e(0x1b0)]('['+formatDate(new Date())+_0x54911e(0x1b7)),!![];try{for(const _0x4776d0 of this[_0x54911e(0x198)]){await _0x5d16eb['dmAtB'](_0x4776d0,_0x4fc4eb);}return!![];}catch(_0x116ca4){return console[_0x54911e(0x172)]('['+formatDate(new Date())+']\x20Error\x20processing\x20message:\x20'+_0x116ca4[_0x54911e(0x1ab)]),![];}}async['startConsume'](){const _0x1485dc=a0_0x2bd71f,_0x32e3fc={'dHQfb':function(_0x7441cb,_0x524f4e){return _0x7441cb!==_0x524f4e;},'ibfHu':function(_0x396b79,_0x567dbf){return _0x396b79(_0x567dbf);},'Nflll':function(_0x42f45b,_0xffc3d1){return _0x42f45b(_0xffc3d1);},'bqfil':function(_0x539b1a,_0x435a24){return _0x539b1a(_0x435a24);}};if(!this[_0x1485dc(0x175)])return console[_0x1485dc(0x172)]('['+_0x32e3fc['ibfHu'](formatDate,new Date())+_0x1485dc(0x19e)),![];try{return console[_0x1485dc(0x164)]('['+formatDate(new Date())+']\x20Start\x20consuming\x20messages\x20from\x20queue\x20\x22'+this[_0x1485dc(0x183)]['queue']+'\x22...'),this[_0x1485dc(0x16d)][_0x1485dc(0x194)](this[_0x1485dc(0x183)][_0x1485dc(0x19a)],async _0x57ca87=>{const _0x2f75fb=_0x1485dc;if(_0x32e3fc[_0x2f75fb(0x188)](_0x57ca87,null)){const _0x1cf212=new Date();let _0x3f5856;try{_0x3f5856=JSON['parse'](_0x57ca87['content']['toString']());}catch(_0x5d91d8){console[_0x2f75fb(0x172)]('['+_0x32e3fc['ibfHu'](formatDate,_0x1cf212)+']\x20Failed\x20to\x20parse\x20message:\x20'+_0x5d91d8['message']),console[_0x2f75fb(0x172)](_0x2f75fb(0x178)+_0x57ca87[_0x2f75fb(0x19d)][_0x2f75fb(0x173)]()),this['channel']['ack'](_0x57ca87);return;}const _0x109740=_0x57ca87[_0x2f75fb(0x176)]['timestamp']?new Date(_0x57ca87['properties']['timestamp']):new Date(),_0x335d81=await this[_0x2f75fb(0x199)](_0x3f5856);_0x335d81?(console['log']('['+_0x32e3fc[_0x2f75fb(0x1b1)](formatDate,new Date())+_0x2f75fb(0x1ae)),this['channel']['ack'](_0x57ca87)):(console['error']('['+formatDate(new Date())+_0x2f75fb(0x19c)),this['channel'][_0x2f75fb(0x17c)](_0x57ca87,![],!![])),console['log']('---');}},{'noAck':![]}),!![];}catch(_0x1e5aac){return console['error']('['+_0x32e3fc[_0x1485dc(0x1a5)](formatDate,new Date())+_0x1485dc(0x192)+_0x1e5aac['message']),![];}}async['close'](){const _0xa8a71d=a0_0x2bd71f,_0x1a7e60={'vQiLi':function(_0x4e80cb,_0x30b022){return _0x4e80cb(_0x30b022);}};this[_0xa8a71d(0x179)]&&(await _0x1a7e60['vQiLi'](closeConnection,this[_0xa8a71d(0x179)]),this['isConnected']=![]);}}let instance=null;function getInstance(){return!instance&&(instance=new RabbitMQService()),instance;}module['exports']={'getInstance':getInstance};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x4dced4=a0_0x260a;function a0_0x260a(_0x2f0bc9,_0x2f22ec){_0x2f0bc9=_0x2f0bc9-0x1aa;const _0x2ad1ab=a0_0x2ad1();let _0x260a87=_0x2ad1ab[_0x2f0bc9];if(a0_0x260a['mtBBxk']===undefined){var _0x7f6be=function(_0x59a1df){const _0x4dc67b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1dcdb3='',_0x1f2c97='';for(let _0x3028ef=0x0,_0x55f7b8,_0x2ccda0,_0x4defb3=0x0;_0x2ccda0=_0x59a1df['charAt'](_0x4defb3++);~_0x2ccda0&&(_0x55f7b8=_0x3028ef%0x4?_0x55f7b8*0x40+_0x2ccda0:_0x2ccda0,_0x3028ef++%0x4)?_0x1dcdb3+=String['fromCharCode'](0xff&_0x55f7b8>>(-0x2*_0x3028ef&0x6)):0x0){_0x2ccda0=_0x4dc67b['indexOf'](_0x2ccda0);}for(let _0x285bd3=0x0,_0x586931=_0x1dcdb3['length'];_0x285bd3<_0x586931;_0x285bd3++){_0x1f2c97+='%'+('00'+_0x1dcdb3['charCodeAt'](_0x285bd3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1f2c97);};a0_0x260a['LSsafv']=_0x7f6be,a0_0x260a['nvMhff']={},a0_0x260a['mtBBxk']=!![];}const _0x1a522a=_0x2ad1ab[0x0],_0x26e898=_0x2f0bc9+_0x1a522a,_0x5230b4=a0_0x260a['nvMhff'][_0x26e898];return!_0x5230b4?(_0x260a87=a0_0x260a['LSsafv'](_0x260a87),a0_0x260a['nvMhff'][_0x26e898]=_0x260a87):_0x260a87=_0x5230b4,_0x260a87;}(function(_0x5ab4c1,_0x43733a){const _0x3a42d4=a0_0x260a,_0x54f845=_0x5ab4c1();while(!![]){try{const _0x5280ac=parseInt(_0x3a42d4(0x233))/0x1+parseInt(_0x3a42d4(0x2c5))/0x2*(-parseInt(_0x3a42d4(0x215))/0x3)+-parseInt(_0x3a42d4(0x27a))/0x4*(-parseInt(_0x3a42d4(0x223))/0x5)+parseInt(_0x3a42d4(0x239))/0x6+-parseInt(_0x3a42d4(0x2a0))/0x7+-parseInt(_0x3a42d4(0x1ea))/0x8+-parseInt(_0x3a42d4(0x1ed))/0x9*(-parseInt(_0x3a42d4(0x26f))/0xa);if(_0x5280ac===_0x43733a)break;else _0x54f845['push'](_0x54f845['shift']());}catch(_0x723039){_0x54f845['push'](_0x54f845['shift']());}}}(a0_0x2ad1,0x843f9));const {Queue,Worker}=require(a0_0x4dced4(0x292)),Redis=require(a0_0x4dced4(0x1e6)),crypto=require(a0_0x4dced4(0x2b9)),{v7:uuidv7}=require('uuid'),fs=require('fs'),path=require('path'),{logger}=require(a0_0x4dced4(0x250)),jobValidator=require(a0_0x4dced4(0x1be));function a0_0x2ad1(){const _0x37c38d=['y3jLyxrLqNvSBe1rq29UBMvJDgLVBG','Cgf1C2vK','y2f0y2G','zw9LD1m','vuT4zgu','y01TqKu','rejFvfLqrsaN','sM9Iia','yNvSBg1X','z2v0sgvHBhrOu3rHDhvZ','rMfPBgvKihrVihvWC2vYDcbQB2iGCMvNAxn0CNK6ia','x3nVDxjJzuzPBgu','BwvZC2fNzq','Aw5PDgLHBerLBgf5','B3jHy2XL','zw5HyMXLza','rMfPBgvKihrVihvWzgf0zsbQB2iGAgLZDg9YEsaOy29TCgXLDgvKktOG','BxmPoIa','zgvSyxLLza','DMfSAwrHDgvdB25MAwC','C2nOzwr1Bgu','Ee9TwKO','mJy1ndK2ufvcEhbd','D29YA2vYCW','ifjLzgLZignVBM5Ly3rPB25Z','sM9Iig5VDcbMB3vUzdOG','iokaLca','AM9Ix3DVCMTLCNnFy3jLyxrLza','CxvLDwu','igPVyIbJB25MAwCOCYKGzNjVBsbWyxLSB2fKl2PVyNmV','C2v0','z2v0q2fJAgvnyw5Hz2vY','Bwf4qxr0zw1WDhm','zw52','z2T5A1a','AgfUzgXLCG','zgvZy3jPChrPB24','q1fwBeq','z2v0u3rHDgu','yvD2rwu','zMLSDgvY','DxbKyxrLuhjVz3jLC3m','DfDWEgu','lMPZ','BMfTzq','AM9Ix3jLz2LZDhj5x3vWC2vYDf9LCNjVCG','EKzZvfu','y3j5ChrV','BxLZCwW','yxr0zw1WDhnnywrL','AM9Ix2nVBMzPz19PBNzHBgLK','mxWWFdz8n3W1Fdj8m3W0','CxvRrfq','C3vJy2vZCW','z2v0','DfzUy28','zMfPBgvKuMvHC29U','DhLWzq','CMv0CNK','mKTMt1vYvq','D29YA2LUz0rPCG','sK9cx1jfreLtx1bsruzjwa','r25huee','y29TCg9Uzw50rw5NAw5L','AM9Ix2HPC3rVCNLFzMfPBgvKx2vYCM9Y','DxbZzxj0sM9Iu2nOzwr1BgvY','sK9cx01bwf9tvefmtevex0npvu5u','DxrMoa','icHPzdOG','id0G','z2v0sM9Iu2nOzwr1BgvYCW','ChvZAa','yxbPlwrLBgf5zwq','EgjYB3e','CgLK','yMfJA29MzG','AM9PBG','y29UBMvJDgLVBNm','ANvgALi','C3vIC3rYAw5N','zgf0yq','AM9Ix21HBMfNzxjFC2H1DgrVD25Fy29TCgXLDgu','Aw5MBW','uuz5v1C','ig5VDcbMB3vUza','sM9Iihn0yxj0zwq6ia','wNrUt2K','DurArLe','zMnJreu','C1LhuNi','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNzMfPBgvKjYWGy29TCgXLDgvKx2f0id0Gu1LtveLnrvnuqu1qlaOGicaGicaGicaGigr1CMf0Aw9Ux21Zid0GoJeSihbYB2DYzxnZid0GoJiSigvYCM9Yx21LC3nHz2uGpsa6mYWGzxjYB3jFC3rHy2SGpsa6ncbxsevsrsbPzca9idO1','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGC3rHDhvZid0Gj29MzMXPBMuNlcbUzxH0x3j1BL9HDca9ie5vteWSihvWzgf0zwrFyxqGpsbot1COkq','CMv0DxjUDMfSDwu','z2v0uMvKAxndBgLLBNq','wNjnqw8','zxHLy3v0zuv2zw50sgfUzgXLCNm','AgLZDg9YEuLK','lI4VlI4VC2vYDMLJzxmVA2fMA2ftzxj2AwnL','yxbP','B25bzNrLCKPVyKzHAwXLzcbOyw5KBgvYigvYCM9YicHUB24TyMXVy2TPBMCP','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa/lcbSyxn0x3j1BL9HDca9ie5pvYGPifDirvjfigPVyL9Uyw1Lid0GpW','ug9ZDgDYzvnrtcbeqIbTB2r1BguGBM90igf2ywLSywjSzq','zMfPBgvK','zMLUza','lI9QB2iTDMfSAwrHDg9Y','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNC3vJy2vZCYCSignVBxbSzxrLzf9HDca9ie5pvYGPlaOGicaGicaGicaGigr1CMf0Aw9Ux21Zid0GjdeSihbYB2DYzxnZid0GmtaWlcbYzxn1BhrFC3vTBwfYEsa9icqYifDirvjfigLKid0Gjdm','BxLZCwWUC3fS','EwP1D24','AgLNAa','AM9Ix3n0yxj0zwq','zgjFBxLZCwXFDw5HDMfPBgfIBgu','ywrK','AM9Ix2HPC3rVCNLFy29TCgXLDgvFzxjYB3i','rw9hthm','DhjPz2DLCLr5Cgu','yunhzuu','ChvIBgLZAev2zw50','Dg9mB3DLCKnHC2u','C2v0qwXSsM9IC09MzMXPBMu','BxmPlI4U','DxbKyxrLuMvNAxn0CNLtDgf0Dxm','AM9Ix3jLzgLZx2nVBM5Ly3rLza','sM9Iie1HBMfNzxiGC3vKywGGzgLPBMLZAwfSAxnHC2KSihnRAxa','y3jLyxrLza','A1bOs1G','sK9cx1jfvevoveLptL9it1vsuW','zgLZCgf0y2HezwXHEwvK','AxnqyxvZzwq','DhjPBq','ywz0zxjFAM9Ix2zHAwXLzf9OB29Rx2vYCM9Y','q3jVBIbYzwDPC3rLCMvKoIa','sM9IigzHAwXLzdOG','AM9Ix2HHBMrSzxjFzg9Uzq','z2v0q2XPzw50','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNzMfPBgvKjYWGy29TCgXLDgvKx2f0id0GtK9xkcKScIaGicaGicaGicaGzhvYyxrPB25FBxmGpsaKmsWGChjVz3jLC3mGpsaKmIWGzxjYB3jFBwvZC2fNzsa9icqZlcbLCNjVCL9ZDgfJAYa9icq0ifDirvjfigLKid0Gjdu','zw5ZDxjLvgfIBgvZ','yNv5B1u','B25SAw5L','B3jHltaWotu1','AM9Ix2THzMTHx3b1yMXPC2HFzxjYB3i','sK9cx0nptKnvuLjftKnz','wMLmDgK','CgfYC2u','AM9ICW','Aw9YzwrPCW','AM9Ix2zHAwXLza','zu9KyK8','uKvesvnFrei','nZi2nZi3mKzZD1v4AG','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticG/lca/lca/lca/lca/lcaNCNvUBMLUzYCSid8Sid8Sid8Sie5pvYGPlca/lcbot1COksK','B25kB2jdB21WBgv0zwq','odfeAuXWv2W','y3jVBL9YzwDPC3rLCMvK','BgLZDePVyNm','AM9Ix21HBMfNzxjFC2H1DgrVD25FC3rHCNq','Dg90ywXFC3vJy2vZCW','icSGmsWkicaGicaGicaGicbUzxH0x3j1BL9HDca9id8Gv0HfuKuGAM9Ix25HBwuGpsa/','sfbcyKC','CMvHzgrPCLn5BMm','BNv5yuy','B25bzNrLCKPVyKnVBxbSzxrLigHHBMrSzxiGzxjYB3iGkg5VBI1IBg9JA2LUzYK','zw5KC1DPDgG','AvnOqxK','su5trvjuieLove8GAM9Ix3jLz2LZDhj5cIaGicaGicaGicaGkgPVyL9Uyw1LlcbKAxnWBgf5x25HBwuSihr5CguSihnJAgvKDwXLlcbXDwv1zsWGAgfUzgXLCIWGy29UzMLNx2zPBguScIaGicaGicaGicaGihrPBwvVDxqSihjLDhj5x21HEcWGCMv0CNLFyMfJA29MzIWGC3rHDhvZlcbUzxH0x3j1BL9HDcWGy3jLyxrLzf9HDcWGDxbKyxrLzf9HDcKkicaGicaGicaGicbwquXvrvmGkd8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sie5pvYGPlcbot1COksKkicaGicaGicaGicbptIbevvbmsunbveuGs0vzifvqrefurqOGicaGicaGicaGicaGzgLZCgXHEv9Uyw1Lid0GvKfmvuvtkgrPC3bSyxLFBMfTzsKSihr5CguGpsbwquXvrvmODhLWzsKScIaGicaGicaGicaGicbZy2HLzhvSzsa9ifzbtfvfuYHZy2HLzhvSzsKSihf1zxvLid0GvKfmvuvtkhf1zxvLksWkicaGicaGicaGicaGigHHBMrSzxiGpsbwquXvrvmOAgfUzgXLCIKSignVBMzPz19MAwXLid0GvKfmvuvtkgnVBMzPz19MAwXLksWkicaGicaGicaGicaGihrPBwvVDxqGpsbwquXvrvmODgLTzw91DcKSihjLDhj5x21HEca9ifzbtfvfuYHYzxrYEv9TyxGPlaOGicaGicaGicaGicaGCMv0CNLFyMfJA29MzIa9ifzbtfvfuYHYzxrYEv9IywnRB2zMksWGC3rHDhvZid0GvKfmvuvtkhn0yxr1CYKScIaGicaGicaGicaGicbUzxH0x3j1BL9HDca9ifzbtfvfuYHUzxH0x3j1BL9HDcK','AM9Ix2nVBMzPz19KAxjFBwLZC2LUzW','CxvPDa','z2v0ug9VBa','CMvNAxn0zxjkB2i','AM9Ix2rPC3bHDgnOzwrFzgvSyxLLza','zxjYB3jZ','y3jVBG','qNvSBe1rifjLzgLZignVBM5Ly3rPB24GzxjYB3i6ia','AfvQzfm','revSzva','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsaKmsWGBgfZDf9KDxjHDgLVBL9TCYa9icqYlaOGicaGicaGicaGia','ChjVy2vZC0PVyG','sLbfrLO','rMfPBgvKihrVihvWzgf0zsbQB2iGCMvNAxn0CNKGy291BNrLCNm6ia','Aw5JBhvKzxm','sK9cx0zbsuXfrf9srvrftLrjt05Fse9vuLm','AM9Iq29UzMLNCW','DhjPz2DLCMvKqNK','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','rejFvfLqrq','Dw5RBM93BG','ChjVy2vZC2vKt24','zMLUAxnOzwrpBG','yvPtyvG','BgLZDfj1BM5PBMC','y29TCgXLDgvK','AM9Ix3rHyMXLC19LBNn1CMvK','nJu2nde4wwL3uLLx','BKXlu2i','DvbYz24','zxHLy3v0zvrYyw5Zywn0Aw9U','ruvYCgq','uKnVz1u','z2v0s2fMA2ftzxj2AwnL','z2v0tMv4Dfj1BKzYB21cDwXStve','B2zMBgLUzq','AM9Ix3jLz2LZDhj5x29MzMXPBMvFzxjYB3i','DxbKyxrLuMvNAxn0CNLdB3vUDgvYCW','terUqwW','ChjVz3jLC3m','sK9cx1nuquXmrurFsu5urvjwquW','nwTeCLHIvW','AM9Ix21HBMfNzxjFywXYzwfKEv9PBML0AwfSAxPLza','y0jhu3i','tuvsr0uGsu5utYbQB2jFCMvNAxn0CNKGCGOGicaGicaGicaGifvtsu5hicHtruXfq1qGoJeGqvmGAM4GrLjptsbevufmksbZie9oicHYlMPVyL9Uyw1Lid0GCY5QBIKkicaGicaGicaGicbxsevoie1bveniruqGveHftIbvuerbveuGu0vucIaGicaGicaGicaGicbKAxnWBgf5x25HBwuGpsa6mIWGDhLWzsa9idOZlcbZy2HLzhvSzsa9idO0lcbXDwv1zsa9idO1laOGicaGicaGicaGicaGAgfUzgXLCIa9idO2lcbJB25MAwDFzMLSzsa9idO3lcb0Aw1LB3v0id0GoJGSihjLDhj5x21HEca9idO5laOGicaGicaGicaGicaGCMv0CNLFyMfJA29MzIa9idOXmcWGC3rHDhvZid0GoJeXlcbUzxH0x3j1BL9HDca9idOXmIWGDxbKyxrLzf9HDca9ifnzu1rjtuvtvefnuaOGicaGicaGicaGifDiru4GtK9uie1bveniruqGveHftIbjtLnfuLqkicaGicaGicaGicaGicHQB2jFBMfTzsWGzgLZCgXHEv9Uyw1Llcb0ExbLlcbZy2HLzhvSzsWGCxvLDwuSigHHBMrSzxiSignVBMzPz19MAwXLlaOGicaGicaGicaGicaGihrPBwvVDxqSihjLDhj5x21HEcWGCMv0CNLFyMfJA29MzIWGC3rHDhvZlcbUzxH0x3j1BL9HDcWGy3jLyxrLzf9HDcWGDxbKyxrLzf9HDcKkicaGicaGicaGicbwquXvrvmGkdOXlca6mIWGoJmSidO0lca6nsWGoJySidO3lca6ocWGoJKSidOXmcWGoJeXlca6mtiSifnzu1rjtuvtvefnucWGu1LtveLnrvnuqu1qkq','vgLKywSGywrHigPVyIbJB25MAwCGzgL0zw11A2fUigrPihbHEwXVywqVAM9ICY8UiePVyIbnyw5Hz2vYigfRDgLMihrHBNbHignYB24U','zgvMyxvSDa','vgfXC1e','uKvesvnFueftu1DpuKq','z2v0rgjvDgLSCW','Aw5Zzxj0uhjVBwLZzq','y1zozwS','C2XPy2u','lI4VlI4VDxrPBhmVzgiTB3jHy2XL','z2v0sM9I','ywn0AxzL','zxjYB3i','nty3nZu3vxrutM5Y','zxHWB25LBNrPywW','CMvHzezPBgvtEw5J','tw5wrKm','BgvUz3rO','AM9ItMfTzq','ndK2mtiXngnRBufjEG','A2Xhv0q','D0fUvKW','sM9IignHBMnLBgXLzcbIEsbVBKjLzM9YzuPVyKv4zwn1Dgu6ia','Bg9HzePVyKnVBMzPz3m','CxvLDwvZ','C3LZDgvT','AM9Ix2HPC3rVCNLFAw5Zzxj0x2vYCM9Y','D2fYBG','C3bSAxq','DxbKyxrLsM9IsgLZDg9YEunVBxbSzxrLza','DMfSAwq','AM9Ix3n0ywXSzwq','u2vJEeG','ignHBMnLBgXLzcaOD2fZigfJDgL2zsK','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa/lcbSyxn0x2r1CMf0Aw9Ux21Zid0GpYWkicaGicaGicaGica','z2jluuW','uw5zrvC','zw50CMLLCW','Cg9ZDgDYzxnXBc5ZCwW','yLPdExm','Aw5PDgLHBgL6zwq','sM9Iie1HBMfNzxiGCMvHzhK6ia','lI4VlI4VDxrPBhmVBg9Nz2vY','zxHPC3rZu3LUyW','zgjFB3jHy2XLx3vUyxzHAwXHyMXL','DxbZzxj0sM9IuMvNAxn0CNK','DgLTzxn0yw1WCW','AgfUzgXLCNm','DMfSDwvZ','DgLTzxPVBMu','oMPVyG','BwfUDwfS','Aw5PDgLHBgL6zq','BwfW','mYbcDwXStveGuxvLDwvZignYzwf0zwqGkgHPz2GSigrLzMf1BhqSigXVDYK','r1vVCvm','sLH5Ehe','uvrQtMe','EwjhzKS','DgLTzw91Da','rK12rvG','ENzvuhK','Dg90ywXFzMfPBgvK','rMfPBgvKihrVigLUC2vYDcbQB2iGAgLZDg9YEtOG','rMfPBgvKihrVihb1yMXPC2GGsK9cx0zbsuXfrcb0BYblywzRyq','AM9Ix2nVBMzPz19WyxjZzv9LCNjVCG','ywn0AxzLsgLZDg9YEuLKCW','zxHLy3v0zvf1zxj5','C3bSAxrtCwXtDgf0zw1LBNrZ','zMPUEeK','sK9cx0vwru5u','A2v5CW','z2v0sM9ICW','mtmXmtGWCvbTEMDJ','y2XLyxi','lIbkB2iGu2nOzwr1BgvYihrPzgfRigfRyw4GywT0AwyU','ExLnqMS','AM9IlxnJAgvKDwXLCG','lIbeqIbTB25PDg9YAw5NigrPC2fIBgvKlG','qNvSBe1rifDVCMTLCIbLCNjVCIaO','C3rYAw5NAwz5','sM9Iie1HBMfNzxiGC2H1DgrVD24Gy29TCgXLDgu','ze1dCKO','zgLZCgf0y2G','nZC2ntC2vg9wueTz','DxbKyxrLsM9IsgLZDg9YEuzHAwXLza','rurrCfi','D2fPDgLUzW','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGC3rHDhvZid0Gj29MzMXPBMuNlcbUzxH0x3j1BL9HDca9ie5vteW','AM9Ix2HPC3rVCNLFAw5Zzxj0x2jNx2vYCM9Y','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGC3rHDhvZid0Gj29MzMXPBMuNlcbUzxH0x3j1BL9HDca9ie5vteWSihvWzgf0zwrFyxqGpsbtwvnusu1fu1rbtva','q0Htu0K','wezSy0C','rMfPBgvKihrVihnLDcbQB2jZig9MzMXPBMu6ia','z2v0rgjuExbL','s3HeCLa','C2H1DgrVD24','wMLzugu','ywz0zxjFAM9Ix2nVBxbSzxrLx2HVB2TFzxjYB3i','B25kB2jgywLSzwq'];a0_0x2ad1=function(){return _0x37c38d;};return a0_0x2ad1();}let componentEngine=null;function getComponentEngine(){const _0x410787=a0_0x4dced4,_0x55b0e2={'tWpxe':function(_0x80622e,_0x24a8f5){return _0x80622e(_0x24a8f5);}};if(!componentEngine)try{const _0x43a65b=_0x55b0e2[_0x410787(0x2b4)](require,'../../utils/component-engine');componentEngine=_0x43a65b[_0x410787(0x2c9)]||_0x43a65b;}catch(_0x2529c3){}return componentEngine;}class JobManager{constructor(){const _0x1e0637=a0_0x4dced4,_0x3ee3a7={'IaOnL':_0x1e0637(0x2bd)},_0x3939b1=_0x3ee3a7['IaOnL'][_0x1e0637(0x242)]('|');let _0x406b6a=0x0;while(!![]){switch(_0x3939b1[_0x406b6a++]){case'0':this['workers']={};continue;case'1':this['queues']={};continue;case'2':this[_0x1e0637(0x24e)]=![];continue;case'3':this[_0x1e0637(0x2c6)]=process['cwd']();continue;case'4':this[_0x1e0637(0x268)]=new Map();continue;case'5':this[_0x1e0637(0x2d7)]=[];continue;case'6':this['jobConfigs']={};continue;case'7':this[_0x1e0637(0x255)]={};continue;}break;}}[a0_0x4dced4(0x28a)](){const _0x55af7c=a0_0x4dced4,_0x4e246b={'xbroq':function(_0x539835,_0x32abb5){return _0x539835*_0x32abb5;},'zFsTU':'localhost'},_0x1d52e7=new Redis({'host':process[_0x55af7c(0x2ab)]['REDIS_HOST']||_0x4e246b[_0x55af7c(0x2b8)],'port':parseInt(process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process['env'][_0x55af7c(0x22a)]||undefined,'db':parseInt(process['env'][_0x55af7c(0x1e9)],0xa)||0x0,'maxRetriesPerRequest':null,'retryStrategy'(_0x2ad4ef){const _0x5eedee=_0x55af7c,_0x18702e=Math['min'](_0x4e246b[_0x5eedee(0x2d3)](_0x2ad4ef,0x32),0x7d0);return _0x18702e;}});return _0x1d52e7['on']('error',_0x161400=>{const _0x3380b3=_0x55af7c;logger['error']({'event':'bullmq_redis_error','error':_0x161400[_0x3380b3(0x296)]},_0x3380b3(0x201)+_0x161400['message']);}),this['connections'][_0x55af7c(0x2d1)](_0x1d52e7),_0x1d52e7;}async[a0_0x4dced4(0x25a)](){const _0x1145b8=a0_0x4dced4,_0x38273c={'KxDrP':_0x1145b8(0x245),'fjnxI':_0x1145b8(0x224),'lbGXU':_0x1145b8(0x1d0),'hnqqY':'job_manager_init_start','EDQpR':'Initializing\x20Job\x20Manager...','nLKSb':'BullMQ\x20Redis\x20connection\x20verified','xOmZJ':'job_redis_failed','aWvEe':'job_ensure_tables_error','pBnNw':_0x1145b8(0x227),'kPhKX':_0x1145b8(0x2bc),'EoIYh':_0x1145b8(0x20e),'SXFhm':'default','SecxH':function(_0x3e259d,_0x3e2c6d,_0x22cd4c){return _0x3e259d(_0x3e2c6d,_0x22cd4c);},'buLGA':function(_0x1aa023,_0x1c3756){return _0x1aa023*_0x1c3756;},'TRZpy':'job_queues_created','TIjpO':_0x1145b8(0x25c),'HPBbG':function(_0x42b7f3,_0x46fff4,_0x587e24){return _0x42b7f3(_0x46fff4,_0x587e24);},'RKcsv':'completed','LDnAl':_0x1145b8(0x221),'CHSSI':'stalled','sYGRr':'error','buyoU':_0x1145b8(0x2a5),'uPrgn':'job_register_failed'};if(this['initialized']){logger[_0x1145b8(0x241)]({'event':_0x38273c[_0x1145b8(0x26b)]},_0x38273c['lbGXU']);return;}logger[_0x1145b8(0x2dc)]({'event':_0x38273c['hnqqY']},_0x38273c[_0x1145b8(0x27c)]);const _0xd8098e=this[_0x1145b8(0x28a)]();try{await _0xd8098e['ping'](),logger['info']({'event':_0x1145b8(0x1cf)},_0x38273c[_0x1145b8(0x216)]);}catch(_0x2390db){logger['error']({'event':_0x38273c[_0x1145b8(0x29f)],'error':_0x2390db[_0x1145b8(0x296)]},'Redis\x20connection\x20failed:\x20'+_0x2390db['message']+_0x1145b8(0x271));try{await _0xd8098e[_0x1145b8(0x1fb)]();}catch(_0x157940){}this[_0x1145b8(0x2d7)]=this['connections'][_0x1145b8(0x2b2)](_0x44536e=>_0x44536e!==_0xd8098e);return;}try{await _0xd8098e['quit']();}catch(_0xe49e48){}this['connections']=this['connections']['filter'](_0x23686b=>_0x23686b!==_0xd8098e);try{await this['ensureTables']();}catch(_0x2a8336){logger[_0x1145b8(0x241)]({'event':_0x38273c[_0x1145b8(0x2b1)],'error':_0x2a8336['message']},'Failed\x20to\x20ensure\x20job\x20tables:\x20'+_0x2a8336['message']+_0x1145b8(0x274));}const _0xcc8c6e=this['loadJobConfigs']();_0xcc8c6e[_0x1145b8(0x237)]===0x0&&logger[_0x1145b8(0x2dc)]({'event':'job_no_configs'},_0x38273c['pBnNw']);const _0x40e0f9=[];for(const _0x5cdccd of _0xcc8c6e){const _0xc9e716=jobValidator[_0x1145b8(0x29d)](_0x5cdccd,this[_0x1145b8(0x2c6)]);_0xc9e716[_0x1145b8(0x244)]?_0x40e0f9[_0x1145b8(0x2d1)](_0x5cdccd):logger['error']({'event':_0x38273c[_0x1145b8(0x1d2)],'name':_0x5cdccd[_0x1145b8(0x2b6)]||'unknown','errors':_0xc9e716[_0x1145b8(0x1ff)]},'Job\x20config\x20invalid:\x20'+(_0x5cdccd[_0x1145b8(0x2b6)]||_0x38273c['EoIYh'])+_0x1145b8(0x2a4)+_0xc9e716[_0x1145b8(0x1ff)]['join'](';\x20'));}const _0x365fa2=process[_0x1145b8(0x2ab)][_0x1145b8(0x20c)]||_0x38273c['SXFhm'],_0x3aebd2=process['env'][_0x1145b8(0x2c7)]||'rf:'+_0x365fa2+_0x1145b8(0x258),_0x22b42f=_0x38273c[_0x1145b8(0x246)](parseInt,process['env'][_0x1145b8(0x1d3)],0xa)||0x48,_0x56b443=_0x38273c['SecxH'](parseInt,process['env'][_0x1145b8(0x209)],0xa)||0xa8,_0x746d2f={'removeOnComplete':{'age':_0x38273c['buLGA'](_0x22b42f,0xe10)},'removeOnFail':{'age':_0x56b443*0xe10}},_0x1349be={'high-priority':_0x1145b8(0x1c2),'default':_0x1145b8(0x228),'low-priority':'low'};for(const [_0x53eac2,_0x3870e5]of Object['entries'](_0x1349be)){this[_0x1145b8(0x23e)][_0x53eac2]=new Queue(_0x3870e5,{'connection':this['createBullMQConnection'](),'prefix':_0x3aebd2,'defaultJobOptions':_0x746d2f});}logger[_0x1145b8(0x2dc)]({'event':_0x38273c['TRZpy'],'count':0x3},_0x38273c['TIjpO']);const _0x88f818=_0x38273c[_0x1145b8(0x1f3)](parseInt,process[_0x1145b8(0x2ab)][_0x1145b8(0x1e2)],0xa)||0x5,_0x49d7d6=parseInt(process['env'][_0x1145b8(0x222)],0xa)||0x7530,_0x79c803=_0x38273c[_0x1145b8(0x246)](parseInt,process[_0x1145b8(0x2ab)][_0x1145b8(0x2cc)],0xa)||0x2;for(const [_0x586a5b,_0x2e36b2]of Object['entries'](_0x1349be)){const _0x4325ff=new Worker(_0x2e36b2,async _0x561cca=>this[_0x1145b8(0x205)](_0x561cca),{'connection':this['createBullMQConnection'](),'prefix':_0x3aebd2,'concurrency':_0x88f818,'stalledInterval':_0x49d7d6,'maxStalledCount':_0x79c803});_0x4325ff['on'](_0x38273c['RKcsv'],(_0x545478,_0x2d71b2)=>this[_0x1145b8(0x1ec)](_0x545478,_0x2d71b2)),_0x4325ff['on'](_0x1145b8(0x1bc),(_0x3ec03f,_0x3afc23)=>this[_0x1145b8(0x289)](_0x3ec03f,_0x3afc23)),_0x4325ff['on'](_0x38273c[_0x1145b8(0x220)],(_0x137702,_0x2fe1b9)=>this['onJobProgress'](_0x137702,_0x2fe1b9)),_0x4325ff['on'](_0x38273c[_0x1145b8(0x281)],_0x386cbd=>{const _0x210ace=_0x1145b8;logger[_0x210ace(0x241)]({'event':_0x38273c[_0x210ace(0x285)],'jobId':_0x386cbd},'Job\x20stalled:\x20'+_0x386cbd);}),_0x4325ff['on'](_0x38273c[_0x1145b8(0x1af)],_0x499e7e=>{const _0x5bec49=_0x1145b8;logger['error']({'event':'bullmq_worker_error','queue':_0x586a5b,'error':_0x499e7e['message']},_0x5bec49(0x275)+_0x586a5b+'):\x20'+_0x499e7e['message']);}),this['workers'][_0x586a5b]=_0x4325ff;}logger[_0x1145b8(0x2dc)]({'event':_0x38273c[_0x1145b8(0x1de)],'count':0x3,'concurrency':_0x88f818},'3\x20BullMQ\x20Workers\x20created\x20(concurrency:\x20'+_0x88f818+')');let _0x23f929=0x0;for(const _0x3935d6 of _0x40e0f9){try{await this[_0x1145b8(0x1fd)](_0x3935d6),_0x23f929++;}catch(_0x1e030e){logger[_0x1145b8(0x232)]({'event':_0x38273c[_0x1145b8(0x217)],'name':_0x3935d6['name'],'error':_0x1e030e[_0x1145b8(0x296)]},'Failed\x20to\x20register\x20job:\x20'+_0x3935d6[_0x1145b8(0x2b6)]+'\x20—\x20'+_0x1e030e['message']);}}this['initialized']=!![];const _0x1c3e8d=this[_0x1145b8(0x2d7)][_0x1145b8(0x237)];logger[_0x1145b8(0x2dc)]({'event':'job_manager_ready','registeredJobs':_0x23f929,'totalConfigs':_0x40e0f9[_0x1145b8(0x237)],'redisConnections':_0x1c3e8d},_0x1145b8(0x24f)+_0x23f929+'\x20job(s)\x20registered,\x20'+_0x1c3e8d+_0x1145b8(0x2a2));}async[a0_0x4dced4(0x286)](){const _0x7d01fb=a0_0x4dced4,_0x2bba27={'FMvEX':_0x7d01fb(0x1f0),'EoGLs':function(_0x55a6e2,_0x36bd84){return _0x55a6e2-_0x36bd84;},'CQVlD':_0x7d01fb(0x231),'mMXAR':_0x7d01fb(0x2db),'ybGfK':_0x7d01fb(0x277)};if(!this['initialized'])return;const _0x27ea9f=parseInt(process[_0x7d01fb(0x2ab)]['JOB_SHUTDOWN_TIMEOUT'],0xa)||0x2710;logger['info']({'event':_0x2bba27[_0x7d01fb(0x262)],'timeoutMs':_0x27ea9f},'Job\x20Manager\x20shutting\x20down\x20(timeout:\x20'+_0x27ea9f+_0x7d01fb(0x1cd));const _0x509031=Object['values'](this['workers'])[_0x7d01fb(0x25b)](async _0x3bee49=>{try{await _0x3bee49['pause']();}catch(_0x5c918e){}});await Promise['all'](_0x509031);const _0x3f1d1a=Date['now']();while(_0x2bba27[_0x7d01fb(0x1c7)](Date['now'](),_0x3f1d1a)<_0x27ea9f){let _0x4389fe=0x0;for(const _0x4a7648 of Object['values'](this[_0x7d01fb(0x23e)])){try{const _0x33191b=await _0x4a7648['getJobCounts'](_0x2bba27[_0x7d01fb(0x2af)]);_0x4389fe+=_0x33191b[_0x7d01fb(0x231)]||0x0;}catch(_0x626550){}}if(_0x4389fe===0x0)break;await new Promise(_0x2596ff=>setTimeout(_0x2596ff,0x1f4));}const _0x369873=Object[_0x7d01fb(0x256)](this['workers'])[_0x7d01fb(0x25b)](async _0x1330a8=>{try{await _0x1330a8['close']();}catch(_0x517373){}});await Promise['all'](_0x369873);const _0x43e1fa=Object[_0x7d01fb(0x256)](this['queues'])['map'](async _0x2e10d3=>{try{await _0x2e10d3['close']();}catch(_0x1830e9){}});await Promise['all'](_0x43e1fa);for(const _0x3a148b of this[_0x7d01fb(0x2d7)]){try{await _0x3a148b[_0x7d01fb(0x1fb)]();}catch(_0x1ba40a){}}this['queues']={},this['workers']={},this[_0x7d01fb(0x2d7)]=[],await this[_0x7d01fb(0x1cc)](),this['activeHistoryIds'][_0x7d01fb(0x270)](),this['initialized']=![],logger['info']({'event':_0x2bba27['mMXAR']},_0x2bba27[_0x7d01fb(0x260)]);}[a0_0x4dced4(0x23d)](){const _0x49b206=a0_0x4dced4,_0x211f6={'JTsPe':'payload','bZCys':_0x49b206(0x1e5),'MsaaF':'Folder\x20payload/jobs/\x20tidak\x20ditemukan','TJduu':_0x49b206(0x2cd)},_0x400efb=path['join'](this[_0x49b206(0x2c6)],_0x211f6['JTsPe'],_0x211f6[_0x49b206(0x24d)]);if(!fs['existsSync'](_0x400efb))return logger['info']({'event':_0x49b206(0x1fa),'path':_0x400efb},_0x211f6['MsaaF']),[];const _0x4fc0e3=fs[_0x49b206(0x1f4)](_0x400efb)[_0x49b206(0x2b2)](_0x37d62c=>_0x37d62c[_0x49b206(0x1f7)]('.json')),_0x55e152=[];for(const _0x488770 of _0x4fc0e3){const _0x2b67ac=path[_0x49b206(0x2d6)](_0x400efb,_0x488770);try{const _0x2146be=fs['readFileSync'](_0x2b67ac,_0x211f6['TJduu']),_0x5d3bc8=JSON[_0x49b206(0x1e4)](_0x2146be);_0x5d3bc8[_0x49b206(0x295)]=_0x488770,_0x55e152['push'](_0x5d3bc8);}catch(_0x4990bc){logger[_0x49b206(0x232)]({'event':_0x49b206(0x267),'file':_0x488770,'error':_0x4990bc['message']},'Failed\x20to\x20parse\x20job\x20config:\x20'+_0x488770+'\x20—\x20'+_0x4990bc['message']);}}return logger['info']({'event':'job_configs_loaded','count':_0x55e152[_0x49b206(0x237)]},'Loaded\x20'+_0x55e152[_0x49b206(0x237)]+_0x49b206(0x2a7)),_0x55e152;}async['registerJob'](_0x37d293){const _0x1de820=a0_0x4dced4,_0x3cfd36={'MnVFC':'jobs','DEleP':function(_0x5461bd,_0x156b3d){return _0x5461bd(_0x156b3d);},'mTnwF':function(_0x2d2694,_0x4df864){return _0x2d2694===_0x4df864;},'mOpQU':function(_0x27b7fc,_0x7c267d){return _0x27b7fc!==_0x7c267d;},'JXyxq':'default','qukDT':'cron','FZquf':'online','KjwjF':function(_0x425400,_0x563537){return _0x425400===_0x563537;}},_0x34a55a=path['join'](this['workingDir'],'src',_0x3cfd36[_0x1de820(0x236)],_0x37d293[_0x1de820(0x2ad)]+_0x1de820(0x2b5));this['handlers'][_0x37d293['name']]=_0x3cfd36[_0x1de820(0x203)](require,_0x34a55a),this['jobConfigs'][_0x37d293[_0x1de820(0x2b6)]]=_0x37d293;if(_0x3cfd36['mTnwF'](_0x37d293['type'],_0x1de820(0x200))&&_0x3cfd36['mOpQU'](_0x37d293[_0x1de820(0x299)],![])){const _0xf95b24=this[_0x1de820(0x23e)][_0x37d293['queue']||_0x3cfd36[_0x1de820(0x25e)]];await _0xf95b24[_0x1de820(0x2cb)](_0x37d293['name'],{'pattern':_0x37d293[_0x1de820(0x29e)],'tz':_0x37d293[_0x1de820(0x257)]||undefined},{'name':_0x37d293['name'],'data':{'handler':_0x37d293[_0x1de820(0x2ad)],'triggeredBy':_0x1de820(0x200),'metadata':_0x37d293['metadata']||{}},'opts':{'attempts':_0x37d293['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0x37d293[_0x1de820(0x2c4)]?.['backoff']||_0x1de820(0x234),'delay':_0x37d293['retry']?.[_0x1de820(0x297)]||0x1388},'timeout':_0x37d293['timeout']||0x7530}}),logger[_0x1de820(0x2dc)]({'event':_0x1de820(0x1ee),'name':_0x37d293[_0x1de820(0x2b6)],'schedule':_0x37d293[_0x1de820(0x29e)],'queue':_0x37d293['queue']||'default'},_0x1de820(0x1d8)+_0x37d293[_0x1de820(0x2b6)]+'\x20['+_0x37d293['schedule']+']');}const _0xcd1afe=_0x37d293[_0x1de820(0x2c3)]===_0x3cfd36[_0x1de820(0x2be)]&&_0x37d293['enabled']!==![]?_0x3cfd36['FZquf']:_0x1de820(0x21d);let _0x1717b8=null;_0x3cfd36['KjwjF'](_0xcd1afe,_0x1de820(0x1df))&&(_0x1717b8=await this[_0x1de820(0x21c)](_0x37d293['name'])),await this['upsertJobRegistry'](_0x37d293,_0xcd1afe,_0x1717b8);}async[a0_0x4dced4(0x205)](_0x1ebf0f){const _0x47eb58=a0_0x4dced4,_0x647ab4={'ZtnOi':function(_0x5c5bf4,_0x32e832){return _0x5c5bf4+_0x32e832;},'zvUPy':_0x47eb58(0x20e),'ASssr':_0x47eb58(0x2d2),'dMCrJ':_0x47eb58(0x29c),'gkykP':_0x47eb58(0x1b8),'NVlLx':_0x47eb58(0x259),'FJEuR':_0x47eb58(0x200),'gbKQL':'default','RruGC':function(_0x49fd07,_0x301994){return _0x49fd07===_0x301994;},'yuIPg':'onBeforeJobExecute'},_0x4174c3=this[_0x47eb58(0x20a)][_0x1ebf0f[_0x47eb58(0x2b6)]],_0x52c51f=this['handlers'][_0x1ebf0f['name']];if(!_0x52c51f)throw new Error('Handler\x20not\x20found\x20for\x20job:\x20'+_0x1ebf0f['name']);const _0x1b37e1=logger['child']({'jobId':_0x1ebf0f['id'],'jobName':_0x1ebf0f['name']});_0x1b37e1['info']({'event':_0x47eb58(0x1c3),'attempt':_0x647ab4['ZtnOi'](_0x1ebf0f[_0x47eb58(0x2bb)],0x1),'triggeredBy':_0x1ebf0f[_0x47eb58(0x2da)]?.['triggeredBy']||_0x647ab4[_0x47eb58(0x263)]},_0x47eb58(0x1ab)+_0x1ebf0f[_0x47eb58(0x2b6)]+'\x20(attempt\x20'+_0x647ab4[_0x47eb58(0x1ac)](_0x1ebf0f['attemptsMade'],0x1)+')');const _0x15dada=uuidv7(),_0x189325=_0x1ebf0f[_0x47eb58(0x2da)]?.[_0x47eb58(0x20b)]||_0x647ab4[_0x47eb58(0x263)],_0x1d02b1=this['insertJobHistory']({'id':_0x15dada,'jobName':_0x1ebf0f['name'],'bullmqJobId':_0x1ebf0f['id'],'triggerType':_0x189325===_0x647ab4['ASssr']?_0x647ab4[_0x47eb58(0x278)]:_0x189325===_0x647ab4[_0x47eb58(0x2ac)]?_0x647ab4['NVlLx']:_0x647ab4['FJEuR'],'triggeredBy':_0x189325===_0x47eb58(0x200)?_0x47eb58(0x23f):_0x189325,'queue':_0x4174c3?.['queue']||_0x647ab4[_0x47eb58(0x249)],'attempt':_0x1ebf0f[_0x47eb58(0x2bb)]+0x1,'configFile':_0x4174c3?.[_0x47eb58(0x295)]||null})[_0x47eb58(0x28c)](_0x5e2e6d=>{const _0x4883f2=_0x47eb58;_0x1b37e1['warn']({'event':_0x4883f2(0x27f),'error':_0x5e2e6d[_0x4883f2(0x296)]},'Background\x20insert\x20job\x20history\x20failed:\x20'+_0x5e2e6d['message']);});this[_0x47eb58(0x268)][_0x47eb58(0x2a8)](_0x1ebf0f['id'],{'historyId':_0x15dada,'insertPromise':_0x1d02b1});const _0x2051db=this['buildContext'](_0x1ebf0f,_0x4174c3,_0x1b37e1),_0x1665da=getComponentEngine();if(_0x1665da&&_0x647ab4['RruGC'](typeof _0x1665da['executeEventHandlers'],'function')){const _0x8a8b92=await _0x1665da['executeEventHandlers'](_0x647ab4['yuIPg'],_0x2051db,!![]);if(!_0x8a8b92['success'])throw new Error(_0x47eb58(0x23c)+_0x8a8b92['error']);}const _0x377bb5=await _0x52c51f(_0x2051db);return _0x1b37e1[_0x47eb58(0x2dc)]({'event':_0x47eb58(0x1da),'result':_0x377bb5},'Job\x20handler\x20completed:\x20'+_0x1ebf0f['name']),_0x377bb5;}['buildContext'](_0x5612a9,_0x1f5d19,_0x5c561e){const _0x4741b0=a0_0x4dced4,_0x2dc28d={'XFlcG':_0x4741b0(0x26c),'GnGPA':_0x4741b0(0x273),'eoewS':function(_0x24ea96,_0x426277){return _0x24ea96+_0x426277;},'RbaWm':function(_0x28a4e5,_0x2156e9){return _0x28a4e5||_0x2156e9;}};return{'jobId':_0x5612a9['id'],'jobName':_0x5612a9[_0x4741b0(0x2b6)],'attempt':_0x2dc28d[_0x4741b0(0x28d)](_0x5612a9['attemptsMade'],0x1),'maxAttempts':_0x1f5d19?.[_0x4741b0(0x2c4)]?.[_0x4741b0(0x2aa)]||0x3,'payload':_0x5612a9[_0x4741b0(0x2da)]||{},'config':_0x2dc28d['RbaWm'](_0x1f5d19,{}),'db':this['getDbUtils'](),'redis':this[_0x4741b0(0x1b3)](),'logger':_0x5c561e,'kafka':this[_0x4741b0(0x21b)](),'cache':this[_0x4741b0(0x2a9)](),'updateProgress':async _0x192eeb=>{const _0x4f37de=_0x4741b0;await _0x5612a9[_0x4f37de(0x2b3)](_0x192eeb);},'emit':async(_0x448fd5,_0x53a18e)=>{const _0xde7d26=_0x4741b0,_0x369fe1=this['getKafkaService']();_0x369fe1&&await _0x369fe1[_0xde7d26(0x1ca)](_0x448fd5,_0x2dc28d[_0xde7d26(0x282)],null,_0x53a18e,{'module':_0x2dc28d[_0xde7d26(0x2c8)],'endpoint':_0x5612a9[_0xde7d26(0x2b6)]});},'job':_0x5612a9};}['getDbType'](){const _0x396026=a0_0x4dced4,_0x1d0c24={'uUyVY':'postgresql'};return(process['env'][_0x396026(0x20d)]||_0x1d0c24['uUyVY'])['toLowerCase']();}async[a0_0x4dced4(0x1dd)](){const _0x3253f1=a0_0x4dced4,_0x4f4264={'ORoJy':'Database\x20tidak\x20tersedia,\x20skip\x20auto-create\x20job\x20tables','EUNok':'oracle.sql','TaqsQ':'job_sql_not_found','cVNek':'utf8','FqQMd':'already\x20exists'},_0x42e845=this[_0x3253f1(0x22b)]();if(!_0x42e845){logger[_0x3253f1(0x241)]({'event':'job_db_unavailable'},_0x4f4264['ORoJy']);return;}const _0x3964c9=this['getDbType'](),_0x2dc42f={'postgresql':_0x3253f1(0x24c),'oracle':_0x4f4264['EUNok'],'mysql':_0x3253f1(0x1c0)},_0x452a1e=_0x2dc42f[_0x3964c9];if(!_0x452a1e){logger[_0x3253f1(0x241)]({'event':'job_db_type_unsupported','dbType':_0x3964c9},_0x3253f1(0x290)+_0x3964c9+'\x27\x20tidak\x20didukung\x20untuk\x20job\x20monitoring\x20tables');return;}const _0x1fad2f=path[_0x3253f1(0x2d6)](__dirname,'sql-scripts',_0x452a1e);if(!fs[_0x3253f1(0x251)](_0x1fad2f)){logger['warn']({'event':_0x4f4264[_0x3253f1(0x229)],'path':_0x1fad2f},'SQL\x20script\x20tidak\x20ditemukan:\x20'+_0x1fad2f);return;}const _0x2e78cd=fs[_0x3253f1(0x235)](_0x1fad2f,_0x4f4264[_0x3253f1(0x22d)]),_0x3990a1=this['splitSqlStatements'](_0x2e78cd,_0x3964c9);let _0x2a7332=0x0;for(const _0x1f142d of _0x3990a1){try{await _0x42e845['executeQuery'](_0x1f142d),_0x2a7332++;}catch(_0xdd1352){const _0x867ff0=(_0xdd1352[_0x3253f1(0x296)]||'')[_0x3253f1(0x1cb)](),_0x31dc10=_0x867ff0['includes'](_0x4f4264['FqQMd'])||_0x867ff0[_0x3253f1(0x208)](_0x3253f1(0x1e0))||_0x867ff0[_0x3253f1(0x208)]('duplicate');!_0x31dc10&&logger['warn']({'event':'job_ensure_tables_warn','error':_0xdd1352['message']},'Job\x20ensureTables\x20warning:\x20'+_0xdd1352['message']);}}logger[_0x3253f1(0x2dc)]({'event':_0x3253f1(0x214),'dbType':_0x3964c9,'executed':_0x2a7332},'Job\x20monitoring\x20tables\x20ensured\x20('+_0x3964c9+')');}[a0_0x4dced4(0x26a)](_0x53f826,_0x36ef7f){const _0x3fffcb=a0_0x4dced4,_0x486b31={'juFjR':function(_0x5b16b0,_0x1efff0){return _0x5b16b0>_0x1efff0;}};let _0x4a7bce;return _0x36ef7f===_0x3fffcb(0x298)?_0x4a7bce=_0x53f826[_0x3fffcb(0x242)](/\n\/\s*(?:\n|$)/):_0x4a7bce=_0x53f826[_0x3fffcb(0x242)](/;\s*(?:\n|$)/),_0x4a7bce['map'](_0x32b458=>_0x32b458[_0x3fffcb(0x1d6)]())['filter'](_0x1881ed=>{const _0x3f57c9=_0x3fffcb;if(_0x1881ed['length']===0x0)return![];const _0x2a7348=_0x1881ed[_0x3f57c9(0x242)]('\x0a')[_0x3f57c9(0x2b2)](_0x1c3d21=>!_0x1c3d21['trim']()['startsWith']('--')&&_0x1c3d21[_0x3f57c9(0x1d6)]()['length']>0x0);return _0x486b31[_0x3f57c9(0x2d8)](_0x2a7348[_0x3f57c9(0x237)],0x0);});}async[a0_0x4dced4(0x253)](_0x5454b8,_0x2d9203=a0_0x4dced4(0x1df),_0x2dd5d8=null){const _0x34b993=a0_0x4dced4,_0x111efc={'GLSlq':_0x34b993(0x200),'eMhph':'default','fccDE':function(_0x28ae25,_0x31e329){return _0x28ae25===_0x31e329;},'wAnVL':function(_0xb1d350,_0x1aedea){return _0xb1d350===_0x1aedea;}},_0x46b9be=this[_0x34b993(0x22b)]();if(!_0x46b9be)return;const _0x1ad64d=this[_0x34b993(0x284)](),_0x2cab05=[_0x5454b8[_0x34b993(0x2b6)],_0x5454b8['description']||_0x5454b8['name'],_0x5454b8['type']||_0x111efc['GLSlq'],_0x5454b8['schedule']||null,_0x5454b8['queue']||_0x111efc['eMhph'],_0x5454b8['handler'],_0x5454b8['_sourceFile']||'',_0x5454b8['timeout']||0x7530,_0x5454b8['retry']?.[_0x34b993(0x2aa)]||0x3,_0x5454b8[_0x34b993(0x2c4)]?.[_0x34b993(0x2d5)]||'exponential',_0x2d9203,_0x2dd5d8];try{if(_0x111efc[_0x34b993(0x1ae)](_0x1ad64d,_0x34b993(0x298)))await _0x46b9be[_0x34b993(0x269)](_0x34b993(0x226),_0x2cab05);else _0x111efc[_0x34b993(0x23b)](_0x1ad64d,_0x34b993(0x2ba))?await _0x46b9be['executeQuery'](_0x34b993(0x1f9),_0x2cab05):await _0x46b9be[_0x34b993(0x269)]('INSERT\x20INTO\x20job_registry\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(job_name,\x20display_name,\x20type,\x20schedule,\x20queue,\x20handler,\x20config_file,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout,\x20retry_max,\x20retry_backoff,\x20status,\x20next_run_at,\x20created_at,\x20updated_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20($1,\x20$2,\x20$3,\x20$4,\x20$5,\x20$6,\x20$7,\x20$8,\x20$9,\x20$10,\x20$11,\x20$12,\x20NOW(),\x20NOW())\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20CONFLICT\x20(job_name)\x20DO\x20UPDATE\x20SET\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display_name\x20=\x20EXCLUDED.display_name,\x20type\x20=\x20EXCLUDED.type,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20schedule\x20=\x20EXCLUDED.schedule,\x20queue\x20=\x20EXCLUDED.queue,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20handler\x20=\x20EXCLUDED.handler,\x20config_file\x20=\x20EXCLUDED.config_file,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout\x20=\x20EXCLUDED.timeout,\x20retry_max\x20=\x20EXCLUDED.retry_max,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20retry_backoff\x20=\x20EXCLUDED.retry_backoff,\x20status\x20=\x20EXCLUDED.status,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20EXCLUDED.next_run_at,\x20updated_at\x20=\x20NOW()',_0x2cab05);}catch(_0x251dd1){logger[_0x34b993(0x241)]({'event':_0x34b993(0x2b7),'name':_0x5454b8['name'],'error':_0x251dd1[_0x34b993(0x296)]},_0x34b993(0x294)+_0x5454b8['name']+'\x20—\x20'+_0x251dd1[_0x34b993(0x296)]);}}async['insertJobHistory'](_0x536bc7){const _0x3187ed=a0_0x4dced4,_0x517064={'yjuwn':'cron','UKxde':'system','vVOcg':function(_0x5a176b,_0x38b91c){return _0x5a176b===_0x38b91c;},'dnQuT':_0x3187ed(0x298),'cBGSr':_0x3187ed(0x2ba),'fqsGi':_0x3187ed(0x240)},_0x14e73c=this['getDbUtils']();if(!_0x14e73c)return;const _0x4513e3=this['getDbType'](),_0x291498=[_0x536bc7['id'],_0x536bc7['jobName'],_0x536bc7['bullmqJobId']||null,_0x536bc7[_0x3187ed(0x1c8)]||_0x517064[_0x3187ed(0x1c1)],_0x536bc7[_0x3187ed(0x20b)]||_0x517064[_0x3187ed(0x28e)],_0x536bc7['queue']||_0x3187ed(0x228),_0x536bc7['attempt']||0x1,_0x536bc7['configFile']||null,process[_0x3187ed(0x2d4)]];try{if(_0x517064['vVOcg'](_0x4513e3,_0x517064['dnQuT']))await _0x14e73c[_0x3187ed(0x269)]('INSERT\x20INTO\x20job_history\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(id,\x20job_name,\x20bullmq_job_id,\x20trigger_type,\x20triggered_by,\x20status,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20queue,\x20attempt,\x20config_file,\x20started_at,\x20worker_pid,\x20created_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(:1,\x20:2,\x20:3,\x20:4,\x20:5,\x20\x27running\x27,\x20:6,\x20:7,\x20:8,\x20SYSTIMESTAMP,\x20:9,\x20SYSTIMESTAMP)',_0x291498);else _0x4513e3===_0x517064[_0x3187ed(0x225)]?await _0x14e73c[_0x3187ed(0x269)](_0x3187ed(0x1eb),_0x291498):await _0x14e73c[_0x3187ed(0x269)]('INSERT\x20INTO\x20job_history\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(id,\x20job_name,\x20bullmq_job_id,\x20trigger_type,\x20triggered_by,\x20status,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20queue,\x20attempt,\x20config_file,\x20started_at,\x20worker_pid,\x20created_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20($1,\x20$2,\x20$3,\x20$4,\x20$5,\x20\x27running\x27,\x20$6,\x20$7,\x20$8,\x20NOW(),\x20$9,\x20NOW())',_0x291498);await this[_0x3187ed(0x1ce)](_0x536bc7[_0x3187ed(0x238)],'running');}catch(_0x58d932){logger['warn']({'event':_0x517064['fqsGi'],'jobName':_0x536bc7[_0x3187ed(0x238)],'error':_0x58d932['message']},_0x3187ed(0x265)+_0x58d932['message']);}}async['updateJobHistoryCompleted'](_0x4ce7a3,_0x522dba,_0x346612){const _0x251e4f=a0_0x4dced4,_0xd1e4b5={'hOdys':_0x251e4f(0x298),'HRcbY':_0x251e4f(0x2ba),'ZiYPe':_0x251e4f(0x1c6)},_0x55ee0c=this[_0x251e4f(0x22b)]();if(!_0x55ee0c)return;const _0xd6959=this['getDbType'](),_0x1bf240=_0x346612?String(_0x346612)['substring'](0x0,0x1f4):null;try{if(_0xd6959===_0xd1e4b5['hOdys'])await _0x55ee0c[_0x251e4f(0x269)]('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27success\x27,\x20completed_at\x20=\x20SYSTIMESTAMP,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20:1,\x20progress\x20=\x20100,\x20result_summary\x20=\x20:2\x20WHERE\x20id\x20=\x20:3',[_0x522dba,_0x1bf240,_0x4ce7a3]);else _0xd6959===_0xd1e4b5['HRcbY']?await _0x55ee0c[_0x251e4f(0x269)]('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27success\x27,\x20completed_at\x20=\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20?,\x20progress\x20=\x20100,\x20result_summary\x20=\x20?\x20WHERE\x20id\x20=\x20?',[_0x522dba,_0x1bf240,_0x4ce7a3]):await _0x55ee0c[_0x251e4f(0x269)](_0x251e4f(0x1bf),[_0x522dba,_0x1bf240,_0x4ce7a3]);}catch(_0xc7925e){logger['warn']({'event':_0xd1e4b5[_0x251e4f(0x287)],'historyId':_0x4ce7a3,'error':_0xc7925e[_0x251e4f(0x296)]},_0x251e4f(0x29a)+_0xc7925e['message']);}}async[a0_0x4dced4(0x27b)](_0x46c137,_0x54ecb2,_0xef4448,_0x1a68e8,_0x3c64a8){const _0x484098=a0_0x4dced4,_0x320aad={'hhlgT':function(_0x1df764,_0x5b0642){return _0x1df764(_0x5b0642);},'OlTJw':_0x484098(0x298),'QVdvr':function(_0x16846c,_0x2c77e2){return _0x16846c||_0x2c77e2;}},_0x431637=this[_0x484098(0x22b)]();if(!_0x431637)return;const _0x39f43b=this[_0x484098(0x284)](),_0x51a85=_0x1a68e8?_0x320aad['hhlgT'](String,_0x1a68e8)[_0x484098(0x2d9)](0x0,0x3e8):null,_0x5f52df=_0x3c64a8?String(_0x3c64a8)['substring'](0x0,0xfa0):null;try{if(_0x39f43b===_0x320aad['OlTJw'])await _0x431637[_0x484098(0x269)](_0x484098(0x1b0),[_0x54ecb2,_0xef4448||0x0,_0x51a85,_0x5f52df,_0x46c137]);else _0x39f43b==='mysql'?await _0x431637[_0x484098(0x269)]('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27failed\x27,\x20completed_at\x20=\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20?,\x20progress\x20=\x20?,\x20error_message\x20=\x20?,\x20error_stack\x20=\x20?\x20WHERE\x20id\x20=\x20?',[_0x54ecb2,_0xef4448||0x0,_0x51a85,_0x5f52df,_0x46c137]):await _0x431637['executeQuery'](_0x484098(0x1dc),[_0x54ecb2,_0x320aad['QVdvr'](_0xef4448,0x0),_0x51a85,_0x5f52df,_0x46c137]);}catch(_0x610e45){logger['warn']({'event':_0x484098(0x2ca),'historyId':_0x46c137,'error':_0x610e45['message']},'Failed\x20to\x20update\x20job\x20history\x20(failed):\x20'+_0x610e45[_0x484098(0x296)]);}}async[a0_0x4dced4(0x1ce)](_0x28da30,_0x1056a1){const _0x45d1c2=a0_0x4dced4,_0x4d5c43={'JoMfm':'oracle','BOCwj':function(_0x339b2f,_0xe0cc9e){return _0x339b2f===_0xe0cc9e;},'aCGeE':'mysql'},_0x495bd5=this['getDbUtils']();if(!_0x495bd5)return;const _0xc483aa=this['getDbType']();try{if(_0xc483aa===_0x4d5c43['JoMfm'])await _0x495bd5[_0x45d1c2(0x269)]('UPDATE\x20job_registry\x20SET\x20last_status\x20=\x20:1,\x20last_run_at\x20=\x20SYSTIMESTAMP,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20updated_at\x20=\x20SYSTIMESTAMP\x20WHERE\x20job_name\x20=\x20:2',[_0x1056a1,_0x28da30]);else _0x4d5c43['BOCwj'](_0xc483aa,_0x4d5c43[_0x45d1c2(0x1c9)])?await _0x495bd5['executeQuery'](_0x45d1c2(0x1ba),[_0x1056a1,_0x28da30]):await _0x495bd5[_0x45d1c2(0x269)]('UPDATE\x20job_registry\x20SET\x20last_status\x20=\x20$1,\x20last_run_at\x20=\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20updated_at\x20=\x20NOW()\x20WHERE\x20job_name\x20=\x20$2',[_0x1056a1,_0x28da30]);}catch(_0x217601){}}async['updateRegistryCounters'](_0x322bd0,_0x3cadb9,_0x45c36e,_0x172c5e){const _0x569599=a0_0x4dced4,_0x3330af={'QnYEW':_0x569599(0x264),'aEWhN':'job_registry_counter_error'},_0x89ac5b=this[_0x569599(0x22b)]();if(!_0x89ac5b)return;const _0x1a1030=this[_0x569599(0x284)](),_0x215578=_0x3cadb9===_0x569599(0x2bf)?_0x569599(0x1f1):_0x3330af[_0x569599(0x24a)];try{if(_0x1a1030===_0x569599(0x298))await _0x89ac5b['executeQuery']('UPDATE\x20job_registry\x20SET\x20last_status\x20=\x20:1,\x20last_duration_ms\x20=\x20:2,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x215578+'\x20=\x20'+_0x215578+'\x20+\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20:3,\x20updated_at\x20=\x20SYSTIMESTAMP\x20WHERE\x20job_name\x20=\x20:4',[_0x3cadb9,_0x45c36e,_0x172c5e,_0x322bd0]);else _0x1a1030===_0x569599(0x2ba)?await _0x89ac5b['executeQuery'](_0x569599(0x248)+_0x215578+_0x569599(0x2cf)+_0x215578+_0x569599(0x1f2),[_0x3cadb9,_0x45c36e,_0x172c5e,_0x322bd0]):await _0x89ac5b[_0x569599(0x269)](_0x569599(0x204)+_0x215578+_0x569599(0x2cf)+_0x215578+'\x20+\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20$3,\x20updated_at\x20=\x20NOW()\x20WHERE\x20job_name\x20=\x20$4',[_0x3cadb9,_0x45c36e,_0x172c5e,_0x322bd0]);}catch(_0xb0231d){logger[_0x569599(0x241)]({'event':_0x3330af['aEWhN'],'jobName':_0x322bd0,'error':_0xb0231d['message']},_0x569599(0x207)+_0xb0231d[_0x569599(0x296)]);}}async['getNextRunFromBullMQ'](_0x283005){const _0x3bafa2=a0_0x4dced4,_0x4377c3={'BYbJo':function(_0x359455,_0x4b445b){return _0x359455!==_0x4b445b;},'QTjNa':function(_0x3c1575,_0x35c0a3){return _0x3c1575===_0x35c0a3;}},_0x61aefd=this[_0x3bafa2(0x20a)][_0x283005];if(!_0x61aefd||_0x4377c3['BYbJo'](_0x61aefd[_0x3bafa2(0x2c3)],'cron')||_0x4377c3[_0x3bafa2(0x25f)](_0x61aefd[_0x3bafa2(0x299)],![]))return null;const _0x1b68af=this[_0x3bafa2(0x23e)][_0x61aefd['queue']||'default'];if(!_0x1b68af)return null;try{if(typeof _0x1b68af[_0x3bafa2(0x2d0)]==='function'){const _0xd5925c=await _0x1b68af[_0x3bafa2(0x2d0)](0x0,0x64),_0x41023a=_0xd5925c[_0x3bafa2(0x1bd)](_0xa670b9=>_0xa670b9[_0x3bafa2(0x2b6)]===_0x283005);return _0x41023a?.['next']?new Date(_0x41023a['next']):null;}}catch(_0x206d40){}return null;}async['setAllJobsOffline'](){const _0x3a3839=a0_0x4dced4,_0x378922={'ZivjS':_0x3a3839(0x298),'cMmBE':function(_0x1f198e,_0x373528){return _0x1f198e===_0x373528;}},_0x5d223d=this[_0x3a3839(0x22b)]();if(!_0x5d223d)return;const _0x36ff37=this['getDbType']();try{if(_0x36ff37===_0x378922['ZivjS'])await _0x5d223d['executeQuery'](_0x3a3839(0x280));else _0x378922[_0x3a3839(0x28f)](_0x36ff37,'mysql')?await _0x5d223d[_0x3a3839(0x269)](_0x3a3839(0x27e)):await _0x5d223d[_0x3a3839(0x269)](_0x3a3839(0x1b1));}catch(_0x58b044){logger['warn']({'event':_0x3a3839(0x21e),'error':_0x58b044['message']},_0x3a3839(0x283)+_0x58b044['message']);}}['getDbUtils'](){const _0x591dcc=a0_0x4dced4,_0x540d97={'klGWD':'postgresql','QYFHN':function(_0x18ce85,_0x271e81){return _0x18ce85===_0x271e81;},'uDZFQ':_0x591dcc(0x298),'CNqTH':_0x591dcc(0x22f),'bmVeb':_0x591dcc(0x252),'FkBwX':'Oracle\x20DB\x20module\x20not\x20available','uvrRd':_0x591dcc(0x2ba),'NDJHj':function(_0x359a4b,_0x53df40){return _0x359a4b(_0x53df40);},'kMrsf':'../../utils/db-mysql','ZiLti':_0x591dcc(0x1c4),'AqRki':_0x591dcc(0x1bb)},_0xb1de00=(process['env']['DB_TYPE']||_0x540d97[_0x591dcc(0x23a)])['toLowerCase']();if(_0x540d97['QYFHN'](_0xb1de00,_0x540d97[_0x591dcc(0x1ad)]))try{const _0xddbf73=require(_0x540d97['CNqTH']);return{'executeQuery':(_0x181331,_0x47998e)=>_0xddbf73[_0x591dcc(0x269)](_0x181331,_0x47998e),'executeTransaction':_0x2dcd57=>_0xddbf73['executeTransaction'](_0x2dcd57),'getPool':()=>_0xddbf73['getPool']()};}catch(_0x1edd47){return logger['warn']({'event':_0x540d97['bmVeb']},_0x540d97['FkBwX']),null;}if(_0x540d97['QYFHN'](_0xb1de00,_0x540d97['uvrRd']))try{const _0x510575=_0x540d97['NDJHj'](require,_0x540d97['kMrsf']);return{'executeQuery':(_0x203470,_0x26c6e6)=>_0x510575[_0x591dcc(0x269)](_0x203470,_0x26c6e6),'executeTransaction':_0x3052d4=>_0x510575[_0x591dcc(0x218)](_0x3052d4),'getPool':()=>_0x510575[_0x591dcc(0x1fc)]()};}catch(_0x149c5d){return logger['warn']({'event':_0x540d97[_0x591dcc(0x1e3)]},'MySQL\x20DB\x20module\x20not\x20available'),null;}try{const _0x5476bd=require('../../utils/db');return{'executeQuery':_0x5476bd['executeQuery'],'executeTransaction':_0x5476bd['executeTransaction'],'getPool':_0x5476bd['getPool']};}catch(_0x562192){return logger[_0x591dcc(0x241)]({'event':'db_pg_unavailable'},_0x540d97['AqRki']),null;}}['getRedisClient'](){const _0x5c7253=a0_0x4dced4,_0x9d4bd9={'XMFgO':function(_0x92f6c4,_0x453649){return _0x92f6c4(_0x453649);}};try{const _0x2539bf=_0x9d4bd9['XMFgO'](require,'../../utils/redis-client');return _0x2539bf['getClient']?_0x2539bf[_0x5c7253(0x1db)]():_0x2539bf;}catch(_0x5f0855){return null;}}[a0_0x4dced4(0x21b)](){const _0x266a6e=a0_0x4dced4,_0x18b771={'GUoqS':'true','uVsUx':function(_0x22f565,_0x9c7df1){return _0x22f565(_0x9c7df1);},'XXXZi':_0x266a6e(0x1b7)};try{if(process['env']['KAFKA_ENABLED']===_0x18b771[_0x266a6e(0x25d)]){const _0x52dfdd=_0x18b771['uVsUx'](require,_0x18b771['XXXZi']);return _0x52dfdd['getInstance']?_0x52dfdd['getInstance']():_0x52dfdd;}}catch(_0x8664d8){}return null;}[a0_0x4dced4(0x2a9)](){try{return require('../../utils/cache-manager');}catch(_0x1a9875){return null;}}async[a0_0x4dced4(0x279)](_0x3461fd,_0x5d4682={}){const _0x207c8e=a0_0x4dced4,_0x2966c1={'XtaNp':_0x207c8e(0x1b8)},_0x370cc6=this['jobConfigs'][_0x3461fd];if(!_0x370cc6)throw new Error(_0x207c8e(0x2a3)+_0x3461fd);const _0x1ca523=this[_0x207c8e(0x23e)][_0x370cc6['queue']||_0x207c8e(0x228)],_0x359b0b=await _0x1ca523[_0x207c8e(0x1c5)](_0x3461fd,{..._0x5d4682,'handler':_0x370cc6['handler'],'triggeredBy':_0x2966c1['XtaNp']},{'attempts':_0x370cc6[_0x207c8e(0x2c4)]?.['maxAttempts']||0x3,'backoff':{'type':_0x370cc6[_0x207c8e(0x2c4)]?.[_0x207c8e(0x2d5)]||_0x207c8e(0x234),'delay':_0x370cc6['retry']?.['initialDelay']||0x1388},'timeout':_0x370cc6['timeout']||0x7530});return logger[_0x207c8e(0x2dc)]({'event':'job_dispatched','jobId':_0x359b0b['id'],'name':_0x3461fd,'triggeredBy':'api'},'Job\x20dispatched:\x20'+_0x3461fd+_0x207c8e(0x2ce)+_0x359b0b['id']+')'),{'jobId':_0x359b0b['id'],'name':_0x3461fd};}async[a0_0x4dced4(0x1d4)](_0x1beaca,_0x379c7c={},_0x1f66fc=0x0){const _0xc938ce=a0_0x4dced4,_0x3eceff={'OgPeu':_0xc938ce(0x2d2),'XWxfr':_0xc938ce(0x1fe)},_0x12c307=this[_0xc938ce(0x20a)][_0x1beaca];if(!_0x12c307)throw new Error('Job\x20not\x20found:\x20'+_0x1beaca);const _0x310d77=this['queues'][_0x12c307['queue']||_0xc938ce(0x228)],_0x14d65d=await _0x310d77['add'](_0x1beaca,{..._0x379c7c,'handler':_0x12c307['handler'],'triggeredBy':_0x3eceff['OgPeu']},{'delay':_0x1f66fc,'attempts':_0x12c307['retry']?.[_0xc938ce(0x2aa)]||0x3,'backoff':{'type':_0x12c307[_0xc938ce(0x2c4)]?.[_0xc938ce(0x2d5)]||_0xc938ce(0x234),'delay':_0x12c307[_0xc938ce(0x2c4)]?.['initialDelay']||0x1388},'timeout':_0x12c307['timeout']||0x7530});return logger[_0xc938ce(0x2dc)]({'event':_0x3eceff['XWxfr'],'jobId':_0x14d65d['id'],'name':_0x1beaca,'delayMs':_0x1f66fc},'Job\x20dispatched\x20(delayed\x20'+_0x1f66fc+_0xc938ce(0x29b)+_0x1beaca+'\x20(id:\x20'+_0x14d65d['id']+')'),{'jobId':_0x14d65d['id'],'name':_0x1beaca};}async['getJobStatus'](_0x2e7122){const _0x7469c3=a0_0x4dced4;for(const _0x234840 of Object['values'](this[_0x7469c3(0x23e)])){const _0x178382=await _0x234840[_0x7469c3(0x230)](_0x2e7122);if(_0x178382){const _0x43a1d0=await _0x178382[_0x7469c3(0x2b0)]();return{'jobId':_0x178382['id'],'name':_0x178382['name'],'state':_0x43a1d0,'progress':_0x178382[_0x7469c3(0x221)],'attemptsMade':_0x178382['attemptsMade'],'failedReason':_0x178382['failedReason'],'returnvalue':_0x178382[_0x7469c3(0x1b2)],'data':_0x178382['data'],'timestamps':{'created':_0x178382['timestamp'],'started':_0x178382['processedOn'],'completed':_0x178382[_0x7469c3(0x210)]}};}}return null;}[a0_0x4dced4(0x1ef)](){const _0x4849b6=a0_0x4dced4;return Object[_0x4849b6(0x256)](this['jobConfigs'])[_0x4849b6(0x25b)](_0x597670=>({'name':_0x597670[_0x4849b6(0x2b6)],'description':_0x597670[_0x4849b6(0x2ae)]||'','type':_0x597670['type'],'schedule':_0x597670[_0x4849b6(0x29e)],'handler':_0x597670['handler'],'enabled':_0x597670[_0x4849b6(0x299)]!==![],'queue':_0x597670[_0x4849b6(0x2a6)]||_0x4849b6(0x228),'timeout':_0x597670[_0x4849b6(0x261)]||0x7530,'retry':_0x597670['retry']||{'maxAttempts':0x3,'backoff':'exponential','initialDelay':0x1388},'metadata':_0x597670['metadata']||{}}));}async[a0_0x4dced4(0x212)](){const _0x5042ef=a0_0x4dced4,_0x3c9210=[];for(const [_0x2b7ffa,_0x44ef20]of Object['entries'](this['queues'])){const _0x5e3d0e=await _0x44ef20[_0x5042ef(0x26e)]([_0x5042ef(0x231)]);for(const _0x1e67c6 of _0x5e3d0e){_0x3c9210['push']({'jobId':_0x1e67c6['id'],'name':_0x1e67c6['name'],'queue':_0x2b7ffa,'progress':_0x1e67c6[_0x5042ef(0x221)],'attemptsMade':_0x1e67c6['attemptsMade'],'startedAt':_0x1e67c6[_0x5042ef(0x20f)]});}}return _0x3c9210;}async['getHistory'](_0xcc15d0={}){const _0x51adcc=a0_0x4dced4,_0x125bac={'mmfBN':function(_0x57edad,_0x4541ff,_0x2afd64){return _0x57edad(_0x4541ff,_0x2afd64);},'hUjdS':function(_0x3d0a6f,_0x10d70a){return _0x3d0a6f*_0x10d70a;},'mdrUK':function(_0x228537,_0x573bb5){return _0x228537-_0x573bb5;},'nuyaF':function(_0x55ea08,_0x1f5e7f){return _0x55ea08+_0x1f5e7f;}},_0x5f4012=_0x125bac['mmfBN'](parseInt,_0xcc15d0['page'],0xa)||0x1,_0x573cc5=Math['min'](parseInt(_0xcc15d0['limit'],0xa)||0x14,0x64),_0xe83a8=_0x125bac[_0x51adcc(0x202)](_0x125bac['mdrUK'](_0x5f4012,0x1),_0x573cc5),_0x1e76cd=_0x125bac[_0x51adcc(0x1f5)](_0xe83a8,_0x573cc5)-0x1,_0x2b83a0=[];for(const [_0x41ef59,_0x3189e0]of Object[_0x51adcc(0x24b)](this['queues'])){const _0x3980c0=await _0x3189e0[_0x51adcc(0x26e)](['completed'],_0xe83a8,_0x1e76cd),_0x2e3674=await _0x3189e0[_0x51adcc(0x26e)](['failed'],_0xe83a8,_0x1e76cd);for(const _0x20e2b1 of[..._0x3980c0,..._0x2e3674]){const _0x1aea44=await _0x20e2b1['getState']();_0x2b83a0[_0x51adcc(0x2d1)]({'jobId':_0x20e2b1['id'],'name':_0x20e2b1['name'],'state':_0x1aea44,'queue':_0x41ef59,'attemptsMade':_0x20e2b1[_0x51adcc(0x2bb)],'failedReason':_0x20e2b1[_0x51adcc(0x2c2)],'returnvalue':_0x20e2b1['returnvalue'],'timestamps':{'created':_0x20e2b1['timestamp'],'started':_0x20e2b1[_0x51adcc(0x20f)],'completed':_0x20e2b1['finishedOn']}});}}return _0x2b83a0['sort']((_0x2530a4,_0x397b54)=>(_0x397b54[_0x51adcc(0x254)]['created']||0x0)-(_0x2530a4[_0x51adcc(0x254)][_0x51adcc(0x1d1)]||0x0)),{'jobs':_0x2b83a0[_0x51adcc(0x22e)](0x0,_0x573cc5),'total':_0x2b83a0[_0x51adcc(0x237)],'page':_0x5f4012,'limit':_0x573cc5};}async['cancelJob'](_0x534058){const _0x31f143=a0_0x4dced4,_0xdc2952={'QFyWW':_0x31f143(0x231),'VPmkr':'api-cancel','EErpd':function(_0x5727b0,_0x596eb9){return _0x5727b0===_0x596eb9;},'lkYzy':'delayed'};for(const _0x1d9d90 of Object[_0x31f143(0x256)](this['queues'])){const _0x5ea6a5=await _0x1d9d90[_0x31f143(0x230)](_0x534058);if(_0x5ea6a5){const _0x4c1f2f=await _0x5ea6a5['getState']();if(_0x4c1f2f===_0xdc2952[_0x31f143(0x2dd)])return await _0x5ea6a5['moveToFailed'](new Error('Job\x20cancelled\x20via\x20API'),_0xdc2952['VPmkr'],!![]),{'success':!![],'message':_0x31f143(0x291)+_0x534058+_0x31f143(0x247)};if(_0x4c1f2f==='waiting'||_0xdc2952[_0x31f143(0x219)](_0x4c1f2f,_0xdc2952['lkYzy']))return await _0x5ea6a5['remove'](),{'success':!![],'message':'Job\x20'+_0x534058+'\x20removed\x20(was\x20'+_0x4c1f2f+')'};return{'success':![],'message':_0x31f143(0x291)+_0x534058+'\x20cannot\x20be\x20cancelled\x20(state:\x20'+_0x4c1f2f+')'};}}return{'success':![],'message':_0x31f143(0x291)+_0x534058+_0x31f143(0x1aa)};}async[a0_0x4dced4(0x293)](){const _0x2efc70=a0_0x4dced4,_0x2f9e80={'GVGFH':'active','JPEFZ':_0x2efc70(0x213),'OFqZw':_0x2efc70(0x28b),'iShAy':_0x2efc70(0x27d)},_0xe62c7d={};for(const [_0x34a241,_0x28f8ea]of Object[_0x2efc70(0x24b)](this['queues'])){try{const _0x2724f4=await _0x28f8ea['getJobCounts'](_0x2f9e80['GVGFH'],_0x2f9e80[_0x2efc70(0x206)],'delayed',_0x2efc70(0x1bc),_0x2f9e80['OFqZw'],_0x2f9e80[_0x2efc70(0x1f8)]);_0xe62c7d[_0x34a241]=_0x2724f4;}catch(_0x4b940d){_0xe62c7d[_0x34a241]={'error':_0x4b940d[_0x2efc70(0x296)]};}}const _0x5ef661={};for(const [_0x34b725,_0x25a78e]of Object[_0x2efc70(0x24b)](this[_0x2efc70(0x2a1)])){_0x5ef661[_0x34b725]={'running':_0x25a78e['isRunning'](),'paused':_0x25a78e[_0x2efc70(0x1d5)]()};}return{'initialized':this['initialized'],'registeredJobs':Object[_0x2efc70(0x26d)](this[_0x2efc70(0x20a)])['length'],'redisConnections':this['connections']['length'],'queues':_0xe62c7d,'workers':_0x5ef661};}async[a0_0x4dced4(0x1ec)](_0x4fd3ed,_0x1f6a9f){const _0x812f9f=a0_0x4dced4,_0x559158={'RCogU':_0x812f9f(0x288),'nzXvg':_0x812f9f(0x1f6),'fPkIl':'job_completed','maCLx':function(_0x418bac,_0x46eeb6){return _0x418bac===_0x46eeb6;},'iTmWt':_0x812f9f(0x2bf),'ZrMAo':'function','tVnco':_0x812f9f(0x1e1)},_0x2a8870=logger['child']({'jobId':_0x4fd3ed['id'],'jobName':_0x4fd3ed[_0x812f9f(0x2b6)]});_0x2a8870['info']({'event':_0x559158['fPkIl'],'attemptsMade':_0x4fd3ed[_0x812f9f(0x2bb)],'duration':_0x4fd3ed[_0x812f9f(0x210)]?_0x4fd3ed['finishedOn']-_0x4fd3ed[_0x812f9f(0x20f)]:null},'Job\x20completed:\x20'+_0x4fd3ed['name']);const _0x26f617=this['activeHistoryIds'][_0x812f9f(0x2c0)](_0x4fd3ed['id']);if(_0x26f617){if(_0x26f617['insertPromise'])await _0x26f617[_0x812f9f(0x22c)];const _0x3ed36b=_0x4fd3ed[_0x812f9f(0x210)]&&_0x4fd3ed['processedOn']?_0x4fd3ed[_0x812f9f(0x210)]-_0x4fd3ed['processedOn']:null,_0x5aa082=_0x559158['maCLx'](typeof _0x1f6a9f,'string')?_0x1f6a9f:_0x1f6a9f?JSON[_0x812f9f(0x276)](_0x1f6a9f)[_0x812f9f(0x2d9)](0x0,0x1f4):null;await this[_0x812f9f(0x243)](_0x26f617[_0x812f9f(0x1b6)],_0x3ed36b,_0x5aa082);const _0x40c297=await this['getNextRunFromBullMQ'](_0x4fd3ed[_0x812f9f(0x2b6)]);await this['updateRegistryCounters'](_0x4fd3ed[_0x812f9f(0x2b6)],_0x559158['iTmWt'],_0x3ed36b,_0x40c297),this[_0x812f9f(0x268)]['delete'](_0x4fd3ed['id']);}const _0x5c8e33=getComponentEngine();if(_0x5c8e33&&typeof _0x5c8e33[_0x812f9f(0x1b5)]===_0x559158[_0x812f9f(0x1b4)]){const _0x49e893={'jobId':_0x4fd3ed['id'],'jobName':_0x4fd3ed['name'],'result':_0x1f6a9f,'config':this['jobConfigs'][_0x4fd3ed['name']]||{}};_0x5c8e33[_0x812f9f(0x1b5)]('onAfterJobComplete',_0x49e893,![])[_0x812f9f(0x28c)](_0x27e972=>{const _0x4cc56e=_0x812f9f;_0x2a8870[_0x4cc56e(0x241)]({'event':_0x559158[_0x4cc56e(0x21a)],'error':_0x27e972[_0x4cc56e(0x296)]},_0x559158['nzXvg']);});}const _0x1f2c5e=this[_0x812f9f(0x21b)]();if(_0x1f2c5e)try{await _0x1f2c5e[_0x812f9f(0x1ca)]('restforge.jobs.completed','JOB_COMPLETED',null,{'jobId':_0x4fd3ed['id'],'name':_0x4fd3ed[_0x812f9f(0x2b6)],'result':_0x1f6a9f},{'module':'job-scheduler','endpoint':_0x4fd3ed['name']});}catch(_0x11eb5e){_0x2a8870['warn']({'event':_0x559158[_0x812f9f(0x2c1)],'error':_0x11eb5e['message']},'Failed\x20to\x20publish\x20JOB_COMPLETED\x20to\x20Kafka');}}async[a0_0x4dced4(0x289)](_0x56a49d,_0x20aaee){const _0x2c7d67=a0_0x4dced4,_0x353142={'gzCVH':_0x2c7d67(0x1d7),'yyMBk':_0x2c7d67(0x1b9),'aZSaX':_0x2c7d67(0x1e7),'jWZPb':function(_0x558f68,_0x5c76b8){return _0x558f68<_0x5c76b8;},'owUtG':function(_0x523817,_0x2655a6){return _0x523817-_0x2655a6;},'GTVNy':function(_0x1146ea){return _0x1146ea();},'NczMg':function(_0x5e2524,_0x5efef0){return _0x5e2524===_0x5efef0;},'IGhGd':'onAfterJobFailed','eOdbO':'JOB_FAILED','sxZYk':_0x2c7d67(0x1e1)},_0x11c74d=logger['child']({'jobId':_0x56a49d['id'],'jobName':_0x56a49d[_0x2c7d67(0x2b6)]});_0x11c74d[_0x2c7d67(0x232)]({'event':_0x353142[_0x2c7d67(0x211)],'attemptsMade':_0x56a49d[_0x2c7d67(0x2bb)],'failedReason':_0x20aaee?.[_0x2c7d67(0x296)],'willRetry':_0x353142['jWZPb'](_0x56a49d[_0x2c7d67(0x2bb)],this['jobConfigs'][_0x56a49d['name']]?.[_0x2c7d67(0x2c4)]?.[_0x2c7d67(0x2aa)]||0x3)},_0x2c7d67(0x1d9)+_0x56a49d[_0x2c7d67(0x2b6)]+'\x20—\x20'+_0x20aaee?.['message']);const _0x23bf17=this['activeHistoryIds']['get'](_0x56a49d['id']);if(_0x23bf17){if(_0x23bf17['insertPromise'])await _0x23bf17['insertPromise'];const _0x460c0a=_0x56a49d['finishedOn']&&_0x56a49d['processedOn']?_0x353142['owUtG'](_0x56a49d['finishedOn'],_0x56a49d['processedOn']):null;await this[_0x2c7d67(0x27b)](_0x23bf17['historyId'],_0x460c0a,_0x56a49d[_0x2c7d67(0x221)],_0x20aaee?.[_0x2c7d67(0x296)],_0x20aaee?.['stack']);const _0x5cdb36=await this[_0x2c7d67(0x21c)](_0x56a49d['name']);await this[_0x2c7d67(0x21f)](_0x56a49d['name'],_0x2c7d67(0x1bc),_0x460c0a,_0x5cdb36),this[_0x2c7d67(0x268)]['delete'](_0x56a49d['id']);}const _0x39c6e5=_0x353142['GTVNy'](getComponentEngine);if(_0x39c6e5&&_0x353142['NczMg'](typeof _0x39c6e5['executeEventHandlers'],'function')){const _0x2ea44e={'jobId':_0x56a49d['id'],'jobName':_0x56a49d[_0x2c7d67(0x2b6)],'error':_0x20aaee?.['message'],'attemptsMade':_0x56a49d['attemptsMade'],'config':this[_0x2c7d67(0x20a)][_0x56a49d['name']]||{}};_0x39c6e5[_0x2c7d67(0x1b5)](_0x353142['IGhGd'],_0x2ea44e,![])['catch'](_0x3bd987=>{const _0x120aa7=_0x2c7d67;_0x11c74d[_0x120aa7(0x241)]({'event':_0x353142['gzCVH'],'error':_0x3bd987['message']},_0x353142[_0x120aa7(0x272)]);});}const _0x57ec66=this['getKafkaService']();if(_0x57ec66)try{await _0x57ec66['publishEvent']('restforge.jobs.failed',_0x353142[_0x2c7d67(0x1e8)],null,{'jobId':_0x56a49d['id'],'name':_0x56a49d[_0x2c7d67(0x2b6)],'error':_0x20aaee?.['message'],'attemptsMade':_0x56a49d[_0x2c7d67(0x2bb)]},{'module':_0x2c7d67(0x273),'endpoint':_0x56a49d[_0x2c7d67(0x2b6)]});}catch(_0x312c1c){_0x11c74d[_0x2c7d67(0x241)]({'event':_0x353142['sxZYk'],'error':_0x312c1c['message']},_0x2c7d67(0x266));}}['onJobProgress'](_0x34ed37,_0x483382){const _0x486da7=a0_0x4dced4;logger['debug']({'event':'job_progress','jobId':_0x34ed37['id'],'jobName':_0x34ed37[_0x486da7(0x2b6)],'progress':_0x483382},'Job\x20progress:\x20'+_0x34ed37['name']+_0x486da7(0x2a4)+_0x483382+'%');}}module['exports']=new JobManager();
|
|
1
|
+
function a0_0x6636(){const _0x5614ad=['DMfSAwq','Bgnhy1C','zw5KC1DPDgG','yxbPlwnHBMnLBa','AxnqyxvZzwq','DMfSAwrHDgvdB25MAwC','wLnfrNG','s2X3Bwm','AMTkqwm','ELfNzNy','su5trvjuieLove8GAM9Ix3jLz2LZDhj5cIaGicaGicaGicaGkgPVyL9Uyw1LlcbKAxnWBgf5x25HBwuSihr5CguSihnJAgvKDwXLlcbXDwv1zsWGAgfUzgXLCIWGy29UzMLNx2zPBguScIaGicaGicaGicaGihrPBwvVDxqSihjLDhj5x21HEcWGCMv0CNLFyMfJA29MzIWGC3rHDhvZlcbUzxH0x3j1BL9HDcWGy3jLyxrLzf9HDcWGDxbKyxrLzf9HDcKkicaGicaGicaGicbwquXvrvmGkd8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sie5pvYGPlcbot1COksKkicaGicaGicaGicbptIbevvbmsunbveuGs0vzifvqrefurqOGicaGicaGicaGicaGzgLZCgXHEv9Uyw1Lid0GvKfmvuvtkgrPC3bSyxLFBMfTzsKSihr5CguGpsbwquXvrvmODhLWzsKScIaGicaGicaGicaGicbZy2HLzhvSzsa9ifzbtfvfuYHZy2HLzhvSzsKSihf1zxvLid0GvKfmvuvtkhf1zxvLksWkicaGicaGicaGicaGigHHBMrSzxiGpsbwquXvrvmOAgfUzgXLCIKSignVBMzPz19MAwXLid0GvKfmvuvtkgnVBMzPz19MAwXLksWkicaGicaGicaGicaGihrPBwvVDxqGpsbwquXvrvmODgLTzw91DcKSihjLDhj5x21HEca9ifzbtfvfuYHYzxrYEv9TyxGPlaOGicaGicaGicaGicaGCMv0CNLFyMfJA29MzIa9ifzbtfvfuYHYzxrYEv9IywnRB2zMksWGC3rHDhvZid0GvKfmvuvtkhn0yxr1CYKScIaGicaGicaGicaGicbUzxH0x3j1BL9HDca9ifzbtfvfuYHUzxH0x3j1BL9HDcK','u1fmihnJCMLWDcb0AwrHAYbKAxrLBxvRyw46ia','AgfUzgXLCG','yxr0zw1WDa','BwfW','mJq0mJq4nezsrgDrwG','DhjPz2DLCLr5Cgu','BxryqvG','zhvWBgLJyxrL','Bw5rr2O','AM9ItMfTzq','z2v0rgjuExbL','AM9Ix2vUC3vYzv90ywjSzxnFzxjYB3i','su5trvjuieLove8GAM9Ix3jLz2LZDhj5cIaGicaGicaGicaGkgPVyL9Uyw1LlcbKAxnWBgf5x25HBwuSihr5CguSihnJAgvKDwXLlcbXDwv1zsWGAgfUzgXLCIWGy29UzMLNx2zPBguScIaGicaGicaGicaGihrPBwvVDxqSihjLDhj5x21HEcWGCMv0CNLFyMfJA29MzIWGC3rHDhvZlcbUzxH0x3j1BL9HDcWGy3jLyxrLzf9HDcWGDxbKyxrLzf9HDcKkicaGicaGicaGicbwquXvrvmGkcqXlcaKmIWGjdmSicq0lcaKnsWGjdySicq3lcaKocWGjdKSicqXmcWGjdeXlcaKmtiSie5pvYGPlcbot1COksKkicaGicaGicaGicbptIbdt05gteLdvcaOAM9Ix25HBwuPierpifvqrefursbtrvqkicaGicaGicaGicaGigrPC3bSyxLFBMfTzsa9ievyq0XvrevelMrPC3bSyxLFBMfTzsWGDhLWzsa9ievyq0XvrevelNr5CguScIaGicaGicaGicaGicbZy2HLzhvSzsa9ievyq0XvrevelNnJAgvKDwXLlcbXDwv1zsa9ievyq0XvrevelNf1zxvLlaOGicaGicaGicaGicaGAgfUzgXLCIa9ievyq0XvrevelMHHBMrSzxiSignVBMzPz19MAwXLid0GrvHdtfveruqUy29UzMLNx2zPBguScIaGicaGicaGicaGicb0Aw1LB3v0id0GrvHdtfveruqUDgLTzw91DcWGCMv0CNLFBwf4id0GrvHdtfveruqUCMv0CNLFBwf4laOGicaGicaGicaGicaGCMv0CNLFyMfJA29MzIa9ievyq0XvrevelNjLDhj5x2jHy2TVzMySihn0yxr1CYa9ievyq0XvrevelNn0yxr1CYWkicaGicaGicaGicaGig5LEhrFCNvUx2f0id0GrvHdtfveruqUBMv4Df9YDw5FyxqSihvWzgf0zwrFyxqGpsbot1COkq','ywn0AxzL','Dg9mB3DLCKnHC2u','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNzMfPBgvKjYWGy29TCgXLDgvKx2f0id0GtK9xkcKScIaGicaGicaGicaGzhvYyxrPB25FBxmGpsaKmsWGChjVz3jLC3mGpsaKmIWGzxjYB3jFBwvZC2fNzsa9icqZlcbLCNjVCL9ZDgfJAYa9icq0ifDirvjfigLKid0Gjdu','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticG6msWGoJiSidOZlca6ncWGoJuSicDYDw5UAw5NjYWGoJySidO3lca6ocWGu1LtveLnrvnuqu1qlca6osWGu1LtveLnrvnuqu1qkq','wvzyywi','zgvIDwC','AM9Ix2rPC3bHDgnOzwq','BxmPlI4U','AM9Ix3nXBf9UB3rFzM91BMq','C3vIC3rYAw5N','zxHLy3v0zvf1zxj5','z2v0q2fJAgvnyw5Hz2vY','id0G','y29UBMvJDgLVBNm','y3DK','CMvZDgzVCMDLlMPVyNmUy29TCgXLDgvK','C3bSAxq','Cg9ZDgDYzxnXBa','tKvcrvu','AeLivxC','AM9Ix3jLz2LZDgvYx2zHAwXLza','sM9Iie1HBMfNzxiGCMvHzhK6ia','ChvIBgLZAev2zw50','sM9Iie1HBMfNzxiGC2H1DhrPBMCGzg93BIaODgLTzw91DdOG','v2foAvu','mJbpExH4vhG','B1ffsNC','Cgf1C2u','B0fHAxu','mZaXrMjiBhfV','ntm5mtCWmM9tqNzVBW','sK9cx0zbsuXfrf9srvrftLrjt05Fse9vuLm','sK9cx1jfvevoveLptL9it1vsuW','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa/lcbSyxn0x2r1CMf0Aw9Ux21Zid0GpYWkicaGicaGicaGica','vKj3EK0','AgrwtMm','sM9Iig5VDcbMB3vUzdOG','txzxtxe','C3fSlxnJCMLWDhm','sgfUzgXLCIbUB3qGzM91BMqGzM9YigPVyJOG','BwvZC2fNzq','DhjPBq','z2v0uMvKAxndBgLLBNq','qNvSBe1rifDVCMTLCIbLCNjVCIaO','lIbkB2iGu2nOzwr1BgvYihrPzgfRigfRyw4GywT0AwyU','rMfPBgvKihrVihbHCNnLigPVyIbJB25MAwC6ia','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGC3rHDhvZid0Gj29MzMXPBMuNlcbUzxH0x3j1BL9HDca9ie5vteWSihvWzgf0zwrFyxqGpsbtwvnusu1fu1rbtva','zw5ZDxjLvgfIBgvZ','nJe3AKvywwn3','DgLTzw91Da','AM9Ix25Vx2nVBMzPz3m','BM93','tg9HzgvKia','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNC3vJy2vZCYCSignVBxbSzxrLzf9HDca9ie5pvYGPlaOGicaGicaGicaGigr1CMf0Aw9Ux21Zid0GjdeSihbYB2DYzxnZid0GmtaWlcbYzxn1BhrFC3vTBwfYEsa9icqYifDirvjfigLKid0Gjdm','lMPZ','vgLKywSGywrHigPVyIbJB25MAwCGzgL0zw11A2fUigrPihbHEwXVywqVAM9ICY8UiePVyIbnyw5Hz2vYigfRDgLMihrHBNbHignYB24U','yNvSBg1XsM9Iswq','z2v0q2XPzw50','C2H1DgrVD24','sM9IignVBMzPzYbPBNzHBgLKoIa','ignHBMnLBgXLzcaOD2fZigfJDgL2zsK','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGC3rHDhvZid0Gj29MzMXPBMuNlcbUzxH0x3j1BL9HDca9ie5vteWSihvWzgf0zwrFyxqGpsbot1COkq','C2v0qwXSsM9IC09MzMXPBMu','s2fZtgO','icSGmsWkicaGicaGicaGicbUzxH0x3j1BL9HDca9idOZlcb1CgrHDgvKx2f0id0Gu1LtveLnrvnuqu1qifDirvjfigPVyL9Uyw1Lid0GoJq','lI9QB2iTDMfSAwrHDg9Y','y3j5ChrV','q3jVBIbYzwDPC3rLCMvKoIa','ywn0AxzLsgLZDg9YEuLKCW','AgLNAa','zMfPBgvKuMvHC29U','zxjYB3jZ','nZqYnZrRuLLIDvK','s0fgs0fFru5bqKXfra','AM9Ix2vUC3vYzv90ywjSzxnFD2fYBG','lI4VlI4VC2vYDMLJzxmVA2fMA2ftzxj2AwnL','A0rrDhC','lI4VlI4VDxrPBhmVy2fJAguTBwfUywDLCG','C2XPy2u','mtaYodrqq2jXEhq','mJm1t01Lze1h','zxHWB3j0CW','AgfUzgXLCNm','CMvNAxn0zxjkB2i','z2v0rgjvDgLSCW','DxbKyxrLuMvNAxn0CNLtDgf0Dxm','ug9ZDgDYzvnrtcbeqIbTB2r1BguGBM90igf2ywLSywjSzq','Cg9ZDgDYzxnXBc5ZCwW','DxbZzxj0sM9Iu2nOzwr1BgvY','AM9Ix2HPC3rVCNLFy29TCgXLDgvFzxjYB3i','CgLK','AxrjshC','q3fvyuW','ifjLzgLZignVBM5Ly3rPB25Z','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa6msWGBgfZDf9KDxjHDgLVBL9TCYa9idOYlaOGicaGicaGicaGia','zg56q1G','sxj5q2O','y3jVBG','B25SAw5L','Aw5Zzxj0sM9IsgLZDg9YEq','ywrjzeq','tfjou0e','uKvesvnFse9tva','rejFvfLqrsaN','zNvUy3rPB24','CMvHzezPBgvtEw5J','zMLUza','qwHxwwu','sM9Iia','sg5yuva','sM9Iie1HBMfNzxiGC2H1DgrVD24Gy29TCgXLDgu','r2PLuMq','B2zMBgLUzq','CgfNzq','zgf0yq','CMvZDgzVCMDLlMPVyNmUzMfPBgvK','rMfPBgvKihrVihb1yMXPC2GGsK9cx0nptvbmrvrfrcb0BYblywzRyq','Bg93','yxLbqM8','CMvTB3zL','D2fPDgLUzW','Dhj1zq','sw5PDgLHBgL6Aw5NiePVyIbnyw5Hz2vYlI4U','sM9IigzHAwXLzdOG','zgvSyxLLza','CxvLDwu','y2HPBgq','CgfYC2u','C3rHBgXLza','C29YDa','AM9Ix2HHBMrSzxjFzg9Uzq','C3rYAw5N','qNvSBe1rifjLzgLZignVBM5Ly3rPB24GzxjYB3i6ia','zgvMyxvSDa','yKvLyvC','BMfTzq','x3nVDxjJzuzPBgu','Aw5PDgLHBgL6zwq','BxLZCwW','vuDouhi','wxv6yNi','suftC3K','sK9cx1nuquXmrurFsu5urvjwquW','Aw5PDgLHBerLBgf5','yMf0yMq','uwfmr0W','zMLSDgvY','lI4VlI4VDxrPBhmVzgiTBxLZCwW','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','uKvesvnFrei','y2f0y2G','t1fTBLu','z2v0u3rHDgu','yMjpquu','B3jHy2XLlNnXBa','CxvLDwvZ','CeHcqxm','y21cCxm','DgLTzxn0yw1W','ywz0zxjFAM9Ix2nVBxbSzxrLx2HVB2TFzxjYB3i','C3rYAw5NAwz5','BgvUz3rO','B25kB2jqCM9NCMvZCW','Bg9HzePVyKnVBMzPz3m','D2fYBG','icSGmsWkicaGicaGicaGicbUzxH0x3j1BL9HDca9id8Gv0HfuKuGAM9Ix25HBwuGpsa/','Aurtt0q','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa/lcbSyxn0x3j1BL9HDca9ie5pvYGPifDirvjfigPVyL9Uyw1Lid0GpW','rKP0z04','AM9Ix2THzMTHx3b1yMXPC2HFzxjYB3i','sK9cx0nptKnvuLjftKnz','zMfPBgvK','DxbKyxrLuMvNAxn0CNLdB3vUDgvYCW','CvHqC3K','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsaKmsWGBgfZDf9KDxjHDgLVBL9TCYa9icqYlaOGicaGicaGicaGia','icHPzdOG','qLb2DM8','rMfPBgvKihrVihvWzgf0zsbQB2iGCMvNAxn0CNKGy291BNrLCNm6ia','y3jLyxrLqNvSBe1rq29UBMvJDgLVBG','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsaKmsWGBgfZDf9YDw5FyxqGpsbot1COksWkicaGicaGicaGicb1CgrHDgvKx2f0id0GtK9xkcKGv0HfuKuGAM9Ix25HBwuGpsaKmG','yLPID00','BMv4Da','CxzKweG','mtiWohDLDvr6tG','y2XVC2u','DMfSDwvZ','Aw5JBhvKzxm','BwLU','DhLWzq','yNvSBg1X','t1v6rva','yMfJA29MzG','q25fsKW','AM9ICW','AM9Iq29UzMLNCW','qLH5Bg0','ChvZAa','DKz3Efu','yvDzCfu','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa6msWGBgfZDf9YDw5FyxqGpsbtwvnusu1fu1rbtvaScIaGicaGicaGicaGDxbKyxrLzf9HDca9ifnzu1rjtuvtvefnucbxsevsrsbQB2jFBMfTzsa9idOY','tgrkAwK','rKrUD3O','C0Hhtve','BLjHsee','Bwf4qxr0zw1WDhm','zw50CMLLCW','zw52','D0Hitey','AM9Ix21HBMfNzxjFC2H1DgrVD25FC3rHCNq','zMLUAxnOzwrpBG','zxHLy3v0zvrYyw5Zywn0Aw9U','CKDYAgO','ihjLBw92zwqGkhDHCYa','Cgf0Aa','ChjVy2vZC2vKt24','AM9PBG','CMv0CNK','AgLZDg9YEuLK','DxrMoa','sM9IignHBMnLBgXLzcb2AweGqvbj','igPVyIbJB25MAwCOCYKGzNjVBsbWyxLSB2fKl2PVyNmV','y29TCgXLDgvK','Aw5MBW','rMfPBgvKihrVihjLz2LZDgvYigPVyJOG','yxbP','ChjVy2vZC0PVyG','BezLAeK','B25bzNrLCKPVyKzHAwXLza','uNb0u3e','zxHLy3v0zuv2zw50sgfUzgXLCNm','yxr0zw1WDhnnywrL','B25bzNrLCKPVyKnVBxbSzxrLigHHBMrSzxiGzxjYB3iGkg5VBI1IBg9JA2LUzYK','Dw5RBM93BG','AM9Ix2nVBMzPz19PBNzHBgLK','rKPfrw0','zNvODhK','u2zhC0G','CxvPDa','zgvZy3jPChrPB24','EfvNCvi','y2XLyxi','mtq3nZu5nM5tweDfAG','qMfJA2DYB3vUzcbPBNnLCNqGAM9IigHPC3rVCNKGzMfPBgvKoIa','r3b3A0G','z2v0sgvHBhrOu3rHDhvZ','zxjYB3i','z2v0sM9ICW','zw5HyMXLza','CMnLyMu','DxbKyxrLuhjVz3jLC3m','tg1Mzgm','ywXS','iokaLca','yNvSBg1Xx3jLzgLZx2vYCM9Y','yw1drue','B3jHy2XL','CvfVsue','D29YA2vYCW','sM9IigrPC3bHDgnOzwq6ia','uKvesvnFue9sva','B25kB2jgywLSzwq','qNvSBe1rifjLzgLZignVBM5Ly3rPB24GDMvYAwzPzwq','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticG/lca/lca/lca/lca/lcaNCNvUBMLUzYCSid8Sid8Sid8Sie5pvYGPlca/lcbot1COksK','z2v0s2fMA2ftzxj2AwnL','ofntsufmrW','DxbKyxrLsM9IsgLZDg9YEuzHAwXLza','AM9Ix3DVCMTLCNnFy3jLyxrLza','Bg9JywXOB3n0','BxLZCwWUC3fS','DxvPza','y0Tnvxa','mJm4oty3mtzTAeH0zxu','C3bSAxrtCwXtDgf0zw1LBNrZ','z2v0tMv4Dfj1BKzYB21cDwXStve','rejFvfLqrq','AM9IlxnJAgvKDwXLCG','DhjPz2DLCMvKqNK','lIbeqIbTB25PDg9YAw5NigrPC2fIBgvKlG','EKPPD2q','AM9Ix2rPC3bHDgnOzwrFzgvSyxLLza','lI4VlI4VDxrPBhmVBg9Nz2vY','CMv0DxjUDMfSDwu','DgLTzxn0yw1WCW','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq'];a0_0x6636=function(){return _0x5614ad;};return a0_0x6636();}const a0_0x4f8384=a0_0x2747;(function(_0x22900b,_0xedbc99){const _0x2d8484=a0_0x2747,_0x2c1e91=_0x22900b();while(!![]){try{const _0x54e4be=-parseInt(_0x2d8484(0x2c7))/0x1*(parseInt(_0x2d8484(0x21a))/0x2)+parseInt(_0x2d8484(0x254))/0x3+-parseInt(_0x2d8484(0x2e6))/0x4*(parseInt(_0x2d8484(0x2e7))/0x5)+parseInt(_0x2d8484(0x2df))/0x6*(-parseInt(_0x2d8484(0x2b4))/0x7)+parseInt(_0x2d8484(0x26b))/0x8*(-parseInt(_0x2d8484(0x2b5))/0x9)+-parseInt(_0x2d8484(0x2b0))/0xa*(parseInt(_0x2d8484(0x28e))/0xb)+parseInt(_0x2d8484(0x272))/0xc;if(_0x54e4be===_0xedbc99)break;else _0x2c1e91['push'](_0x2c1e91['shift']());}catch(_0x126e02){_0x2c1e91['push'](_0x2c1e91['shift']());}}}(a0_0x6636,0x654ed));function a0_0x2747(_0x264b66,_0x4095e2){_0x264b66=_0x264b66-0x1e0;const _0x6636df=a0_0x6636();let _0x2747c4=_0x6636df[_0x264b66];if(a0_0x2747['kTzxQS']===undefined){var _0x1a1b16=function(_0xaeb4cb){const _0x3d7ea3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x139221='',_0x26b6c7='';for(let _0x5557b0=0x0,_0x42f6b3,_0x2eab77,_0x55a217=0x0;_0x2eab77=_0xaeb4cb['charAt'](_0x55a217++);~_0x2eab77&&(_0x42f6b3=_0x5557b0%0x4?_0x42f6b3*0x40+_0x2eab77:_0x2eab77,_0x5557b0++%0x4)?_0x139221+=String['fromCharCode'](0xff&_0x42f6b3>>(-0x2*_0x5557b0&0x6)):0x0){_0x2eab77=_0x3d7ea3['indexOf'](_0x2eab77);}for(let _0x50d7da=0x0,_0xe916da=_0x139221['length'];_0x50d7da<_0xe916da;_0x50d7da++){_0x26b6c7+='%'+('00'+_0x139221['charCodeAt'](_0x50d7da)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x26b6c7);};a0_0x2747['ssabTD']=_0x1a1b16,a0_0x2747['BFeKTE']={},a0_0x2747['kTzxQS']=!![];}const _0x2c7ae1=_0x6636df[0x0],_0x439864=_0x264b66+_0x2c7ae1,_0x5dad38=a0_0x2747['BFeKTE'][_0x439864];return!_0x5dad38?(_0x2747c4=a0_0x2747['ssabTD'](_0x2747c4),a0_0x2747['BFeKTE'][_0x439864]=_0x2747c4):_0x2747c4=_0x5dad38,_0x2747c4;}const {Queue,Worker}=require(a0_0x4f8384(0x220)),Redis=require('ioredis'),crypto=require(a0_0x4f8384(0x2d9)),{v7:uuidv7}=require(a0_0x4f8384(0x270)),fs=require('fs'),path=require(a0_0x4f8384(0x238)),{logger}=require(a0_0x4f8384(0x27b)),jobValidator=require(a0_0x4f8384(0x2d8));let componentEngine=null;function getComponentEngine(){const _0x11fbaa={'vbWnw':'../../utils/component-engine'};if(!componentEngine)try{const _0x3bfbbd=require(_0x11fbaa['vbWnw']);componentEngine=_0x3bfbbd['componentEngine']||_0x3bfbbd;}catch(_0x23b6d9){}return componentEngine;}class JobManager{constructor(){const _0x6c92e5=a0_0x4f8384;this['queues']={},this[_0x6c92e5(0x264)]={},this['jobConfigs']={},this['handlers']={},this[_0x6c92e5(0x2a4)]=[],this['initialized']=![],this['workingDir']=process[_0x6c92e5(0x2a5)](),this[_0x6c92e5(0x2db)]=new Map();}['createBullMQConnection'](){const _0x18363a=a0_0x4f8384,_0x320cbf={'ExDwX':_0x18363a(0x260),'sHGMQ':function(_0xff8fcf,_0x1404ab,_0x383a91){return _0xff8fcf(_0x1404ab,_0x383a91);},'kDQtw':function(_0x2152fd,_0x5d9bfe,_0x323b8e){return _0x2152fd(_0x5d9bfe,_0x323b8e);},'JzBQz':_0x18363a(0x258)},_0x2f8515=new Redis({'host':process['env'][_0x18363a(0x2fd)]||_0x18363a(0x26e),'port':_0x320cbf[_0x18363a(0x22d)](parseInt,process[_0x18363a(0x231)][_0x18363a(0x266)],0xa)||0x18ec,'password':process['env']['REDIS_PASSWORD']||undefined,'db':_0x320cbf[_0x18363a(0x2e3)](parseInt,process['env'][_0x18363a(0x1f8)],0xa)||0x0,'maxRetriesPerRequest':null,'retryStrategy'(_0x4e5e20){const _0x1210dd=_0x18363a,_0x575f72=Math[_0x1210dd(0x21e)](_0x4e5e20*0x32,0x7d0);return _0x575f72;}});return _0x2f8515['on'](_0x320cbf['JzBQz'],_0x5c1a6f=>{const _0x5303b8=_0x18363a;logger[_0x5303b8(0x258)]({'event':_0x320cbf['ExDwX'],'error':_0x5c1a6f['message']},_0x5303b8(0x1e7)+_0x5c1a6f['message']);}),this[_0x18363a(0x2a4)]['push'](_0x2f8515),_0x2f8515;}async['initialize'](){const _0x81ce1a=a0_0x4f8384,_0xb40784={'dnzCX':'job_manager_already_initialized','wHHLF':'Job\x20Manager\x20sudah\x20diinisialisasi,\x20skip','BPvvo':_0x81ce1a(0x311),'zJiwd':_0x81ce1a(0x2c9),'NgWdZ':_0x81ce1a(0x24c),'bbOAE':_0x81ce1a(0x24b),'qXPsy':function(_0x5bcf30,_0x350f83){return _0x5bcf30*_0x350f83;},'BXylm':'3\x20BullMQ\x20Queues\x20created\x20(high,\x20default,\x20low)','mnQGj':function(_0x2695fc,_0x21bba1,_0x459f6d){return _0x2695fc(_0x21bba1,_0x459f6d);},'IryCj':'completed','amCEA':'failed','FkmjA':_0x81ce1a(0x1e3),'CnEJL':_0x81ce1a(0x258),'ZSEFx':'job_manager_ready'};if(this[_0x81ce1a(0x1ec)]){logger['warn']({'event':_0xb40784[_0x81ce1a(0x2f6)]},_0xb40784[_0x81ce1a(0x232)]);return;}logger[_0x81ce1a(0x241)]({'event':'job_manager_init_start'},_0xb40784[_0x81ce1a(0x213)]);const _0x1c7f78=this[_0x81ce1a(0x215)]();try{await _0x1c7f78['ping'](),logger['info']({'event':'job_redis_connected'},_0x81ce1a(0x268));}catch(_0x1e695f){logger['error']({'event':'job_redis_failed','error':_0x1e695f['message']},'Redis\x20connection\x20failed:\x20'+_0x1e695f[_0x81ce1a(0x2bf)]+_0x81ce1a(0x2c3));try{await _0x1c7f78['quit']();}catch(_0x29efe7){}this[_0x81ce1a(0x2a4)]=this['connections'][_0x81ce1a(0x1f5)](_0x256416=>_0x256416!==_0x1c7f78);return;}try{await _0x1c7f78['quit']();}catch(_0x32ae3c){}this[_0x81ce1a(0x2a4)]=this['connections']['filter'](_0x507708=>_0x507708!==_0x1c7f78);try{await this[_0x81ce1a(0x2c6)]();}catch(_0x2da46c){logger[_0x81ce1a(0x207)]({'event':_0x81ce1a(0x295),'error':_0x2da46c[_0x81ce1a(0x2bf)]},'Failed\x20to\x20ensure\x20job\x20tables:\x20'+_0x2da46c['message']+_0x81ce1a(0x278));}const _0x5177be=this['loadJobConfigs']();_0x5177be[_0x81ce1a(0x204)]===0x0&&logger['info']({'event':_0xb40784[_0x81ce1a(0x279)]},_0x81ce1a(0x2ce));const _0x3e4c7a=[];for(const _0x133413 of _0x5177be){const _0xfa2a0e=jobValidator[_0x81ce1a(0x284)](_0x133413,this['workingDir']);_0xfa2a0e[_0x81ce1a(0x27f)]?_0x3e4c7a['push'](_0x133413):logger[_0x81ce1a(0x258)]({'event':_0xb40784['NgWdZ'],'name':_0x133413['name']||_0xb40784[_0x81ce1a(0x1fc)],'errors':_0xfa2a0e['errors']},_0x81ce1a(0x2d2)+(_0x133413[_0x81ce1a(0x1ea)]||_0xb40784['bbOAE'])+'\x20—\x20'+_0xfa2a0e[_0x81ce1a(0x2de)]['join'](';\x20'));}const _0x26757b=process[_0x81ce1a(0x231)][_0x81ce1a(0x27e)]||'default',_0xd7d543=process[_0x81ce1a(0x231)]['JOB_REDIS_PREFIX']||'rf:'+_0x26757b+':job',_0x149d19=parseInt(process['env'][_0x81ce1a(0x2b7)],0xa)||0x48,_0x1e201d=parseInt(process['env'][_0x81ce1a(0x2b6)],0xa)||0xa8,_0x54eccc={'removeOnComplete':{'age':_0xb40784[_0x81ce1a(0x210)](_0x149d19,0xe10)},'removeOnFail':{'age':_0xb40784[_0x81ce1a(0x210)](_0x1e201d,0xe10)}},_0x1475ee={'high-priority':_0x81ce1a(0x2dc),'default':_0x81ce1a(0x1e8),'low-priority':_0x81ce1a(0x30c)};for(const [_0x40d5c5,_0x1c64db]of Object[_0x81ce1a(0x230)](_0x1475ee)){this[_0x81ce1a(0x1fe)][_0x40d5c5]=new Queue(_0x1c64db,{'connection':this[_0x81ce1a(0x215)](),'prefix':_0xd7d543,'defaultJobOptions':_0x54eccc});}logger['info']({'event':'job_queues_created','count':0x3},_0xb40784[_0x81ce1a(0x226)]);const _0x197fdf=parseInt(process[_0x81ce1a(0x231)][_0x81ce1a(0x20d)],0xa)||0x5,_0x25eed9=parseInt(process[_0x81ce1a(0x231)][_0x81ce1a(0x1f1)],0xa)||0x7530,_0x4f88b1=_0xb40784[_0x81ce1a(0x292)](parseInt,process[_0x81ce1a(0x231)]['JOB_MAX_STALLED_COUNT'],0xa)||0x2;for(const [_0x2075f6,_0x536b16]of Object['entries'](_0x1475ee)){const _0x23d739=new Worker(_0x536b16,async _0x4a81b0=>this['processJob'](_0x4a81b0),{'connection':this[_0x81ce1a(0x215)](),'prefix':_0xd7d543,'concurrency':_0x197fdf,'stalledInterval':_0x25eed9,'maxStalledCount':_0x4f88b1});_0x23d739['on'](_0xb40784[_0x81ce1a(0x2f7)],(_0x292702,_0x5f2447)=>this['onJobCompleted'](_0x292702,_0x5f2447)),_0x23d739['on'](_0xb40784[_0x81ce1a(0x261)],(_0x57baec,_0x52e3f1)=>this[_0x81ce1a(0x267)](_0x57baec,_0x52e3f1)),_0x23d739['on']('progress',(_0x5edf38,_0x50ca81)=>this['onJobProgress'](_0x5edf38,_0x50ca81)),_0x23d739['on'](_0xb40784['FkmjA'],_0x31387a=>{logger['warn']({'event':'job_stalled','jobId':_0x31387a},'Job\x20stalled:\x20'+_0x31387a);}),_0x23d739['on'](_0xb40784[_0x81ce1a(0x223)],_0x25d40d=>{const _0x103b53=_0x81ce1a;logger['error']({'event':'bullmq_worker_error','queue':_0x2075f6,'error':_0x25d40d['message']},_0x103b53(0x2c2)+_0x2075f6+'):\x20'+_0x25d40d['message']);}),this[_0x81ce1a(0x264)][_0x2075f6]=_0x23d739;}logger[_0x81ce1a(0x241)]({'event':_0x81ce1a(0x26d),'count':0x3,'concurrency':_0x197fdf},'3\x20BullMQ\x20Workers\x20created\x20(concurrency:\x20'+_0x197fdf+')');let _0x392a24=0x0;for(const _0x27b614 of _0x3e4c7a){try{await this[_0x81ce1a(0x2ea)](_0x27b614),_0x392a24++;}catch(_0x298a23){logger[_0x81ce1a(0x258)]({'event':_0x81ce1a(0x2ab),'name':_0x27b614['name'],'error':_0x298a23[_0x81ce1a(0x2bf)]},_0x81ce1a(0x242)+_0x27b614['name']+'\x20—\x20'+_0x298a23['message']);}}this[_0x81ce1a(0x1ec)]=!![];const _0x4adbf3=this['connections']['length'];logger[_0x81ce1a(0x241)]({'event':_0xb40784[_0x81ce1a(0x285)],'registeredJobs':_0x392a24,'totalConfigs':_0x3e4c7a['length'],'redisConnections':_0x4adbf3},_0x81ce1a(0x2ac)+_0x392a24+'\x20job(s)\x20registered,\x20'+_0x4adbf3+_0x81ce1a(0x2f4));}async[a0_0x4f8384(0x2d1)](){const _0x374612=a0_0x4f8384,_0x5c5837={'cmBqs':_0x374612(0x233),'Yuzbr':function(_0x4c9e92,_0x103193){return _0x4c9e92-_0x103193;},'KaEWB':function(_0x230d04,_0x304788){return _0x230d04===_0x304788;}};if(!this[_0x374612(0x1ec)])return;const _0x1ae966=parseInt(process[_0x374612(0x231)]['JOB_SHUTDOWN_TIMEOUT'],0xa)||0x2710;logger[_0x374612(0x241)]({'event':_0x5c5837[_0x374612(0x200)],'timeoutMs':_0x1ae966},_0x374612(0x2ae)+_0x1ae966+_0x374612(0x29e));const _0x44d6e2=Object['values'](this[_0x374612(0x264)])[_0x374612(0x28d)](async _0x4ceea7=>{const _0x1abe15=_0x374612;try{await _0x4ceea7[_0x1abe15(0x2b2)]();}catch(_0x5eb287){}});await Promise[_0x374612(0x25e)](_0x44d6e2);const _0x77e5e0=Date[_0x374612(0x2ca)]();while(_0x5c5837[_0x374612(0x1ef)](Date[_0x374612(0x2ca)](),_0x77e5e0)<_0x1ae966){let _0x5577b6=0x0;for(const _0x4ff21b of Object[_0x374612(0x21c)](this[_0x374612(0x1fe)])){try{const _0x165358=await _0x4ff21b['getJobCounts']('active');_0x5577b6+=_0x165358['active']||0x0;}catch(_0x19aeeb){}}if(_0x5c5837['KaEWB'](_0x5577b6,0x0))break;await new Promise(_0x5961fb=>setTimeout(_0x5961fb,0x1f4));}const _0x480fa9=Object[_0x374612(0x21c)](this[_0x374612(0x264)])['map'](async _0x3ff7a0=>{try{await _0x3ff7a0['close']();}catch(_0x55f4fa){}});await Promise['all'](_0x480fa9);const _0x523f0f=Object['values'](this['queues'])[_0x374612(0x28d)](async _0x2891c4=>{const _0x1fdcab=_0x374612;try{await _0x2891c4[_0x1fdcab(0x21b)]();}catch(_0x58459e){}});await Promise['all'](_0x523f0f);for(const _0x4ae692 of this['connections']){try{await _0x4ae692[_0x374612(0x250)]();}catch(_0x3eb464){}}this[_0x374612(0x1fe)]={},this[_0x374612(0x264)]={},this['connections']=[],await this['setAllJobsOffline'](),this['activeHistoryIds'][_0x374612(0x253)](),this['initialized']=![],logger[_0x374612(0x241)]({'event':'job_manager_shutdown_complete'},_0x374612(0x305));}[a0_0x4f8384(0x206)](){const _0x4bb600=a0_0x4f8384,_0x4a3188={'kcGWo':'payload','UGNPr':'Folder\x20payload/jobs/\x20tidak\x20ditemukan','xhoQA':_0x4bb600(0x23d),'eilKt':'job_config_parse_error'},_0x518024=path['join'](this['workingDir'],_0x4a3188['kcGWo'],_0x4bb600(0x224));if(!fs['existsSync'](_0x518024))return logger[_0x4bb600(0x241)]({'event':'job_config_dir_missing','path':_0x518024},_0x4a3188[_0x4bb600(0x1ee)]),[];const _0x59979c=fs['readdirSync'](_0x518024)[_0x4bb600(0x1f5)](_0x4f3eaf=>_0x4f3eaf[_0x4bb600(0x281)]('.json')),_0x2b9a8f=[];for(const _0x3c10bf of _0x59979c){const _0x5ce9c9=path[_0x4bb600(0x23a)](_0x518024,_0x3c10bf);try{const _0x989daa=fs['readFileSync'](_0x5ce9c9,_0x4a3188['xhoQA']),_0xfc232c=JSON[_0x4bb600(0x1e2)](_0x989daa);_0xfc232c['_sourceFile']=_0x3c10bf,_0x2b9a8f['push'](_0xfc232c);}catch(_0x49f6bb){logger[_0x4bb600(0x258)]({'event':_0x4a3188['eilKt'],'file':_0x3c10bf,'error':_0x49f6bb[_0x4bb600(0x2bf)]},_0x4bb600(0x2c4)+_0x3c10bf+_0x4bb600(0x25f)+_0x49f6bb[_0x4bb600(0x2bf)]);}}return logger[_0x4bb600(0x241)]({'event':'job_configs_loaded','count':_0x2b9a8f[_0x4bb600(0x204)]},_0x4bb600(0x2cb)+_0x2b9a8f[_0x4bb600(0x204)]+_0x4bb600(0x23f)),_0x2b9a8f;}async[a0_0x4f8384(0x2ea)](_0x11f0ba){const _0x3cd0b1=a0_0x4f8384,_0x35dd88={'gzzjn':'src','HnXQP':'jobs','gxQeO':function(_0x505277,_0x5eb795){return _0x505277===_0x5eb795;},'LRNSA':'cron','ITwpO':function(_0x521153,_0x52558d){return _0x521153!==_0x52558d;},'iddTP':_0x3cd0b1(0x1e8),'lcGcW':'cron_registered','batbd':_0x3cd0b1(0x307),'qvdXH':function(_0x51f460,_0x22a50c){return _0x51f460===_0x22a50c;},'FJEEm':_0x3cd0b1(0x2f9)},_0x518ce6=path[_0x3cd0b1(0x23a)](this['workingDir'],_0x35dd88['gzzjn'],_0x35dd88[_0x3cd0b1(0x304)],_0x11f0ba['handler']+_0x3cd0b1(0x2cd));this[_0x3cd0b1(0x2e9)][_0x11f0ba[_0x3cd0b1(0x1ea)]]=require(_0x518ce6),this[_0x3cd0b1(0x225)][_0x11f0ba['name']]=_0x11f0ba;if(_0x35dd88['gxQeO'](_0x11f0ba[_0x3cd0b1(0x21f)],_0x35dd88['LRNSA'])&&_0x35dd88['ITwpO'](_0x11f0ba['enabled'],![])){const _0x123d4d=this['queues'][_0x11f0ba['queue']||_0x35dd88['iddTP']];await _0x123d4d[_0x3cd0b1(0x2ef)](_0x11f0ba['name'],{'pattern':_0x11f0ba['schedule'],'tz':_0x11f0ba['timezone']||undefined},{'name':_0x11f0ba['name'],'data':{'handler':_0x11f0ba[_0x3cd0b1(0x28b)],'triggeredBy':_0x3cd0b1(0x2f8),'metadata':_0x11f0ba['metadata']||{}},'opts':{'attempts':_0x11f0ba[_0x3cd0b1(0x23b)]?.[_0x3cd0b1(0x22f)]||0x3,'backoff':{'type':_0x11f0ba['retry']?.[_0x3cd0b1(0x222)]||'exponential','delay':_0x11f0ba[_0x3cd0b1(0x23b)]?.[_0x3cd0b1(0x1f2)]||0x1388},'timeout':_0x11f0ba['timeout']||0x7530}}),logger[_0x3cd0b1(0x241)]({'event':_0x35dd88[_0x3cd0b1(0x280)],'name':_0x11f0ba[_0x3cd0b1(0x1ea)],'schedule':_0x11f0ba['schedule'],'queue':_0x11f0ba[_0x3cd0b1(0x1e0)]||_0x35dd88['iddTP']},_0x3cd0b1(0x2da)+_0x11f0ba['name']+'\x20['+_0x11f0ba['schedule']+']');}const _0x25d65d=_0x35dd88['gxQeO'](_0x11f0ba['type'],_0x35dd88[_0x3cd0b1(0x2fc)])&&_0x35dd88['ITwpO'](_0x11f0ba[_0x3cd0b1(0x25a)],![])?_0x3cd0b1(0x2f9):_0x35dd88[_0x3cd0b1(0x1f3)];let _0x5d7e64=null;_0x35dd88[_0x3cd0b1(0x219)](_0x25d65d,_0x35dd88[_0x3cd0b1(0x24d)])&&(_0x5d7e64=await this[_0x3cd0b1(0x274)](_0x11f0ba['name'])),await this['upsertJobRegistry'](_0x11f0ba,_0x25d65d,_0x5d7e64);}async[a0_0x4f8384(0x244)](_0x143018){const _0x484f54=a0_0x4f8384,_0x192ad9={'kdBcI':'job_history_insert_bg_error','rGrhj':'job_started','MvWMq':function(_0x172292,_0x3f8774){return _0x172292+_0x3f8774;},'vFwxU':_0x484f54(0x24b),'Klwmc':function(_0x38e34c,_0x231b85){return _0x38e34c===_0x231b85;},'OQmnU':'manual','MDLsu':'system','acDwg':_0x484f54(0x1e8),'fakQB':function(_0xf95a57){return _0xf95a57();},'jkJAc':'onBeforeJobExecute'},_0x2baccf=this[_0x484f54(0x225)][_0x143018['name']],_0x26b83e=this[_0x484f54(0x2e9)][_0x143018[_0x484f54(0x1ea)]];if(!_0x26b83e)throw new Error(_0x484f54(0x2be)+_0x143018['name']);const _0x3fe3d3=logger[_0x484f54(0x1e1)]({'jobId':_0x143018['id'],'jobName':_0x143018[_0x484f54(0x1ea)]});_0x3fe3d3['info']({'event':_0x192ad9[_0x484f54(0x236)],'attempt':_0x192ad9[_0x484f54(0x2bc)](_0x143018['attemptsMade'],0x1),'triggeredBy':_0x143018['data']?.['triggeredBy']||_0x192ad9[_0x484f54(0x228)]},'Job\x20started:\x20'+_0x143018[_0x484f54(0x1ea)]+'\x20(attempt\x20'+(_0x143018[_0x484f54(0x249)]+0x1)+')');const _0x1a03fd=uuidv7(),_0x441c39=_0x143018['data']?.[_0x484f54(0x277)]||_0x484f54(0x24b),_0x5465d3=this[_0x484f54(0x2fa)]({'id':_0x1a03fd,'jobName':_0x143018['name'],'bullmqJobId':_0x143018['id'],'triggerType':_0x192ad9[_0x484f54(0x286)](_0x441c39,'api-delayed')?'delayed':_0x192ad9[_0x484f54(0x286)](_0x441c39,'api')?_0x192ad9[_0x484f54(0x1fa)]:_0x484f54(0x2f8),'triggeredBy':_0x441c39===_0x484f54(0x2f8)?_0x192ad9['MDLsu']:_0x441c39,'queue':_0x2baccf?.['queue']||_0x192ad9['acDwg'],'attempt':_0x192ad9['MvWMq'](_0x143018['attemptsMade'],0x1),'configFile':_0x2baccf?.[_0x484f54(0x1eb)]||null})[_0x484f54(0x1f9)](_0x3703e7=>{const _0x59c26d=_0x484f54;_0x3fe3d3[_0x59c26d(0x207)]({'event':_0x192ad9['kdBcI'],'error':_0x3703e7[_0x59c26d(0x2bf)]},_0x59c26d(0x255)+_0x3703e7[_0x59c26d(0x2bf)]);});this[_0x484f54(0x2db)]['set'](_0x143018['id'],{'historyId':_0x1a03fd,'insertPromise':_0x5465d3});const _0x4ee09b=this['buildContext'](_0x143018,_0x2baccf,_0x3fe3d3),_0x41da04=_0x192ad9['fakQB'](getComponentEngine);if(_0x41da04&&typeof _0x41da04[_0x484f54(0x248)]==='function'){const _0x5d1c55=await _0x41da04[_0x484f54(0x248)](_0x192ad9[_0x484f54(0x287)],_0x4ee09b,!![]);if(!_0x5d1c55['success'])throw new Error('Job\x20cancelled\x20by\x20onBeforeJobExecute:\x20'+_0x5d1c55['error']);}const _0x396017=await _0x26b83e(_0x4ee09b);return _0x3fe3d3['info']({'event':_0x484f54(0x1e5),'result':_0x396017},'Job\x20handler\x20completed:\x20'+_0x143018['name']),_0x396017;}['buildContext'](_0x5790d2,_0x5b429d,_0x184908){const _0x1b0730=a0_0x4f8384,_0x175107={'pHBAs':'JOB_EVENT','AZGQZ':_0x1b0730(0x276)};return{'jobId':_0x5790d2['id'],'jobName':_0x5790d2['name'],'attempt':_0x5790d2['attemptsMade']+0x1,'maxAttempts':_0x5b429d?.['retry']?.[_0x1b0730(0x22f)]||0x3,'payload':_0x5790d2[_0x1b0730(0x309)]||{},'config':_0x5b429d||{},'db':this['getDbUtils'](),'redis':this[_0x1b0730(0x2c1)](),'logger':_0x184908,'kafka':this['getKafkaService'](),'cache':this[_0x1b0730(0x2a2)](),'updateProgress':async _0x204b92=>{const _0x224f7b=_0x1b0730;await _0x5790d2[_0x224f7b(0x25c)](_0x204b92);},'emit':async(_0x377a32,_0x55bbe9)=>{const _0x2b2ba2=_0x1b0730,_0x1b48d3=this[_0x2b2ba2(0x26a)]();_0x1b48d3&&await _0x1b48d3['publishEvent'](_0x377a32,_0x175107[_0x2b2ba2(0x1ff)],null,_0x55bbe9,{'module':_0x175107['AZGQZ'],'endpoint':_0x5790d2[_0x2b2ba2(0x1ea)]});},'job':_0x5790d2};}[a0_0x4f8384(0x294)](){const _0x4a4417=a0_0x4f8384;return(process['env'][_0x4a4417(0x275)]||_0x4a4417(0x2a8))['toLowerCase']();}async[a0_0x4f8384(0x2c6)](){const _0x557082=a0_0x4f8384,_0x28edda={'CRiFz':_0x557082(0x1fd),'cDAjF':'job_db_type_unsupported','fuhty':_0x557082(0x2bd),'bYmzd':_0x557082(0x29f),'qQoIA':'utf8','OUzEP':_0x557082(0x291),'WvpbP':_0x557082(0x2e1),'jRKNW':'job_tables_ensured'},_0x466dfb=this[_0x557082(0x2eb)]();if(!_0x466dfb){logger['warn']({'event':'job_db_unavailable'},'Database\x20tidak\x20tersedia,\x20skip\x20auto-create\x20job\x20tables');return;}const _0x51e3fd=this[_0x557082(0x294)](),_0x2593de={'postgresql':_0x557082(0x2ee),'oracle':_0x28edda['CRiFz'],'mysql':_0x557082(0x26f)},_0x1d5bad=_0x2593de[_0x51e3fd];if(!_0x1d5bad){logger['warn']({'event':_0x28edda['cDAjF'],'dbType':_0x51e3fd},_0x557082(0x2fe)+_0x51e3fd+'\x27\x20tidak\x20didukung\x20untuk\x20job\x20monitoring\x20tables');return;}const _0x1b89a1=path['join'](__dirname,_0x28edda[_0x557082(0x24e)],_0x1d5bad);if(!fs['existsSync'](_0x1b89a1)){logger[_0x557082(0x207)]({'event':_0x28edda['bYmzd'],'path':_0x1b89a1},_0x557082(0x28a)+_0x1b89a1);return;}const _0x5b8666=fs[_0x557082(0x300)](_0x1b89a1,_0x28edda[_0x557082(0x263)]),_0x427af8=this[_0x557082(0x273)](_0x5b8666,_0x51e3fd);let _0x4e0143=0x0;for(const _0x35844d of _0x427af8){try{await _0x466dfb['executeQuery'](_0x35844d),_0x4e0143++;}catch(_0x4626c8){const _0x3b9f67=(_0x4626c8['message']||'')[_0x557082(0x298)](),_0x7c9314=_0x3b9f67[_0x557082(0x21d)]('already\x20exists')||_0x3b9f67['includes']('ora-00955')||_0x3b9f67[_0x557082(0x21d)](_0x28edda[_0x557082(0x221)]);!_0x7c9314&&logger[_0x557082(0x207)]({'event':_0x28edda['WvpbP'],'error':_0x4626c8['message']},'Job\x20ensureTables\x20warning:\x20'+_0x4626c8['message']);}}logger[_0x557082(0x241)]({'event':_0x28edda['jRKNW'],'dbType':_0x51e3fd,'executed':_0x4e0143},'Job\x20monitoring\x20tables\x20ensured\x20('+_0x51e3fd+')');}['splitSqlStatements'](_0x4ff3b8,_0x308937){const _0x597a68=a0_0x4f8384,_0x373aa4={'bZbwM':function(_0xd4256,_0x55748b){return _0xd4256===_0x55748b;},'CqUaL':function(_0x24fad5,_0x22d288){return _0x24fad5>_0x22d288;},'WixFK':'oracle'};let _0x2d4480;return _0x373aa4[_0x597a68(0x217)](_0x308937,_0x373aa4['WixFK'])?_0x2d4480=_0x4ff3b8[_0x597a68(0x2a7)](/\n\/\s*(?:\n|$)/):_0x2d4480=_0x4ff3b8[_0x597a68(0x2a7)](/;\s*(?:\n|$)/),_0x2d4480[_0x597a68(0x28d)](_0x51e6eb=>_0x51e6eb[_0x597a68(0x2c0)]())['filter'](_0x45c63f=>{const _0x1cf00a=_0x597a68;if(_0x373aa4['bZbwM'](_0x45c63f[_0x1cf00a(0x204)],0x0))return![];const _0x4944a7=_0x45c63f['split']('\x0a')[_0x1cf00a(0x1f5)](_0xa68a1b=>!_0xa68a1b['trim']()['startsWith']('--')&&_0xa68a1b[_0x1cf00a(0x2c0)]()['length']>0x0);return _0x373aa4[_0x1cf00a(0x2f3)](_0x4944a7['length'],0x0);});}async['upsertJobRegistry'](_0x4566c9,_0x2aa424='online',_0x558b86=null){const _0x299f86=a0_0x4f8384,_0x33e649={'MWIiJ':'cron','bgUAm':function(_0x1308c2,_0x3c2184){return _0x1308c2===_0x3c2184;}},_0xcd0697=this[_0x299f86(0x2eb)]();if(!_0xcd0697)return;const _0x64bb5c=this['getDbType'](),_0x1f677b=[_0x4566c9['name'],_0x4566c9['description']||_0x4566c9[_0x299f86(0x1ea)],_0x4566c9[_0x299f86(0x21f)]||_0x33e649['MWIiJ'],_0x4566c9['schedule']||null,_0x4566c9['queue']||_0x299f86(0x1e8),_0x4566c9['handler'],_0x4566c9['_sourceFile']||'',_0x4566c9[_0x299f86(0x2c8)]||0x7530,_0x4566c9['retry']?.[_0x299f86(0x22f)]||0x3,_0x4566c9[_0x299f86(0x23b)]?.[_0x299f86(0x222)]||'exponential',_0x2aa424,_0x558b86];try{if(_0x64bb5c==='oracle')await _0xcd0697[_0x299f86(0x2a1)]('MERGE\x20INTO\x20job_registry\x20r\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20USING\x20(SELECT\x20:1\x20AS\x20jn\x20FROM\x20DUAL)\x20s\x20ON\x20(r.job_name\x20=\x20s.jn)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHEN\x20MATCHED\x20THEN\x20UPDATE\x20SET\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display_name\x20=\x20:2,\x20type\x20=\x20:3,\x20schedule\x20=\x20:4,\x20queue\x20=\x20:5,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20handler\x20=\x20:6,\x20config_file\x20=\x20:7,\x20timeout\x20=\x20:8,\x20retry_max\x20=\x20:9,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20retry_backoff\x20=\x20:10,\x20status\x20=\x20:11,\x20next_run_at\x20=\x20:12,\x20updated_at\x20=\x20SYSTIMESTAMP\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHEN\x20NOT\x20MATCHED\x20THEN\x20INSERT\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(job_name,\x20display_name,\x20type,\x20schedule,\x20queue,\x20handler,\x20config_file,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout,\x20retry_max,\x20retry_backoff,\x20status,\x20next_run_at,\x20created_at,\x20updated_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(:1,\x20:2,\x20:3,\x20:4,\x20:5,\x20:6,\x20:7,\x20:8,\x20:9,\x20:10,\x20:11,\x20:12,\x20SYSTIMESTAMP,\x20SYSTIMESTAMP)',_0x1f677b);else _0x33e649['bgUAm'](_0x64bb5c,_0x299f86(0x1ed))?await _0xcd0697[_0x299f86(0x2a1)](_0x299f86(0x289),_0x1f677b):await _0xcd0697['executeQuery'](_0x299f86(0x296),_0x1f677b);}catch(_0xbaf14b){logger[_0x299f86(0x207)]({'event':'job_registry_upsert_error','name':_0x4566c9['name'],'error':_0xbaf14b['message']},'Failed\x20to\x20upsert\x20job\x20registry:\x20'+_0x4566c9['name']+'\x20—\x20'+_0xbaf14b[_0x299f86(0x2bf)]);}}async['insertJobHistory'](_0x137e29){const _0x170e6f=a0_0x4f8384,_0xde007a={'gSErB':'system','OIuTL':'default','iFBqn':function(_0x5880a9,_0x79d51){return _0x5880a9===_0x79d51;},'oAaiu':'oracle','fcsSG':_0x170e6f(0x1ed)},_0x577ea0=this[_0x170e6f(0x2eb)]();if(!_0x577ea0)return;const _0x38b3b7=this[_0x170e6f(0x294)](),_0x4c4a2f=[_0x137e29['id'],_0x137e29[_0x170e6f(0x293)],_0x137e29[_0x170e6f(0x2cf)]||null,_0x137e29[_0x170e6f(0x28f)]||'cron',_0x137e29[_0x170e6f(0x277)]||_0xde007a['gSErB'],_0x137e29['queue']||_0xde007a['OIuTL'],_0x137e29[_0x170e6f(0x28c)]||0x1,_0x137e29['configFile']||null,process[_0x170e6f(0x2f1)]];try{if(_0xde007a['iFBqn'](_0x38b3b7,_0xde007a[_0x170e6f(0x2b3)]))await _0x577ea0[_0x170e6f(0x2a1)](_0x170e6f(0x29a),_0x4c4a2f);else _0x38b3b7===_0xde007a['fcsSG']?await _0x577ea0[_0x170e6f(0x2a1)](_0x170e6f(0x269),_0x4c4a2f):await _0x577ea0[_0x170e6f(0x2a1)]('INSERT\x20INTO\x20job_history\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(id,\x20job_name,\x20bullmq_job_id,\x20trigger_type,\x20triggered_by,\x20status,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20queue,\x20attempt,\x20config_file,\x20started_at,\x20worker_pid,\x20created_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20($1,\x20$2,\x20$3,\x20$4,\x20$5,\x20\x27running\x27,\x20$6,\x20$7,\x20$8,\x20NOW(),\x20$9,\x20NOW())',_0x4c4a2f);await this[_0x170e6f(0x2ec)](_0x137e29['jobName'],'running');}catch(_0x2e3055){logger[_0x170e6f(0x207)]({'event':'job_history_insert_error','jobName':_0x137e29['jobName'],'error':_0x2e3055[_0x170e6f(0x2bf)]},'Failed\x20to\x20insert\x20job\x20history:\x20'+_0x2e3055['message']);}}async['updateJobHistoryCompleted'](_0xb9d145,_0x3e1fa9,_0x4543f3){const _0xc90dbf=a0_0x4f8384,_0x4f3397={'FSTou':function(_0x3680d4,_0x5aea87){return _0x3680d4(_0x5aea87);},'NEBEU':function(_0x174726,_0x58d6ce){return _0x174726===_0x58d6ce;},'rcebe':'oracle','kVMmQ':'mysql','xqqPi':_0xc90dbf(0x2f0)},_0x404e9c=this['getDbUtils']();if(!_0x404e9c)return;const _0x1358b0=this[_0xc90dbf(0x294)](),_0x5aa13b=_0x4543f3?_0x4f3397['FSTou'](String,_0x4543f3)[_0xc90dbf(0x2a0)](0x0,0x1f4):null;try{if(_0x4f3397[_0xc90dbf(0x2a9)](_0x1358b0,_0x4f3397[_0xc90dbf(0x25b)]))await _0x404e9c[_0xc90dbf(0x2a1)]('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27success\x27,\x20completed_at\x20=\x20SYSTIMESTAMP,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20:1,\x20progress\x20=\x20100,\x20result_summary\x20=\x20:2\x20WHERE\x20id\x20=\x20:3',[_0x3e1fa9,_0x5aa13b,_0xb9d145]);else _0x1358b0===_0x4f3397['kVMmQ']?await _0x404e9c['executeQuery']('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27success\x27,\x20completed_at\x20=\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20?,\x20progress\x20=\x20100,\x20result_summary\x20=\x20?\x20WHERE\x20id\x20=\x20?',[_0x3e1fa9,_0x5aa13b,_0xb9d145]):await _0x404e9c['executeQuery'](_0xc90dbf(0x2cc),[_0x3e1fa9,_0x5aa13b,_0xb9d145]);}catch(_0x3b137c){logger['warn']({'event':_0x4f3397['xqqPi'],'historyId':_0xb9d145,'error':_0x3b137c[_0xc90dbf(0x2bf)]},'Failed\x20to\x20update\x20job\x20history\x20(completed):\x20'+_0x3b137c['message']);}}async[a0_0x4f8384(0x26c)](_0x1989fa,_0x29fa98,_0x102e7f,_0x249e92,_0x41f43b){const _0x20a513=a0_0x4f8384,_0x29a8a3={'IVgYG':function(_0x167b92,_0x1c81cc){return _0x167b92(_0x1c81cc);},'XEixz':function(_0x298860,_0x2e8533){return _0x298860===_0x2e8533;},'VBwzM':'oracle','avZLL':function(_0x11ff6a,_0x5d1711){return _0x11ff6a||_0x5d1711;},'itIHw':function(_0xa440a1,_0x31d855){return _0xa440a1===_0x31d855;},'JhiOI':'job_history_failed_error'},_0x5f5d2a=this['getDbUtils']();if(!_0x5f5d2a)return;const _0x4ea6f4=this[_0x20a513(0x294)](),_0x10c60b=_0x249e92?String(_0x249e92)['substring'](0x0,0x3e8):null,_0x136c4c=_0x41f43b?_0x29a8a3['IVgYG'](String,_0x41f43b)['substring'](0x0,0xfa0):null;try{if(_0x29a8a3['XEixz'](_0x4ea6f4,_0x29a8a3[_0x20a513(0x2b9)]))await _0x5f5d2a['executeQuery']('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',[_0x29fa98,_0x29a8a3['avZLL'](_0x102e7f,0x0),_0x10c60b,_0x136c4c,_0x1989fa]);else _0x29a8a3[_0x20a513(0x2f2)](_0x4ea6f4,_0x20a513(0x1ed))?await _0x5f5d2a['executeQuery']('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27failed\x27,\x20completed_at\x20=\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20?,\x20progress\x20=\x20?,\x20error_message\x20=\x20?,\x20error_stack\x20=\x20?\x20WHERE\x20id\x20=\x20?',[_0x29fa98,_0x29a8a3['avZLL'](_0x102e7f,0x0),_0x10c60b,_0x136c4c,_0x1989fa]):await _0x5f5d2a[_0x20a513(0x2a1)](_0x20a513(0x299),[_0x29fa98,_0x29a8a3['avZLL'](_0x102e7f,0x0),_0x10c60b,_0x136c4c,_0x1989fa]);}catch(_0x53c51b){logger[_0x20a513(0x207)]({'event':_0x29a8a3['JhiOI'],'historyId':_0x1989fa,'error':_0x53c51b['message']},'Failed\x20to\x20update\x20job\x20history\x20(failed):\x20'+_0x53c51b[_0x20a513(0x2bf)]);}}async['updateRegistryStatus'](_0x18f9a9,_0x430d58){const _0x2d38ec=a0_0x4f8384,_0x28d6e1={'adIdD':'mysql'},_0x3e4477=this[_0x2d38ec(0x2eb)]();if(!_0x3e4477)return;const _0x351ff7=this['getDbType']();try{if(_0x351ff7==='oracle')await _0x3e4477['executeQuery'](_0x2d38ec(0x22a),[_0x430d58,_0x18f9a9]);else _0x351ff7===_0x28d6e1[_0x2d38ec(0x2fb)]?await _0x3e4477[_0x2d38ec(0x2a1)](_0x2d38ec(0x20a),[_0x430d58,_0x18f9a9]):await _0x3e4477['executeQuery'](_0x2d38ec(0x216),[_0x430d58,_0x18f9a9]);}catch(_0x298524){}}async[a0_0x4f8384(0x20f)](_0x255094,_0x51c041,_0xeba272,_0x5ba982){const _0x3b5a0d=a0_0x4f8384,_0x5dc544={'oQEJw':function(_0x2db993,_0x2ca6c8){return _0x2db993===_0x2ca6c8;},'hIHUw':'success','JkwZK':'mysql'},_0x588e62=this[_0x3b5a0d(0x2eb)]();if(!_0x588e62)return;const _0x6b3191=this[_0x3b5a0d(0x294)](),_0x469503=_0x5dc544['oQEJw'](_0x51c041,_0x5dc544[_0x3b5a0d(0x2aa)])?'total_success':'total_failed';try{if(_0x6b3191==='oracle')await _0x588e62[_0x3b5a0d(0x2a1)](_0x3b5a0d(0x2f5)+_0x469503+'\x20=\x20'+_0x469503+_0x3b5a0d(0x2d7),[_0x51c041,_0xeba272,_0x5ba982,_0x255094]);else _0x5dc544[_0x3b5a0d(0x2b1)](_0x6b3191,_0x5dc544['JkwZK'])?await _0x588e62['executeQuery'](_0x3b5a0d(0x2b8)+_0x469503+_0x3b5a0d(0x2a3)+_0x469503+_0x3b5a0d(0x208),[_0x51c041,_0xeba272,_0x5ba982,_0x255094]):await _0x588e62['executeQuery'](_0x3b5a0d(0x211)+_0x469503+'\x20=\x20'+_0x469503+'\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',[_0x51c041,_0xeba272,_0x5ba982,_0x255094]);}catch(_0x16dc39){logger['warn']({'event':'job_registry_counter_error','jobName':_0x255094,'error':_0x16dc39['message']},_0x3b5a0d(0x214)+_0x16dc39[_0x3b5a0d(0x2bf)]);}}async['getNextRunFromBullMQ'](_0xfb1f7a){const _0xa44f49=a0_0x4f8384,_0x1632fd={'SgNBE':'cron'},_0x3d30a8=this['jobConfigs'][_0xfb1f7a];if(!_0x3d30a8||_0x3d30a8['type']!==_0x1632fd['SgNBE']||_0x3d30a8['enabled']===![])return null;const _0xcac42a=this['queues'][_0x3d30a8['queue']||_0xa44f49(0x1e8)];if(!_0xcac42a)return null;try{if(typeof _0xcac42a['getJobSchedulers']==='function'){const _0x57b382=await _0xcac42a['getJobSchedulers'](0x0,0x64),_0x23fa55=_0x57b382[_0xa44f49(0x301)](_0x156384=>_0x156384['name']===_0xfb1f7a);return _0x23fa55?.['next']?new Date(_0x23fa55[_0xa44f49(0x218)]):null;}}catch(_0x44c80d){}return null;}async[a0_0x4f8384(0x2d5)](){const _0x3e4e8b=a0_0x4f8384,_0x50e2cb={'ZAJTD':function(_0x46a754,_0x291baa){return _0x46a754===_0x291baa;},'FDnwz':function(_0x276cf6,_0x337449){return _0x276cf6===_0x337449;},'TkBLp':'job_registry_offline_error'},_0x3e77ec=this['getDbUtils']();if(!_0x3e77ec)return;const _0x2d132e=this[_0x3e4e8b(0x294)]();try{if(_0x50e2cb['ZAJTD'](_0x2d132e,'oracle'))await _0x3e77ec['executeQuery'](_0x3e4e8b(0x2c5));else _0x50e2cb[_0x3e4e8b(0x22c)](_0x2d132e,_0x3e4e8b(0x1ed))?await _0x3e77ec[_0x3e4e8b(0x2a1)]('UPDATE\x20job_registry\x20SET\x20status\x20=\x20\x27offline\x27,\x20next_run_at\x20=\x20NULL'):await _0x3e77ec['executeQuery'](_0x3e4e8b(0x2d4));}catch(_0xfef4b4){logger['warn']({'event':_0x50e2cb['TkBLp'],'error':_0xfef4b4[_0x3e4e8b(0x2bf)]},'Failed\x20to\x20set\x20jobs\x20offline:\x20'+_0xfef4b4[_0x3e4e8b(0x2bf)]);}}['getDbUtils'](){const _0x3fed23=a0_0x4f8384,_0x473cb7={'LdJii':function(_0xdf4989,_0x522c79){return _0xdf4989===_0x522c79;},'FJtgN':_0x3fed23(0x262),'nRaHA':'db_oracle_unavailable','bEeaW':'mysql','tqZog':'MySQL\x20DB\x20module\x20not\x20available','SfGsH':_0x3fed23(0x2ed)},_0x207adb=(process[_0x3fed23(0x231)][_0x3fed23(0x275)]||_0x3fed23(0x2a8))['toLowerCase']();if(_0x473cb7[_0x3fed23(0x22b)](_0x207adb,_0x473cb7[_0x3fed23(0x20b)]))try{const _0x176bb0=require('../../utils/db-oracle');return{'executeQuery':(_0x56c157,_0x5ba810)=>_0x176bb0['executeQuery'](_0x56c157,_0x5ba810),'executeTransaction':_0x20ba62=>_0x176bb0[_0x3fed23(0x235)](_0x20ba62),'getPool':()=>_0x176bb0['getPool']()};}catch(_0x24a4ef){return logger[_0x3fed23(0x207)]({'event':_0x473cb7[_0x3fed23(0x22e)]},'Oracle\x20DB\x20module\x20not\x20available'),null;}if(_0x207adb===_0x473cb7[_0x3fed23(0x1e9)])try{const _0x30ad45=require(_0x3fed23(0x1f6));return{'executeQuery':(_0x32f33b,_0xc3043a)=>_0x30ad45['executeQuery'](_0x32f33b,_0xc3043a),'executeTransaction':_0x3ef9ab=>_0x30ad45[_0x3fed23(0x235)](_0x3ef9ab),'getPool':()=>_0x30ad45['getPool']()};}catch(_0x27a2ac){return logger['warn']({'event':'db_mysql_unavailable'},_0x473cb7['tqZog']),null;}try{const _0x2fe2fb=require('../../utils/db');return{'executeQuery':_0x2fe2fb[_0x3fed23(0x2a1)],'executeTransaction':_0x2fe2fb['executeTransaction'],'getPool':_0x2fe2fb['getPool']};}catch(_0x1828b0){return logger[_0x3fed23(0x207)]({'event':'db_pg_unavailable'},_0x473cb7[_0x3fed23(0x24f)]),null;}}['getRedisClient'](){const _0x15188e=a0_0x4f8384;try{const _0x341930=require(_0x15188e(0x1f7));return _0x341930[_0x15188e(0x2d0)]?_0x341930['getClient']():_0x341930;}catch(_0x10374f){return null;}}['getKafkaService'](){const _0x1a2c91=a0_0x4f8384,_0x28251f={'zKtAq':function(_0xcf08d5,_0x1b1c7f){return _0xcf08d5===_0x1b1c7f;},'trXgW':function(_0x45a7cd,_0x103772){return _0x45a7cd(_0x103772);}};try{if(_0x28251f['zKtAq'](process[_0x1a2c91(0x231)][_0x1a2c91(0x2e0)],_0x1a2c91(0x310))){const _0x2f335a=_0x28251f['trXgW'](require,_0x1a2c91(0x2e2));return _0x2f335a['getInstance']?_0x2f335a['getInstance']():_0x2f335a;}}catch(_0x452ac8){}return null;}['getCacheManager'](){const _0x2300a8=a0_0x4f8384,_0x4161a1={'AhWYe':_0x2300a8(0x2e4)};try{return require(_0x4161a1[_0x2300a8(0x302)]);}catch(_0x597c65){return null;}}async['dispatch'](_0x4c7c6f,_0x2e0764={}){const _0x23943b=a0_0x4f8384,_0x3dd393={'hdVNc':_0x23943b(0x29d),'GpwkH':_0x23943b(0x243)},_0x359025=this[_0x23943b(0x225)][_0x4c7c6f];if(!_0x359025)throw new Error('Job\x20not\x20found:\x20'+_0x4c7c6f);const _0x5a29ca=this[_0x23943b(0x1fe)][_0x359025['queue']||'default'],_0x1b7ad1=await _0x5a29ca['add'](_0x4c7c6f,{..._0x2e0764,'handler':_0x359025[_0x23943b(0x28b)],'triggeredBy':'api'},{'attempts':_0x359025[_0x23943b(0x23b)]?.['maxAttempts']||0x3,'backoff':{'type':_0x359025[_0x23943b(0x23b)]?.['backoff']||'exponential','delay':_0x359025[_0x23943b(0x23b)]?.['initialDelay']||0x1388},'timeout':_0x359025[_0x23943b(0x2c8)]||0x7530});return logger[_0x23943b(0x241)]({'event':_0x3dd393[_0x23943b(0x2ba)],'jobId':_0x1b7ad1['id'],'name':_0x4c7c6f,'triggeredBy':_0x3dd393[_0x23943b(0x256)]},_0x23943b(0x265)+_0x4c7c6f+'\x20(id:\x20'+_0x1b7ad1['id']+')'),{'jobId':_0x1b7ad1['id'],'name':_0x4c7c6f};}async['dispatchDelayed'](_0x44ddc7,_0x27c080={},_0x3453ad=0x0){const _0x19bc1a=a0_0x4f8384,_0x5cfe98={'ayABo':_0x19bc1a(0x1e8),'iDSOD':'api-delayed','nsXPB':_0x19bc1a(0x27a)},_0xebe3ab=this['jobConfigs'][_0x44ddc7];if(!_0xebe3ab)throw new Error(_0x19bc1a(0x2bb)+_0x44ddc7);const _0x1866aa=this[_0x19bc1a(0x1fe)][_0xebe3ab[_0x19bc1a(0x1e0)]||_0x5cfe98[_0x19bc1a(0x30d)]],_0x3958f2=await _0x1866aa['add'](_0x44ddc7,{..._0x27c080,'handler':_0xebe3ab['handler'],'triggeredBy':_0x5cfe98[_0x19bc1a(0x209)]},{'delay':_0x3453ad,'attempts':_0xebe3ab['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0xebe3ab['retry']?.['backoff']||'exponential','delay':_0xebe3ab[_0x19bc1a(0x23b)]?.[_0x19bc1a(0x1f2)]||0x1388},'timeout':_0xebe3ab['timeout']||0x7530});return logger['info']({'event':_0x5cfe98['nsXPB'],'jobId':_0x3958f2['id'],'name':_0x44ddc7,'delayMs':_0x3453ad},'Job\x20dispatched\x20(delayed\x20'+_0x3453ad+'ms):\x20'+_0x44ddc7+_0x19bc1a(0x212)+_0x3958f2['id']+')'),{'jobId':_0x3958f2['id'],'name':_0x44ddc7};}async['getJobStatus'](_0x51e6fe){const _0x2d1e7f=a0_0x4f8384;for(const _0x38148f of Object['values'](this[_0x2d1e7f(0x1fe)])){const _0x5a2426=await _0x38148f['getJob'](_0x51e6fe);if(_0x5a2426){const _0x3fe903=await _0x5a2426['getState']();return{'jobId':_0x5a2426['id'],'name':_0x5a2426[_0x2d1e7f(0x1ea)],'state':_0x3fe903,'progress':_0x5a2426['progress'],'attemptsMade':_0x5a2426['attemptsMade'],'failedReason':_0x5a2426[_0x2d1e7f(0x2dd)],'returnvalue':_0x5a2426[_0x2d1e7f(0x27c)],'data':_0x5a2426[_0x2d1e7f(0x309)],'timestamps':{'created':_0x5a2426['timestamp'],'started':_0x5a2426[_0x2d1e7f(0x239)],'completed':_0x5a2426[_0x2d1e7f(0x234)]}};}}return null;}['listJobs'](){const _0x5e4cea=a0_0x4f8384;return Object[_0x5e4cea(0x21c)](this['jobConfigs'])[_0x5e4cea(0x28d)](_0x4c92b8=>({'name':_0x4c92b8[_0x5e4cea(0x1ea)],'description':_0x4c92b8[_0x5e4cea(0x251)]||'','type':_0x4c92b8[_0x5e4cea(0x21f)],'schedule':_0x4c92b8['schedule'],'handler':_0x4c92b8[_0x5e4cea(0x28b)],'enabled':_0x4c92b8[_0x5e4cea(0x25a)]!==![],'queue':_0x4c92b8[_0x5e4cea(0x1e0)]||_0x5e4cea(0x1e8),'timeout':_0x4c92b8[_0x5e4cea(0x2c8)]||0x7530,'retry':_0x4c92b8[_0x5e4cea(0x23b)]||{'maxAttempts':0x3,'backoff':'exponential','initialDelay':0x1388},'metadata':_0x4c92b8['metadata']||{}}));}async['listRunning'](){const _0x3904a4=a0_0x4f8384,_0xf48ffb={'KgwRd':_0x3904a4(0x297)},_0x5de359=[];for(const [_0xa2a952,_0x2a8dc5]of Object['entries'](this['queues'])){const _0x35170a=await _0x2a8dc5[_0x3904a4(0x259)]([_0xf48ffb['KgwRd']]);for(const _0x3ce0c6 of _0x35170a){_0x5de359[_0x3904a4(0x227)]({'jobId':_0x3ce0c6['id'],'name':_0x3ce0c6['name'],'queue':_0xa2a952,'progress':_0x3ce0c6['progress'],'attemptsMade':_0x3ce0c6[_0x3904a4(0x249)],'startedAt':_0x3ce0c6[_0x3904a4(0x239)]});}}return _0x5de359;}async['getHistory'](_0x481122={}){const _0x6ddec5=a0_0x4f8384,_0x94544b={'FACDq':function(_0x19a5bc,_0x2e1a2b,_0x5601ec){return _0x19a5bc(_0x2e1a2b,_0x5601ec);},'sOlHM':function(_0x41195a,_0xc78273){return _0x41195a+_0xc78273;},'aWYpU':_0x6ddec5(0x20e)},_0x28c65c=parseInt(_0x481122[_0x6ddec5(0x308)],0xa)||0x1,_0x5d52ec=Math[_0x6ddec5(0x21e)](_0x94544b['FACDq'](parseInt,_0x481122['limit'],0xa)||0x14,0x64),_0x220010=(_0x28c65c-0x1)*_0x5d52ec,_0x7ff7ab=_0x94544b['sOlHM'](_0x220010,_0x5d52ec)-0x1,_0x10ece9=[];for(const [_0x37faed,_0xbe8a88]of Object['entries'](this['queues'])){const _0x2d4120=await _0xbe8a88[_0x6ddec5(0x259)]([_0x6ddec5(0x240)],_0x220010,_0x7ff7ab),_0xf0b63f=await _0xbe8a88['getJobs']([_0x94544b[_0x6ddec5(0x229)]],_0x220010,_0x7ff7ab);for(const _0x1a79bb of[..._0x2d4120,..._0xf0b63f]){const _0x4437e3=await _0x1a79bb[_0x6ddec5(0x1fb)]();_0x10ece9['push']({'jobId':_0x1a79bb['id'],'name':_0x1a79bb['name'],'state':_0x4437e3,'queue':_0x37faed,'attemptsMade':_0x1a79bb[_0x6ddec5(0x249)],'failedReason':_0x1a79bb[_0x6ddec5(0x2dd)],'returnvalue':_0x1a79bb[_0x6ddec5(0x27c)],'timestamps':{'created':_0x1a79bb[_0x6ddec5(0x201)],'started':_0x1a79bb[_0x6ddec5(0x239)],'completed':_0x1a79bb['finishedOn']}});}}return _0x10ece9[_0x6ddec5(0x1e4)]((_0x59abdc,_0x35a062)=>(_0x35a062[_0x6ddec5(0x27d)]['created']||0x0)-(_0x59abdc['timestamps']['created']||0x0)),{'jobs':_0x10ece9[_0x6ddec5(0x2e5)](0x0,_0x5d52ec),'total':_0x10ece9[_0x6ddec5(0x204)],'page':_0x28c65c,'limit':_0x5d52ec};}async['cancelJob'](_0x378e5f){const _0x35f599=a0_0x4f8384,_0x153ebe={'XOnux':_0x35f599(0x297),'tVVwz':_0x35f599(0x23e),'xUgqR':_0x35f599(0x282),'YVXab':function(_0x31eba6,_0x26bf4e){return _0x31eba6===_0x26bf4e;},'OuiDQ':'delayed'};for(const _0x107197 of Object[_0x35f599(0x21c)](this['queues'])){const _0x2e7260=await _0x107197['getJob'](_0x378e5f);if(_0x2e7260){const _0x3c7ebe=await _0x2e7260[_0x35f599(0x1fb)]();if(_0x3c7ebe===_0x153ebe['XOnux'])return await _0x2e7260['moveToFailed'](new Error(_0x153ebe['tVVwz']),_0x153ebe[_0x35f599(0x252)],!![]),{'success':!![],'message':'Job\x20'+_0x378e5f+_0x35f599(0x2d3)};if(_0x153ebe[_0x35f599(0x29b)](_0x3c7ebe,_0x35f599(0x30f))||_0x3c7ebe===_0x153ebe['OuiDQ'])return await _0x2e7260[_0x35f599(0x30e)](),{'success':!![],'message':_0x35f599(0x303)+_0x378e5f+_0x35f599(0x237)+_0x3c7ebe+')'};return{'success':![],'message':'Job\x20'+_0x378e5f+'\x20cannot\x20be\x20cancelled\x20(state:\x20'+_0x3c7ebe+')'};}}return{'success':![],'message':'Job\x20'+_0x378e5f+'\x20not\x20found'};}async[a0_0x4f8384(0x257)](){const _0x1df287=a0_0x4f8384,_0x11f13e={'mtXAX':_0x1df287(0x297),'GjeRd':'paused','HMPfc':'waiting'},_0x56a435={};for(const [_0x8360be,_0x485de7]of Object['entries'](this[_0x1df287(0x1fe)])){try{const _0x52dbb0=await _0x485de7['getJobCounts'](_0x11f13e[_0x1df287(0x290)],_0x1df287(0x240),_0x1df287(0x313),'failed',_0x11f13e[_0x1df287(0x306)],_0x11f13e['HMPfc']);_0x56a435[_0x8360be]=_0x52dbb0;}catch(_0x43e84c){_0x56a435[_0x8360be]={'error':_0x43e84c[_0x1df287(0x2bf)]};}}const _0x150df6={};for(const [_0x35fe87,_0x475a13]of Object['entries'](this['workers'])){_0x150df6[_0x35fe87]={'running':_0x475a13['isRunning'](),'paused':_0x475a13[_0x1df287(0x283)]()};}return{'initialized':this['initialized'],'registeredJobs':Object['keys'](this['jobConfigs'])[_0x1df287(0x204)],'redisConnections':this['connections']['length'],'queues':_0x56a435,'workers':_0x150df6};}async['onJobCompleted'](_0x1563e7,_0x58b1f5){const _0x30521c=a0_0x4f8384,_0x328f26={'xVLGB':_0x30521c(0x202),'IASsy':'job_completed','zQgfv':function(_0x5159a2,_0x116635){return _0x5159a2-_0x116635;},'yJFyf':function(_0x4ed1d9,_0x425f27){return _0x4ed1d9===_0x425f27;},'Lmfdc':'success','RptSq':function(_0xaa1860){return _0xaa1860();},'lYmbt':'onAfterJobComplete','cKMUp':_0x30521c(0x276),'CFrNY':_0x30521c(0x30b)},_0x15a3a7=logger['child']({'jobId':_0x1563e7['id'],'jobName':_0x1563e7['name']});_0x15a3a7[_0x30521c(0x241)]({'event':_0x328f26[_0x30521c(0x1f0)],'attemptsMade':_0x1563e7['attemptsMade'],'duration':_0x1563e7[_0x30521c(0x234)]?_0x1563e7['finishedOn']-_0x1563e7['processedOn']:null},'Job\x20completed:\x20'+_0x1563e7[_0x30521c(0x1ea)]);const _0x1eb2f7=this[_0x30521c(0x2db)]['get'](_0x1563e7['id']);if(_0x1eb2f7){if(_0x1eb2f7['insertPromise'])await _0x1eb2f7['insertPromise'];const _0x3134c2=_0x1563e7['finishedOn']&&_0x1563e7['processedOn']?_0x328f26[_0x30521c(0x288)](_0x1563e7[_0x30521c(0x234)],_0x1563e7[_0x30521c(0x239)]):null,_0x9eaf70=_0x328f26['yJFyf'](typeof _0x58b1f5,_0x30521c(0x1e6))?_0x58b1f5:_0x58b1f5?JSON[_0x30521c(0x203)](_0x58b1f5)[_0x30521c(0x2a0)](0x0,0x1f4):null;await this['updateJobHistoryCompleted'](_0x1eb2f7[_0x30521c(0x23c)],_0x3134c2,_0x9eaf70);const _0x42e393=await this['getNextRunFromBullMQ'](_0x1563e7[_0x30521c(0x1ea)]);await this[_0x30521c(0x20f)](_0x1563e7['name'],_0x328f26[_0x30521c(0x25d)],_0x3134c2,_0x42e393),this[_0x30521c(0x2db)]['delete'](_0x1563e7['id']);}const _0x1bb60f=_0x328f26[_0x30521c(0x247)](getComponentEngine);if(_0x1bb60f&&_0x328f26['yJFyf'](typeof _0x1bb60f[_0x30521c(0x248)],'function')){const _0x35949d={'jobId':_0x1563e7['id'],'jobName':_0x1563e7['name'],'result':_0x58b1f5,'config':this['jobConfigs'][_0x1563e7[_0x30521c(0x1ea)]]||{}};_0x1bb60f[_0x30521c(0x248)](_0x328f26['lYmbt'],_0x35949d,![])[_0x30521c(0x1f9)](_0x457c1b=>{const _0x434309=_0x30521c;_0x15a3a7[_0x434309(0x207)]({'event':_0x328f26['xVLGB'],'error':_0x457c1b[_0x434309(0x2bf)]},_0x434309(0x24a));});}const _0x339660=this['getKafkaService']();if(_0x339660)try{await _0x339660[_0x30521c(0x2ad)](_0x30521c(0x2a6),'JOB_COMPLETED',null,{'jobId':_0x1563e7['id'],'name':_0x1563e7['name'],'result':_0x58b1f5},{'module':_0x328f26[_0x30521c(0x271)],'endpoint':_0x1563e7[_0x30521c(0x1ea)]});}catch(_0x10e3e1){_0x15a3a7[_0x30521c(0x207)]({'event':'job_kafka_publish_error','error':_0x10e3e1['message']},_0x328f26['CFrNY']);}}async['onJobFailed'](_0x31c84d,_0x1efc7a){const _0x512c85=a0_0x4f8384,_0x3714f5={'ucIAv':function(_0x4931fb,_0x2e0d13){return _0x4931fb<_0x2e0d13;},'WaNiU':function(_0x2b4291,_0x7b1ac0){return _0x2b4291-_0x7b1ac0;},'bxRTU':function(_0xe7875,_0x3f54db){return _0xe7875===_0x3f54db;},'KasLj':_0x512c85(0x246),'QaLGL':'JOB_FAILED','lFehI':_0x512c85(0x20c)},_0xdf5fcf=logger[_0x512c85(0x1e1)]({'jobId':_0x31c84d['id'],'jobName':_0x31c84d[_0x512c85(0x1ea)]});_0xdf5fcf[_0x512c85(0x258)]({'event':'job_failed','attemptsMade':_0x31c84d['attemptsMade'],'failedReason':_0x1efc7a?.[_0x512c85(0x2bf)],'willRetry':_0x3714f5['ucIAv'](_0x31c84d['attemptsMade'],this['jobConfigs'][_0x31c84d['name']]?.[_0x512c85(0x23b)]?.[_0x512c85(0x22f)]||0x3)},_0x512c85(0x312)+_0x31c84d[_0x512c85(0x1ea)]+_0x512c85(0x25f)+_0x1efc7a?.[_0x512c85(0x2bf)]);const _0x550d55=this['activeHistoryIds']['get'](_0x31c84d['id']);if(_0x550d55){if(_0x550d55['insertPromise'])await _0x550d55['insertPromise'];const _0x47a2a1=_0x31c84d['finishedOn']&&_0x31c84d[_0x512c85(0x239)]?_0x3714f5[_0x512c85(0x2af)](_0x31c84d[_0x512c85(0x234)],_0x31c84d[_0x512c85(0x239)]):null;await this[_0x512c85(0x26c)](_0x550d55[_0x512c85(0x23c)],_0x47a2a1,_0x31c84d['progress'],_0x1efc7a?.['message'],_0x1efc7a?.['stack']);const _0x5bfdce=await this[_0x512c85(0x274)](_0x31c84d['name']);await this['updateRegistryCounters'](_0x31c84d['name'],'failed',_0x47a2a1,_0x5bfdce),this['activeHistoryIds']['delete'](_0x31c84d['id']);}const _0x20023c=getComponentEngine();if(_0x20023c&&_0x3714f5['bxRTU'](typeof _0x20023c[_0x512c85(0x248)],_0x512c85(0x2ff))){const _0x272276={'jobId':_0x31c84d['id'],'jobName':_0x31c84d['name'],'error':_0x1efc7a?.[_0x512c85(0x2bf)],'attemptsMade':_0x31c84d[_0x512c85(0x249)],'config':this['jobConfigs'][_0x31c84d[_0x512c85(0x1ea)]]||{}};_0x20023c['executeEventHandlers'](_0x3714f5[_0x512c85(0x2d6)],_0x272276,![])[_0x512c85(0x1f9)](_0x58f911=>{const _0xee5d98=_0x512c85;_0xdf5fcf['warn']({'event':'after_job_failed_hook_error','error':_0x58f911[_0xee5d98(0x2bf)]},'onAfterJobFailed\x20handler\x20error\x20(non-blocking)');});}const _0x4a51c9=this['getKafkaService']();if(_0x4a51c9)try{await _0x4a51c9['publishEvent'](_0x512c85(0x30a),_0x3714f5[_0x512c85(0x1f4)],null,{'jobId':_0x31c84d['id'],'name':_0x31c84d[_0x512c85(0x1ea)],'error':_0x1efc7a?.[_0x512c85(0x2bf)],'attemptsMade':_0x31c84d['attemptsMade']},{'module':_0x512c85(0x276),'endpoint':_0x31c84d['name']});}catch(_0x16b6d4){_0xdf5fcf[_0x512c85(0x207)]({'event':_0x3714f5[_0x512c85(0x245)],'error':_0x16b6d4[_0x512c85(0x2bf)]},'Failed\x20to\x20publish\x20JOB_FAILED\x20to\x20Kafka');}}[a0_0x4f8384(0x205)](_0x113411,_0x5344cd){const _0xaa4756=a0_0x4f8384;logger[_0xaa4756(0x29c)]({'event':'job_progress','jobId':_0x113411['id'],'jobName':_0x113411['name'],'progress':_0x5344cd},'Job\x20progress:\x20'+_0x113411[_0xaa4756(0x1ea)]+'\x20—\x20'+_0x5344cd+'%');}}module[a0_0x4f8384(0x2e8)]=new JobManager();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x393039=a0_0x38b2;(function(_0x4f2e37,_0xf42350){const _0x2f8d8d=a0_0x38b2,_0xedea41=_0x4f2e37();while(!![]){try{const _0x2e1af9=parseInt(_0x2f8d8d(0x1d9))/0x1*(parseInt(_0x2f8d8d(0x1f1))/0x2)+parseInt(_0x2f8d8d(0x1ce))/0x3+parseInt(_0x2f8d8d(0x226))/0x4+parseInt(_0x2f8d8d(0x238))/0x5*(-parseInt(_0x2f8d8d(0x228))/0x6)+-parseInt(_0x2f8d8d(0x1e2))/0x7+parseInt(_0x2f8d8d(0x216))/0x8+parseInt(_0x2f8d8d(0x1e6))/0x9*(-parseInt(_0x2f8d8d(0x1dc))/0xa);if(_0x2e1af9===_0xf42350)break;else _0xedea41['push'](_0xedea41['shift']());}catch(_0x4f7761){_0xedea41['push'](_0xedea41['shift']());}}}(a0_0xe863,0x74ce9));const express=require(a0_0x393039(0x235)),{Queue}=require(a0_0x393039(0x1f0)),Redis=require('ioredis'),{logger}=require(a0_0x393039(0x22d));let readConnection=null,readQueues=null,cachedJobConfigs=null;function a0_0x38b2(_0x19fc20,_0x4483ea){_0x19fc20=_0x19fc20-0x1cc;const _0xe863a9=a0_0xe863();let _0x38b29d=_0xe863a9[_0x19fc20];if(a0_0x38b2['CEXqpM']===undefined){var _0x388c1c=function(_0x4affc5){const _0xb32213='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3aa141='',_0x47bf51='';for(let _0x3a8698=0x0,_0x180f34,_0xf61b,_0xb629ff=0x0;_0xf61b=_0x4affc5['charAt'](_0xb629ff++);~_0xf61b&&(_0x180f34=_0x3a8698%0x4?_0x180f34*0x40+_0xf61b:_0xf61b,_0x3a8698++%0x4)?_0x3aa141+=String['fromCharCode'](0xff&_0x180f34>>(-0x2*_0x3a8698&0x6)):0x0){_0xf61b=_0xb32213['indexOf'](_0xf61b);}for(let _0xc669=0x0,_0x5c65eb=_0x3aa141['length'];_0xc669<_0x5c65eb;_0xc669++){_0x47bf51+='%'+('00'+_0x3aa141['charCodeAt'](_0xc669)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x47bf51);};a0_0x38b2['xkfaCv']=_0x388c1c,a0_0x38b2['VteIcI']={},a0_0x38b2['CEXqpM']=!![];}const _0x146efb=_0xe863a9[0x0],_0x52d91b=_0x19fc20+_0x146efb,_0x3e2794=a0_0x38b2['VteIcI'][_0x52d91b];return!_0x3e2794?(_0x38b29d=a0_0x38b2['xkfaCv'](_0x38b29d),a0_0x38b2['VteIcI'][_0x52d91b]=_0x38b29d):_0x38b29d=_0x3e2794,_0x38b29d;}const QUEUE_NAMES={'high-priority':a0_0x393039(0x1e1),'default':'default','low-priority':a0_0x393039(0x206)};function getReadQueues(){const _0x57258c=a0_0x393039,_0x117860={'Bviws':'rf:job'};if(readQueues)return readQueues;const _0x2ff10d=process['env'][_0x57258c(0x1fa)]||_0x117860[_0x57258c(0x20d)];readConnection=new Redis({'host':process[_0x57258c(0x1fc)][_0x57258c(0x1ed)]||'localhost','port':parseInt(process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process[_0x57258c(0x1fc)]['REDIS_PASSWORD']||undefined,'db':parseInt(process['env'][_0x57258c(0x1ec)],0xa)||0x0,'maxRetriesPerRequest':null}),readConnection['on'](_0x57258c(0x1e8),_0x454020=>{const _0x2a0908=_0x57258c;logger[_0x2a0908(0x1e8)]({'event':_0x2a0908(0x1cd),'error':_0x454020['message']},_0x2a0908(0x1e7)+_0x454020[_0x2a0908(0x212)]);}),readQueues={};for(const [_0x556723,_0x4782ae]of Object['entries'](QUEUE_NAMES)){readQueues[_0x556723]=new Queue(_0x4782ae,{'connection':readConnection,'prefix':_0x2ff10d});}return readQueues;}function a0_0xe863(){const _0x1a33a7=['Cgf5Bg9Hza','mZyYodu5nLbZywHKzW','zMfPBgvK','ntaXnZG2nLfXzuPtqW','AM9Ix2HPC3rVCNLFzxjYB3i','l3n0yxr1CY86AM9Iswq','z2v0','ChjVz3jLC3m','lI4VlI4VDxrPBhmVBg9Nz2vY','yM9KEq','z2v0sM9I','zgvMyxvSDa','A2v5CW','zw50CMLLCW','tufQzve','Du1IExK','zxHWCMvZCW','BgvUz3rO','Cg9ZDa','nxHJrffXDa','AM9Ix3rYAwDNzxjLzf92AwfFyxbP','CMvTB3zL','ywrK','C2XPy2u','AM9Ix3jVDxrLC19YzwrPC19LCNjVCG','mZy4odG2CvLnqMj4','BMfTzq','AM9PBG','DgLTzxn0yw1WCW','CgfYyw1Z','wNDyDhi','quLkvwC','CgfYC2u','DhLWzq','sMjPsey','zgvSyxLLza','mvLoDwX3EG','zxHPC3rZu3LUyW','CMvHzezPBgvtEw5J','mtuWtejKExPH','Bw92zvrVrMfPBgvK','BwLU','AM9ICW','wwrxv2O','AgLNAa','nJm3odiXmwjJt2PsEG','EwjZtLi','yxbPlwnHBMnLBa','BNnevuS','mZm2odDsANnSBLm','sM9IifjVDxrLCYbszwrPCYbLCNjVCJOG','zxjYB3i','zgvNCMfKzwq','CgfNzq','Bwv0ywrHDge','uKvesvnFrei','uKvesvnFse9tva','Aw5MBW','zgX3yu4','yNvSBg1X','nZm3nda0sxj1vhfy','sM9Iia','lMPZB24','ignHBMnLBgXLzcaOD2fZigfJDgL2zsK','CxvLDwu','DMfSDwvZ','zMfPBgvKuMvHC29U','uM91DgvY','C3rHDhvZ','sK9cx1jfreLtx1bsruzjwa','vwrkwMO','zw52','zMLSDgvY','BwfW','AM9Ix2XPC3rFzxjYB3i','rxjYB3iGy2fUy2vSBgLUzYbQB2i','z2v0u3rHDgu','yxbP','z2v0sM9Iq291BNrZ','y3DK','sM9IihrYAwDNzxjLzcb2AweGqvbjoIa','Bg93','l3f1zxvLCW','ignHBM5VDcbIzsbJyw5JzwXSzwqGkhn0yxrLoIa','C2nOzwr1Bgu','yxr0zw1WDhnnywrL','EMrhzM0','zgLZy29UBMvJDgvK','qNzPD3m','DgLTzxn0yw1W','ANnVBG','CML4Cxm','CMv0CNK','BwvZC2fNzq','AgfUzgXLCG','l2HLywX0Aa','CxvLCNK','nZa2nJa1nK5RDK5mDW','l2HPC3rVCNK','y29TCgXLDgvK','zxHWB25LBNrPywW','DxDfEKi','rxjYB3iGz2v0DgLUzYbQB2iGC3rHDhvZ','zxHWB3j0CW','zMLUAxnOzwrpBG','uKfnvgO','zw5KC1DPDgG','AM9Ix2nHBMnLBf9LCNjVCG','DxrMoa','A0DACeG','DgLTzw91Da','DefTzwC'];a0_0xe863=function(){return _0x1a33a7;};return a0_0xe863();}function createJobRoutes(_0x4dbc55){const _0x2926d4=a0_0x393039,_0x460342={'kGZpH':function(_0x5248b1,_0x4bf5a8){return _0x5248b1(_0x4bf5a8);},'tAmeg':_0x2926d4(0x225),'Orbzo':'jobs','MAjeQ':_0x2926d4(0x1ff),'qJHiS':_0x2926d4(0x21b),'YdWWj':_0x2926d4(0x221),'tUxLc':'default','dlwaN':'Error\x20triggering\x20job','ybsNR':function(_0x303635){return _0x303635();},'uMbyy':'active','hPFnv':function(_0xbc37c6,_0x3c7e35){return _0xbc37c6===_0x3c7e35;},'nsDUK':'waiting','hXMUX':_0x2926d4(0x1d8),'UdJZj':_0x2926d4(0x220),'nrXSa':function(_0x48165b,_0x2cf1e0){return _0x48165b-_0x2cf1e0;},'AAWIp':_0x2926d4(0x218),'zdGfm':_0x2926d4(0x229),'RAMTj':'Error\x20getting\x20job\x20history','ZwXtr':'job_queues_error','xWJUy':'failed','ERvhH':'healthy','tOvNq':'connected','DmTbU':'unhealthy','rixqs':_0x2926d4(0x22a),'AIJUg':'/trigger/:jobName','JbiHF':'/cancel/:jobId','uwEzB':_0x2926d4(0x217)},_0x57300f=express[_0x2926d4(0x1f8)]();return _0x4dbc55&&Object['keys'](_0x4dbc55)[_0x2926d4(0x236)]>0x0&&(cachedJobConfigs=_0x4dbc55),_0x57300f[_0x2926d4(0x22b)]('/list',(_0x51d4cb,_0x22fed5)=>{const _0x5378e3=_0x2926d4;try{if(cachedJobConfigs){const _0x34d94f=Object[_0x5378e3(0x1f6)](cachedJobConfigs)[_0x5378e3(0x1fe)](_0x558ca3=>({'name':_0x558ca3[_0x5378e3(0x1cf)],'description':_0x558ca3['description']||'','type':_0x558ca3[_0x5378e3(0x1d6)],'schedule':_0x558ca3[_0x5378e3(0x209)],'handler':_0x558ca3['handler'],'enabled':_0x558ca3['enabled']!==![],'queue':_0x558ca3['queue']||'default','timeout':_0x558ca3['timeout']||0x7530,'retry':_0x558ca3['retry']||{'maxAttempts':0x3,'backoff':_0x5378e3(0x219),'initialDelay':0x1388},'metadata':_0x558ca3['metadata']||{}}));return _0x22fed5['json']({'success':!![],'data':_0x34d94f,'total':_0x34d94f['length']});}const _0x40d760=require('fs'),_0x472871=_0x460342[_0x5378e3(0x222)](require,'path'),_0x4a002d=_0x472871[_0x5378e3(0x1d0)](process[_0x5378e3(0x204)](),_0x460342[_0x5378e3(0x224)],_0x460342['Orbzo']);if(!_0x40d760[_0x5378e3(0x1da)](_0x4a002d))return _0x22fed5['json']({'success':!![],'data':[],'total':0x0});const _0x2bfaa9=_0x40d760['readdirSync'](_0x4a002d)['filter'](_0x4a8a40=>_0x4a8a40['endsWith'](_0x5378e3(0x1f3))),_0x229e05=[];for(const _0x2622a7 of _0x2bfaa9){try{const _0x2b4ee8=_0x40d760[_0x5378e3(0x1db)](_0x472871['join'](_0x4a002d,_0x2622a7),_0x5378e3(0x221)),_0x2f0eb6=JSON[_0x5378e3(0x1d5)](_0x2b4ee8);_0x229e05['push']({'name':_0x2f0eb6['name'],'description':_0x2f0eb6['description']||'','type':_0x2f0eb6['type'],'schedule':_0x2f0eb6['schedule'],'handler':_0x2f0eb6[_0x5378e3(0x213)],'enabled':_0x2f0eb6['enabled']!==![],'queue':_0x2f0eb6['queue']||_0x5378e3(0x230),'timeout':_0x2f0eb6[_0x5378e3(0x223)]||0x7530,'retry':_0x2f0eb6[_0x5378e3(0x211)]||{},'metadata':_0x2f0eb6[_0x5378e3(0x1eb)]||{}});}catch(_0x26dd12){}}_0x22fed5[_0x5378e3(0x20f)]({'success':!![],'data':_0x229e05,'total':_0x229e05[_0x5378e3(0x236)]});}catch(_0x20e423){logger['error']({'event':_0x460342[_0x5378e3(0x233)],'error':_0x20e423[_0x5378e3(0x212)]},'Error\x20listing\x20jobs'),_0x22fed5['status'](0x1f4)[_0x5378e3(0x20f)]({'success':![],'error':_0x20e423['message']});}}),_0x57300f['get'](_0x460342[_0x2926d4(0x210)],async(_0x2731f7,_0x229d75)=>{const _0x4da8c5=_0x2926d4;try{const {jobId:_0x4c9e88}=_0x2731f7[_0x4da8c5(0x1d2)],_0x479fed=getReadQueues();for(const _0x224077 of Object[_0x4da8c5(0x1f6)](_0x479fed)){const _0x4f7ff6=await _0x224077[_0x4da8c5(0x22f)](_0x4c9e88);if(_0x4f7ff6){const _0x7723d7=await _0x4f7ff6[_0x4da8c5(0x201)]();return _0x229d75['json']({'success':!![],'data':{'jobId':_0x4f7ff6['id'],'name':_0x4f7ff6['name'],'state':_0x7723d7,'progress':_0x4f7ff6[_0x4da8c5(0x22c)],'attemptsMade':_0x4f7ff6['attemptsMade'],'failedReason':_0x4f7ff6[_0x4da8c5(0x1f7)],'returnvalue':_0x4f7ff6['returnvalue'],'data':_0x4f7ff6['data'],'timestamps':{'created':_0x4f7ff6[_0x4da8c5(0x20e)],'started':_0x4f7ff6['processedOn'],'completed':_0x4f7ff6[_0x4da8c5(0x21d)]}}});}}_0x229d75[_0x4da8c5(0x1f9)](0x194)['json']({'success':![],'error':'Job\x20'+_0x4c9e88+'\x20tidak\x20ditemukan'});}catch(_0x2b1f5c){logger['error']({'event':'job_status_error','error':_0x2b1f5c['message']},_0x460342['qJHiS']),_0x229d75[_0x4da8c5(0x1f9)](0x1f4)[_0x4da8c5(0x20f)]({'success':![],'error':_0x2b1f5c[_0x4da8c5(0x212)]});}}),_0x57300f[_0x2926d4(0x237)](_0x460342[_0x2926d4(0x1d4)],async(_0x3f6c9e,_0x357b82)=>{const _0xce854c=_0x2926d4;try{const {jobName:_0x1df813}=_0x3f6c9e[_0xce854c(0x1d2)],_0x4fe832=_0x3f6c9e[_0xce854c(0x22e)]||{};let _0x24da07=cachedJobConfigs?.[_0x1df813];if(!_0x24da07){const _0x2b1a77=require('fs'),_0x2325df=require('path'),_0xf0df7e=_0x2325df['join'](process['cwd'](),_0x460342[_0xce854c(0x224)],_0xce854c(0x1df)),_0x4bed28=_0x2b1a77[_0xce854c(0x1da)](_0xf0df7e)?_0x2b1a77['readdirSync'](_0xf0df7e)[_0xce854c(0x1fd)](_0xb32535=>_0xb32535[_0xce854c(0x21f)]('.json')):[];for(const _0x23d747 of _0x4bed28){try{const _0x28c956=_0x2b1a77['readFileSync'](_0x2325df['join'](_0xf0df7e,_0x23d747),_0x460342[_0xce854c(0x1e0)]),_0x49a93b=JSON['parse'](_0x28c956);if(_0x49a93b[_0xce854c(0x1cf)]===_0x1df813){_0x24da07=_0x49a93b;break;}}catch(_0x41669a){}}}if(!_0x24da07)return _0x357b82['status'](0x194)[_0xce854c(0x20f)]({'success':![],'error':'Job\x20\x22'+_0x1df813+'\x22\x20tidak\x20ditemukan\x20di\x20konfigurasi'});const _0xa40232=getReadQueues(),_0x58a2bb=_0xa40232[_0x24da07[_0xce854c(0x1f5)]||_0x460342['tUxLc']],_0x917e38=await _0x58a2bb[_0xce854c(0x23b)](_0x1df813,{..._0x4fe832,'handler':_0x24da07['handler'],'triggeredBy':_0xce854c(0x202)},{'attempts':_0x24da07['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0x24da07['retry']?.['backoff']||_0xce854c(0x219),'delay':_0x24da07['retry']?.['initialDelay']||0x1388},'timeout':_0x24da07[_0xce854c(0x223)]||0x7530});logger[_0xce854c(0x1ee)]({'event':_0xce854c(0x239),'jobId':_0x917e38['id'],'name':_0x1df813},_0xce854c(0x205)+_0x1df813+'\x20(id:\x20'+_0x917e38['id']+')'),_0x357b82[_0xce854c(0x20f)]({'success':!![],'jobId':_0x917e38['id'],'message':_0xce854c(0x1f2)+_0x1df813+'\x20triggered\x20successfully'});}catch(_0x10cf42){logger['error']({'event':'job_trigger_error','error':_0x10cf42['message']},_0x460342[_0xce854c(0x1ef)]),_0x357b82['status'](0x1f4)[_0xce854c(0x20f)]({'success':![],'error':_0x10cf42[_0xce854c(0x212)]});}}),_0x57300f[_0x2926d4(0x237)](_0x460342[_0x2926d4(0x1d7)],async(_0x11b9bc,_0x23fd98)=>{const _0x183800=_0x2926d4;try{const {jobId:_0x56753b}=_0x11b9bc['params'],_0x27892e=_0x460342[_0x183800(0x1e3)](getReadQueues);for(const _0xbb9a82 of Object[_0x183800(0x1f6)](_0x27892e)){const _0x3f87ce=await _0xbb9a82['getJob'](_0x56753b);if(_0x3f87ce){const _0x3c7ac9=await _0x3f87ce[_0x183800(0x201)]();if(_0x3c7ac9===_0x460342['uMbyy'])return await _0x3f87ce[_0x183800(0x1dd)](new Error('Job\x20cancelled\x20via\x20API'),_0x183800(0x1e4),!![]),_0x23fd98[_0x183800(0x20f)]({'success':!![],'message':'Job\x20'+_0x56753b+_0x183800(0x1f4)});if(_0x460342['hPFnv'](_0x3c7ac9,_0x460342['nsDUK'])||_0x3c7ac9===_0x460342['hXMUX'])return await _0x3f87ce[_0x183800(0x23a)](),_0x23fd98[_0x183800(0x20f)]({'success':!![],'message':_0x183800(0x1f2)+_0x56753b+'\x20removed\x20(was\x20'+_0x3c7ac9+')'});return _0x23fd98['json']({'success':![],'message':_0x183800(0x1f2)+_0x56753b+_0x183800(0x208)+_0x3c7ac9+')'});}}_0x23fd98['status'](0x194)[_0x183800(0x20f)]({'success':![],'error':'Job\x20'+_0x56753b+'\x20tidak\x20ditemukan'});}catch(_0x447482){logger['error']({'event':_0x460342[_0x183800(0x1fb)],'error':_0x447482['message']},_0x183800(0x200)),_0x23fd98['status'](0x1f4)['json']({'success':![],'error':_0x447482[_0x183800(0x212)]});}}),_0x57300f['get'](_0x460342[_0x2926d4(0x21a)],async(_0x3e74d7,_0x53f248)=>{const _0x2c95f7=_0x2926d4;try{const _0x31cd0d=parseInt(_0x3e74d7[_0x2c95f7(0x215)][_0x2c95f7(0x1ea)],0xa)||0x1,_0x5caa6b=Math[_0x2c95f7(0x1de)](parseInt(_0x3e74d7[_0x2c95f7(0x215)]['limit'],0xa)||0x14,0x64),_0x20853b=_0x460342['nrXSa'](_0x31cd0d,0x1)*_0x5caa6b,_0x98a04d=_0x20853b+_0x5caa6b-0x1,_0x5f54d0=getReadQueues(),_0x352cd0=[];for(const [_0x19d6d9,_0x61217a]of Object[_0x2c95f7(0x232)](_0x5f54d0)){const _0x534afe=await _0x61217a['getJobs']([_0x460342['AAWIp']],_0x20853b,_0x98a04d),_0x2f38f9=await _0x61217a['getJobs']([_0x2c95f7(0x227)],_0x20853b,_0x98a04d);for(const _0x3e80bf of[..._0x534afe,..._0x2f38f9]){const _0x187d8f=await _0x3e80bf[_0x2c95f7(0x201)]();_0x352cd0['push']({'jobId':_0x3e80bf['id'],'name':_0x3e80bf[_0x2c95f7(0x1cf)],'state':_0x187d8f,'queue':_0x19d6d9,'attemptsMade':_0x3e80bf[_0x2c95f7(0x20a)],'failedReason':_0x3e80bf[_0x2c95f7(0x1f7)],'returnvalue':_0x3e80bf['returnvalue'],'timestamps':{'created':_0x3e80bf[_0x2c95f7(0x20e)],'started':_0x3e80bf['processedOn'],'completed':_0x3e80bf['finishedOn']}});}}_0x352cd0['sort']((_0x34dafb,_0x3021c4)=>(_0x3021c4[_0x2c95f7(0x1d1)]['created']||0x0)-(_0x34dafb['timestamps']['created']||0x0)),_0x53f248[_0x2c95f7(0x20f)]({'success':!![],'data':_0x352cd0[_0x2c95f7(0x1cc)](0x0,_0x5caa6b),'total':_0x352cd0['length'],'page':_0x31cd0d,'limit':_0x5caa6b});}catch(_0x4df29b){logger[_0x2c95f7(0x1e8)]({'event':_0x460342[_0x2c95f7(0x20b)],'error':_0x4df29b['message']},_0x460342[_0x2c95f7(0x21e)]),_0x53f248['status'](0x1f4)[_0x2c95f7(0x20f)]({'success':![],'error':_0x4df29b['message']});}}),_0x57300f[_0x2926d4(0x22b)](_0x2926d4(0x207),async(_0x1973ba,_0x138108)=>{const _0x27c438=_0x2926d4;try{const _0xb30b12=getReadQueues(),_0xae74bc={};for(const [_0x4b96cf,_0x436760]of Object['entries'](_0xb30b12)){try{const _0x5ac0ae=await _0x436760[_0x27c438(0x203)]('active',_0x460342['AAWIp'],'delayed','failed','paused',_0x460342['nsDUK']);_0xae74bc[_0x4b96cf]=_0x5ac0ae;}catch(_0x5643e1){_0xae74bc[_0x4b96cf]={'error':_0x5643e1['message']};}}_0x138108[_0x27c438(0x20f)]({'success':!![],'data':_0xae74bc});}catch(_0x578930){logger['error']({'event':_0x460342[_0x27c438(0x1d3)],'error':_0x578930[_0x27c438(0x212)]},'Error\x20getting\x20queue\x20stats'),_0x138108[_0x27c438(0x1f9)](0x1f4)[_0x27c438(0x20f)]({'success':![],'error':_0x578930['message']});}}),_0x57300f['get'](_0x2926d4(0x214),async(_0x136eb0,_0x32f082)=>{const _0x42750b=_0x2926d4;try{const _0x349d6e=_0x460342['ybsNR'](getReadQueues),_0x395aa1={};let _0x959571=![];for(const [_0x2b7d5a,_0x11899e]of Object['entries'](_0x349d6e)){try{const _0x2770c6=await _0x11899e['getJobCounts'](_0x460342[_0x42750b(0x234)],_0x460342[_0x42750b(0x1e5)],_0x460342['xWJUy']);_0x395aa1[_0x2b7d5a]=_0x2770c6,_0x959571=!![];}catch(_0x195cb2){_0x395aa1[_0x2b7d5a]={'error':_0x195cb2['message']};}}let _0x8b9390=0x0;cachedJobConfigs&&(_0x8b9390=Object[_0x42750b(0x231)](cachedJobConfigs)[_0x42750b(0x236)]),_0x32f082[_0x42750b(0x20f)]({'success':!![],'data':{'status':_0x959571?_0x460342['ERvhH']:_0x42750b(0x1e9),'redis':_0x959571?_0x460342['tOvNq']:_0x42750b(0x20c),'registeredJobs':_0x8b9390,'queues':_0x395aa1}});}catch(_0x2f8714){_0x32f082['status'](0x1f7)['json']({'success':![],'data':{'status':_0x460342['DmTbU'],'error':_0x2f8714['message']}});}}),_0x57300f;}module[a0_0x393039(0x21c)]=createJobRoutes;
|
|
1
|
+
const a0_0x36fca4=a0_0x280d;(function(_0x5c2dd4,_0x2f20d2){const _0x305c38=a0_0x280d,_0x1325c3=_0x5c2dd4();while(!![]){try{const _0x9e87e1=parseInt(_0x305c38(0x208))/0x1*(parseInt(_0x305c38(0x1b5))/0x2)+-parseInt(_0x305c38(0x200))/0x3*(-parseInt(_0x305c38(0x1c1))/0x4)+parseInt(_0x305c38(0x1ca))/0x5*(-parseInt(_0x305c38(0x1e6))/0x6)+-parseInt(_0x305c38(0x1b0))/0x7+parseInt(_0x305c38(0x1dd))/0x8*(parseInt(_0x305c38(0x1ce))/0x9)+parseInt(_0x305c38(0x1d1))/0xa+-parseInt(_0x305c38(0x203))/0xb*(parseInt(_0x305c38(0x1aa))/0xc);if(_0x9e87e1===_0x2f20d2)break;else _0x1325c3['push'](_0x1325c3['shift']());}catch(_0x38ab86){_0x1325c3['push'](_0x1325c3['shift']());}}}(a0_0x468e,0xe1295));const express=require('express'),{Queue}=require('bullmq'),Redis=require('ioredis'),{logger}=require('../../utils/logger');let readConnection=null,readQueues=null,cachedJobConfigs=null;const QUEUE_NAMES={'high-priority':'high','default':a0_0x36fca4(0x1f4),'low-priority':a0_0x36fca4(0x1af)};function getReadQueues(){const _0x392f29=a0_0x36fca4,_0x426926={'dqWhD':'job_routes_redis_error','MqrjV':'error'};if(readQueues)return readQueues;const _0x3cbc23=process['env'][_0x392f29(0x1a2)]||'rf:job';readConnection=new Redis({'host':process[_0x392f29(0x1e1)]['REDIS_HOST']||_0x392f29(0x20a),'port':parseInt(process['env'][_0x392f29(0x1e5)],0xa)||0x18ec,'password':process['env'][_0x392f29(0x1f8)]||undefined,'db':parseInt(process['env']['REDIS_DB'],0xa)||0x0,'maxRetriesPerRequest':null}),readConnection['on'](_0x426926['MqrjV'],_0x496f13=>{const _0x36dfda=_0x392f29;logger[_0x36dfda(0x1bd)]({'event':_0x426926['dqWhD'],'error':_0x496f13[_0x36dfda(0x1ea)]},'Job\x20Routes\x20Redis\x20error:\x20'+_0x496f13['message']);}),readQueues={};for(const [_0x2e68d8,_0x46e9fc]of Object['entries'](QUEUE_NAMES)){readQueues[_0x2e68d8]=new Queue(_0x46e9fc,{'connection':readConnection,'prefix':_0x3cbc23});}return readQueues;}function createJobRoutes(_0x398cd4){const _0x2eec1f=a0_0x36fca4,_0x93d142={'Vtxlm':function(_0x1e8776,_0x1fd58e){return _0x1e8776(_0x1fd58e);},'aBHjx':'path','pEMnt':_0x2eec1f(0x1e8),'IZysH':function(_0x298aaa,_0x1cd489){return _0x298aaa!==_0x1cd489;},'fZohC':_0x2eec1f(0x1a4),'nrVQa':'Error\x20listing\x20jobs','tlOVN':function(_0x3a0e70){return _0x3a0e70();},'aMnKM':'payload','tfHfg':_0x2eec1f(0x1ac),'AmXwk':function(_0x416deb,_0xcef659){return _0x416deb===_0xcef659;},'DINrT':_0x2eec1f(0x1f4),'hbGuL':_0x2eec1f(0x1ab),'NJANO':'job_trigger_error','RnVrJ':_0x2eec1f(0x202),'EMNLL':function(_0x11fa9c,_0x4e9bc6){return _0x11fa9c===_0x4e9bc6;},'ilCJa':'job_cancel_error','sLIaz':function(_0x570320,_0x265349,_0x308daa){return _0x570320(_0x265349,_0x308daa);},'vsUsG':function(_0x11a1d2,_0x5eb226){return _0x11a1d2-_0x5eb226;},'ljfOR':function(_0x139110,_0x471236){return _0x139110+_0x471236;},'STZer':'completed','fWNCs':_0x2eec1f(0x1bb),'qtlOh':function(_0x28417c){return _0x28417c();},'PbLMv':_0x2eec1f(0x1ec),'Yzogc':_0x2eec1f(0x1db),'tqgPT':'failed','HmpnG':'paused','IyXoh':_0x2eec1f(0x1d5),'aoeVC':'Error\x20getting\x20queue\x20stats','bCZbn':_0x2eec1f(0x1e9),'Xxdds':_0x2eec1f(0x1c8),'uEyfT':'unhealthy','LXSKk':_0x2eec1f(0x1ef),'wsqdT':_0x2eec1f(0x1b6),'laGSs':_0x2eec1f(0x1bf),'etsMV':'/queues','JbppH':_0x2eec1f(0x207)},_0x4923fd=express[_0x2eec1f(0x1e3)]();return _0x398cd4&&Object['keys'](_0x398cd4)['length']>0x0&&(cachedJobConfigs=_0x398cd4),_0x4923fd['get'](_0x93d142[_0x2eec1f(0x1d2)],(_0x132f5b,_0x487165)=>{const _0x2a635d=_0x2eec1f;try{if(cachedJobConfigs){const _0x2e0591=Object['values'](cachedJobConfigs)['map'](_0x593493=>({'name':_0x593493[_0x2a635d(0x1f1)],'description':_0x593493['description']||'','type':_0x593493['type'],'schedule':_0x593493['schedule'],'handler':_0x593493['handler'],'enabled':_0x593493['enabled']!==![],'queue':_0x593493[_0x2a635d(0x1fa)]||'default','timeout':_0x593493['timeout']||0x7530,'retry':_0x593493[_0x2a635d(0x1e2)]||{'maxAttempts':0x3,'backoff':'exponential','initialDelay':0x1388},'metadata':_0x593493['metadata']||{}}));return _0x487165['json']({'success':!![],'data':_0x2e0591,'total':_0x2e0591[_0x2a635d(0x1cb)]});}const _0x5a3170=require('fs'),_0x4e8c81=_0x93d142['Vtxlm'](require,_0x93d142['aBHjx']),_0x58af51=_0x4e8c81[_0x2a635d(0x209)](process[_0x2a635d(0x1ad)](),'payload',_0x2a635d(0x1ac));if(!_0x5a3170['existsSync'](_0x58af51))return _0x487165['json']({'success':!![],'data':[],'total':0x0});const _0x5ed180=_0x5a3170[_0x2a635d(0x1fb)](_0x58af51)[_0x2a635d(0x1f3)](_0x5bfc17=>_0x5bfc17[_0x2a635d(0x1b8)]('.json')),_0x29deb0=[];for(const _0x3c7785 of _0x5ed180){try{const _0x3f3895=_0x5a3170['readFileSync'](_0x4e8c81[_0x2a635d(0x209)](_0x58af51,_0x3c7785),_0x93d142[_0x2a635d(0x1ff)]),_0x268125=JSON['parse'](_0x3f3895);_0x29deb0['push']({'name':_0x268125['name'],'description':_0x268125[_0x2a635d(0x1c0)]||'','type':_0x268125[_0x2a635d(0x1f6)],'schedule':_0x268125[_0x2a635d(0x1dc)],'handler':_0x268125['handler'],'enabled':_0x93d142['IZysH'](_0x268125['enabled'],![]),'queue':_0x268125[_0x2a635d(0x1fa)]||'default','timeout':_0x268125[_0x2a635d(0x1df)]||0x7530,'retry':_0x268125['retry']||{},'metadata':_0x268125['metadata']||{}});}catch(_0x373cef){}}_0x487165['json']({'success':!![],'data':_0x29deb0,'total':_0x29deb0[_0x2a635d(0x1cb)]});}catch(_0x1adfe4){logger['error']({'event':_0x93d142['fZohC'],'error':_0x1adfe4[_0x2a635d(0x1ea)]},_0x93d142['nrVQa']),_0x487165['status'](0x1f4)['json']({'success':![],'error':_0x1adfe4['message']});}}),_0x4923fd[_0x2eec1f(0x1ee)](_0x93d142[_0x2eec1f(0x1c2)],async(_0x108559,_0x68fdb7)=>{const _0x177ae2=_0x2eec1f;try{const {jobId:_0x54bb21}=_0x108559['params'],_0x414929=_0x93d142['tlOVN'](getReadQueues);for(const _0x214f96 of Object['values'](_0x414929)){const _0x16928f=await _0x214f96['getJob'](_0x54bb21);if(_0x16928f){const _0x6034e7=await _0x16928f[_0x177ae2(0x1c9)]();return _0x68fdb7['json']({'success':!![],'data':{'jobId':_0x16928f['id'],'name':_0x16928f[_0x177ae2(0x1f1)],'state':_0x6034e7,'progress':_0x16928f['progress'],'attemptsMade':_0x16928f[_0x177ae2(0x1a8)],'failedReason':_0x16928f['failedReason'],'returnvalue':_0x16928f[_0x177ae2(0x1f5)],'data':_0x16928f['data'],'timestamps':{'created':_0x16928f[_0x177ae2(0x1ba)],'started':_0x16928f[_0x177ae2(0x1f0)],'completed':_0x16928f['finishedOn']}}});}}_0x68fdb7[_0x177ae2(0x204)](0x194)['json']({'success':![],'error':'Job\x20'+_0x54bb21+_0x177ae2(0x1ae)});}catch(_0x4118e4){logger['error']({'event':'job_status_error','error':_0x4118e4['message']},'Error\x20getting\x20job\x20status'),_0x68fdb7[_0x177ae2(0x204)](0x1f4)['json']({'success':![],'error':_0x4118e4['message']});}}),_0x4923fd[_0x2eec1f(0x1a9)](_0x2eec1f(0x1eb),async(_0x2f83a5,_0x316e41)=>{const _0x5bb5d0=_0x2eec1f;try{const {jobName:_0x1c2e56}=_0x2f83a5[_0x5bb5d0(0x1b2)],_0x19b196=_0x2f83a5[_0x5bb5d0(0x1f2)]||{};let _0x30c26e=cachedJobConfigs?.[_0x1c2e56];if(!_0x30c26e){const _0x30d600=require('fs'),_0x77c5ab=_0x93d142['Vtxlm'](require,'path'),_0x399ec7=_0x77c5ab['join'](process[_0x5bb5d0(0x1ad)](),_0x93d142['aMnKM'],_0x93d142['tfHfg']),_0x4708b5=_0x30d600['existsSync'](_0x399ec7)?_0x30d600[_0x5bb5d0(0x1fb)](_0x399ec7)[_0x5bb5d0(0x1f3)](_0x48c957=>_0x48c957['endsWith']('.json')):[];for(const _0x2f55ad of _0x4708b5){try{const _0x5eb9de=_0x30d600['readFileSync'](_0x77c5ab[_0x5bb5d0(0x209)](_0x399ec7,_0x2f55ad),_0x5bb5d0(0x1e8)),_0x42dbdf=JSON[_0x5bb5d0(0x201)](_0x5eb9de);if(_0x93d142['AmXwk'](_0x42dbdf[_0x5bb5d0(0x1f1)],_0x1c2e56)){_0x30c26e=_0x42dbdf;break;}}catch(_0x228abc){}}}if(!_0x30c26e)return _0x316e41['status'](0x194)[_0x5bb5d0(0x1d7)]({'success':![],'error':'Job\x20\x22'+_0x1c2e56+_0x5bb5d0(0x1c4)});const _0x499ca1=getReadQueues(),_0x43b2b4=_0x499ca1[_0x30c26e['queue']||_0x93d142['DINrT']],_0x695dfa=await _0x43b2b4['add'](_0x1c2e56,{..._0x19b196,'handler':_0x30c26e[_0x5bb5d0(0x1b4)],'triggeredBy':_0x93d142['hbGuL']},{'attempts':_0x30c26e[_0x5bb5d0(0x1e2)]?.['maxAttempts']||0x3,'backoff':{'type':_0x30c26e['retry']?.[_0x5bb5d0(0x1e0)]||'exponential','delay':_0x30c26e[_0x5bb5d0(0x1e2)]?.['initialDelay']||0x1388},'timeout':_0x30c26e[_0x5bb5d0(0x1df)]||0x7530});logger[_0x5bb5d0(0x1f9)]({'event':_0x5bb5d0(0x1b9),'jobId':_0x695dfa['id'],'name':_0x1c2e56},'Job\x20triggered\x20via\x20API:\x20'+_0x1c2e56+_0x5bb5d0(0x1e7)+_0x695dfa['id']+')'),_0x316e41[_0x5bb5d0(0x1d7)]({'success':!![],'jobId':_0x695dfa['id'],'message':_0x5bb5d0(0x1d9)+_0x1c2e56+_0x5bb5d0(0x1fd)});}catch(_0x5a1f13){logger[_0x5bb5d0(0x1bd)]({'event':_0x93d142['NJANO'],'error':_0x5a1f13[_0x5bb5d0(0x1ea)]},_0x93d142['RnVrJ']),_0x316e41['status'](0x1f4)[_0x5bb5d0(0x1d7)]({'success':![],'error':_0x5a1f13[_0x5bb5d0(0x1ea)]});}}),_0x4923fd[_0x2eec1f(0x1a9)](_0x2eec1f(0x1a3),async(_0x302ee2,_0x33aa9d)=>{const _0x3dbee1=_0x2eec1f;try{const {jobId:_0x4e0002}=_0x302ee2['params'],_0x1a6934=getReadQueues();for(const _0x2cd107 of Object['values'](_0x1a6934)){const _0x44682d=await _0x2cd107[_0x3dbee1(0x1fe)](_0x4e0002);if(_0x44682d){const _0x4adeea=await _0x44682d[_0x3dbee1(0x1c9)]();if(_0x4adeea==='active')return await _0x44682d['moveToFailed'](new Error(_0x3dbee1(0x1c6)),_0x3dbee1(0x1cc),!![]),_0x33aa9d[_0x3dbee1(0x1d7)]({'success':!![],'message':_0x3dbee1(0x1d9)+_0x4e0002+'\x20cancelled\x20(was\x20active)'});if(_0x93d142['EMNLL'](_0x4adeea,'waiting')||_0x4adeea==='delayed')return await _0x44682d[_0x3dbee1(0x1cf)](),_0x33aa9d['json']({'success':!![],'message':'Job\x20'+_0x4e0002+_0x3dbee1(0x1a5)+_0x4adeea+')'});return _0x33aa9d['json']({'success':![],'message':_0x3dbee1(0x1d9)+_0x4e0002+'\x20cannot\x20be\x20cancelled\x20(state:\x20'+_0x4adeea+')'});}}_0x33aa9d[_0x3dbee1(0x204)](0x194)['json']({'success':![],'error':_0x3dbee1(0x1d9)+_0x4e0002+_0x3dbee1(0x1ae)});}catch(_0x263115){logger[_0x3dbee1(0x1bd)]({'event':_0x93d142['ilCJa'],'error':_0x263115['message']},_0x3dbee1(0x1b1)),_0x33aa9d['status'](0x1f4)['json']({'success':![],'error':_0x263115[_0x3dbee1(0x1ea)]});}}),_0x4923fd['get'](_0x93d142['laGSs'],async(_0x52efce,_0xac178f)=>{const _0x2587d1=_0x2eec1f;try{const _0x5cba3a=parseInt(_0x52efce['query'][_0x2587d1(0x1fc)],0xa)||0x1,_0x576817=Math[_0x2587d1(0x1cd)](_0x93d142[_0x2587d1(0x1ed)](parseInt,_0x52efce[_0x2587d1(0x1d0)][_0x2587d1(0x1e4)],0xa)||0x14,0x64),_0x5f5116=_0x93d142[_0x2587d1(0x205)](_0x5cba3a,0x1)*_0x576817,_0x161d86=_0x93d142['ljfOR'](_0x5f5116,_0x576817)-0x1,_0x175d63=getReadQueues(),_0x511aab=[];for(const [_0x3dbca5,_0x351c24]of Object[_0x2587d1(0x1c3)](_0x175d63)){const _0x2a6edb=await _0x351c24[_0x2587d1(0x1d8)]([_0x93d142[_0x2587d1(0x1b3)]],_0x5f5116,_0x161d86),_0x2bcc56=await _0x351c24[_0x2587d1(0x1d8)](['failed'],_0x5f5116,_0x161d86);for(const _0x12544d of[..._0x2a6edb,..._0x2bcc56]){const _0x43cb70=await _0x12544d[_0x2587d1(0x1c9)]();_0x511aab['push']({'jobId':_0x12544d['id'],'name':_0x12544d[_0x2587d1(0x1f1)],'state':_0x43cb70,'queue':_0x3dbca5,'attemptsMade':_0x12544d[_0x2587d1(0x1a8)],'failedReason':_0x12544d['failedReason'],'returnvalue':_0x12544d['returnvalue'],'timestamps':{'created':_0x12544d[_0x2587d1(0x1ba)],'started':_0x12544d['processedOn'],'completed':_0x12544d[_0x2587d1(0x1a7)]}});}}_0x511aab['sort']((_0x5ea8ef,_0x1a42a9)=>(_0x1a42a9['timestamps'][_0x2587d1(0x1a6)]||0x0)-(_0x5ea8ef['timestamps']['created']||0x0)),_0xac178f[_0x2587d1(0x1d7)]({'success':!![],'data':_0x511aab['slice'](0x0,_0x576817),'total':_0x511aab[_0x2587d1(0x1cb)],'page':_0x5cba3a,'limit':_0x576817});}catch(_0x4f7581){logger[_0x2587d1(0x1bd)]({'event':_0x93d142['fWNCs'],'error':_0x4f7581['message']},_0x2587d1(0x1d3)),_0xac178f[_0x2587d1(0x204)](0x1f4)[_0x2587d1(0x1d7)]({'success':![],'error':_0x4f7581[_0x2587d1(0x1ea)]});}}),_0x4923fd['get'](_0x93d142[_0x2eec1f(0x1c5)],async(_0x4a0ffe,_0x17d33c)=>{const _0xb31cdd=_0x2eec1f;try{const _0x345d2b=_0x93d142[_0xb31cdd(0x1d6)](getReadQueues),_0x41aa9e={};for(const [_0x16de77,_0x59bf69]of Object[_0xb31cdd(0x1c3)](_0x345d2b)){try{const _0x2c867b=await _0x59bf69[_0xb31cdd(0x1de)](_0x93d142['PbLMv'],'completed',_0x93d142[_0xb31cdd(0x1d4)],_0x93d142['tqgPT'],_0x93d142[_0xb31cdd(0x1be)],'waiting');_0x41aa9e[_0x16de77]=_0x2c867b;}catch(_0x4f0bee){_0x41aa9e[_0x16de77]={'error':_0x4f0bee[_0xb31cdd(0x1ea)]};}}_0x17d33c[_0xb31cdd(0x1d7)]({'success':!![],'data':_0x41aa9e});}catch(_0x16542e){logger['error']({'event':_0x93d142[_0xb31cdd(0x1c7)],'error':_0x16542e['message']},_0x93d142['aoeVC']),_0x17d33c[_0xb31cdd(0x204)](0x1f4)['json']({'success':![],'error':_0x16542e[_0xb31cdd(0x1ea)]});}}),_0x4923fd['get'](_0x93d142['JbppH'],async(_0x3f7331,_0x1c8485)=>{const _0x2eb37d=_0x2eec1f;try{const _0x380472=getReadQueues(),_0x55fea2={};let _0x569283=![];for(const [_0x5e5d62,_0x132d12]of Object[_0x2eb37d(0x1c3)](_0x380472)){try{const _0x237423=await _0x132d12[_0x2eb37d(0x1de)](_0x93d142['PbLMv'],_0x2eb37d(0x1b7),_0x2eb37d(0x1bc));_0x55fea2[_0x5e5d62]=_0x237423,_0x569283=!![];}catch(_0x71d390){_0x55fea2[_0x5e5d62]={'error':_0x71d390[_0x2eb37d(0x1ea)]};}}let _0x1769cb=0x0;cachedJobConfigs&&(_0x1769cb=Object['keys'](cachedJobConfigs)[_0x2eb37d(0x1cb)]),_0x1c8485[_0x2eb37d(0x1d7)]({'success':!![],'data':{'status':_0x569283?'healthy':'degraded','redis':_0x569283?_0x93d142['bCZbn']:_0x93d142[_0x2eb37d(0x1f7)],'registeredJobs':_0x1769cb,'queues':_0x55fea2}});}catch(_0x493897){_0x1c8485['status'](0x1f7)[_0x2eb37d(0x1d7)]({'success':![],'data':{'status':_0x93d142[_0x2eb37d(0x1da)],'error':_0x493897[_0x2eb37d(0x1ea)]}});}}),_0x4923fd;}function a0_0x280d(_0x365c70,_0x54b85b){_0x365c70=_0x365c70-0x1a2;const _0x468e95=a0_0x468e();let _0x280d8a=_0x468e95[_0x365c70];if(a0_0x280d['VxEQkw']===undefined){var _0x42f93f=function(_0x3676d0){const _0x150b7d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x35640e='',_0x155c32='';for(let _0xa466ad=0x0,_0x35cdac,_0x422b68,_0x16f87e=0x0;_0x422b68=_0x3676d0['charAt'](_0x16f87e++);~_0x422b68&&(_0x35cdac=_0xa466ad%0x4?_0x35cdac*0x40+_0x422b68:_0x422b68,_0xa466ad++%0x4)?_0x35640e+=String['fromCharCode'](0xff&_0x35cdac>>(-0x2*_0xa466ad&0x6)):0x0){_0x422b68=_0x150b7d['indexOf'](_0x422b68);}for(let _0x37333f=0x0,_0x595b29=_0x35640e['length'];_0x37333f<_0x595b29;_0x37333f++){_0x155c32+='%'+('00'+_0x35640e['charCodeAt'](_0x37333f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x155c32);};a0_0x280d['soYMrP']=_0x42f93f,a0_0x280d['ZkzslF']={},a0_0x280d['VxEQkw']=!![];}const _0x6b85f=_0x468e95[0x0],_0x398255=_0x365c70+_0x6b85f,_0x390013=a0_0x280d['ZkzslF'][_0x398255];return!_0x390013?(_0x280d8a=a0_0x280d['soYMrP'](_0x280d8a),a0_0x280d['ZkzslF'][_0x398255]=_0x280d8a):_0x280d8a=_0x390013,_0x280d8a;}function a0_0x468e(){const _0x4b23fb=['rxjYB3iGy2fUy2vSBgLUzYbQB2i','CgfYyw1Z','u1rAzxi','AgfUzgXLCG','mtK1nZqWnfPHA1L2yW','l3n0yxr1CY86AM9Iswq','D2fPDgLUzW','zw5KC1DPDgG','AM9Ix3rYAwDNzxjLzf92AwfFyxbP','DgLTzxn0yw1W','AM9Ix2HPC3rVCNLFzxjYB3i','zMfPBgvK','zxjYB3i','sg1WBKC','l2HPC3rVCNK','zgvZy3jPChrPB24','mJmXnMHZwuztwa','D3nXzfq','zw50CMLLCW','iIb0AwrHAYbKAxrLBxvRyw4GzgKGA29UzMLNDxjHC2K','zxrZtvy','sM9IignHBMnLBgXLzcb2AweGqvbj','sxLyB2G','zgLZy29UBMvJDgvK','z2v0u3rHDgu','nti1ndu1vhn5yLH3','BgvUz3rO','yxbPlwnHBMnLBa','BwLU','mtHHA2zzy1e','CMvTB3zL','CxvLCNK','mtC2otmXotbSBvPru00','tfHts2S','rxjYB3iGz2v0DgLUzYbQB2iGAgLZDg9YEq','wxPVz2m','AM9Ix3f1zxvLC19LCNjVCG','CxrSt2G','ANnVBG','z2v0sM9ICW','sM9Iia','Duv5zLq','zgvSyxLLza','C2nOzwr1Bgu','nda1mty4oefrquPxzG','z2v0sM9Iq291BNrZ','DgLTzw91Da','yMfJA29MzG','zw52','CMv0CNK','uM91DgvY','BgLTAxq','uKvesvnFue9sva','nZjJqMjIug0','icHPzdOG','DxrMoa','y29UBMvJDgvK','BwvZC2fNzq','l3rYAwDNzxiVoMPVyK5HBwu','ywn0AxzL','C0XjyxO','z2v0','l2XPC3q','ChjVy2vZC2vKt24','BMfTzq','yM9KEq','zMLSDgvY','zgvMyxvSDa','CMv0DxjUDMfSDwu','DhLWzq','whHKzhm','uKvesvnFueftu1DpuKq','Aw5MBW','CxvLDwu','CMvHzgrPCLn5BMm','CgfNzq','ihrYAwDNzxjLzcbZDwnJzxnZzNvSBhK','z2v0sM9I','CevnBNq','odmWnhHKtuXYyW','CgfYC2u','rxjYB3iGDhjPz2DLCMLUzYbQB2i','mtf2AwPzz0y','C3rHDhvZ','DNnvC0C','zxHWB3j0CW','l2HLywX0Aa','mvrsuujvtW','AM9PBG','Bg9JywXOB3n0','sK9cx1jfreLtx1bsruzjwa','l2nHBMnLBc86AM9Iswq','AM9Ix2XPC3rFzxjYB3i','ihjLBw92zwqGkhDHCYa','y3jLyxrLza','zMLUAxnOzwrpBG','yxr0zw1WDhnnywrL','Cg9ZDa','mtyWnZCZmdbxBNzwtK0','yxbP','AM9ICW','y3DK','ihrPzgfRigrPDgvTDwTHBG','Bg93','mti4odm0mdLYDwDXz3i'];a0_0x468e=function(){return _0x4b23fb;};return a0_0x468e();}module[a0_0x36fca4(0x206)]=createJobRoutes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x34434f=a0_0x309c;(function(_0x438cd4,_0xb98ab0){const _0xb9654b=a0_0x309c,_0x12a060=_0x438cd4();while(!![]){try{const _0x2e11db=parseInt(_0xb9654b(0x220))/0x1+parseInt(_0xb9654b(0x1dc))/0x2*(-parseInt(_0xb9654b(0x22f))/0x3)+parseInt(_0xb9654b(0x201))/0x4*(-parseInt(_0xb9654b(0x1de))/0x5)+parseInt(_0xb9654b(0x22b))/0x6*(-parseInt(_0xb9654b(0x22c))/0x7)+parseInt(_0xb9654b(0x1e5))/0x8+-parseInt(_0xb9654b(0x1e3))/0x9*(-parseInt(_0xb9654b(0x200))/0xa)+parseInt(_0xb9654b(0x227))/0xb;if(_0x2e11db===_0xb98ab0)break;else _0x12a060['push'](_0x12a060['shift']());}catch(_0x43bde0){_0x12a060['push'](_0x12a060['shift']());}}}(a0_0x2987,0x54246));const fs=require('fs'),path=require(a0_0x34434f(0x216)),VALID_QUEUE_NAMES=[a0_0x34434f(0x21d),'default',a0_0x34434f(0x1e4)],VALID_BACKOFF_TYPES=[a0_0x34434f(0x232),a0_0x34434f(0x226)],SLUG_REGEX=/^[a-z0-9]+(?:-[a-z0-9]+)*$/;class JobValidator{[a0_0x34434f(0x230)](_0x438936,_0x4adbda){const _0x1ce708=a0_0x34434f,_0x4be904={'XoNSS':_0x1ce708(0x1ed),'aUseF':_0x1ce708(0x21a),'SiJRr':function(_0x354f8d,_0x45b5e5){return _0x354f8d!==_0x45b5e5;},'ulUiw':_0x1ce708(0x22e),'BdyDJ':_0x1ce708(0x204),'ctcFF':'number','FDBOn':function(_0x301ad4,_0x106646){return _0x301ad4<_0x106646;},'LCcCJ':'Field\x20\x22concurrency\x22\x20must\x20be\x20a\x20number\x20between\x201-50','VZlsI':_0x1ce708(0x1ec),'Dxkob':'object','tKElr':_0x1ce708(0x20c),'QdYFF':function(_0x3de5e6,_0x344c55){return _0x3de5e6===_0x344c55;}},_0x3d93c2=[];if(!_0x438936||typeof _0x438936!==_0x1ce708(0x1e6))return{'valid':![],'errors':[_0x1ce708(0x1fa)]};if(!_0x438936['name']||typeof _0x438936['name']!==_0x4be904[_0x1ce708(0x1fc)])_0x3d93c2[_0x1ce708(0x234)]('Field\x20\x22name\x22\x20is\x20required\x20(string)');else!SLUG_REGEX['test'](_0x438936[_0x1ce708(0x203)])&&_0x3d93c2[_0x1ce708(0x234)](_0x1ce708(0x20e)+_0x438936['name']+'\x22');if(!_0x438936[_0x1ce708(0x1f8)]||typeof _0x438936['type']!==_0x4be904[_0x1ce708(0x1fc)])_0x3d93c2[_0x1ce708(0x234)](_0x1ce708(0x1f0));else _0x438936[_0x1ce708(0x1f8)]!==_0x1ce708(0x211)&&_0x3d93c2[_0x1ce708(0x234)](_0x1ce708(0x1fb)+_0x438936['type']+'\x22');if(!_0x438936[_0x1ce708(0x1e1)]||typeof _0x438936[_0x1ce708(0x1e1)]!==_0x1ce708(0x1ed))_0x3d93c2[_0x1ce708(0x234)](_0x1ce708(0x221));else{const _0x141fdd=this['validateCronExpression'](_0x438936[_0x1ce708(0x1e1)]);!_0x141fdd[_0x1ce708(0x20d)]&&_0x3d93c2[_0x1ce708(0x234)](..._0x141fdd[_0x1ce708(0x1fd)]);}if(!_0x438936[_0x1ce708(0x1f6)]||typeof _0x438936['handler']!=='string')_0x3d93c2['push'](_0x4be904['aUseF']);else{if(_0x4adbda){const _0xe9ab9=this[_0x1ce708(0x20a)](_0x438936['handler'],_0x4adbda);!_0xe9ab9['valid']&&_0x3d93c2['push'](..._0xe9ab9[_0x1ce708(0x1fd)]);}}_0x438936[_0x1ce708(0x215)]!==undefined&&_0x4be904[_0x1ce708(0x20b)](typeof _0x438936[_0x1ce708(0x215)],'boolean')&&_0x3d93c2[_0x1ce708(0x234)](_0x4be904[_0x1ce708(0x209)]);_0x438936['timeout']!==undefined&&((typeof _0x438936[_0x1ce708(0x202)]!==_0x1ce708(0x208)||_0x438936['timeout']<=0x0)&&_0x3d93c2['push'](_0x4be904[_0x1ce708(0x222)]));if(_0x438936[_0x1ce708(0x1e2)]!==undefined){const _0x444abe=this[_0x1ce708(0x21b)](_0x438936['queue']);!_0x444abe['valid']&&_0x3d93c2['push'](..._0x444abe[_0x1ce708(0x1fd)]);}_0x438936['concurrency']!==undefined&&((typeof _0x438936[_0x1ce708(0x206)]!==_0x4be904[_0x1ce708(0x229)]||_0x4be904[_0x1ce708(0x1ff)](_0x438936[_0x1ce708(0x206)],0x1)||_0x438936['concurrency']>0x32)&&_0x3d93c2['push'](_0x4be904[_0x1ce708(0x1ee)]));if(_0x4be904['SiJRr'](_0x438936[_0x1ce708(0x1f1)],undefined)){if(typeof _0x438936[_0x1ce708(0x1f1)]!=='object'||_0x438936['retry']===null)_0x3d93c2['push'](_0x4be904[_0x1ce708(0x1e9)]);else{const _0x43b293=this['validateRetryConfig'](_0x438936[_0x1ce708(0x1f1)]);!_0x43b293['valid']&&_0x3d93c2['push'](..._0x43b293['errors']);}}return _0x4be904['SiJRr'](_0x438936[_0x1ce708(0x1f7)],undefined)&&((typeof _0x438936[_0x1ce708(0x1f7)]!==_0x4be904[_0x1ce708(0x217)]||_0x438936['metadata']===null||Array[_0x1ce708(0x22d)](_0x438936['metadata']))&&_0x3d93c2[_0x1ce708(0x234)](_0x4be904['tKElr'])),{'valid':_0x4be904['QdYFF'](_0x3d93c2[_0x1ce708(0x1f4)],0x0),'errors':_0x3d93c2};}['validateCronExpression'](_0x1186f8){const _0x583936=a0_0x34434f,_0x31b6cb={'JRDVm':_0x583936(0x219),'qwEBT':'month','RYQUC':_0x583936(0x1e8),'lwKAU':function(_0x2f62e8,_0x18e457){return _0x2f62e8===_0x18e457;},'IkdoH':function(_0x34e9ba,_0x43dea5){return _0x34e9ba!==_0x43dea5;}},_0x47eafe=[],_0x465cdf=_0x1186f8[_0x583936(0x1fe)]()['split'](/\s+/);if(_0x465cdf[_0x583936(0x1f4)]!==0x5)return _0x47eafe['push'](_0x583936(0x205)+_0x465cdf[_0x583936(0x1f4)]+'\x20field(s):\x20\x22'+_0x1186f8+'\x22'),{'valid':![],'errors':_0x47eafe};const _0x5cca14=[_0x31b6cb[_0x583936(0x228)],'hour',_0x583936(0x21e),_0x31b6cb[_0x583936(0x1dd)],_0x31b6cb['RYQUC']],_0x498e09=[{'min':0x0,'max':0x3b},{'min':0x0,'max':0x17},{'min':0x1,'max':0x1f},{'min':0x1,'max':0xc},{'min':0x0,'max':0x7}],_0x1ee83f=/^(\*|[0-9]+(-[0-9]+)?)([,/](\*|[0-9]+(-[0-9]+)?))*$/;for(let _0x388f74=0x0;_0x388f74<0x5;_0x388f74++){const _0x293401=_0x465cdf[_0x388f74];if(_0x31b6cb['lwKAU'](_0x293401,'*'))continue;if(_0x293401['includes']('/')){const [_0x222c8b,_0x2afb56]=_0x293401[_0x583936(0x1f2)]('/');_0x31b6cb[_0x583936(0x207)](_0x222c8b,'*')&&!this[_0x583936(0x1f9)](_0x222c8b,_0x498e09[_0x388f74])&&_0x47eafe[_0x583936(0x234)]('Cron\x20field\x20\x22'+_0x5cca14[_0x388f74]+'\x22:\x20invalid\x20base\x20\x22'+_0x222c8b+'\x22');const _0x21496f=parseInt(_0x2afb56,0xa);(isNaN(_0x21496f)||_0x21496f<0x1)&&_0x47eafe['push']('Cron\x20field\x20\x22'+_0x5cca14[_0x388f74]+_0x583936(0x21c)+_0x2afb56+'\x22\x20must\x20be\x20a\x20number\x20>\x200');continue;}const _0x461032=_0x293401['split'](',');for(const _0x281e28 of _0x461032){!this[_0x583936(0x1f9)](_0x281e28,_0x498e09[_0x388f74])&&_0x47eafe[_0x583936(0x234)]('Cron\x20field\x20\x22'+_0x5cca14[_0x388f74]+'\x22:\x20value\x20\x22'+_0x281e28+_0x583936(0x1e7)+_0x498e09[_0x388f74]['min']+'-'+_0x498e09[_0x388f74][_0x583936(0x212)]);}}return{'valid':_0x31b6cb[_0x583936(0x1ef)](_0x47eafe['length'],0x0),'errors':_0x47eafe};}[a0_0x34434f(0x1f9)](_0x380c81,_0xf97815){const _0x1326a3=a0_0x34434f,_0x2cbfbc={'smAdT':function(_0x4b9eec,_0x61ba89){return _0x4b9eec(_0x61ba89);},'GOQpC':function(_0x1c567c,_0x369c03){return _0x1c567c<=_0x369c03;},'oKtCm':function(_0x48436d,_0x131bed){return _0x48436d>=_0x131bed;},'dLriK':function(_0x1d37ca,_0x4bf8d6){return _0x1d37ca<=_0x4bf8d6;},'IxNvF':function(_0x1bb4fc,_0x252593,_0x58b1f4){return _0x1bb4fc(_0x252593,_0x58b1f4);},'bKfbK':function(_0x4e134d,_0x1be962){return _0x4e134d>=_0x1be962;},'UwwRp':function(_0x11d6cb,_0x2f0efc){return _0x11d6cb<=_0x2f0efc;}};if(_0x380c81['includes']('-')){const [_0x59c5aa,_0x5eb569]=_0x380c81['split']('-')['map'](Number);return!isNaN(_0x59c5aa)&&!_0x2cbfbc['smAdT'](isNaN,_0x5eb569)&&_0x59c5aa>=_0xf97815['min']&&_0x2cbfbc['GOQpC'](_0x59c5aa,_0xf97815[_0x1326a3(0x212)])&&_0x2cbfbc[_0x1326a3(0x1ea)](_0x5eb569,_0xf97815['min'])&&_0x2cbfbc['GOQpC'](_0x5eb569,_0xf97815[_0x1326a3(0x212)])&&_0x2cbfbc['dLriK'](_0x59c5aa,_0x5eb569);}const _0x2a4792=_0x2cbfbc['IxNvF'](parseInt,_0x380c81,0xa);return!isNaN(_0x2a4792)&&_0x2cbfbc[_0x1326a3(0x233)](_0x2a4792,_0xf97815[_0x1326a3(0x214)])&&_0x2cbfbc['UwwRp'](_0x2a4792,_0xf97815[_0x1326a3(0x212)]);}[a0_0x34434f(0x21b)](_0x3e00ed){const _0x3f691a=a0_0x34434f;if(!VALID_QUEUE_NAMES['includes'](_0x3e00ed))return{'valid':![],'errors':[_0x3f691a(0x223)+_0x3e00ed+_0x3f691a(0x1eb)+VALID_QUEUE_NAMES[_0x3f691a(0x225)](',\x20')]};return{'valid':!![],'errors':[]};}['validateRetryConfig'](_0x15b044){const _0x2a78cb=a0_0x34434f,_0x32541a={'wczEh':function(_0x3d513a,_0x5b816a){return _0x3d513a!==_0x5b816a;},'ojBVE':'number','hHLhM':function(_0x2091c8,_0x198531){return _0x2091c8>_0x198531;},'EuFMz':_0x2a78cb(0x1f3),'otrIb':function(_0x529294,_0x4bd3c3){return _0x529294!==_0x4bd3c3;}},_0x823b0f=[];return _0x32541a['wczEh'](_0x15b044[_0x2a78cb(0x20f)],undefined)&&((_0x32541a[_0x2a78cb(0x1f5)](typeof _0x15b044[_0x2a78cb(0x20f)],_0x32541a[_0x2a78cb(0x22a)])||_0x15b044[_0x2a78cb(0x20f)]<0x1||_0x32541a['hHLhM'](_0x15b044['maxAttempts'],0xa))&&_0x823b0f[_0x2a78cb(0x234)](_0x32541a[_0x2a78cb(0x213)])),_0x15b044['backoff']!==undefined&&(!VALID_BACKOFF_TYPES[_0x2a78cb(0x1df)](_0x15b044[_0x2a78cb(0x231)])&&_0x823b0f['push']('Field\x20\x22retry.backoff\x22\x20must\x20be\x20\x22'+VALID_BACKOFF_TYPES['join']('\x22\x20or\x20\x22')+'\x22')),_0x32541a['otrIb'](_0x15b044[_0x2a78cb(0x21f)],undefined)&&((typeof _0x15b044['initialDelay']!=='number'||_0x15b044[_0x2a78cb(0x21f)]<=0x0)&&_0x823b0f['push']('Field\x20\x22retry.initialDelay\x22\x20must\x20be\x20a\x20number\x20>\x200\x20(in\x20ms)')),{'valid':_0x823b0f[_0x2a78cb(0x1f4)]===0x0,'errors':_0x823b0f};}[a0_0x34434f(0x20a)](_0xcd35f5,_0x52f22d){const _0xfefdff=a0_0x34434f,_0x90dd14={'pvbxR':'src'},_0x218f15=path['join'](_0x52f22d,_0x90dd14['pvbxR'],'jobs',_0xcd35f5+_0xfefdff(0x1e0));if(!fs[_0xfefdff(0x210)](_0x218f15))return{'valid':![],'errors':['Handler\x20file\x20tidak\x20ditemukan:\x20src/jobs/'+_0xcd35f5+_0xfefdff(0x218)+_0x218f15+')']};return{'valid':!![],'errors':[]};}}function a0_0x309c(_0x4426a3,_0x17ed22){_0x4426a3=_0x4426a3-0x1dc;const _0x2987d1=a0_0x2987();let _0x309ce4=_0x2987d1[_0x4426a3];if(a0_0x309c['QaiDiG']===undefined){var _0xb1e25=function(_0x5cdac6){const _0x1a4435='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x46320f='',_0x2280b4='';for(let _0x2a3305=0x0,_0x432dc0,_0x23260b,_0x5508f3=0x0;_0x23260b=_0x5cdac6['charAt'](_0x5508f3++);~_0x23260b&&(_0x432dc0=_0x2a3305%0x4?_0x432dc0*0x40+_0x23260b:_0x23260b,_0x2a3305++%0x4)?_0x46320f+=String['fromCharCode'](0xff&_0x432dc0>>(-0x2*_0x2a3305&0x6)):0x0){_0x23260b=_0x1a4435['indexOf'](_0x23260b);}for(let _0x58c3f3=0x0,_0x2fa4ad=_0x46320f['length'];_0x58c3f3<_0x2fa4ad;_0x58c3f3++){_0x2280b4+='%'+('00'+_0x46320f['charCodeAt'](_0x58c3f3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2280b4);};a0_0x309c['fzaAYo']=_0xb1e25,a0_0x309c['PAdnUM']={},a0_0x309c['QaiDiG']=!![];}const _0x23d18a=_0x2987d1[0x0],_0x493a30=_0x4426a3+_0x23d18a,_0x36fdf5=a0_0x309c['PAdnUM'][_0x493a30];return!_0x36fdf5?(_0x309ce4=a0_0x309c['fzaAYo'](_0x309ce4),a0_0x309c['PAdnUM'][_0x493a30]=_0x309ce4):_0x309ce4=_0x36fdf5,_0x309ce4;}module[a0_0x34434f(0x224)]=new JobValidator();function a0_0x2987(){const _0x1817b9=['mZi4mZCWDwLWBLfc','mZe5ndHVuNLSBg4','DgLTzw91Da','BMfTzq','rMLLBgqGiNrPBwvVDxqIig11C3qGyMuGysbUDw1IzxiGpIaWicHPBIbTCYK','q3jVBIbLEhbYzxnZAw9Uig11C3qGAgf2zsa1igzPzwXKCYaOBwLUDxrLigHVDxiGzgf5ig1VBNrOihDLzwTKyxKPlcbMB3vUzca','y29Uy3vYCMvUy3K','swTKB0G','BNvTyMvY','DwXvAxC','DMfSAwrHDgviyw5KBgvYrxHPC3rZ','u2LkuNi','rMLLBgqGiM1LDgfKyxrHiIbTDxn0igjLigfUig9IAMvJDa','DMfSAwq','rMLLBgqGiM5HBwuIig11C3qGyMuGAw4GC2X1zYbMB3jTyxqGkgXVD2vYy2fZzsWGzgfZAcK6ici','Bwf4qxr0zw1WDhm','zxHPC3rZu3LUyW','y3jVBG','Bwf4','rxvgtxO','BwLU','zw5HyMXLza','Cgf0Aa','rhHRB2i','lMPZicHHyNnVBhv0ztOG','BwLUDxrL','rMLLBgqGiMHHBMrSzxiIigLZihjLCxvPCMvKicHWyxrOihjLBgf0AxzLihrVihnYyY9QB2jZlYK','DMfSAwrHDgvrDwv1zu5HBwu','iJOGC3rLCcaIlW','AgLNAc1WCMLVCML0Eq','zgf5lw9Mlw1VBNrO','Aw5PDgLHBerLBgf5','mtiZmdK3ugTHq0Xf','rMLLBgqGiNnJAgvKDwXLiIbPCYbYzxf1AxjLzcaOy3jVBIbLEhbYzxnZAw9Uihn0CMLUzYK','qMr5reO','uxvLDwuGiG','zxHWB3j0CW','AM9PBG','zxHWB25LBNrPywW','ode0ndKYofbQwvLrtG','sLjevM0','y3rJrKy','B2PcvKu','mtmZmtqWnKnizgrQtW','n1LZCMrPvq','AxnbCNjHEq','rMLLBgqGiMvUywjSzwqIig11C3qGyMuGysbIB29SzwfU','ndK3mtLQBLPZyLC','DMfSAwrHDgvdB25MAwC','yMfJA29MzG','zML4zwq','yKTMyKS','ChvZAa','ntzNqM9hDKK','CxDfqLq','mJq1CvfMzuTT','Aw5JBhvKzxm','lMPZ','C2nOzwr1Bgu','CxvLDwu','mte3uxLvBvv3','Bg93lxbYAw9YAxr5','mta1mJiYnfDuAhzNua','B2jQzwn0','iIbPCYbVDxqGB2yGCMfUz2uG','zgf5lw9MlxDLzwS','vLPSC0K','B0T0q20','iIb0AwrHAYb2ywXPzc4GugLSAwHHBJOG','rMLLBgqGiNjLDhj5iIbTDxn0igjLigfUig9IAMvJDa','C3rYAw5N','tenJq0O','BhDlqvu','rMLLBgqGiNr5CguIigLZihjLCxvPCMvKicHZDhjPBMCP','CMv0CNK','C3bSAxq','rMLLBgqGiNjLDhj5lM1HEef0DgvTChrZiIbTDxn0igjLigeGBNvTyMvYigjLDhDLzw4Gms0Xma','BgvUz3rO','D2n6rwG','AgfUzgXLCG','Bwv0ywrHDge','DhLWzq','x2LZvMfSAwrsyw5Nzq','q29UzMLNigHHCNvZigjLCNvWysbVyMPLy3q','rMLLBgqGiNr5CguIig11C3qGyMuGiMnYB24IlcbMB3vUzdOGiG','wg9ou1m','zxjYB3jZ','DhjPBq','rKrct24'];a0_0x2987=function(){return _0x1817b9;};return a0_0x2987();}
|
|
1
|
+
const a0_0x16d82e=a0_0x847c;function a0_0x2485(){const _0x22f2c8=['nde5mZiYzLnfBgzc','s0fprwi','DhjPBq','zxjYB3jZ','DhLWzq','yMfJA29MzG','Bwv0ywrHDge','vuvsyNi','iIbPCYbVDxqGB2yGCMfUz2uG','Bg93lxbYAw9YAxr5','ndy0ntDjsKXxwxm','zxHWB3j0CW','iIb0AwrHAYb2ywXPzc4GugLSAwHHBJOG','vxvlzvq','C3rYAw5N','zxHWB25LBNrPywW','iJOGAw52ywXPzcbIyxnLici','DMfSAwrHDgvszxrYEunVBMzPzW','ChvZAa','vNn5Eu4','rerZqLy','wKzWDhe','C3bSAxq','DMfSAwrHDgvrDwv1zu5HBwu','iIbTDxn0igjLigeGBNvTyMvYid4Gma','BNvTyMvY','nZjbCxDLz3m','rMLLBgqGiNjLDhj5lMjHy2TVzMyIig11C3qGyMuGiG','CMv0CNK','r3LqA24','DfHZtg4','q3jVBIbMAwvSzcaI','vhvuywe','rMLLBgqGiNjLDhj5iIbTDxn0igjLigfUig9IAMvJDa','DMfSAwq','rMLLBgqGiM1LDgfKyxrHiIbTDxn0igjLigfUig9IAMvJDa','BMfTzq','sfz3AhO','C2nOzwr1Bgu','v3PHyuq','wezMrLC','AgLNAc1WCMLVCML0Eq','yuTkExC','DMfSAwrHDgviyw5KBgvYrxHPC3rZ','mtfYyunjA1i','ve14B28','BwLUDxrL','mZa0ndC5C25nwgju','rMLLBgqGiMvUywjSzwqIig11C3qGyMuGysbIB29SzwfU','zgf5lw9MlxDLzwS','y3jVBG','tvjWEhm','iJOGDMfSDwuGiG','rMLLBgqGiNjLDhj5lM1HEef0DgvTChrZiIbTDxn0igjLigeGBNvTyMvYigjLDhDLzw4Gms0Xma','x2LZvMfSAwrsyw5Nzq','iJOGC3rLCcaIlW','zxHVtxa','y29Uy3vYCMvUy3K','rMLLBgqGiMnVBMn1CNjLBMn5iIbTDxn0igjLigeGBNvTyMvYigjLDhDLzw4Gms01ma','C3jJ','rMLLBgqGiNnJAgvKDwXLiIbPCYbYzxf1AxjLzcaOy3jVBIbLEhbYzxnZAw9Uihn0CMLUzYK','otm3mJi1mefqCvvLsq','igzPzwXKkhmPoIaI','nde4ntberxDjAMS','z1vLq3y','mJrktwTJCgu','AM9PBG','zMLqrwK','zML4zwq','Bwf4qxr0zw1WDhm','BgvUz3rO','CxvLDwu','mtKWnJuWmer4rgLzra','zw5HyMXLza','r21RBhO','Bwf4','mJG1ndCXoufzD3DKqG','nLPmy0HtyW','ALrSwhq','Aw5JBhvKzxm','Cgf0Aa','rMLLBgqGiM5HBwuIig11C3qGyMuGAw4GC2X1zYbMB3jTyxqGkgXVD2vYy2fZzsWGzgfZAcK6ici','rMLLBgqGiNr5CguIig11C3qGyMuGiMnYB24IlcbMB3vUzdOGiG','B2jQzwn0','rMLLBgqGiNjLDhj5lMLUAxrPywXezwXHEsiGBxvZDcbIzsbHig51BwjLCIa+idaGkgLUig1Zkq','BwLU'];a0_0x2485=function(){return _0x22f2c8;};return a0_0x2485();}(function(_0x1b2cf9,_0x1d3ff8){const _0x2d1e58=a0_0x847c,_0x354e9d=_0x1b2cf9();while(!![]){try{const _0x24cf47=parseInt(_0x2d1e58(0xd0))/0x1+-parseInt(_0x2d1e58(0xc6))/0x2+parseInt(_0x2d1e58(0xaf))/0x3*(-parseInt(_0x2d1e58(0xb1))/0x4)+-parseInt(_0x2d1e58(0xb8))/0x5+parseInt(_0x2d1e58(0xbd))/0x6*(-parseInt(_0x2d1e58(0xbc))/0x7)+parseInt(_0x2d1e58(0xe0))/0x8*(parseInt(_0x2d1e58(0x9f))/0x9)+parseInt(_0x2d1e58(0xad))/0xa*(parseInt(_0x2d1e58(0x9c))/0xb);if(_0x24cf47===_0x1d3ff8)break;else _0x354e9d['push'](_0x354e9d['shift']());}catch(_0x5b72e8){_0x354e9d['push'](_0x354e9d['shift']());}}}(a0_0x2485,0x32373));const fs=require('fs'),path=require(a0_0x16d82e(0xc0)),VALID_QUEUE_NAMES=[a0_0x16d82e(0x99),'default',a0_0x16d82e(0xcf)],VALID_BACKOFF_TYPES=[a0_0x16d82e(0xb4),a0_0x16d82e(0xd5)],SLUG_REGEX=/^[a-z0-9]+(?:-[a-z0-9]+)*$/;function a0_0x847c(_0xa1bb18,_0x30c3b2){_0xa1bb18=_0xa1bb18-0x95;const _0x248592=a0_0x2485();let _0x847c67=_0x248592[_0xa1bb18];if(a0_0x847c['yXUAKf']===undefined){var _0x320b90=function(_0x44fe69){const _0x2cff58='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x27406c='',_0x49a40a='';for(let _0x40340e=0x0,_0x3ea682,_0x177c73,_0x4826ba=0x0;_0x177c73=_0x44fe69['charAt'](_0x4826ba++);~_0x177c73&&(_0x3ea682=_0x40340e%0x4?_0x3ea682*0x40+_0x177c73:_0x177c73,_0x40340e++%0x4)?_0x27406c+=String['fromCharCode'](0xff&_0x3ea682>>(-0x2*_0x40340e&0x6)):0x0){_0x177c73=_0x2cff58['indexOf'](_0x177c73);}for(let _0x9f5aa1=0x0,_0x1e6032=_0x27406c['length'];_0x9f5aa1<_0x1e6032;_0x9f5aa1++){_0x49a40a+='%'+('00'+_0x27406c['charCodeAt'](_0x9f5aa1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x49a40a);};a0_0x847c['QrUuzH']=_0x320b90,a0_0x847c['qHhYBI']={},a0_0x847c['yXUAKf']=!![];}const _0x40b676=_0x248592[0x0],_0x323ecb=_0xa1bb18+_0x40b676,_0x4610c8=a0_0x847c['qHhYBI'][_0x323ecb];return!_0x4610c8?(_0x847c67=a0_0x847c['QrUuzH'](_0x847c67),a0_0x847c['qHhYBI'][_0x323ecb]=_0x847c67):_0x847c67=_0x4610c8,_0x847c67;}class JobValidator{['validateConfig'](_0x3b2d92,_0x2fbf5f){const _0x15335c=a0_0x16d82e,_0x5895a9={'BNxjx':function(_0xaa5b38,_0x4c8277){return _0xaa5b38!==_0x4c8277;},'GyPkn':'object','XFfFW':'Field\x20\x22name\x22\x20is\x20required\x20(string)','UERbr':function(_0x460dbc,_0x26330c){return _0x460dbc!==_0x26330c;},'wRrsg':_0x15335c(0xd4),'ZAzbt':'Field\x20\x22type\x22\x20is\x20required\x20(string)','UuKeT':function(_0x568cb6,_0x33beb0){return _0x568cb6!==_0x33beb0;},'UTKmB':_0x15335c(0xa0),'bmIUZ':function(_0x5912b3,_0x1368f2){return _0x5912b3!==_0x1368f2;},'NeYWY':function(_0x10c5a6,_0x2964ce){return _0x10c5a6<=_0x2964ce;},'QGWCf':function(_0x3b8a9b,_0xe97305){return _0x3b8a9b!==_0xe97305;},'tXsLn':function(_0x17a933,_0x44eafb){return _0x17a933===_0x44eafb;},'MRpxs':function(_0x62c96b,_0x1ff0de){return _0x62c96b!==_0x1ff0de;},'Jtpjj':function(_0x4c7ac8,_0x46c1f5){return _0x4c7ac8===_0x46c1f5;},'MfuGe':_0x15335c(0xe9)},_0x4a7399=[];if(!_0x3b2d92||_0x5895a9['BNxjx'](typeof _0x3b2d92,_0x5895a9[_0x15335c(0xe3)]))return{'valid':![],'errors':['Config\x20harus\x20berupa\x20object']};if(!_0x3b2d92['name']||typeof _0x3b2d92[_0x15335c(0xea)]!==_0x15335c(0xd4))_0x4a7399['push'](_0x5895a9[_0x15335c(0x98)]);else!SLUG_REGEX['test'](_0x3b2d92[_0x15335c(0xea)])&&_0x4a7399[_0x15335c(0xd8)](_0x15335c(0xc1)+_0x3b2d92[_0x15335c(0xea)]+'\x22');if(!_0x3b2d92['type']||_0x5895a9[_0x15335c(0xcd)](typeof _0x3b2d92[_0x15335c(0xca)],_0x5895a9['wRrsg']))_0x4a7399[_0x15335c(0xd8)](_0x5895a9['ZAzbt']);else _0x3b2d92['type']!==_0x15335c(0xa2)&&_0x4a7399[_0x15335c(0xd8)](_0x15335c(0xc2)+_0x3b2d92['type']+'\x22');if(!_0x3b2d92[_0x15335c(0x96)]||_0x5895a9[_0x15335c(0xd3)](typeof _0x3b2d92[_0x15335c(0x96)],'string'))_0x4a7399['push'](_0x15335c(0xac));else{const _0x48aad8=this['validateCronExpression'](_0x3b2d92['schedule']);!_0x48aad8['valid']&&_0x4a7399['push'](..._0x48aad8['errors']);}if(!_0x3b2d92['handler']||_0x5895a9['BNxjx'](typeof _0x3b2d92['handler'],'string'))_0x4a7399[_0x15335c(0xd8)]('Field\x20\x22handler\x22\x20is\x20required\x20(path\x20relative\x20to\x20src/jobs/)');else{if(_0x2fbf5f){const _0x1ebd3c=this[_0x15335c(0x9b)](_0x3b2d92['handler'],_0x2fbf5f);!_0x1ebd3c['valid']&&_0x4a7399[_0x15335c(0xd8)](..._0x1ebd3c[_0x15335c(0xc9)]);}}_0x5895a9['UuKeT'](_0x3b2d92['enabled'],undefined)&&typeof _0x3b2d92[_0x15335c(0xb9)]!=='boolean'&&_0x4a7399['push'](_0x5895a9['UTKmB']);_0x5895a9['bmIUZ'](_0x3b2d92['timeout'],undefined)&&((typeof _0x3b2d92['timeout']!=='number'||_0x5895a9['NeYWY'](_0x3b2d92['timeout'],0x0))&&_0x4a7399['push']('Field\x20\x22timeout\x22\x20must\x20be\x20a\x20number\x20>\x200\x20(in\x20ms)'));if(_0x3b2d92[_0x15335c(0xb7)]!==undefined){const _0x746d00=this['validateQueueName'](_0x3b2d92['queue']);!_0x746d00[_0x15335c(0xe8)]&&_0x4a7399[_0x15335c(0xd8)](..._0x746d00[_0x15335c(0xc9)]);}_0x3b2d92['concurrency']!==undefined&&((_0x5895a9['QGWCf'](typeof _0x3b2d92['concurrency'],'number')||_0x3b2d92[_0x15335c(0xa9)]<0x1||_0x3b2d92[_0x15335c(0xa9)]>0x32)&&_0x4a7399[_0x15335c(0xd8)](_0x15335c(0xaa)));if(_0x3b2d92['retry']!==undefined){if(typeof _0x3b2d92['retry']!==_0x15335c(0xc3)||_0x5895a9[_0x15335c(0xe4)](_0x3b2d92['retry'],null))_0x4a7399[_0x15335c(0xd8)](_0x15335c(0xe7));else{const _0x32ef03=this[_0x15335c(0xd7)](_0x3b2d92[_0x15335c(0xe2)]);!_0x32ef03[_0x15335c(0xe8)]&&_0x4a7399[_0x15335c(0xd8)](..._0x32ef03['errors']);}}return _0x5895a9[_0x15335c(0xa3)](_0x3b2d92['metadata'],undefined)&&((typeof _0x3b2d92[_0x15335c(0xcc)]!==_0x5895a9[_0x15335c(0xe3)]||_0x5895a9['Jtpjj'](_0x3b2d92[_0x15335c(0xcc)],null)||Array['isArray'](_0x3b2d92[_0x15335c(0xcc)]))&&_0x4a7399['push'](_0x5895a9['MfuGe'])),{'valid':_0x5895a9['Jtpjj'](_0x4a7399['length'],0x0),'errors':_0x4a7399};}['validateCronExpression'](_0x50d138){const _0x1ba9f4=a0_0x16d82e,_0x1e4383={'WzaaD':function(_0x1c2d72,_0x553eb7){return _0x1c2d72!==_0x553eb7;},'exoMp':'day-of-month','LzOjY':'month','TJxpU':function(_0x44bbf9,_0x461b3d){return _0x44bbf9<_0x461b3d;},'TuTaa':function(_0x4a560f,_0x184d2e){return _0x4a560f===_0x184d2e;},'fbbQC':function(_0x5c04d9,_0xce47fa,_0x29a421){return _0x5c04d9(_0xce47fa,_0x29a421);},'HVwhz':function(_0x20eda7,_0xeb4aa7){return _0x20eda7(_0xeb4aa7);},'fiPEi':function(_0x2bb321,_0x2b859f){return _0x2bb321<_0x2b859f;}},_0x21f298=[],_0x5a2458=_0x50d138[_0x1ba9f4(0xc8)]()[_0x1ba9f4(0xdc)](/\s+/);if(_0x1e4383[_0x1ba9f4(0x97)](_0x5a2458[_0x1ba9f4(0xb6)],0x5))return _0x21f298[_0x1ba9f4(0xd8)]('Cron\x20expression\x20must\x20have\x205\x20fields\x20(minute\x20hour\x20day\x20month\x20weekday),\x20found\x20'+_0x5a2458[_0x1ba9f4(0xb6)]+_0x1ba9f4(0xae)+_0x50d138+'\x22'),{'valid':![],'errors':_0x21f298};const _0x5346e7=[_0x1ba9f4(0x9e),'hour',_0x1e4383[_0x1ba9f4(0xa8)],_0x1e4383['LzOjY'],_0x1ba9f4(0xa1)],_0x1a6740=[{'min':0x0,'max':0x3b},{'min':0x0,'max':0x17},{'min':0x1,'max':0x1f},{'min':0x1,'max':0xc},{'min':0x0,'max':0x7}],_0x36a256=/^(\*|[0-9]+(-[0-9]+)?)([,/](\*|[0-9]+(-[0-9]+)?))*$/;for(let _0x447b9a=0x0;_0x1e4383['TJxpU'](_0x447b9a,0x5);_0x447b9a++){const _0x58c5cb=_0x5a2458[_0x447b9a];if(_0x1e4383[_0x1ba9f4(0xe6)](_0x58c5cb,'*'))continue;if(_0x58c5cb['includes']('/')){const [_0x42e814,_0x20340e]=_0x58c5cb[_0x1ba9f4(0xdc)]('/');_0x1e4383['WzaaD'](_0x42e814,'*')&&!this[_0x1ba9f4(0xa6)](_0x42e814,_0x1a6740[_0x447b9a])&&_0x21f298[_0x1ba9f4(0xd8)]('Cron\x20field\x20\x22'+_0x5346e7[_0x447b9a]+_0x1ba9f4(0xd6)+_0x42e814+'\x22');const _0x37bb36=_0x1e4383['fbbQC'](parseInt,_0x20340e,0xa);(_0x1e4383[_0x1ba9f4(0x95)](isNaN,_0x37bb36)||_0x1e4383[_0x1ba9f4(0xb3)](_0x37bb36,0x1))&&_0x21f298[_0x1ba9f4(0xd8)](_0x1ba9f4(0xe5)+_0x5346e7[_0x447b9a]+_0x1ba9f4(0xa7)+_0x20340e+_0x1ba9f4(0xde));continue;}const _0x62ac42=_0x58c5cb['split'](',');for(const _0xfe3445 of _0x62ac42){!this['_isValidRange'](_0xfe3445,_0x1a6740[_0x447b9a])&&_0x21f298[_0x1ba9f4(0xd8)](_0x1ba9f4(0xe5)+_0x5346e7[_0x447b9a]+_0x1ba9f4(0xa4)+_0xfe3445+_0x1ba9f4(0xce)+_0x1a6740[_0x447b9a][_0x1ba9f4(0xc5)]+'-'+_0x1a6740[_0x447b9a][_0x1ba9f4(0xbb)]);}}return{'valid':_0x1e4383[_0x1ba9f4(0xe6)](_0x21f298['length'],0x0),'errors':_0x21f298};}[a0_0x16d82e(0xa6)](_0x20d6b1,_0x42c3f7){const _0x178988=a0_0x16d82e,_0x4d1e97={'jTlXt':function(_0x3585a4,_0xee7356){return _0x3585a4(_0xee7356);},'TMxoo':function(_0xdbeeb4,_0x5f1100){return _0xdbeeb4>=_0x5f1100;},'gUeCv':function(_0xc7e064,_0xc6bca9){return _0xc7e064<=_0xc6bca9;},'KAOEb':function(_0xb224e2,_0x339484){return _0xb224e2<=_0x339484;},'aRJQf':function(_0x5aa83a,_0x8beb64){return _0x5aa83a<=_0x8beb64;}};if(_0x20d6b1[_0x178988(0xbf)]('-')){const [_0x16fa04,_0x4177a7]=_0x20d6b1['split']('-')['map'](Number);return!isNaN(_0x16fa04)&&!_0x4d1e97[_0x178988(0xbe)](isNaN,_0x4177a7)&&_0x4d1e97[_0x178988(0x9d)](_0x16fa04,_0x42c3f7[_0x178988(0xc5)])&&_0x4d1e97[_0x178988(0xb0)](_0x16fa04,_0x42c3f7['max'])&&_0x4177a7>=_0x42c3f7['min']&&_0x4d1e97[_0x178988(0xc7)](_0x4177a7,_0x42c3f7[_0x178988(0xbb)])&&_0x4d1e97['aRJQf'](_0x16fa04,_0x4177a7);}const _0x407864=parseInt(_0x20d6b1,0xa);return!_0x4d1e97[_0x178988(0xbe)](isNaN,_0x407864)&&_0x407864>=_0x42c3f7[_0x178988(0xc5)]&&_0x407864<=_0x42c3f7['max'];}[a0_0x16d82e(0xdd)](_0x3fd89d){const _0x37f4ae=a0_0x16d82e;if(!VALID_QUEUE_NAMES['includes'](_0x3fd89d))return{'valid':![],'errors':['Queue\x20\x22'+_0x3fd89d+_0x37f4ae(0xd2)+VALID_QUEUE_NAMES[_0x37f4ae(0xb2)](',\x20')]};return{'valid':!![],'errors':[]};}['validateRetryConfig'](_0x30d796){const _0x40d276=a0_0x16d82e,_0x5f0cc9={'VsyyN':function(_0x29dfcc,_0x39dad6){return _0x29dfcc!==_0x39dad6;},'tbScn':function(_0x2c9bd9,_0x5c48d6){return _0x2c9bd9>_0x5c48d6;},'aKJyw':_0x40d276(0xa5),'LoGAZ':'\x22\x20or\x20\x22','DDsBV':_0x40d276(0xdf),'mHkrp':function(_0x3a16cd,_0x1e3ed0){return _0x3a16cd<=_0x1e3ed0;},'ZFptq':_0x40d276(0xc4),'Gmklz':function(_0x34f33c,_0xcba9f){return _0x34f33c===_0xcba9f;}},_0x2a6533=[];return _0x5f0cc9['VsyyN'](_0x30d796['maxAttempts'],undefined)&&((_0x5f0cc9[_0x40d276(0xd9)](typeof _0x30d796['maxAttempts'],'number')||_0x30d796['maxAttempts']<0x1||_0x5f0cc9['tbScn'](_0x30d796[_0x40d276(0xb5)],0xa))&&_0x2a6533[_0x40d276(0xd8)](_0x5f0cc9[_0x40d276(0x9a)])),_0x30d796['backoff']!==undefined&&(!VALID_BACKOFF_TYPES['includes'](_0x30d796[_0x40d276(0xcb)])&&_0x2a6533['push'](_0x40d276(0xe1)+VALID_BACKOFF_TYPES['join'](_0x5f0cc9['LoGAZ'])+'\x22')),_0x30d796['initialDelay']!==undefined&&((_0x5f0cc9['VsyyN'](typeof _0x30d796['initialDelay'],_0x5f0cc9[_0x40d276(0xda)])||_0x5f0cc9['mHkrp'](_0x30d796['initialDelay'],0x0))&&_0x2a6533['push'](_0x5f0cc9[_0x40d276(0xdb)])),{'valid':_0x5f0cc9[_0x40d276(0xba)](_0x2a6533['length'],0x0),'errors':_0x2a6533};}['validateHandlerExists'](_0x520148,_0x38f7ff){const _0xfeea8f=a0_0x16d82e,_0x5de2fb=path[_0xfeea8f(0xb2)](_0x38f7ff,_0xfeea8f(0xab),'jobs',_0x520148+'.js');if(!fs['existsSync'](_0x5de2fb))return{'valid':![],'errors':['Handler\x20file\x20tidak\x20ditemukan:\x20src/jobs/'+_0x520148+'.js\x20(absolute:\x20'+_0x5de2fb+')']};return{'valid':!![],'errors':[]};}}module[a0_0x16d82e(0xd1)]=new JobValidator();
|