@restforgejs/platform 4.3.8 → 5.0.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/bin/sdf-tools.exe +0 -0
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/payload/migrate.js +96 -96
- package/generators/lib/dbschema-kit/apply-engine.js +211 -46
- package/generators/lib/dbschema-kit/diff-engine.js +14 -2
- package/generators/lib/dbschema-kit/emitters/alter-table.js +96 -2
- package/generators/lib/dbschema-kit/introspect-mapper.js +9 -0
- package/generators/lib/migrate/backend-payload-migrator.js +221 -221
- package/generators/lib/migrate/field-type-resolver.js +319 -319
- package/generators/lib/migrate/label-generator.js +38 -38
- package/generators/lib/migrate/migrate-runner.js +187 -187
- package/generators/lib/migrate/naming.js +43 -43
- package/generators/lib/migrate/sql-parser.js +124 -124
- 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/node_modules/brace-expansion/index.js +1 -1
- package/node_modules/brace-expansion/package.json +1 -1
- package/node_modules/dayjs/CHANGELOG.md +7 -0
- package/node_modules/dayjs/README.md +12 -10
- package/node_modules/dayjs/dayjs.min.js +1 -1
- package/node_modules/dayjs/esm/constant.js +1 -1
- package/node_modules/dayjs/esm/plugin/duration/index.js +5 -4
- package/node_modules/dayjs/locale.json +1 -1
- package/node_modules/dayjs/package.json +2 -2
- package/node_modules/dayjs/plugin/duration.js +1 -1
- package/node_modules/tmp/lib/tmp.js +37 -7
- package/node_modules/tmp/package.json +4 -16
- package/package.json +1 -1
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x7718f0=a0_0x44ec;function a0_0x4a7e(){const _0x1b45b9=['xsbcAw5KAw5Nia','otrVEMTbzgi','x3jLDhj5','wM14Dxu','mte1nZi2nen0rwPKrG','zxHJAgfUz2u','Ec1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEq','lxjLDhj5lwv4y2HHBMDL','CxvLDwu','yxnZzxj0rxHJAgfUz2u','A1Hywgm','Awz3rLu','Dg9tDhjPBMC','BwvZC2fNzuHHBMrSzxjZ','C3vIC3rYAw5N','qMHwzLG','y29UDgvUDa','uMnWAxy','C3rHCNrdB25ZDw1L','C2v0DxbdB2XSzwn0B3jjBMzYyxn0CNvJDhvYzq','xsbgywLSzwqGDg8GCMvJB25Uzwn0ihrVifjHyMjPDe1roIa','yxnZzxj0uxvLDwu','y3jLyxrLzc9YzwfKEq','xsbfCNjVCIbWCM9JzxnZAw5Nig1LC3nHz2u6ia','ywnR','AxndB25Uzwn0zwq','y2HHBM5LBa','xsbrDwv1zsa','y29UzMLN','sKzosKm','m3WXFdj8n3W1Fdz8nhWW','C3rYAw5NAwz5','CwHiwxu','twvZC2fNzsbJB250zw50oIa','lI4VDxrPBhmVzgf0zuHLBhbLCG','r3fMr1a','ouXzrNLMtW','CMfUzg9T','y2XVC2u','ihDPDgGGreXy','y29UBMvJDgLVBG','nJaWnJeYrLDUsxL0','xsbnzxnZywDLihnLBNqGDg8GuMfIyML0tveGC3vJy2vZC2z1BgX5oG','qxPUyxq','zxjYB3i','Aw5JBhvKzxm','BfvfCxO','xsbgywLSzwqGDg8GC3rHCNqGy29UC3vTAw5NoIa','rxjYB3i6ia','ChvIBgLZAa','veLYEKm','BgvUz3rO','CMvJB25Uzwn0','xsbgywLSzwqGDg8GCgfYC2uGBwvZC2fNztOG','ignYzwf0zwqVCMvHzhK','C1rUDwq','BwvZC2fNzq','mtC1mdHzz0zMDfq','mtbHyunOyLO','AM1gs3K','y1virKu','ignYzwf0zwq','CMvNAxn0zxjnzxnZywDLsgfUzgXLCG','oda1yML2AuvK','mtG1mdK5nunyy29itq','ChjVCgvYDgLLCW','xsbtDwnJzxnZzNvSBhKGCMvJB25Uzwn0zwqGDg8GuMfIyML0tve','xsbszxrYEsbLEgnOyw5Nzsa','xsbbBhrLCM5HDgL2zsbXDwv1zsa','rhj3rue','uezRt3C','xsbnzxnZywDLigHHBMrSzxiGBxvZDcbIzsbHigz1BMn0Aw9U','ngPIvenzEa','EMjUve4','nJu0murKwMvjwq','BMfJAW','yMLUzff1zxvL','lI4VDxrPBhmVCMfIyML0Bxe','xsbfEgnOyw5Nzsa','ChjVy2vZC01LC3nHz2u','xsboBYbOyw5KBgvYCYbYzwDPC3rLCMvKihrVihbYB2nLC3mGBwvZC2fNzxm','C2vUzfrVuxvLDwu','ChjLzMv0y2G','mZe0mJa1nLL6vg9XDG','xsbnzxnZywDLigHHBMrSzxiGCMvNAxn0zxjLza','CM91DgLUz0TLEq','CNLuA0C','BxLJCvy','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','zNjVBq','nJK4mti0oujpyKHHyG','vhj5Aw5NigfSDgvYBMf0AxzLihf1zxvLig5HBwuUlI4','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','Bg9N','Aw5PDgLHBgL6zq','CgfYC2u','Dg9ju09tDhjPBMC','xsbbDhrLBxb0Aw5NihrVihjLy29UBMvJDcb0BYbsywjIAxrnus4UlG','xsbnzxnZywDLihbYB2nLC3nLzcbZDwnJzxnZzNvSBhK'];a0_0x4a7e=function(){return _0x1b45b9;};return a0_0x4a7e();}(function(_0x3136b0,_0x432980){const _0x9d5f2e=a0_0x44ec,_0x3929d6=_0x3136b0();while(!![]){try{const _0x312a62=parseInt(_0x9d5f2e(0x105))/0x1*(parseInt(_0x9d5f2e(0x11f))/0x2)+-parseInt(_0x9d5f2e(0x10e))/0x3*(-parseInt(_0x9d5f2e(0x103))/0x4)+-parseInt(_0x9d5f2e(0xfb))/0x5+-parseInt(_0x9d5f2e(0xf4))/0x6*(-parseInt(_0x9d5f2e(0xfa))/0x7)+-parseInt(_0x9d5f2e(0x122))/0x8*(parseInt(_0x9d5f2e(0xdf))/0x9)+-parseInt(_0x9d5f2e(0xf5))/0xa*(parseInt(_0x9d5f2e(0x115))/0xb)+parseInt(_0x9d5f2e(0xe4))/0xc;if(_0x312a62===_0x432980)break;else _0x3929d6['push'](_0x3929d6['shift']());}catch(_0x4a58ed){_0x3929d6['push'](_0x3929d6['shift']());}}}(a0_0x4a7e,0x90424));const {createConnection,createChannel,setupInfrastructure,closeConnection,getConfig}=require(a0_0x7718f0(0x108)),{formatDate}=require(a0_0x7718f0(0xdd));class RabbitMQService{constructor(){const _0xefcba=a0_0x7718f0,_0xa60424={'DrwEA':function(_0xa2bcfe){return _0xa2bcfe();}};this[_0xefcba(0xe3)]=null,this[_0xefcba(0xd5)]=null,this[_0xefcba(0xd7)]=_0xa60424[_0xefcba(0x100)](getConfig),this['isConnected']=![],this[_0xefcba(0x12b)]=[];}async[a0_0x7718f0(0x119)](){const _0x21f9ea=a0_0x7718f0,_0xf424ca={'BhVfX':function(_0x45839b,_0x5da43a){return _0x45839b(_0x5da43a);},'Aznat':_0x21f9ea(0xd9),'slvwa':_0x21f9ea(0xe1),'cUHFE':function(_0x42c899,_0x203b83){return _0x42c899(_0x203b83);},'mycqV':function(_0x50fc04,_0x15a751){return _0x50fc04(_0x15a751);}};try{const _0xc36f35=_0xf424ca[_0x21f9ea(0xe6)]['split']('|');let _0x427ad8=0x0;while(!![]){switch(_0xc36f35[_0x427ad8++]){case'0':return!![];case'1':this[_0x21f9ea(0xd5)]=await _0xf424ca[_0x21f9ea(0x12d)](createChannel,this['connection']);continue;case'2':await this['channel'][_0x21f9ea(0x10d)](0x1);continue;case'3':this[_0x21f9ea(0xe3)]=await createConnection();continue;case'4':this['connection']['on'](_0xf424ca['slvwa'],()=>{const _0xcb115e=_0x21f9ea;console['error']('['+_0xf424ca[_0xcb115e(0x12d)](formatDate,new Date())+']\x20Koneksi\x20RabbitMQ\x20terputus'),this['isConnected']=![],setTimeout(()=>this['reconnect'](),0x1388);});continue;case'5':await _0xf424ca['cUHFE'](setupInfrastructure,this['channel']);continue;case'6':this[_0x21f9ea(0xd4)]=!![];continue;case'7':console[_0x21f9ea(0x118)]('['+_0xf424ca[_0x21f9ea(0xf7)](formatDate,new Date())+']\x20Prefetch\x20diatur\x20ke\x201');continue;}break;}}catch(_0xbcaf84){return console['error']('['+_0xf424ca[_0x21f9ea(0x112)](formatDate,new Date())+']\x20Failed\x20to\x20initialize\x20RabbitMQ:\x20'+_0xbcaf84[_0x21f9ea(0xf3)]),this[_0x21f9ea(0xd4)]=![],![];}}async['reconnect'](){const _0x354b62=a0_0x7718f0,_0x4e5355={'Rcpiv':function(_0x4bb272,_0x49e8d5){return _0x4bb272(_0x49e8d5);},'TIrzC':function(_0x2119a7,_0x52ddb8,_0x485383){return _0x2119a7(_0x52ddb8,_0x485383);}};console['log']('['+formatDate(new Date())+_0x354b62(0x11c));try{await this['initialize'](),this[_0x354b62(0xd4)]&&(console[_0x354b62(0x118)]('['+_0x4e5355[_0x354b62(0x12f)](formatDate,new Date())+_0x354b62(0xfd)),await this[_0x354b62(0x130)]());}catch(_0x2617c0){console['error']('['+_0x4e5355[_0x354b62(0x12f)](formatDate,new Date())+_0x354b62(0x132)+_0x2617c0['message']),_0x4e5355[_0x354b62(0xed)](setTimeout,()=>this[_0x354b62(0xef)](),0x1388);}}async[a0_0x7718f0(0x131)](_0x2b8029){const _0x25d0ec=a0_0x7718f0,_0x62bcac={'ifwFU':function(_0x22f11f){return _0x22f11f();},'Zmxuu':function(_0x10bd06,_0x656c7){return _0x10bd06(_0x656c7);},'KLYBT':'direct','KLZbd':function(_0xe60cf3,_0xd8d08d){return _0xe60cf3===_0xd8d08d;},'PKhjx':'found','PFkOw':'inequivalent\x20arg','qhHYu':_0x25d0ec(0x124),'kXXXc':function(_0x530287,_0x30756d){return _0x530287(_0x30756d);}};try{!this[_0x25d0ec(0xd4)]&&(this['connection']=await _0x62bcac[_0x25d0ec(0x129)](createConnection),this['channel']=await createChannel(this[_0x25d0ec(0xe3)]),this['isConnected']=!![]);const _0x445851=process['env'][_0x25d0ec(0x117)]||'default',_0x3ba796=_0x445851+_0x25d0ec(0x125);await this['channel'][_0x25d0ec(0x127)](_0x3ba796,'direct',{'durable':!![],'autoDelete':![]}),console['log']('['+_0x62bcac[_0x25d0ec(0x121)](formatDate,new Date())+_0x25d0ec(0xfe)+_0x3ba796+'\x20created/ready'),await this[_0x25d0ec(0xd5)][_0x25d0ec(0x127)](_0x2b8029[_0x25d0ec(0x123)],_0x62bcac['KLYBT'],{'durable':!![],'autoDelete':![]}),console[_0x25d0ec(0x118)]('['+formatDate(new Date())+_0x25d0ec(0x109)+_0x2b8029['exchange']+_0x25d0ec(0xf1));const _0xfd4c00=_0x2b8029[_0x25d0ec(0x110)]+_0x25d0ec(0x120),_0x439796={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':_0x2b8029['exchange'],'x-dead-letter-routing-key':_0x2b8029['routingKey']}};await this[_0x25d0ec(0xd5)]['assertQueue'](_0xfd4c00,_0x439796),console[_0x25d0ec(0x118)]('['+formatDate(new Date())+']\x20Retry\x20queue\x20'+_0xfd4c00+'\x20created/ready'),await this['channel'][_0x25d0ec(0x107)](_0xfd4c00,_0x3ba796,_0x2b8029[_0x25d0ec(0x110)]),console[_0x25d0ec(0x118)]('['+_0x62bcac[_0x25d0ec(0x121)](formatDate,new Date())+']\x20Retry\x20binding\x20for\x20'+_0x2b8029['routingKey']+_0x25d0ec(0xf8));const _0xef41ee={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x3ba796,'x-dead-letter-routing-key':_0x2b8029['routingKey']}};try{const _0x34e6e7=await this[_0x25d0ec(0xd5)][_0x25d0ec(0xd0)](_0x2b8029['queue'],_0xef41ee);console['log']('['+_0x62bcac['Zmxuu'](formatDate,new Date())+_0x25d0ec(0xd6)+_0x2b8029[_0x25d0ec(0x126)]+'\x20'+(_0x62bcac['KLZbd'](_0x34e6e7['queue'],_0x2b8029[_0x25d0ec(0x126)])?_0x25d0ec(0xd1):_0x62bcac['PKhjx'])+_0x25d0ec(0xe2)),await this[_0x25d0ec(0xd5)][_0x25d0ec(0x107)](_0x2b8029['queue'],_0x2b8029['exchange'],_0x2b8029['routingKey']),console[_0x25d0ec(0x118)]('['+_0x62bcac[_0x25d0ec(0x121)](formatDate,new Date())+_0x25d0ec(0x11e)+_0x2b8029[_0x25d0ec(0x123)]+'\x20->\x20'+_0x2b8029['queue']+'\x20('+_0x2b8029['routingKey']+')\x20created');}catch(_0x57670a){if(_0x57670a[_0x25d0ec(0xf3)][_0x25d0ec(0xe8)](_0x62bcac[_0x25d0ec(0x101)])&&_0x57670a['message']['includes'](_0x62bcac[_0x25d0ec(0xdb)])){console['error']('\x0a['+formatDate(new Date())+']\x20ERROR:\x20Queue\x20'+_0x2b8029['queue']+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console[_0x25d0ec(0xe7)](_0x25d0ec(0x116));const _0x5d6aa0=_0x2b8029['routingKey']+'_queue',_0xc7baa7=await this[_0x25d0ec(0xd5)][_0x25d0ec(0xd0)](_0x5d6aa0,_0xef41ee);console[_0x25d0ec(0x118)]('['+formatDate(new Date())+_0x25d0ec(0xff)+_0x5d6aa0+'\x20created\x20with\x20DLX'),await this[_0x25d0ec(0xd5)]['bindQueue'](_0x5d6aa0,_0x2b8029[_0x25d0ec(0x123)],_0x2b8029[_0x25d0ec(0x110)]),console[_0x25d0ec(0x118)]('['+_0x62bcac[_0x25d0ec(0x128)](formatDate,new Date())+_0x25d0ec(0x11e)+_0x2b8029[_0x25d0ec(0x123)]+'\x20->\x20'+_0x5d6aa0+'\x20('+_0x2b8029['routingKey']+')\x20created'),_0x2b8029[_0x25d0ec(0x126)]=_0x5d6aa0;}else{console[_0x25d0ec(0xe7)]('['+formatDate(new Date())+_0x25d0ec(0x113)+_0x2b8029['queue']+':',_0x57670a[_0x25d0ec(0xf3)]);throw _0x57670a;}}return!![];}catch(_0x339c60){return console['error']('['+formatDate(new Date())+']\x20Error\x20saat\x20setup\x20infrastruktur:\x20'+_0x339c60['message']),![];}}async[a0_0x7718f0(0x10c)](_0x4b2990,_0x369daa){const _0x135425=a0_0x7718f0,_0x4df202={'jmFKy':function(_0x4d2014,_0x3ecd02){return _0x4d2014!==_0x3ecd02;},'cnVGI':function(_0x3752ee,_0x1f7a90){return _0x3752ee(_0x1f7a90);},'zbnTN':'Data\x20sent\x20to\x20queue\x20successfully','ryTkG':function(_0x1ff5d5,_0x4fcf71){return _0x1ff5d5(_0x4fcf71);}};if(!this[_0x135425(0xd4)])try{await this[_0x135425(0x119)]();}catch(_0x2ab30c){return{'success':![],'message':'Cannot\x20connect\x20to\x20RabbitMQ:\x20'+_0x2ab30c[_0x135425(0xf3)],'data':null};}try{const _0x403613=_0x4df202[_0x135425(0xf6)](_0x369daa['auto_retry'],undefined)?_0x369daa['auto_retry']:![],_0x47e672=_0x369daa['max_retries']||0x3,_0x567648={'rabbitmq':{'exchange':_0x369daa['exchange'],'queue':_0x369daa[_0x135425(0x126)],'routing_key':_0x369daa[_0x135425(0x110)],'auto_retry':_0x403613,'max_retries':_0x47e672},'message':_0x4b2990};await this['setupCollectorInfrastructure'](_0x369daa);const _0x3b8aea=new Date(),_0x448080={'timestamp':_0x3b8aea[_0x135425(0x11b)](),'content':JSON[_0x135425(0xda)](_0x567648)},_0x2b28b9=this['channel'][_0x135425(0xec)](_0x369daa[_0x135425(0x123)],_0x369daa['routingKey'],Buffer[_0x135425(0x114)](JSON[_0x135425(0xda)](_0x448080)),{'persistent':!![],'contentType':'application/json','timestamp':_0x3b8aea['getTime'](),'messageId':_0x3b8aea['getTime']()+'-'+Math[_0x135425(0xe0)]()['toString'](0x24)[_0x135425(0x12c)](0x7),'headers':{'x-auto-retry':_0x403613,'x-max-retry':_0x47e672,'x-retry-count':0x0,'x-retry-interval':0x2710}});if(_0x2b28b9){console[_0x135425(0x118)]('['+_0x4df202['cnVGI'](formatDate,_0x3b8aea)+_0x135425(0xe5),{'exchange':_0x369daa[_0x135425(0x123)],'routing_key':_0x369daa[_0x135425(0x110)],'queue':_0x369daa[_0x135425(0x126)],'sendAt':_0x3b8aea[_0x135425(0x11b)]()});const _0x48d20b='queue-'+_0x3b8aea['getTime']()+'-'+Math['random']()[_0x135425(0x12a)](0x24)['substring'](0x7);return{'success':!![],'message':_0x4df202[_0x135425(0x104)],'data':{'id':_0x48d20b,'queueInfo':{'exchange':_0x369daa['exchange'],'queue':_0x369daa[_0x135425(0x126)],'routingKey':_0x369daa[_0x135425(0x110)]}}};}else throw new Error('Failed\x20to\x20send\x20message\x20to\x20RabbitMQ');}catch(_0x132264){return console['error']('['+_0x4df202[_0x135425(0x111)](formatDate,new Date())+']\x20Error\x20sending\x20to\x20RabbitMQ:\x20'+_0x132264['message']),{'success':![],'message':_0x135425(0xeb)+_0x132264[_0x135425(0xf3)],'data':null};}}[a0_0x7718f0(0xf9)](_0xcb5040){const _0x472aed=a0_0x7718f0,_0x38d155={'aRFwe':function(_0x40eee3,_0xfd7fe1){return _0x40eee3===_0xfd7fe1;},'jEraU':'function','JFNJC':function(_0x2e3bff,_0x404431){return _0x2e3bff(_0x404431);}};_0x38d155['aRFwe'](typeof _0xcb5040,_0x38d155['jEraU'])?(this['messageHandlers']['push'](_0xcb5040),console[_0x472aed(0x118)]('['+_0x38d155['JFNJC'](formatDate,new Date())+_0x472aed(0x10f))):console['error']('['+_0x38d155[_0x472aed(0xd8)](formatDate,new Date())+_0x472aed(0x102));}async[a0_0x7718f0(0x10a)](_0x4a7772){const _0x1ca00e=a0_0x7718f0,_0x41bae3={'lUEqz':function(_0x5726b6,_0x1fea95){return _0x5726b6===_0x1fea95;},'sTnud':function(_0x98874c,_0x560f72){return _0x98874c(_0x560f72);}};if(_0x41bae3[_0x1ca00e(0xe9)](this[_0x1ca00e(0x12b)][_0x1ca00e(0xee)],0x0))return console['warn']('['+_0x41bae3['sTnud'](formatDate,new Date())+_0x1ca00e(0x10b)),!![];try{for(const _0x1f9c74 of this['messageHandlers']){await _0x1f9c74(_0x4a7772);}return!![];}catch(_0x2156bd){return console['error']('['+_0x41bae3[_0x1ca00e(0xf2)](formatDate,new Date())+_0x1ca00e(0xd2)+_0x2156bd[_0x1ca00e(0xf3)]),![];}}async['startConsume'](){const _0x30fc2e=a0_0x7718f0,_0x45ad6c={'GqfGP':function(_0x51d92c,_0x167093){return _0x51d92c(_0x167093);},'SnpBJ':function(_0x3e1d44,_0x1f9d62){return _0x3e1d44(_0x1f9d62);},'EsAWg':'---'};if(!this['isConnected'])return console['error']('['+formatDate(new Date())+']\x20Cannot\x20start\x20consuming:\x20not\x20connected\x20to\x20RabbitMQ'),![];try{return console[_0x30fc2e(0x118)]('['+_0x45ad6c[_0x30fc2e(0xde)](formatDate,new Date())+']\x20Start\x20consuming\x20messages\x20from\x20queue\x20\x22'+this[_0x30fc2e(0xd7)]['queue']+'\x22...'),this['channel']['consume'](this[_0x30fc2e(0xd7)][_0x30fc2e(0x126)],async _0x424549=>{const _0x1a6852=_0x30fc2e;if(_0x424549!==null){const _0x17f212=new Date();let _0x5d4484;try{_0x5d4484=JSON[_0x1a6852(0x11a)](_0x424549[_0x1a6852(0x12e)][_0x1a6852(0x12a)]());}catch(_0x5e1c08){console['error']('['+_0x45ad6c[_0x1a6852(0xde)](formatDate,_0x17f212)+_0x1a6852(0xf0)+_0x5e1c08['message']),console[_0x1a6852(0xe7)](_0x1a6852(0xdc)+_0x424549[_0x1a6852(0x12e)][_0x1a6852(0x12a)]()),this[_0x1a6852(0xd5)][_0x1a6852(0xd3)](_0x424549);return;}const _0x1891d6=_0x424549[_0x1a6852(0xfc)]['timestamp']?new Date(_0x424549[_0x1a6852(0xfc)]['timestamp']):new Date(),_0x4cdc8c=await this['processMessage'](_0x5d4484);_0x4cdc8c?(console['log']('['+formatDate(new Date())+_0x1a6852(0x11d)),this[_0x1a6852(0xd5)][_0x1a6852(0xd3)](_0x424549)):(console['error']('['+_0x45ad6c['SnpBJ'](formatDate,new Date())+']\x20Failed\x20to\x20process\x20message,\x20requeuing'),this['channel'][_0x1a6852(0x106)](_0x424549,![],!![])),console[_0x1a6852(0x118)](_0x45ad6c['EsAWg']);}},{'noAck':![]}),!![];}catch(_0x29fe19){return console[_0x30fc2e(0xe7)]('['+formatDate(new Date())+_0x30fc2e(0xea)+_0x29fe19['message']),![];}}async['close'](){this['connection']&&(await closeConnection(this['connection']),this['isConnected']=![]);}}function a0_0x44ec(_0x46bf60,_0x53cac8){_0x46bf60=_0x46bf60-0xd0;const _0x4a7e3c=a0_0x4a7e();let _0x44ec47=_0x4a7e3c[_0x46bf60];if(a0_0x44ec['ZKimmL']===undefined){var _0x21046f=function(_0x58377e){const _0x5b911d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x308878='',_0x3bc700='';for(let _0x2dd771=0x0,_0x2c758f,_0x463b0b,_0x1c1b83=0x0;_0x463b0b=_0x58377e['charAt'](_0x1c1b83++);~_0x463b0b&&(_0x2c758f=_0x2dd771%0x4?_0x2c758f*0x40+_0x463b0b:_0x463b0b,_0x2dd771++%0x4)?_0x308878+=String['fromCharCode'](0xff&_0x2c758f>>(-0x2*_0x2dd771&0x6)):0x0){_0x463b0b=_0x5b911d['indexOf'](_0x463b0b);}for(let _0x40b06b=0x0,_0x1e3d2e=_0x308878['length'];_0x40b06b<_0x1e3d2e;_0x40b06b++){_0x3bc700+='%'+('00'+_0x308878['charCodeAt'](_0x40b06b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3bc700);};a0_0x44ec['DfvztB']=_0x21046f,a0_0x44ec['wfBBdo']={},a0_0x44ec['ZKimmL']=!![];}const _0x41cfd0=_0x4a7e3c[0x0],_0x1e154a=_0x46bf60+_0x41cfd0,_0x1312ea=a0_0x44ec['wfBBdo'][_0x1e154a];return!_0x1312ea?(_0x44ec47=a0_0x44ec['DfvztB'](_0x44ec47),a0_0x44ec['wfBBdo'][_0x1e154a]=_0x44ec47):_0x44ec47=_0x1312ea,_0x44ec47;}let instance=null;function getInstance(){return!instance&&(instance=new RabbitMQService()),instance;}module['exports']={'getInstance':getInstance};
|
|
1
|
+
function a0_0x225e(_0x25aad0,_0x44d6be){_0x25aad0=_0x25aad0-0x1f3;const _0x3df48d=a0_0x3df4();let _0x225e6c=_0x3df48d[_0x25aad0];if(a0_0x225e['lKZVXv']===undefined){var _0x1a0159=function(_0x1fa50d){const _0x1a7b7b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x34ceeb='',_0x25bde7='';for(let _0x31a460=0x0,_0x530ff0,_0xb86e2f,_0x3acfac=0x0;_0xb86e2f=_0x1fa50d['charAt'](_0x3acfac++);~_0xb86e2f&&(_0x530ff0=_0x31a460%0x4?_0x530ff0*0x40+_0xb86e2f:_0xb86e2f,_0x31a460++%0x4)?_0x34ceeb+=String['fromCharCode'](0xff&_0x530ff0>>(-0x2*_0x31a460&0x6)):0x0){_0xb86e2f=_0x1a7b7b['indexOf'](_0xb86e2f);}for(let _0x442cc8=0x0,_0x397290=_0x34ceeb['length'];_0x442cc8<_0x397290;_0x442cc8++){_0x25bde7+='%'+('00'+_0x34ceeb['charCodeAt'](_0x442cc8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x25bde7);};a0_0x225e['VBZVLd']=_0x1a0159,a0_0x225e['lGjBhu']={},a0_0x225e['lKZVXv']=!![];}const _0x3a7f84=_0x3df48d[0x0],_0x41953d=_0x25aad0+_0x3a7f84,_0x45bc71=a0_0x225e['lGjBhu'][_0x41953d];return!_0x45bc71?(_0x225e6c=a0_0x225e['VBZVLd'](_0x225e6c),a0_0x225e['lGjBhu'][_0x41953d]=_0x225e6c):_0x225e6c=_0x45bc71,_0x225e6c;}const a0_0x376222=a0_0x225e;(function(_0x1a1fa0,_0x45365a){const _0x37fc12=a0_0x225e,_0x850c2e=_0x1a1fa0();while(!![]){try{const _0x264a75=-parseInt(_0x37fc12(0x228))/0x1*(parseInt(_0x37fc12(0x216))/0x2)+-parseInt(_0x37fc12(0x212))/0x3*(parseInt(_0x37fc12(0x249))/0x4)+parseInt(_0x37fc12(0x24b))/0x5*(-parseInt(_0x37fc12(0x21a))/0x6)+-parseInt(_0x37fc12(0x1f6))/0x7+parseInt(_0x37fc12(0x213))/0x8*(parseInt(_0x37fc12(0x1f3))/0x9)+parseInt(_0x37fc12(0x1fd))/0xa+parseInt(_0x37fc12(0x21f))/0xb;if(_0x264a75===_0x45365a)break;else _0x850c2e['push'](_0x850c2e['shift']());}catch(_0x5a1a67){_0x850c2e['push'](_0x850c2e['shift']());}}}(a0_0x3df4,0x24b8a));function a0_0x3df4(){const _0x3b2438=['ChjVCgvYDgLLCW','y29UzMLN','nteXndCWm0fxugrpra','z2v0vgLTzq','yMLUzff1zxvL','vhj5Aw5NigfSDgvYBMf0AxzLihf1zxvLig5HBwuUlI4','xsbfCNjVCIbZywf0ihnLDhvWigLUzNjHC3rYDwT0Dxi6ia','lI4VDxrPBhmVzgf0zuHLBhbLCG','wNjkrgC','xsbdyw5UB3qGC3rHCNqGy29UC3vTAw5NoIbUB3qGy29UBMvJDgvKihrVifjHyMjPDe1r','ignYzwf0zwq','mJuWmtmYEMj5C3HN','zgLYzwn0','zxjYB3i','rKrkDgK','BwvZC2fNzuHHBMrSzxjZ','yxv0B19YzxrYEq','DNLprhu','C2vUzfrVuxvLDwu','yuDeBuy','ignYzwf0zwqVCMvHzhK','xsbqCMvMzxrJAcbKAwf0DxiGA2uGmq','ywnR','CMvJB25Uzwn0','ChvIBgLZAa','Dg9tDhjPBMC','Aw5PDgLHBgL6zq','C3rYAw5NAwz5','C2v0DxbdB2XSzwn0B3jjBMzYyxn0CNvJDhvYzq','teD6teS','ksbJCMvHDgvK','re1AqwS','zw52','EfzSthG','yKDmy1q','shHJt3C','yxnZzxj0uxvLDwu','xsbgywLSzwqGDg8GCgfYC2uGBwvZC2fNztOG','rgf0ysbZzw50ihrVihf1zxvLihn1y2nLC3nMDwXSEq','zNjVBq','zxHWB3j0CW','ChjVy2vZC01LC3nHz2u','swzxwKK','zLPzzxq','mty5nZmYDe5tC1fu','thz5BxC','mJiWmJaWA1vAwMTn','y29UDgvUDa','y29UBMvJDgLVBG','CxvLDwuT','CMvNAxn0zxjnzxnZywDLsgfUzgXLCG','ouH0DfLVsq','yxnZzxj0rxHJAgfUz2u','zu9gv2m','nJKZndiWuLvvrNrL','xsbcAw5KAw5Nia','CxvLDwu','CM91DgLUz0TLEq','AxndB25Uzwn0zwq','zM91BMq','y3jLyxrLzc9YzwfKEq','mJeZndyXmgz6sufdzq','twvZC2fNzsbJB250zw50oIa','xsblB25LA3nPifjHyMjPDe1rihrLCNb1DhvZ','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','Aw5LCxvPDMfSzw50igfYzW','Dg9ju09tDhjPBMC','zxHJAgfUz2u','y2HHBM5LBa','xsbnzxnZywDLihnLBNqGDg8GuMfIyML0tveGC3vJy2vZC2z1BgX5oG','r3vUzfG','Aw5JBhvKzxm','xsbtDwnJzxnZzNvSBhKGCMvJB25Uzwn0zwqGDg8GuMfIyML0tve','xsbgywLSzwqGDg8GC3rHCNqGy29UC3vTAw5NoIa','zgvMyxvSDa','ihDPDgGGreXy','Bg9N','C3vIC3rYAw5N','ignYzwf0zwqGD2L0AcbetfG','wuTywLe','xsbfEgnOyw5Nzsa','BwvZC2fNzq','nNrjBNL0rG','mZa1mJmYwMHUu2HL','BMfJAW','xsbfCNjVCIbWCM9JzxnZAw5Nig1LC3nHz2u6ia','mKTXDgvfBW','xsbfuLjpuJOGuxvLDwuG','xsbszxrYEsbIAw5KAw5NigzVCIa','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','mtHns3n2uK8','BfbhAuG','Ec1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEq'];a0_0x3df4=function(){return _0x3b2438;};return a0_0x3df4();}const {createConnection,createChannel,setupInfrastructure,closeConnection,getConfig}=require('../utils/rabbitmq'),{formatDate}=require(a0_0x376222(0x224));class RabbitMQService{constructor(){const _0x3f85db=a0_0x376222;this['connection']=null,this[_0x3f85db(0x204)]=null,this[_0x3f85db(0x21e)]=getConfig(),this['isConnected']=![],this[_0x3f85db(0x22c)]=[];}async[a0_0x376222(0x237)](){const _0x467f71=a0_0x376222,_0x4f2a99={'eOFWc':function(_0x43a553,_0x4ddcea){return _0x43a553(_0x4ddcea);},'IMITf':function(_0x17557f,_0x5ccf90){return _0x17557f(_0x5ccf90);}};try{return this[_0x467f71(0x24d)]=await createConnection(),this[_0x467f71(0x204)]=await _0x4f2a99['eOFWc'](createChannel,this['connection']),await this[_0x467f71(0x204)]['prefetch'](0x1),console[_0x467f71(0x20c)]('['+_0x4f2a99[_0x467f71(0x1f5)](formatDate,new Date())+_0x467f71(0x232)),await _0x4f2a99['eOFWc'](setupInfrastructure,this['channel']),this['isConnected']=!![],this['connection']['on']('close',()=>{const _0x3272c8=_0x467f71;console['error']('['+formatDate(new Date())+_0x3272c8(0x1ff)),this['isConnected']=![],setTimeout(()=>this[_0x3272c8(0x234)](),0x1388);}),!![];}catch(_0x27c7f8){return console['error']('['+_0x4f2a99['IMITf'](formatDate,new Date())+']\x20Failed\x20to\x20initialize\x20RabbitMQ:\x20'+_0x27c7f8['message']),this[_0x467f71(0x1fa)]=![],![];}}async['reconnect'](){const _0x58d28c=a0_0x376222,_0x53b67b={'vyODu':function(_0x16a67b,_0x3d9852){return _0x16a67b(_0x3d9852);},'IfWZI':function(_0x2614b4,_0x155d46){return _0x2614b4(_0x155d46);}};console['log']('['+formatDate(new Date())+']\x20Attempting\x20to\x20reconnect\x20to\x20RabbitMQ...');try{await this['initialize'](),this['isConnected']&&(console[_0x58d28c(0x20c)]('['+_0x53b67b[_0x58d28c(0x22e)](formatDate,new Date())+_0x58d28c(0x208)),await this['startConsume']());}catch(_0x3ee631){console[_0x58d28c(0x22a)]('['+_0x53b67b[_0x58d28c(0x247)](formatDate,new Date())+']\x20Failed\x20to\x20reconnect\x20to\x20RabbitMQ:\x20'+_0x3ee631[_0x58d28c(0x211)]),setTimeout(()=>this[_0x58d28c(0x234)](),0x1388);}}async[a0_0x376222(0x239)](_0x216734){const _0xf0f115=a0_0x376222,_0x5a51ad={'DQPaS':function(_0x1d8024,_0x5bc782){return _0x1d8024(_0x5bc782);},'lPGiH':_0xf0f115(0x20a),'xVlLx':_0xf0f115(0x229),'Lvymw':function(_0x5df8ce,_0x4a1956){return _0x5df8ce(_0x4a1956);},'FDJti':function(_0x48dd85,_0x4611c6){return _0x48dd85===_0x4611c6;},'yvasQ':_0xf0f115(0x1fb),'YKXZQ':_0xf0f115(0x201)};try{!this['isConnected']&&(this[_0xf0f115(0x24d)]=await createConnection(),this['channel']=await _0x5a51ad['DQPaS'](createChannel,this['connection']),this[_0xf0f115(0x1fa)]=!![]);const _0x8d911a=process[_0xf0f115(0x23d)]['RESTFORGE_PROJECT_NAME']||_0x5a51ad[_0xf0f115(0x21b)],_0x324f87=_0x8d911a+'-retry-exchange';await this[_0xf0f115(0x204)][_0xf0f115(0x1f4)](_0x324f87,_0x5a51ad['xVlLx'],{'durable':!![],'autoDelete':![]}),console[_0xf0f115(0x20c)]('['+formatDate(new Date())+']\x20Retry\x20exchange\x20'+_0x324f87+_0xf0f115(0x231)),await this[_0xf0f115(0x204)][_0xf0f115(0x1f4)](_0x216734['exchange'],_0x5a51ad[_0xf0f115(0x23e)],{'durable':!![],'autoDelete':![]}),console[_0xf0f115(0x20c)]('['+formatDate(new Date())+_0xf0f115(0x210)+_0x216734[_0xf0f115(0x203)]+_0xf0f115(0x231));const _0x25a825=_0x216734[_0xf0f115(0x1f9)]+'_retry',_0xe0823d={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':_0x216734[_0xf0f115(0x203)],'x-dead-letter-routing-key':_0x216734['routingKey']}};await this[_0xf0f115(0x204)]['assertQueue'](_0x25a825,_0xe0823d),console['log']('['+formatDate(new Date())+']\x20Retry\x20queue\x20'+_0x25a825+'\x20created/ready'),await this['channel']['bindQueue'](_0x25a825,_0x324f87,_0x216734['routingKey']),console['log']('['+formatDate(new Date())+_0xf0f115(0x218)+_0x216734[_0xf0f115(0x1f9)]+_0xf0f115(0x227));const _0x2e3a89={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x324f87,'x-dead-letter-routing-key':_0x216734['routingKey']}};try{const _0x597266=await this['channel']['assertQueue'](_0x216734[_0xf0f115(0x1f8)],_0x2e3a89);console['log']('['+_0x5a51ad[_0xf0f115(0x24a)](formatDate,new Date())+']\x20Queue\x20'+_0x216734['queue']+'\x20'+(_0x5a51ad[_0xf0f115(0x22b)](_0x597266['queue'],_0x216734['queue'])?_0xf0f115(0x1fc):_0x5a51ad['yvasQ'])+_0xf0f115(0x20b)),await this['channel'][_0xf0f115(0x221)](_0x216734['queue'],_0x216734[_0xf0f115(0x203)],_0x216734['routingKey']),console[_0xf0f115(0x20c)]('['+_0x5a51ad[_0xf0f115(0x24a)](formatDate,new Date())+_0xf0f115(0x1f7)+_0x216734['exchange']+'\x20->\x20'+_0x216734[_0xf0f115(0x1f8)]+'\x20('+_0x216734['routingKey']+_0xf0f115(0x23b));}catch(_0x564b15){if(_0x564b15['message'][_0xf0f115(0x207)](_0x5a51ad[_0xf0f115(0x20f)])&&_0x564b15[_0xf0f115(0x211)]['includes'](_0xf0f115(0x21c))){console['error']('\x0a['+formatDate(new Date())+_0xf0f115(0x217)+_0x216734[_0xf0f115(0x1f8)]+_0xf0f115(0x200)),console[_0xf0f115(0x22a)](_0xf0f115(0x222));const _0x1de0aa=_0x216734['routingKey']+'_queue',_0x90d825=await this['channel'][_0xf0f115(0x241)](_0x1de0aa,_0x2e3a89);console[_0xf0f115(0x20c)]('['+formatDate(new Date())+']\x20Alternative\x20queue\x20'+_0x1de0aa+_0xf0f115(0x20e)),await this['channel']['bindQueue'](_0x1de0aa,_0x216734['exchange'],_0x216734[_0xf0f115(0x1f9)]),console['log']('['+formatDate(new Date())+_0xf0f115(0x1f7)+_0x216734['exchange']+'\x20->\x20'+_0x1de0aa+'\x20('+_0x216734[_0xf0f115(0x1f9)]+')\x20created'),_0x216734[_0xf0f115(0x1f8)]=_0x1de0aa;}else{console[_0xf0f115(0x22a)]('['+formatDate(new Date())+_0xf0f115(0x219)+_0x216734[_0xf0f115(0x1f8)]+':',_0x564b15['message']);throw _0x564b15;}}return!![];}catch(_0x4acd63){return console[_0xf0f115(0x22a)]('['+_0x5a51ad['DQPaS'](formatDate,new Date())+_0xf0f115(0x223)+_0x4acd63['message']),![];}}async[a0_0x376222(0x22f)](_0x9e68fe,_0x235615){const _0x71f832=a0_0x376222,_0x3a5f94={'LGzLK':function(_0x24599c,_0x1a4ba7){return _0x24599c(_0x1a4ba7);},'HxcOw':_0x71f832(0x243),'fZYet':'Failed\x20to\x20send\x20message\x20to\x20RabbitMQ'};if(!this['isConnected'])try{await this['initialize']();}catch(_0x1b6408){return{'success':![],'message':'Cannot\x20connect\x20to\x20RabbitMQ:\x20'+_0x1b6408['message'],'data':null};}try{const _0xa10cee=_0x235615[_0x71f832(0x22d)]!==undefined?_0x235615['auto_retry']:![],_0x8a7cb0=_0x235615['max_retries']||0x3,_0x5ae50d={'rabbitmq':{'exchange':_0x235615[_0x71f832(0x203)],'queue':_0x235615[_0x71f832(0x1f8)],'routing_key':_0x235615[_0x71f832(0x1f9)],'auto_retry':_0xa10cee,'max_retries':_0x8a7cb0},'message':_0x9e68fe};await this[_0x71f832(0x239)](_0x235615);const _0x689880=new Date(),_0x2251af={'timestamp':_0x689880[_0x71f832(0x202)](),'content':JSON[_0x71f832(0x238)](_0x5ae50d)},_0x183fd3=this[_0x71f832(0x204)][_0x71f832(0x235)](_0x235615['exchange'],_0x235615[_0x71f832(0x1f9)],Buffer[_0x71f832(0x244)](JSON['stringify'](_0x2251af)),{'persistent':!![],'contentType':'application/json','timestamp':_0x689880['getTime'](),'messageId':_0x689880['getTime']()+'-'+Math['random']()['toString'](0x24)[_0x71f832(0x20d)](0x7),'headers':{'x-auto-retry':_0xa10cee,'x-max-retry':_0x8a7cb0,'x-retry-count':0x0,'x-retry-interval':0x2710}});if(_0x183fd3){console['log']('['+_0x3a5f94[_0x71f832(0x23a)](formatDate,_0x689880)+_0x71f832(0x205),{'exchange':_0x235615['exchange'],'routing_key':_0x235615['routingKey'],'queue':_0x235615[_0x71f832(0x1f8)],'sendAt':_0x689880['toISOString']()});const _0x33e1ec=_0x71f832(0x24e)+_0x689880[_0x71f832(0x220)]()+'-'+Math['random']()[_0x71f832(0x236)](0x24)[_0x71f832(0x20d)](0x7);return{'success':!![],'message':_0x3a5f94[_0x71f832(0x240)],'data':{'id':_0x33e1ec,'queueInfo':{'exchange':_0x235615[_0x71f832(0x203)],'queue':_0x235615[_0x71f832(0x1f8)],'routingKey':_0x235615[_0x71f832(0x1f9)]}}};}else throw new Error(_0x3a5f94[_0x71f832(0x248)]);}catch(_0xe9be3f){return console['error']('['+formatDate(new Date())+']\x20Error\x20sending\x20to\x20RabbitMQ:\x20'+_0xe9be3f[_0x71f832(0x211)]),{'success':![],'message':'Error:\x20'+_0xe9be3f['message'],'data':null};}}[a0_0x376222(0x24f)](_0x4f10dc){const _0x225c86=a0_0x376222,_0x4a00a7={'ZrJDg':function(_0xb1caad,_0x12149a){return _0xb1caad===_0x12149a;}};_0x4a00a7[_0x225c86(0x225)](typeof _0x4f10dc,'function')?(this[_0x225c86(0x22c)]['push'](_0x4f10dc),console['log']('['+formatDate(new Date())+']\x20Message\x20handler\x20registered')):console[_0x225c86(0x22a)]('['+formatDate(new Date())+']\x20Message\x20handler\x20must\x20be\x20a\x20function');}async[a0_0x376222(0x246)](_0x4f8c98){const _0x4d0469=a0_0x376222,_0x574435={'DMZAk':function(_0x4f947d,_0x287656){return _0x4f947d(_0x287656);},'trtGm':function(_0x5a8187,_0x4d7a8a){return _0x5a8187(_0x4d7a8a);}};if(this['messageHandlers']['length']===0x0)return console['warn']('['+formatDate(new Date())+']\x20No\x20handlers\x20registered\x20to\x20process\x20messages'),!![];try{for(const _0x474f35 of this[_0x4d0469(0x22c)]){await _0x574435[_0x4d0469(0x23c)](_0x474f35,_0x4f8c98);}return!![];}catch(_0x49c4a2){return console[_0x4d0469(0x22a)]('['+_0x574435['trtGm'](formatDate,new Date())+_0x4d0469(0x215)+_0x49c4a2['message']),![];}}async['startConsume'](){const _0x11bd17=a0_0x376222,_0x226bf9={'NTHur':function(_0x429cea,_0x12e4cf){return _0x429cea!==_0x12e4cf;},'bGLcT':function(_0x472039,_0x50ff35){return _0x472039(_0x50ff35);},'aGDmF':'---'};if(!this[_0x11bd17(0x1fa)])return console[_0x11bd17(0x22a)]('['+_0x226bf9[_0x11bd17(0x23f)](formatDate,new Date())+_0x11bd17(0x226)),![];try{return console['log']('['+formatDate(new Date())+']\x20Start\x20consuming\x20messages\x20from\x20queue\x20\x22'+this['config']['queue']+'\x22...'),this['channel']['consume'](this['config']['queue'],async _0x1529b1=>{const _0x530448=_0x11bd17;if(_0x226bf9['NTHur'](_0x1529b1,null)){const _0x382cef=new Date();let _0x4e3b05;try{_0x4e3b05=JSON['parse'](_0x1529b1['content']['toString']());}catch(_0x58eb16){console['error']('['+_0x226bf9[_0x530448(0x23f)](formatDate,_0x382cef)+_0x530448(0x242)+_0x58eb16['message']),console['error'](_0x530448(0x1fe)+_0x1529b1[_0x530448(0x24c)]['toString']()),this['channel'][_0x530448(0x233)](_0x1529b1);return;}const _0x2880ec=_0x1529b1['properties']['timestamp']?new Date(_0x1529b1[_0x530448(0x21d)]['timestamp']):new Date(),_0x43d398=await this[_0x530448(0x246)](_0x4e3b05);_0x43d398?(console['log']('['+formatDate(new Date())+']\x20Message\x20processed\x20successfully'),this['channel'][_0x530448(0x233)](_0x1529b1)):(console[_0x530448(0x22a)]('['+formatDate(new Date())+']\x20Failed\x20to\x20process\x20message,\x20requeuing'),this['channel'][_0x530448(0x214)](_0x1529b1,![],!![])),console['log'](_0x226bf9[_0x530448(0x230)]);}},{'noAck':![]}),!![];}catch(_0x2c6129){return console[_0x11bd17(0x22a)]('['+formatDate(new Date())+_0x11bd17(0x209)+_0x2c6129[_0x11bd17(0x211)]),![];}}async['close'](){const _0x4473e1=a0_0x376222,_0x4346c9={'GundX':function(_0x2e8716,_0x2b92ce){return _0x2e8716(_0x2b92ce);}};this['connection']&&(await _0x4346c9[_0x4473e1(0x206)](closeConnection,this[_0x4473e1(0x24d)]),this['isConnected']=![]);}}let instance=null;function getInstance(){return!instance&&(instance=new RabbitMQService()),instance;}module[a0_0x376222(0x245)]={'getInstance':getInstance};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x3e2f79=a0_0x1aad;(function(_0x386bfd,_0x3b184d){const _0x44297a=a0_0x1aad,_0x5a289d=_0x386bfd();while(!![]){try{const _0xda6e93=parseInt(_0x44297a(0x19d))/0x1*(parseInt(_0x44297a(0x1ec))/0x2)+-parseInt(_0x44297a(0xee))/0x3+-parseInt(_0x44297a(0x1ca))/0x4*(-parseInt(_0x44297a(0x177))/0x5)+parseInt(_0x44297a(0x1b3))/0x6*(parseInt(_0x44297a(0x153))/0x7)+parseInt(_0x44297a(0xe1))/0x8*(parseInt(_0x44297a(0x1d1))/0x9)+-parseInt(_0x44297a(0xda))/0xa+-parseInt(_0x44297a(0x1e6))/0xb;if(_0xda6e93===_0x3b184d)break;else _0x5a289d['push'](_0x5a289d['shift']());}catch(_0x1da5d8){_0x5a289d['push'](_0x5a289d['shift']());}}}(a0_0x4f59,0x2475b));function a0_0x4f59(){const _0x54f54c=['zxHPC3rZu3LUyW','z2v0rgjvDgLSCW','zMfPBgvKuMvHC29U','igPVyIbJB25MAwCOCYKGzNjVBsbWyxLSB2fKl2PVyNmV','DgLTzxn0yw1W','C2v0','B25SAw5L','BwfW','sM9IignHBMnLBgXLzcb2AweGqvbj','y29UzMLNrMLSzq','AM9Ix3jLz2LZDhj5x29MzMXPBMvFzxjYB3i','DxbKyxrLuMvNAxn0CNLtDgf0Dxm','vK1uCNm','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGC3rHDhvZid0Gj29MzMXPBMuNlcbUzxH0x3j1BL9HDca9ie5vteWSihvWzgf0zwrFyxqGpsbtwvnusu1fu1rbtva','CuvmwgC','sK9cx1nuquXmrurFsu5urvjwquW','s2DOBvu','B3jHy2XL','DMfSAwq','Be1dyMm','BMv4Da','sM9Iie1HBMfNzxiGC3vKywGGzgLPBMLZAwfSAxnHC2KSihnRAxa','AwvnDuC','C3vIC3rYAw5N','Cgf1C2u','z2v0q2fJAgvnyw5Hz2vY','q2vsAum','rMveCg8','rKXZrfy','AM9Ix2vUC3vYzv90ywjSzxnFD2fYBG','zgvZy3jPChrPB24','AM9Ix3bYB2DYzxnZ','nZq1mZuZtgn4zuzy','B25kB2jgywLSzwq','y2f0y2G','z2v0q2XPzw50','Aw5JBhvKzxm','zxHLy3v0zuv2zw50sgfUzgXLCNm','BMfTzq','zhD3sgu','DgLTzxPVBMu','ywn0AxzL','y2XVC2u','rejFvfLqrq','Aw5PDgLHBgL6zwq','AM9Ix3DVCMTLCNnFy3jLyxrLza','B25kB2jqCM9NCMvZCW','BM93','Dw5RBM93BG','zw52','DLLeve8','u1fmihnJCMLWDcb0AwrHAYbKAxrLBxvRyw46ia','AM9Ix2HPC3rVCNLFzMfPBgvKx2vYCM9Y','qMTXr24','z2v0u3rHDgu','AM9Ix3jLz2LZDgvYx2zHAwXLza','AM9Ix21HBMfNzxjFywXYzwfKEv9PBML0AwfSAxPLza','igPVyIHZksbYzwDPC3rLCMvKlca','z1LoC1u','D2fYBG','CMy6','BxmPoIa','vezAvhu','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticG/lca/lca/lca/lca/lcaNCNvUBMLUzYCSid8Sid8Sid8Sie5pvYGPlca/lcbot1COksK','CxvPDa','uePhvNa','Aw5PDgLHBerLBgf5','AM9PBG','mtm0mduWs3z5Agfs','Aw5Zzxj0uhjVBwLZzq','DMfSAwrHDgvdB25MAwC','Bwf4qxr0zw1WDhm','AgLZDg9YEuLK','A09vuxi','sM9Iie1HBMfNzxiGCMvHzhK6ia','ChjVy2vZC2vKt24','uMvKAxmGy29UBMvJDgLVBIbMywLSzwq6ia','C29YDa','ifjLzgLZignVBM5Ly3rPB25Z','y3DK','AM9ICW','C3b0Ee8','wvvSr0m','yMfJA29MzG','AM9Ix2nVBxbSzxrLza','CxvLDwu','BxLZCwWUC3fS','y29TCgXLDgvK','sM9IihrPzgfRigrPDgvTDwTHBJOG','Aw5Zzxj0sM9IsgLZDg9YEq','ChjVz3jLC3m','DgLTzw91Da','sM9IigrPC3bHDgnOzwqGkgrLBgf5zwqG','qNDJDwy','zxHLy3v0zvrYyw5Zywn0Aw9U','BwLU','vhHQy1a','x3nVDxjJzuzPBgu','sM9IignVBxbSzxrLzdOG','AM9Iq29UzMLNCW','zgjFCgDFDw5HDMfPBgfIBgu','rMfPBgvKihrVihvWzgf0zsbQB2iGAgLZDg9YEsaOzMfPBgvKktOG','zw5ZDxjLvgfIBgvZ','AgfUzgXLCNm','ChvZAa','yM16rfK','mxrNqwnjwq','zwzLA2q','zgvSzxrL','zMLUAxnOzwrpBG','iokaLca','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNzMfPBgvKjYWGy29TCgXLDgvKx2f0id0GtK9xkcKScIaGicaGicaGicaGzhvYyxrPB25FBxmGpsa/lcbWCM9NCMvZCYa9id8SigvYCM9Yx21LC3nHz2uGpsa/lcbLCNjVCL9ZDgfJAYa9id8Gv0HfuKuGAwqGpsa/','q0Drrhe','Awf3Egi','ChvIBgLZAev2zw50','rMfPBgvKihrVihvWC2vYDcbQB2iGCMvNAxn0CNK6ia','zw5HyMXLza','AM9Ix3n0ywXSzwq','z2v0ug9VBa','rMfPBgvKihrVihb1yMXPC2GGsK9cx0nptvbmrvrfrcb0BYblywzRyq','yxr0zw1WDhnnywrL','yNvSBg1Xx3jLzgLZx2vYCM9Y','ywn0AxzLsgLZDg9YEuLKCW','B3jHy2XLlNnXBa','tMv5qvC','zgvMyxvSDa','rgzAzK4','r2TAt3G','nNzns2LXyq','lIbkB2iGu2nOzwr1BgvYihrPzgfRigfRyw4GywT0AwyU','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa/lcbSyxn0x2r1CMf0Aw9Ux21Zid0GpYWkicaGicaGicaGica','BwfUDwfS','uKvesvnFueftu1DpuKq','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticGKmsWGjdiSicqZlcaKncWGjduSicDYDw5UAw5NjYWGjdySicq3lcaKocWGtK9xkcKSicq5lcbot1COksK','sgfUzgXLCIb0AwrHAYbKAxrLBxvRyw4GDw50DwSGAM9IoIa','CMvHzezPBgvtEw5J','lI4VlI4VC2vYDMLJzxmVA2fMA2ftzxj2AwnL','y29UBMvJDgLVBNm','z2v0s2fMA2ftzxj2AwnL','AM9Ix3jLzgLZx2nVBM5Ly3rLza','CgHQtgS','ywrK','sK9cx0zbsuXfrf9srvrftLrjt05Fse9vuLm','z2v0uMvKAxndBgLLBNq','z2v0rgjuExbL','vgPcDwi','DxbZzxj0sM9IuMvNAxn0CNK','BgLZDfj1BM5PBMC','icHHDhrLBxb0ia','r0nuAuG','Aw5MBW','mJHVy1zYt0u','ihjLBw92zwqGkhDHCYa','vgrPDxC','q0zWr2O','zgvSyxLLza','y29TCg9Uzw50rw5NAw5L','zNvUy3rPB24','ou9tuvvmuG','zw50CMLLCW','sK9cx0nptKnvuLjftKnz','u1bgEhq','id0G','EuTzuKm','reflsxe','uKvesvnFue9sva','z2v0sM9ICW','CxvLDwvZ','txLtuuWGreiGBw9KDwXLig5VDcbHDMfPBgfIBgu','DxvPza','sM9Iihn0ywXSzwq6ia','CMv0CNK','Dvj3C0O','AM9Ix2rPC3bHDgnOzwq','wuvzB0q','Bg93','q3jVBIbYzwDPC3rLCMvKoIa','D29YA2LUz0rPCG','zwrZue0','mJe2mdy4nKHeqwvTrG','z2vPt2e','ChjVy2vZC0PVyG','zgf0yq','zMLSDgvY','zxHWB25LBNrPywW','ntiXmti0AM9dvKny','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa6msWGBgfZDf9YDw5FyxqGpsbtwvnusu1fu1rbtvaScIaGicaGicaGicaGDxbKyxrLzf9HDca9ifnzu1rjtuvtvefnucbxsevsrsbQB2jFBMfTzsa9idOY','vvLOtKu','sujPBuW','AM9Ix3jLzgLZx2zHAwXLza','AM9Ix3jLz2LZDhj5x2nVDw50zxjFzxjYB3i','rMfPBgvKihrVihnLDcbQB2jZig9MzMXPBMu6ia','Aw5PDgLHBgL6zq','DxbKyxrLuMvNAxn0CNLdB3vUDgvYCW','CgLK','v3HfzKi','Dg90ywXFC3vJy2vZCW','AxnsDw5UAw5N','ywz0zxjFAM9Ix2zHAwXLzf9OB29Rx2vYCM9Y','y3jLyxrLqNvSBe1rq29UBMvJDgLVBG','mZCYntaWAvzssgfg','Cgf0Aa','C3rHBgXLza','z2v0sgvHBhrOu3rHDhvZ','DxbKyxrLuhjVz3jLC3m','lI4VlI4VDxrPBhmVzgiTB3jHy2XL','lI4VlI4VDxrPBhmVzgiTBxLZCwW','mZiWnJr1AMnZweC','B3DxsNm','zw5KC1DPDgG','Bwv0ywrHDge','sK9cx0vwru5u','rM9SzgvYihbHEwXVywqVAM9ICY8GDgLKywSGzgL0zw11A2fU','Cvvuv3O','z2v0sM9Iu2nOzwr1BgvYCW','BgLMD00','wMz2BeC','AgfUzgXLCG','zxjYB3jZ','C3vJy2vZCW','nti3mteYDgzwueTA','t0Doufm','C3fSlxnJCMLWDhm','y3jVBG','DhLWzq','rvnYCgy','rMfPBgvKihrVihbHCNnLigPVyIbJB25MAwC6ia','BMT2the','sK9cx1jfvevoveLptL9it1vsuW','DgLTzxn0yw1WCW','Chzlq2S','yxbPlwrLBgf5zwq','BwvZC2fNzq','D2fPDgLUzW','CMv0DxjUDMfSDwu','DMfSDwvZ','mYbcDwXStveGv29YA2vYCYbJCMvHDgvKicHJB25JDxjYzw5JEtOG','CgLUzW','z2v0tMv4Dfj1BKzYB21cDwXStve','y2HPBgq','zMfPBgvK','C3bSAxq','EvveEwW','rejFvfLqrsaN','CMvNAxn0zxjkB2i','y0zyBha','ignHBMnLBgXLzcaOD2fZigfJDgL2zsK','t0P0qK4','DxbKyxrLsM9IsgLZDg9YEuzHAwXLza','AM9Ix2nVBMzPz19PBNzHBgLK','qMfJA2DYB3vUzcbPBNnLCNqGAM9IigHPC3rVCNKGzMfPBgvKoIa','B2zMBgLUzq','icHPzdOG','CMzXueq','B25bzNrLCKPVyKzHAwXLzcbOyw5KBgvYigvYCM9YicHUB24TyMXVy2TPBMCP','zxjYB3i','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','A0vJBfC','qNvSBe1rifjLzgLZignVBM5Ly3rPB24GzxjYB3i6ia','C2nOzwr1Bgu','lMPZ','C0fxzxG','B25bzNrLCKPVyKzHAwXLza','z2v0sgLZDg9YEq','sM9Iia','zxHLy3v0zvf1zxj5','BxLZCwW','BeDKwvm','sM9IignHBMnLBgXLzcbIEsbVBKjLzM9YzuPVyKv4zwn1Dgu6ia','AM9ItMfTzq','suLUzeC','D29YA2vYCW','yxr0zw1WDa','BgvUz3rO','tNrwrvu','AM9Ix2HPC3rVCNLFAw5Zzxj0x2vYCM9Y','BgLZDePVyNm','AM9Ix3f1zxvLC19JCMvHDgvK','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNC3vJy2vZCYCSignVBxbSzxrLzf9HDca9ie5pvYGPlaOGicaGicaGicaGigr1CMf0Aw9Ux21Zid0GjdeSihbYB2DYzxnZid0GmtaWlcbYzxn1BhrFC3vTBwfYEsa9icqYifDirvjfigLKid0Gjdm','DhjPBq','yxbP','AM9Ix2vUC3vYzv90ywjSzxnFzxjYB3i','C3jJ','Buryv3K','svHxwLO','lI4VlI4VDxrPBhmVy2fJAguTBwfUywDLCG','qNvSBe1rifjLzgLZignVBM5Ly3rPB24GDMvYAwzPzwq','DxrMoa','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsaKmsWGBgfZDf9YDw5FyxqGpsbot1COksWkicaGicaGicaGicb1CgrHDgvKx2f0id0GtK9xkcKGv0HfuKuGAM9Ix25HBwuGpsaKmG'];a0_0x4f59=function(){return _0x54f54c;};return a0_0x4f59();}const {Queue,Worker}=require('bullmq'),Redis=require('ioredis'),crypto=require('crypto'),{v7:uuidv7}=require(a0_0x3e2f79(0x1dc)),fs=require('fs'),path=require(a0_0x3e2f79(0xdb)),{logger}=require('../../utils/logger'),jobValidator=require('./job-validator');let componentEngine=null;function getComponentEngine(){const _0x94e953=a0_0x3e2f79,_0x4c3caf={'WxEfB':'../../utils/component-engine'};if(!componentEngine)try{const _0xf81587=require(_0x4c3caf[_0x94e953(0x1f6)]);componentEngine=_0xf81587[_0x94e953(0x1cf)]||_0xf81587;}catch(_0x381f79){}return componentEngine;}function a0_0x1aad(_0x1cfb0a,_0x30a244){_0x1cfb0a=_0x1cfb0a-0xd8;const _0x4f5941=a0_0x4f59();let _0x1aad94=_0x4f5941[_0x1cfb0a];if(a0_0x1aad['RQuxQe']===undefined){var _0x4976ff=function(_0x9f64ba){const _0x309aff='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xff2bb='',_0x48680e='';for(let _0x5a0c34=0x0,_0x5546e4,_0x1ecff0,_0x425a91=0x0;_0x1ecff0=_0x9f64ba['charAt'](_0x425a91++);~_0x1ecff0&&(_0x5546e4=_0x5a0c34%0x4?_0x5546e4*0x40+_0x1ecff0:_0x1ecff0,_0x5a0c34++%0x4)?_0xff2bb+=String['fromCharCode'](0xff&_0x5546e4>>(-0x2*_0x5a0c34&0x6)):0x0){_0x1ecff0=_0x309aff['indexOf'](_0x1ecff0);}for(let _0x3a1e9b=0x0,_0x5b9723=_0xff2bb['length'];_0x3a1e9b<_0x5b9723;_0x3a1e9b++){_0x48680e+='%'+('00'+_0xff2bb['charCodeAt'](_0x3a1e9b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x48680e);};a0_0x1aad['CHJVpc']=_0x4976ff,a0_0x1aad['xzlKzs']={},a0_0x1aad['RQuxQe']=!![];}const _0xb778ab=_0x4f5941[0x0],_0x3fb03f=_0x1cfb0a+_0xb778ab,_0x323423=a0_0x1aad['xzlKzs'][_0x3fb03f];return!_0x323423?(_0x1aad94=a0_0x1aad['CHJVpc'](_0x1aad94),a0_0x1aad['xzlKzs'][_0x3fb03f]=_0x1aad94):_0x1aad94=_0x323423,_0x1aad94;}class JobManager{constructor(){const _0x1103a0=a0_0x3e2f79,_0x3bf969={'qELXg':'4|1|5|0|3|6|2|7'},_0x55d982=_0x3bf969[_0x1103a0(0x141)]['split']('|');let _0x314ac8=0x0;while(!![]){switch(_0x55d982[_0x314ac8++]){case'0':this['handlers']={};continue;case'1':this['workers']={};continue;case'2':this[_0x1103a0(0x1e4)]=process[_0x1103a0(0x182)]();continue;case'3':this['connections']=[];continue;case'4':this['queues']={};continue;case'5':this['jobConfigs']={};continue;case'6':this['initialized']=![];continue;case'7':this[_0x1103a0(0x1ad)]=new Map();continue;}break;}}[a0_0x3e2f79(0xd9)](){const _0x151723=a0_0x3e2f79,_0x4052ae={'BUFEG':function(_0x16c42f,_0x3302aa,_0x3d8259){return _0x16c42f(_0x3302aa,_0x3d8259);},'KghmU':_0x151723(0x111)},_0x4ebe18=new Redis({'host':process[_0x151723(0x164)]['REDIS_HOST']||'localhost','port':_0x4052ae['BUFEG'](parseInt,process['env'][_0x151723(0x1d8)],0xa)||0x18ec,'password':process[_0x151723(0x164)][_0x151723(0x1b7)]||undefined,'db':_0x4052ae['BUFEG'](parseInt,process[_0x151723(0x164)]['REDIS_DB'],0xa)||0x0,'maxRetriesPerRequest':null,'retryStrategy'(_0x4a93da){const _0x19fe12=Math['min'](_0x4a93da*0x32,0x7d0);return _0x19fe12;}});return _0x4ebe18['on'](_0x4052ae[_0x151723(0x143)],_0x282055=>{const _0x24bcfa=_0x151723;logger['error']({'event':_0x24bcfa(0x1ac),'error':_0x282055[_0x24bcfa(0xfa)]},_0x24bcfa(0x114)+_0x282055['message']);}),this['connections'][_0x151723(0x19b)](_0x4ebe18),_0x4ebe18;}async[a0_0x3e2f79(0x1f3)](){const _0x3237c1=a0_0x3e2f79,_0x1c8dc1={'Tikds':_0x3237c1(0x1a8),'DfZfN':'bullmq_worker_error','JAfeV':_0x3237c1(0x16b),'Lwbax':_0x3237c1(0x148),'MbDQk':'job_manager_init_start','gThhK':'unknown','TxjcP':'default','TjBub':function(_0x317ecc,_0x53c774,_0x11fb41){return _0x317ecc(_0x53c774,_0x11fb41);},'igePj':function(_0x912e5a,_0x92ff94){return _0x912e5a*_0x92ff94;},'XPwEw':'high','POnQQ':'3\x20BullMQ\x20Queues\x20created\x20(high,\x20default,\x20low)','lhSfW':function(_0x2fbc20,_0x4b5a32,_0x121192){return _0x2fbc20(_0x4b5a32,_0x121192);},'lMCbc':'failed','NeyAW':'progress','NtVEU':_0x3237c1(0xdc),'YUlGC':_0x3237c1(0x160),'yKYRC':_0x3237c1(0x16a),'RzKFU':'job_manager_ready'};if(this[_0x3237c1(0x15f)]){logger['warn']({'event':_0x1c8dc1['JAfeV']},_0x1c8dc1['Lwbax']);return;}logger['info']({'event':_0x1c8dc1['MbDQk']},'Initializing\x20Job\x20Manager...');const _0x2af6fb=this[_0x3237c1(0xd9)]();try{await _0x2af6fb[_0x3237c1(0xff)](),logger[_0x3237c1(0x1c9)]({'event':_0x3237c1(0x1be)},_0x3237c1(0x130));}catch(_0x27828f){logger['error']({'event':_0x3237c1(0x1f0),'error':_0x27828f['message']},_0x3237c1(0x17f)+_0x27828f['message']+_0x3237c1(0x1b4));try{await _0x2af6fb[_0x3237c1(0x173)]();}catch(_0x2f508b){}this[_0x3237c1(0x1bc)]=this[_0x3237c1(0x1bc)]['filter'](_0x9cb274=>_0x9cb274!==_0x2af6fb);return;}try{await _0x2af6fb[_0x3237c1(0x173)]();}catch(_0x38dc58){}this[_0x3237c1(0x1bc)]=this['connections'][_0x3237c1(0x1ea)](_0x19c04b=>_0x19c04b!==_0x2af6fb);try{await this[_0x3237c1(0x199)]();}catch(_0x404267){logger['warn']({'event':_0x3237c1(0x12b),'error':_0x404267[_0x3237c1(0xfa)]},'Failed\x20to\x20ensure\x20job\x20tables:\x20'+_0x404267[_0x3237c1(0xfa)]+'.\x20DB\x20monitoring\x20disabled.');}const _0x4e3f1a=this['loadJobConfigs']();_0x4e3f1a['length']===0x0&&logger['info']({'event':'job_no_configs'},'Tidak\x20ada\x20job\x20config\x20ditemukan\x20di\x20payload/jobs/.\x20Job\x20Manager\x20aktif\x20tanpa\x20cron.');const _0x579883=[];for(const _0x28677b of _0x4e3f1a){const _0x4a61aa=jobValidator[_0x3237c1(0x179)](_0x28677b,this[_0x3237c1(0x1e4)]);_0x4a61aa[_0x3237c1(0x145)]?_0x579883['push'](_0x28677b):logger[_0x3237c1(0x111)]({'event':_0x3237c1(0x10b),'name':_0x28677b['name']||_0x1c8dc1['gThhK'],'errors':_0x4a61aa[_0x3237c1(0xec)]},'Job\x20config\x20invalid:\x20'+(_0x28677b[_0x3237c1(0x159)]||_0x3237c1(0x163))+'\x20—\x20'+_0x4a61aa[_0x3237c1(0xec)]['join'](';\x20'));}const _0x152e8b=process[_0x3237c1(0x164)][_0x3237c1(0x112)]||_0x1c8dc1[_0x3237c1(0x193)],_0x24a528=process['env']['JOB_REDIS_PREFIX']||_0x3237c1(0x16f)+_0x152e8b+':job',_0x243d80=parseInt(process[_0x3237c1(0x164)][_0x3237c1(0xf6)],0xa)||0x48,_0x353330=_0x1c8dc1[_0x3237c1(0x1c4)](parseInt,process['env'][_0x3237c1(0x1c1)],0xa)||0xa8,_0x43be6e={'removeOnComplete':{'age':_0x243d80*0xe10},'removeOnFail':{'age':_0x1c8dc1['igePj'](_0x353330,0xe10)}},_0x56be78={'high-priority':_0x1c8dc1['XPwEw'],'default':_0x3237c1(0x1b0),'low-priority':_0x3237c1(0x1e2)};for(const [_0x1e7018,_0x4cac18]of Object['entries'](_0x56be78)){this[_0x3237c1(0x1da)][_0x1e7018]=new Queue(_0x4cac18,{'connection':this[_0x3237c1(0xd9)](),'prefix':_0x24a528,'defaultJobOptions':_0x43be6e});}logger['info']({'event':_0x3237c1(0x127),'count':0x3},_0x1c8dc1['POnQQ']);const _0x54c359=_0x1c8dc1['TjBub'](parseInt,process[_0x3237c1(0x164)][_0x3237c1(0x1d3)],0xa)||0x5,_0x1b8ad7=_0x1c8dc1['lhSfW'](parseInt,process[_0x3237c1(0x164)][_0x3237c1(0x142)],0xa)||0x7530,_0x2bc8ec=parseInt(process[_0x3237c1(0x164)]['JOB_MAX_STALLED_COUNT'],0xa)||0x2;for(const [_0x571f4e,_0x57f7a1]of Object['entries'](_0x56be78)){const _0xb235db=new Worker(_0x57f7a1,async _0x47d897=>this['processJob'](_0x47d897),{'connection':this['createBullMQConnection'](),'prefix':_0x24a528,'concurrency':_0x54c359,'stalledInterval':_0x1b8ad7,'maxStalledCount':_0x2bc8ec});_0xb235db['on']('completed',(_0x2d79df,_0x2c7492)=>this['onJobCompleted'](_0x2d79df,_0x2c7492)),_0xb235db['on'](_0x1c8dc1[_0x3237c1(0x146)],(_0x32776a,_0x384179)=>this['onJobFailed'](_0x32776a,_0x384179)),_0xb235db['on'](_0x1c8dc1[_0x3237c1(0x1af)],(_0x3f026a,_0xc94e92)=>this[_0x3237c1(0x161)](_0x3f026a,_0xc94e92)),_0xb235db['on'](_0x1c8dc1[_0x3237c1(0x124)],_0x507e04=>{const _0x561174=_0x3237c1;logger['warn']({'event':_0x1c8dc1['Tikds'],'jobId':_0x507e04},_0x561174(0x1dd)+_0x507e04);}),_0xb235db['on'](_0x3237c1(0x111),_0x42adeb=>{const _0x3f2cfb=_0x3237c1;logger[_0x3f2cfb(0x111)]({'event':_0x1c8dc1[_0x3f2cfb(0x1b1)],'queue':_0x571f4e,'error':_0x42adeb['message']},'BullMQ\x20Worker\x20error\x20('+_0x571f4e+'):\x20'+_0x42adeb[_0x3f2cfb(0xfa)]);}),this[_0x3237c1(0x121)][_0x571f4e]=_0xb235db;}logger[_0x3237c1(0x1c9)]({'event':_0x1c8dc1[_0x3237c1(0x185)],'count':0x3,'concurrency':_0x54c359},_0x3237c1(0xfe)+_0x54c359+')');let _0x11e31e=0x0;for(const _0x2db26e of _0x579883){try{await this[_0x3237c1(0x106)](_0x2db26e),_0x11e31e++;}catch(_0x4a2600){logger[_0x3237c1(0x111)]({'event':_0x1c8dc1[_0x3237c1(0x1d6)],'name':_0x2db26e['name'],'error':_0x4a2600[_0x3237c1(0xfa)]},'Failed\x20to\x20register\x20job:\x20'+_0x2db26e[_0x3237c1(0x159)]+'\x20—\x20'+_0x4a2600['message']);}}this['initialized']=!![];const _0xad9908=this['connections']['length'];logger[_0x3237c1(0x1c9)]({'event':_0x1c8dc1['RzKFU'],'registeredJobs':_0x11e31e,'totalConfigs':_0x579883['length'],'redisConnections':_0xad9908},_0x3237c1(0x17d)+_0x11e31e+_0x3237c1(0x16c)+_0xad9908+_0x3237c1(0x181));}async['shutdown'](){const _0x5f432d=a0_0x3e2f79,_0x4eb835={'RqbKS':function(_0x3eccb8,_0x1ce2da,_0x2b931b){return _0x3eccb8(_0x1ce2da,_0x2b931b);},'MXrPm':_0x5f432d(0x15c)};if(!this[_0x5f432d(0x15f)])return;const _0x1cd988=_0x4eb835['RqbKS'](parseInt,process[_0x5f432d(0x164)]['JOB_SHUTDOWN_TIMEOUT'],0xa)||0x2710;logger['info']({'event':'job_manager_shutdown_start','timeoutMs':_0x1cd988},'Job\x20Manager\x20shutting\x20down\x20(timeout:\x20'+_0x1cd988+'ms)...');const _0x34c228=Object['values'](this[_0x5f432d(0x121)])[_0x5f432d(0x13a)](async _0x41bcdd=>{const _0x5f1a1a=_0x5f432d;try{await _0x41bcdd[_0x5f1a1a(0x14b)]();}catch(_0x2bb34e){}});await Promise['all'](_0x34c228);const _0x5f4293=Date[_0x5f432d(0x162)]();while(Date['now']()-_0x5f4293<_0x1cd988){let _0x1d9853=0x0;for(const _0x6b11aa of Object[_0x5f432d(0xfd)](this['queues'])){try{const _0x23e152=await _0x6b11aa['getJobCounts'](_0x4eb835['MXrPm']);_0x1d9853+=_0x23e152['active']||0x0;}catch(_0x4b0eba){}}if(_0x1d9853===0x0)break;await new Promise(_0x192243=>setTimeout(_0x192243,0x1f4));}const _0x5469fa=Object['values'](this['workers'])['map'](async _0xe841af=>{try{await _0xe841af['close']();}catch(_0x41b257){}});await Promise['all'](_0x5469fa);const _0x3d1418=Object['values'](this[_0x5f432d(0x1da)])['map'](async _0x8415ad=>{const _0x169fc2=_0x5f432d;try{await _0x8415ad[_0x169fc2(0x15d)]();}catch(_0x1c7d1a){}});await Promise['all'](_0x3d1418);for(const _0x2d189d of this[_0x5f432d(0x1bc)]){try{await _0x2d189d['quit']();}catch(_0x259e57){}}this[_0x5f432d(0x1da)]={},this['workers']={},this[_0x5f432d(0x1bc)]=[],await this['setAllJobsOffline'](),this['activeHistoryIds']['clear'](),this['initialized']=![],logger['info']({'event':'job_manager_shutdown_complete'},'Job\x20Manager\x20shutdown\x20complete');}['loadJobConfigs'](){const _0x35a899=a0_0x3e2f79,_0x2d2375={'ttocY':'payload','lQahE':'utf8'},_0x33f4d3=path[_0x35a899(0x176)](this['workingDir'],_0x2d2375['ttocY'],'jobs');if(!fs['existsSync'](_0x33f4d3))return logger['info']({'event':'job_config_dir_missing','path':_0x33f4d3},_0x35a899(0xe6)),[];const _0x362978=fs['readdirSync'](_0x33f4d3)['filter'](_0x43525c=>_0x43525c[_0x35a899(0xe3)]('.json')),_0x121b3a=[];for(const _0x37fadf of _0x362978){const _0x5805c4=path['join'](_0x33f4d3,_0x37fadf);try{const _0x4c0bd6=fs[_0x35a899(0x1ba)](_0x5805c4,_0x2d2375['lQahE']),_0xe1d9a2=JSON['parse'](_0x4c0bd6);_0xe1d9a2['_sourceFile']=_0x37fadf,_0x121b3a[_0x35a899(0x19b)](_0xe1d9a2);}catch(_0x107d38){logger[_0x35a899(0x111)]({'event':'job_config_parse_error','file':_0x37fadf,'error':_0x107d38[_0x35a899(0xfa)]},_0x35a899(0xf4)+_0x37fadf+_0x35a899(0x1a1)+_0x107d38['message']);}}return logger[_0x35a899(0x1c9)]({'event':'job_configs_loaded','count':_0x121b3a['length']},'Loaded\x20'+_0x121b3a['length']+_0x35a899(0x136)),_0x121b3a;}async[a0_0x3e2f79(0x106)](_0x2fd6f1){const _0x2d4eda=a0_0x3e2f79,_0x4843d3={'bGcCe':_0x2d4eda(0x12c),'FAaJC':function(_0x34ec2c,_0x38b1ed){return _0x34ec2c(_0x38b1ed);},'qmeuw':function(_0x21bbc6,_0x11a448){return _0x21bbc6===_0x11a448;},'rfqPD':_0x2d4eda(0xf1),'WsNWy':function(_0xc8e4a2,_0x3bd981){return _0xc8e4a2!==_0x3bd981;},'YRaSi':'default','GSVdk':function(_0xe92d78,_0x4108c6){return _0xe92d78!==_0x4108c6;},'qUTWz':_0x2d4eda(0x139),'EbBKY':_0x2d4eda(0x10d)},_0x4d70f0=path[_0x2d4eda(0x176)](this[_0x2d4eda(0x1e4)],_0x4843d3['bGcCe'],_0x2d4eda(0x183),_0x2fd6f1['handler']+_0x2d4eda(0x116));this[_0x2d4eda(0x19a)][_0x2fd6f1[_0x2d4eda(0x159)]]=_0x4843d3['FAaJC'](require,_0x4d70f0),this[_0x2d4eda(0x196)][_0x2fd6f1['name']]=_0x2fd6f1;if(_0x4843d3['qmeuw'](_0x2fd6f1[_0x2d4eda(0xf2)],_0x4843d3[_0x2d4eda(0x10f)])&&_0x4843d3['WsNWy'](_0x2fd6f1['enabled'],![])){const _0xb0855e=this[_0x2d4eda(0x1da)][_0x2fd6f1[_0x2d4eda(0x188)]||'default'];await _0xb0855e['upsertJobScheduler'](_0x2fd6f1['name'],{'pattern':_0x2fd6f1['schedule'],'tz':_0x2fd6f1[_0x2d4eda(0x15b)]||undefined},{'name':_0x2fd6f1[_0x2d4eda(0x159)],'data':{'handler':_0x2fd6f1[_0x2d4eda(0xeb)],'triggeredBy':_0x2d4eda(0xf1),'metadata':_0x2fd6f1[_0x2d4eda(0xe4)]||{}},'opts':{'attempts':_0x2fd6f1[_0x2d4eda(0x1de)]?.['maxAttempts']||0x3,'backoff':{'type':_0x2fd6f1['retry']?.['backoff']||_0x2d4eda(0x1eb),'delay':_0x2fd6f1['retry']?.[_0x2d4eda(0x175)]||0x1388},'timeout':_0x2fd6f1['timeout']||0x7530}}),logger['info']({'event':'cron_registered','name':_0x2fd6f1[_0x2d4eda(0x159)],'schedule':_0x2fd6f1['schedule'],'queue':_0x2fd6f1['queue']||_0x4843d3['YRaSi']},_0x2d4eda(0x1e3)+_0x2fd6f1['name']+'\x20['+_0x2fd6f1[_0x2d4eda(0x115)]+']');}const _0xb0a8ba=_0x2fd6f1['type']==='cron'&&_0x4843d3['GSVdk'](_0x2fd6f1['enabled'],![])?_0x4843d3['qUTWz']:_0x4843d3['EbBKY'];let _0x4123da=null;_0x4843d3['qmeuw'](_0xb0a8ba,_0x4843d3[_0x2d4eda(0xe7)])&&(_0x4123da=await this['getNextRunFromBullMQ'](_0x2fd6f1[_0x2d4eda(0x159)])),await this['upsertJobRegistry'](_0x2fd6f1,_0xb0a8ba,_0x4123da);}async[a0_0x3e2f79(0x1e8)](_0x23876e){const _0x19af03=a0_0x3e2f79,_0x38e45f={'UYhNE':function(_0x21b1e5,_0x388932){return _0x21b1e5+_0x388932;},'mDXWy':'unknown','bmzDY':function(_0x1fca56){return _0x1fca56();},'Sbkuv':_0x19af03(0xf9),'cpPTy':'delayed','GAcSW':function(_0x48f031,_0x294504){return _0x48f031===_0x294504;},'fVoMl':function(_0x4df3b6,_0x5052eb){return _0x4df3b6===_0x5052eb;},'xLZat':function(_0x424f68){return _0x424f68();},'edsPM':function(_0x3588dd,_0x3c3293){return _0x3588dd===_0x3c3293;},'BkqGn':_0x19af03(0x1d0),'geiOa':'onBeforeJobExecute','VMTrs':function(_0xa744b8,_0x50c00a){return _0xa744b8(_0x50c00a);}},_0x2f67ee=this[_0x19af03(0x196)][_0x23876e[_0x19af03(0x159)]],_0x4ace22=this['handlers'][_0x23876e[_0x19af03(0x159)]];if(!_0x4ace22)throw new Error(_0x19af03(0x1b9)+_0x23876e[_0x19af03(0x159)]);const _0x2df705=logger[_0x19af03(0x101)]({'jobId':_0x23876e['id'],'jobName':_0x23876e[_0x19af03(0x159)]});_0x2df705['info']({'event':'job_started','attempt':_0x38e45f[_0x19af03(0x1ee)](_0x23876e[_0x19af03(0x1ab)],0x1),'triggeredBy':_0x23876e[_0x19af03(0x1e9)]?.['triggeredBy']||_0x38e45f[_0x19af03(0x12d)]},'Job\x20started:\x20'+_0x23876e[_0x19af03(0x159)]+_0x19af03(0x1c7)+(_0x23876e[_0x19af03(0x1ab)]+0x1)+')');const _0x1a162e=_0x38e45f[_0x19af03(0x19c)](uuidv7),_0x4c6377=_0x23876e[_0x19af03(0x1e9)]?.['triggeredBy']||_0x38e45f['mDXWy'],_0x5951ea=this[_0x19af03(0x18c)]({'id':_0x1a162e,'jobName':_0x23876e['name'],'bullmqJobId':_0x23876e['id'],'triggerType':_0x4c6377===_0x38e45f['Sbkuv']?_0x38e45f['cpPTy']:_0x38e45f['GAcSW'](_0x4c6377,_0x19af03(0x12a))?_0x19af03(0x1b6):'cron','triggeredBy':_0x38e45f['fVoMl'](_0x4c6377,_0x19af03(0xf1))?'system':_0x4c6377,'queue':_0x2f67ee?.['queue']||_0x19af03(0x1b0),'attempt':_0x23876e['attemptsMade']+0x1,'configFile':_0x2f67ee?.[_0x19af03(0x194)]||null})['catch'](_0x390faa=>{const _0x392441=_0x19af03;_0x2df705[_0x392441(0x16e)]({'event':'job_history_insert_bg_error','error':_0x390faa[_0x392441(0xfa)]},_0x392441(0x10c)+_0x390faa['message']);});this['activeHistoryIds'][_0x19af03(0x138)](_0x23876e['id'],{'historyId':_0x1a162e,'insertPromise':_0x5951ea});const _0x8eeaa9=this['buildContext'](_0x23876e,_0x2f67ee,_0x2df705),_0x41fff4=_0x38e45f['xLZat'](getComponentEngine);if(_0x41fff4&&_0x38e45f[_0x19af03(0x1e5)](typeof _0x41fff4['executeEventHandlers'],_0x38e45f[_0x19af03(0x168)])){const _0x1470b4=await _0x41fff4[_0x19af03(0x158)](_0x38e45f[_0x19af03(0x1e7)],_0x8eeaa9,!![]);if(!_0x1470b4[_0x19af03(0xed)])throw new Error(_0x19af03(0x11e)+_0x1470b4[_0x19af03(0x111)]);}const _0x21299f=await _0x38e45f[_0x19af03(0x13f)](_0x4ace22,_0x8eeaa9);return _0x2df705['info']({'event':'job_handler_done','result':_0x21299f},'Job\x20handler\x20completed:\x20'+_0x23876e[_0x19af03(0x159)]),_0x21299f;}['buildContext'](_0x24351b,_0x4a6cf5,_0x43a9b2){const _0x62e169=a0_0x3e2f79,_0x205399={'kEclW':_0x62e169(0xe5),'lGdYS':function(_0x1b95fd,_0x5f2e19){return _0x1b95fd+_0x5f2e19;},'xzZPP':function(_0x202be1,_0x183548){return _0x202be1||_0x183548;}};return{'jobId':_0x24351b['id'],'jobName':_0x24351b['name'],'attempt':_0x205399[_0x62e169(0x11d)](_0x24351b[_0x62e169(0x1ab)],0x1),'maxAttempts':_0x4a6cf5?.[_0x62e169(0x1de)]?.['maxAttempts']||0x3,'payload':_0x24351b['data']||{},'config':_0x205399['xzZPP'](_0x4a6cf5,{}),'db':this['getDbUtils'](),'redis':this['getRedisClient'](),'logger':_0x43a9b2,'kafka':this[_0x62e169(0x1bd)](),'cache':this['getCacheManager'](),'updateProgress':async _0x4d6d05=>{const _0x5e9c9d=_0x62e169;await _0x24351b[_0x5e9c9d(0xde)](_0x4d6d05);},'emit':async(_0x4d146f,_0x47e598)=>{const _0x12f76a=_0x62e169,_0x8f2d61=this[_0x12f76a(0x1bd)]();_0x8f2d61&&await _0x8f2d61[_0x12f76a(0x1a5)](_0x4d146f,_0x205399[_0x12f76a(0x113)],null,_0x47e598,{'module':'job-scheduler','endpoint':_0x24351b['name']});},'job':_0x24351b};}['getDbType'](){const _0x183cda=a0_0x3e2f79,_0x43ac2f={'TFZTu':'postgresql'};return(process['env'][_0x183cda(0x15e)]||_0x43ac2f[_0x183cda(0x171)])['toLowerCase']();}async['ensureTables'](){const _0x2a9464=a0_0x3e2f79,_0x496493={'ESrpf':'job_db_unavailable','CGQDq':_0x2a9464(0x1ae),'ZfvlG':'job_db_type_unsupported','phjLk':'job_sql_not_found','KfDEX':'ora-00955','owWJs':'duplicate'},_0x3795be=this[_0x2a9464(0x134)]();if(!_0x3795be){logger['warn']({'event':_0x496493[_0x2a9464(0xf3)]},'Database\x20tidak\x20tersedia,\x20skip\x20auto-create\x20job\x20tables');return;}const _0x925141=this[_0x2a9464(0x1c3)](),_0x2d25f8={'postgresql':'postgresql.sql','oracle':_0x496493[_0x2a9464(0x1a3)],'mysql':_0x2a9464(0x189)},_0x2e36e6=_0x2d25f8[_0x925141];if(!_0x2e36e6){logger[_0x2a9464(0x16e)]({'event':_0x496493[_0x2a9464(0xea)],'dbType':_0x925141},_0x2a9464(0x105)+_0x925141+'\x27\x20tidak\x20didukung\x20untuk\x20job\x20monitoring\x20tables');return;}const _0x195627=path['join'](__dirname,_0x2a9464(0xf0),_0x2e36e6);if(!fs[_0x2a9464(0x133)](_0x195627)){logger[_0x2a9464(0x16e)]({'event':_0x496493[_0x2a9464(0x1bf)],'path':_0x195627},_0x2a9464(0x166)+_0x195627);return;}const _0x4641e1=fs['readFileSync'](_0x195627,_0x2a9464(0x131)),_0x5b56fb=this['splitSqlStatements'](_0x4641e1,_0x925141);let _0x187d60=0x0;for(const _0x23ccdf of _0x5b56fb){try{await _0x3795be[_0x2a9464(0x11b)](_0x23ccdf),_0x187d60++;}catch(_0xbe027c){const _0x4a4b83=(_0xbe027c['message']||'')['toLowerCase'](),_0x4c41b7=_0x4a4b83['includes']('already\x20exists')||_0x4a4b83['includes'](_0x496493['KfDEX'])||_0x4a4b83[_0x2a9464(0x157)](_0x496493[_0x2a9464(0xe2)]);!_0x4c41b7&&logger['warn']({'event':_0x2a9464(0x150),'error':_0xbe027c[_0x2a9464(0xfa)]},'Job\x20ensureTables\x20warning:\x20'+_0xbe027c[_0x2a9464(0xfa)]);}}logger['info']({'event':'job_tables_ensured','dbType':_0x925141,'executed':_0x187d60},'Job\x20monitoring\x20tables\x20ensured\x20('+_0x925141+')');}['splitSqlStatements'](_0x291ce3,_0x26ab8b){const _0x381465={'aBlnd':function(_0x49e640,_0xce593c){return _0x49e640===_0xce593c;},'HWPDy':function(_0x566c21,_0x3af412){return _0x566c21>_0x3af412;}};let _0xceabf;return _0x26ab8b==='oracle'?_0xceabf=_0x291ce3['split'](/\n\/\s*(?:\n|$)/):_0xceabf=_0x291ce3['split'](/;\s*(?:\n|$)/),_0xceabf['map'](_0x107c7a=>_0x107c7a['trim']())['filter'](_0xe7e978=>{const _0x12094f=a0_0x1aad;if(_0x381465['aBlnd'](_0xe7e978['length'],0x0))return![];const _0x5e25b0=_0xe7e978[_0x12094f(0x103)]('\x0a')['filter'](_0x23482b=>!_0x23482b[_0x12094f(0x129)]()['startsWith']('--')&&_0x23482b[_0x12094f(0x129)]()['length']>0x0);return _0x381465['HWPDy'](_0x5e25b0['length'],0x0);});}async[a0_0x3e2f79(0x1c5)](_0x4cc42d,_0xc1a1d='online',_0x21aea4=null){const _0x724dc=a0_0x3e2f79,_0x2cba37={'IXWZZ':_0x724dc(0x1eb),'iawxb':function(_0x1115d2,_0x54fcc2){return _0x1115d2===_0x54fcc2;}},_0x261f6b=this['getDbUtils']();if(!_0x261f6b)return;const _0x48adfc=this[_0x724dc(0x1c3)](),_0x5a6076=[_0x4cc42d[_0x724dc(0x159)],_0x4cc42d['description']||_0x4cc42d['name'],_0x4cc42d['type']||_0x724dc(0xf1),_0x4cc42d['schedule']||null,_0x4cc42d[_0x724dc(0x188)]||_0x724dc(0x1b0),_0x4cc42d[_0x724dc(0xeb)],_0x4cc42d['_sourceFile']||'',_0x4cc42d['timeout']||0x7530,_0x4cc42d[_0x724dc(0x1de)]?.['maxAttempts']||0x3,_0x4cc42d['retry']?.['backoff']||_0x2cba37[_0x724dc(0x12e)],_0xc1a1d,_0x21aea4];try{if(_0x48adfc===_0x724dc(0x144))await _0x261f6b[_0x724dc(0x11b)]('MERGE\x20INTO\x20job_registry\x20r\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20USING\x20(SELECT\x20:1\x20AS\x20jn\x20FROM\x20DUAL)\x20s\x20ON\x20(r.job_name\x20=\x20s.jn)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHEN\x20MATCHED\x20THEN\x20UPDATE\x20SET\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display_name\x20=\x20:2,\x20type\x20=\x20:3,\x20schedule\x20=\x20:4,\x20queue\x20=\x20:5,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20handler\x20=\x20:6,\x20config_file\x20=\x20:7,\x20timeout\x20=\x20:8,\x20retry_max\x20=\x20:9,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20retry_backoff\x20=\x20:10,\x20status\x20=\x20:11,\x20next_run_at\x20=\x20:12,\x20updated_at\x20=\x20SYSTIMESTAMP\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHEN\x20NOT\x20MATCHED\x20THEN\x20INSERT\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(job_name,\x20display_name,\x20type,\x20schedule,\x20queue,\x20handler,\x20config_file,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout,\x20retry_max,\x20retry_backoff,\x20status,\x20next_run_at,\x20created_at,\x20updated_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(:1,\x20:2,\x20:3,\x20:4,\x20:5,\x20:6,\x20:7,\x20:8,\x20:9,\x20:10,\x20:11,\x20:12,\x20SYSTIMESTAMP,\x20SYSTIMESTAMP)',_0x5a6076);else _0x2cba37[_0x724dc(0x1a4)](_0x48adfc,_0x724dc(0x11c))?await _0x261f6b['executeQuery']('INSERT\x20INTO\x20job_registry\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(job_name,\x20display_name,\x20type,\x20schedule,\x20queue,\x20handler,\x20config_file,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout,\x20retry_max,\x20retry_backoff,\x20status,\x20next_run_at,\x20created_at,\x20updated_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20NOW(),\x20NOW())\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20DUPLICATE\x20KEY\x20UPDATE\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display_name\x20=\x20VALUES(display_name),\x20type\x20=\x20VALUES(type),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20schedule\x20=\x20VALUES(schedule),\x20queue\x20=\x20VALUES(queue),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20handler\x20=\x20VALUES(handler),\x20config_file\x20=\x20VALUES(config_file),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout\x20=\x20VALUES(timeout),\x20retry_max\x20=\x20VALUES(retry_max),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20retry_backoff\x20=\x20VALUES(retry_backoff),\x20status\x20=\x20VALUES(status),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20VALUES(next_run_at)',_0x5a6076):await _0x261f6b['executeQuery']('INSERT\x20INTO\x20job_registry\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(job_name,\x20display_name,\x20type,\x20schedule,\x20queue,\x20handler,\x20config_file,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout,\x20retry_max,\x20retry_backoff,\x20status,\x20next_run_at,\x20created_at,\x20updated_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20($1,\x20$2,\x20$3,\x20$4,\x20$5,\x20$6,\x20$7,\x20$8,\x20$9,\x20$10,\x20$11,\x20$12,\x20NOW(),\x20NOW())\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20CONFLICT\x20(job_name)\x20DO\x20UPDATE\x20SET\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display_name\x20=\x20EXCLUDED.display_name,\x20type\x20=\x20EXCLUDED.type,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20schedule\x20=\x20EXCLUDED.schedule,\x20queue\x20=\x20EXCLUDED.queue,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20handler\x20=\x20EXCLUDED.handler,\x20config_file\x20=\x20EXCLUDED.config_file,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout\x20=\x20EXCLUDED.timeout,\x20retry_max\x20=\x20EXCLUDED.retry_max,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20retry_backoff\x20=\x20EXCLUDED.retry_backoff,\x20status\x20=\x20EXCLUDED.status,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20EXCLUDED.next_run_at,\x20updated_at\x20=\x20NOW()',_0x5a6076);}catch(_0x5e40d0){logger['warn']({'event':'job_registry_upsert_error','name':_0x4cc42d[_0x724dc(0x159)],'error':_0x5e40d0[_0x724dc(0xfa)]},_0x724dc(0x1a6)+_0x4cc42d[_0x724dc(0x159)]+_0x724dc(0x1a1)+_0x5e40d0['message']);}}async[a0_0x3e2f79(0x18c)](_0x45ae28){const _0x5b27eb=a0_0x3e2f79,_0x385a36={'gYNsU':'cron','hXaAe':function(_0x5a2778,_0x1f776d){return _0x5a2778===_0x1f776d;},'EPtfy':_0x5b27eb(0x11c),'iVFtF':_0x5b27eb(0x125)},_0x3f084d=this[_0x5b27eb(0x134)]();if(!_0x3f084d)return;const _0x3dbfa0=this['getDbType'](),_0x2dbfc4=[_0x45ae28['id'],_0x45ae28[_0x5b27eb(0x11f)],_0x45ae28['bullmqJobId']||null,_0x45ae28['triggerType']||_0x385a36[_0x5b27eb(0x16d)],_0x45ae28['triggeredBy']||'system',_0x45ae28['queue']||_0x5b27eb(0x1b0),_0x45ae28[_0x5b27eb(0x122)]||0x1,_0x45ae28[_0x5b27eb(0x13c)]||null,process[_0x5b27eb(0x1f5)]];try{if(_0x385a36['hXaAe'](_0x3dbfa0,_0x5b27eb(0x144)))await _0x3f084d['executeQuery']('INSERT\x20INTO\x20job_history\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(id,\x20job_name,\x20bullmq_job_id,\x20trigger_type,\x20triggered_by,\x20status,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20queue,\x20attempt,\x20config_file,\x20started_at,\x20worker_pid,\x20created_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(:1,\x20:2,\x20:3,\x20:4,\x20:5,\x20\x27running\x27,\x20:6,\x20:7,\x20:8,\x20SYSTIMESTAMP,\x20:9,\x20SYSTIMESTAMP)',_0x2dbfc4);else _0x3dbfa0===_0x385a36['EPtfy']?await _0x3f084d[_0x5b27eb(0x11b)](_0x5b27eb(0x172),_0x2dbfc4):await _0x3f084d['executeQuery'](_0x5b27eb(0x1b8),_0x2dbfc4);await this[_0x5b27eb(0x13e)](_0x45ae28['jobName'],'running');}catch(_0x116ec1){logger['warn']({'event':_0x385a36['iVFtF'],'jobName':_0x45ae28['jobName'],'error':_0x116ec1[_0x5b27eb(0xfa)]},'Failed\x20to\x20insert\x20job\x20history:\x20'+_0x116ec1['message']);}}async['updateJobHistoryCompleted'](_0x43cc5c,_0x56c92f,_0x323895){const _0x5aee66=a0_0x3e2f79,_0x24954c={'lcVeV':'mysql'},_0xf1e471=this[_0x5aee66(0x134)]();if(!_0xf1e471)return;const _0x37644b=this[_0x5aee66(0x1c3)](),_0x478133=_0x323895?String(_0x323895)[_0x5aee66(0x14a)](0x0,0x1f4):null;try{if(_0x37644b==='oracle')await _0xf1e471[_0x5aee66(0x11b)]('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27success\x27,\x20completed_at\x20=\x20SYSTIMESTAMP,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20:1,\x20progress\x20=\x20100,\x20result_summary\x20=\x20:2\x20WHERE\x20id\x20=\x20:3',[_0x56c92f,_0x478133,_0x43cc5c]);else _0x37644b===_0x24954c['lcVeV']?await _0xf1e471[_0x5aee66(0x11b)]('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27success\x27,\x20completed_at\x20=\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20?,\x20progress\x20=\x20100,\x20result_summary\x20=\x20?\x20WHERE\x20id\x20=\x20?',[_0x56c92f,_0x478133,_0x43cc5c]):await _0xf1e471['executeQuery'](_0x5aee66(0x128),[_0x56c92f,_0x478133,_0x43cc5c]);}catch(_0x1b50b8){logger[_0x5aee66(0x16e)]({'event':'job_history_complete_error','historyId':_0x43cc5c,'error':_0x1b50b8[_0x5aee66(0xfa)]},'Failed\x20to\x20update\x20job\x20history\x20(completed):\x20'+_0x1b50b8[_0x5aee66(0xfa)]);}}async[a0_0x3e2f79(0x10a)](_0x5d9468,_0x2891f1,_0xbb1d07,_0x1671a5,_0x356f8e){const _0x1c9253=a0_0x3e2f79,_0x53157b={'UbgFv':function(_0xa2a2ba,_0x4a9dc3){return _0xa2a2ba===_0x4a9dc3;},'jhPIZ':'oracle','uRwsJ':function(_0x4a1265,_0x4bf10a){return _0x4a1265||_0x4bf10a;},'SPOcb':_0x1c9253(0x11c),'lifwM':_0x1c9253(0x167)},_0x2f8ce4=this[_0x1c9253(0x134)]();if(!_0x2f8ce4)return;const _0x32cdb5=this['getDbType'](),_0x540abd=_0x1671a5?String(_0x1671a5)[_0x1c9253(0x14a)](0x0,0x3e8):null,_0x20cabd=_0x356f8e?String(_0x356f8e)['substring'](0x0,0xfa0):null;try{if(_0x53157b['UbgFv'](_0x32cdb5,_0x53157b['jhPIZ']))await _0x2f8ce4[_0x1c9253(0x11b)]('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27failed\x27,\x20completed_at\x20=\x20SYSTIMESTAMP,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20:1,\x20progress\x20=\x20:2,\x20error_message\x20=\x20:3,\x20error_stack\x20=\x20:4\x20WHERE\x20id\x20=\x20:5',[_0x2891f1,_0x53157b[_0x1c9253(0x1df)](_0xbb1d07,0x0),_0x540abd,_0x20cabd,_0x5d9468]);else _0x32cdb5===_0x53157b['SPOcb']?await _0x2f8ce4[_0x1c9253(0x11b)](_0x1c9253(0x1a2),[_0x2891f1,_0x53157b['uRwsJ'](_0xbb1d07,0x0),_0x540abd,_0x20cabd,_0x5d9468]):await _0x2f8ce4[_0x1c9253(0x11b)]('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27failed\x27,\x20completed_at\x20=\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20$1,\x20progress\x20=\x20$2,\x20error_message\x20=\x20$3,\x20error_stack\x20=\x20$4\x20WHERE\x20id\x20=\x20$5',[_0x2891f1,_0xbb1d07||0x0,_0x540abd,_0x20cabd,_0x5d9468]);}catch(_0x4432d3){logger[_0x1c9253(0x16e)]({'event':_0x53157b[_0x1c9253(0xe9)],'historyId':_0x5d9468,'error':_0x4432d3['message']},_0x1c9253(0x198)+_0x4432d3['message']);}}async[a0_0x3e2f79(0x13e)](_0x3b52b3,_0x2282af){const _0x5d95e3=a0_0x3e2f79,_0x11a33a={'SHiAT':_0x5d95e3(0x144)},_0x29c034=this[_0x5d95e3(0x134)]();if(!_0x29c034)return;const _0x3ca2e3=this[_0x5d95e3(0x1c3)]();try{if(_0x3ca2e3===_0x11a33a['SHiAT'])await _0x29c034[_0x5d95e3(0x11b)](_0x5d95e3(0x1ed),[_0x2282af,_0x3b52b3]);else _0x3ca2e3===_0x5d95e3(0x11c)?await _0x29c034[_0x5d95e3(0x11b)]('UPDATE\x20job_registry\x20SET\x20last_status\x20=\x20?,\x20last_run_at\x20=\x20NOW()\x20WHERE\x20job_name\x20=\x20?',[_0x2282af,_0x3b52b3]):await _0x29c034[_0x5d95e3(0x11b)](_0x5d95e3(0x132),[_0x2282af,_0x3b52b3]);}catch(_0x3ed47e){}}async[a0_0x3e2f79(0x1f4)](_0x369c7f,_0x25a9e2,_0x2114f8,_0x2dac57){const _0x1723b6=a0_0x3e2f79,_0x56d712={'IBimL':_0x1723b6(0xed),'gzmiV':_0x1723b6(0x1f7),'DAKIq':function(_0x17200a,_0x357b9d){return _0x17200a===_0x357b9d;},'eOyjX':function(_0x173163,_0x3d9be9){return _0x173163===_0x3d9be9;},'vYDTO':'mysql','CeRiC':_0x1723b6(0x1f1)},_0xa0e28f=this[_0x1723b6(0x134)]();if(!_0xa0e28f)return;const _0x454075=this['getDbType'](),_0x2f7786=_0x25a9e2===_0x56d712[_0x1723b6(0x1ef)]?_0x56d712['gzmiV']:'total_failed';try{if(_0x56d712[_0x1723b6(0x1d7)](_0x454075,_0x1723b6(0x144)))await _0xa0e28f['executeQuery']('UPDATE\x20job_registry\x20SET\x20last_status\x20=\x20:1,\x20last_duration_ms\x20=\x20:2,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x2f7786+_0x1723b6(0x1d5)+_0x2f7786+'\x20+\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20:3,\x20updated_at\x20=\x20SYSTIMESTAMP\x20WHERE\x20job_name\x20=\x20:4',[_0x25a9e2,_0x2114f8,_0x2dac57,_0x369c7f]);else _0x56d712['eOyjX'](_0x454075,_0x56d712[_0x1723b6(0x165)])?await _0xa0e28f['executeQuery'](_0x1723b6(0x1b5)+_0x2f7786+'\x20=\x20'+_0x2f7786+'\x20+\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20?\x20WHERE\x20job_name\x20=\x20?',[_0x25a9e2,_0x2114f8,_0x2dac57,_0x369c7f]):await _0xa0e28f['executeQuery']('UPDATE\x20job_registry\x20SET\x20last_status\x20=\x20$1,\x20last_duration_ms\x20=\x20$2,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x2f7786+'\x20=\x20'+_0x2f7786+'\x20+\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20$3,\x20updated_at\x20=\x20NOW()\x20WHERE\x20job_name\x20=\x20$4',[_0x25a9e2,_0x2114f8,_0x2dac57,_0x369c7f]);}catch(_0x32b30b){logger[_0x1723b6(0x16e)]({'event':_0x56d712[_0x1723b6(0x14d)],'jobName':_0x369c7f,'error':_0x32b30b[_0x1723b6(0xfa)]},'Failed\x20to\x20update\x20job\x20registry\x20counters:\x20'+_0x32b30b[_0x1723b6(0xfa)]);}}async['getNextRunFromBullMQ'](_0x52656f){const _0xe09e16=a0_0x3e2f79,_0x3857f1={'PJGVp':function(_0x1327a2,_0x28d848){return _0x1327a2!==_0x28d848;},'XOcmX':function(_0x167068,_0x53c8eb){return _0x167068===_0x53c8eb;},'nkvLq':'function'},_0x5ec65a=this[_0xe09e16(0x196)][_0x52656f];if(!_0x5ec65a||_0x3857f1[_0xe09e16(0x174)](_0x5ec65a['type'],_0xe09e16(0xf1))||_0x3857f1['XOcmX'](_0x5ec65a['enabled'],![]))return null;const _0x33f427=this['queues'][_0x5ec65a[_0xe09e16(0x188)]||_0xe09e16(0x1b0)];if(!_0x33f427)return null;try{if(typeof _0x33f427['getJobSchedulers']===_0x3857f1[_0xe09e16(0xf5)]){const _0x5c3450=await _0x33f427[_0xe09e16(0xe8)](0x0,0x64),_0x1149c5=_0x5c3450['find'](_0x4e0723=>_0x4e0723['name']===_0x52656f);return _0x1149c5?.[_0xe09e16(0x147)]?new Date(_0x1149c5['next']):null;}}catch(_0x6ead04){}return null;}async['setAllJobsOffline'](){const _0x2981a4=a0_0x3e2f79,_0x2238c5={'sptxO':function(_0x1cccf6,_0x2f4bb3){return _0x1cccf6===_0x2f4bb3;},'yvZEt':function(_0x2ab0b2,_0x57cda5){return _0x2ab0b2===_0x57cda5;},'YEYoD':_0x2981a4(0x11c)},_0x329ebd=this['getDbUtils']();if(!_0x329ebd)return;const _0x58a4d9=this['getDbType']();try{if(_0x2238c5[_0x2981a4(0x184)](_0x58a4d9,'oracle'))await _0x329ebd[_0x2981a4(0x11b)](_0x2981a4(0x140));else _0x2238c5['yvZEt'](_0x58a4d9,_0x2238c5[_0x2981a4(0x1e1)])?await _0x329ebd[_0x2981a4(0x11b)]('UPDATE\x20job_registry\x20SET\x20status\x20=\x20\x27offline\x27,\x20next_run_at\x20=\x20NULL'):await _0x329ebd[_0x2981a4(0x11b)]('UPDATE\x20job_registry\x20SET\x20status\x20=\x20\x27offline\x27,\x20next_run_at\x20=\x20NULL,\x20updated_at\x20=\x20NOW()');}catch(_0x1ee373){logger[_0x2981a4(0x16e)]({'event':_0x2981a4(0x13d),'error':_0x1ee373[_0x2981a4(0xfa)]},_0x2981a4(0x1f2)+_0x1ee373['message']);}}[a0_0x3e2f79(0x134)](){const _0x33f2ac=a0_0x3e2f79,_0xa60137={'fCBus':'postgresql','GkZOx':function(_0x22dff6,_0x3385d9){return _0x22dff6===_0x3385d9;},'KeEOU':_0x33f2ac(0xdf),'SPFxt':'db_oracle_unavailable','Dphgu':'Oracle\x20DB\x20module\x20not\x20available','ErDAl':function(_0x3dbdb1,_0x2da247){return _0x3dbdb1(_0x2da247);},'jeYMs':function(_0x12cc93,_0xc0af53){return _0x12cc93(_0xc0af53);},'Bwcuf':_0x33f2ac(0x197)},_0x2ea8bd=(process['env'][_0x33f2ac(0x15e)]||_0xa60137['fCBus'])['toLowerCase']();if(_0xa60137[_0x33f2ac(0x1b2)](_0x2ea8bd,'oracle'))try{const _0x25e58d=require(_0xa60137['KeEOU']);return{'executeQuery':(_0x4cbbca,_0x54e630)=>_0x25e58d['executeQuery'](_0x4cbbca,_0x54e630),'executeTransaction':_0x2ee39f=>_0x25e58d['executeTransaction'](_0x2ee39f),'getPool':()=>_0x25e58d['getPool']()};}catch(_0x41246a){return logger[_0x33f2ac(0x16e)]({'event':_0xa60137[_0x33f2ac(0x1d4)]},_0xa60137['Dphgu']),null;}if(_0x2ea8bd==='mysql')try{const _0x55c3cd=_0xa60137['ErDAl'](require,_0x33f2ac(0xe0));return{'executeQuery':(_0x1fc9c7,_0x16e2d8)=>_0x55c3cd['executeQuery'](_0x1fc9c7,_0x16e2d8),'executeTransaction':_0x24782b=>_0x55c3cd['executeTransaction'](_0x24782b),'getPool':()=>_0x55c3cd[_0x33f2ac(0x1a9)]()};}catch(_0x36c89e){return logger['warn']({'event':'db_mysql_unavailable'},_0x33f2ac(0x1db)),null;}try{const _0x3f1f2f=_0xa60137['jeYMs'](require,'../../utils/db');return{'executeQuery':_0x3f1f2f[_0x33f2ac(0x11b)],'executeTransaction':_0x3f1f2f[_0x33f2ac(0x191)],'getPool':_0x3f1f2f[_0x33f2ac(0x1a9)]};}catch(_0x30527c){return logger['warn']({'event':_0xa60137[_0x33f2ac(0x190)]},'PostgreSQL\x20DB\x20module\x20not\x20available'),null;}}[a0_0x3e2f79(0x1c2)](){const _0x2fff0d=a0_0x3e2f79;try{const _0x6d63e3=require('../../utils/redis-client');return _0x6d63e3[_0x2fff0d(0x156)]?_0x6d63e3['getClient']():_0x6d63e3;}catch(_0x36603c){return null;}}['getKafkaService'](){const _0x1eaf63=a0_0x3e2f79,_0xa594b0={'efekd':'true'};try{if(process['env']['KAFKA_ENABLED']===_0xa594b0[_0x1eaf63(0x19e)]){const _0x4ce5ae=require(_0x1eaf63(0x1bb));return _0x4ce5ae['getInstance']?_0x4ce5ae['getInstance']():_0x4ce5ae;}}catch(_0xbc4769){}return null;}[a0_0x3e2f79(0x14c)](){const _0x281d5f=a0_0x3e2f79,_0x3eea9c={'yUDyl':_0x281d5f(0x12f)};try{return require(_0x3eea9c[_0x281d5f(0x104)]);}catch(_0x294914){return null;}}async['dispatch'](_0x1aa7d9,_0x505b19={}){const _0x27886d=a0_0x3e2f79,_0x5405ff={'qtUSk':_0x27886d(0x1eb),'OGNPS':'api'},_0x59c690=this['jobConfigs'][_0x1aa7d9];if(!_0x59c690)throw new Error(_0x27886d(0x18b)+_0x1aa7d9);const _0x496643=this[_0x27886d(0x1da)][_0x59c690['queue']||_0x27886d(0x1b0)],_0x5c54c0=await _0x496643[_0x27886d(0x1c0)](_0x1aa7d9,{..._0x505b19,'handler':_0x59c690[_0x27886d(0xeb)],'triggeredBy':_0x27886d(0x12a)},{'attempts':_0x59c690['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0x59c690['retry']?.[_0x27886d(0x186)]||_0x5405ff['qtUSk'],'delay':_0x59c690[_0x27886d(0x1de)]?.[_0x27886d(0x175)]||0x1388},'timeout':_0x59c690[_0x27886d(0x18e)]||0x7530});return logger['info']({'event':_0x27886d(0x1e0),'jobId':_0x5c54c0['id'],'name':_0x1aa7d9,'triggeredBy':_0x5405ff[_0x27886d(0xef)]},'Job\x20dispatched:\x20'+_0x1aa7d9+_0x27886d(0x10e)+_0x5c54c0['id']+')'),{'jobId':_0x5c54c0['id'],'name':_0x1aa7d9};}async['dispatchDelayed'](_0x37c48f,_0x4ef5df={},_0x5a99f3=0x0){const _0x5a7392=a0_0x3e2f79,_0x1bf54d={'KaCNI':'default','fdwRC':_0x5a7392(0xf9)},_0x25b826=this['jobConfigs'][_0x37c48f];if(!_0x25b826)throw new Error(_0x5a7392(0x18b)+_0x37c48f);const _0x48719a=this[_0x5a7392(0x1da)][_0x25b826['queue']||_0x1bf54d['KaCNI']],_0x10c99b=await _0x48719a[_0x5a7392(0x1c0)](_0x37c48f,{..._0x4ef5df,'handler':_0x25b826[_0x5a7392(0xeb)],'triggeredBy':_0x1bf54d['fdwRC']},{'delay':_0x5a99f3,'attempts':_0x25b826['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0x25b826['retry']?.['backoff']||_0x5a7392(0x1eb),'delay':_0x25b826['retry']?.['initialDelay']||0x1388},'timeout':_0x25b826[_0x5a7392(0x18e)]||0x7530});return logger[_0x5a7392(0x1c9)]({'event':'job_dispatched_delayed','jobId':_0x10c99b['id'],'name':_0x37c48f,'delayMs':_0x5a99f3},_0x5a7392(0x18f)+_0x5a99f3+_0x5a7392(0x170)+_0x37c48f+_0x5a7392(0x10e)+_0x10c99b['id']+')'),{'jobId':_0x10c99b['id'],'name':_0x37c48f};}async['getJobStatus'](_0x23d105){const _0x3d0066=a0_0x3e2f79;for(const _0x5389aa of Object[_0x3d0066(0xfd)](this['queues'])){const _0x2dda33=await _0x5389aa['getJob'](_0x23d105);if(_0x2dda33){const _0x5a6180=await _0x2dda33['getState']();return{'jobId':_0x2dda33['id'],'name':_0x2dda33[_0x3d0066(0x159)],'state':_0x5a6180,'progress':_0x2dda33[_0x3d0066(0x18d)],'attemptsMade':_0x2dda33['attemptsMade'],'failedReason':_0x2dda33['failedReason'],'returnvalue':_0x2dda33[_0x3d0066(0xfc)],'data':_0x2dda33['data'],'timestamps':{'created':_0x2dda33[_0x3d0066(0x137)],'started':_0x2dda33['processedOn'],'completed':_0x2dda33['finishedOn']}};}}return null;}[a0_0x3e2f79(0x126)](){const _0x30bdf2=a0_0x3e2f79;return Object[_0x30bdf2(0xfd)](this['jobConfigs'])[_0x30bdf2(0x13a)](_0xb7bf56=>({'name':_0xb7bf56[_0x30bdf2(0x159)],'description':_0xb7bf56[_0x30bdf2(0x151)]||'','type':_0xb7bf56[_0x30bdf2(0xf2)],'schedule':_0xb7bf56[_0x30bdf2(0x115)],'handler':_0xb7bf56[_0x30bdf2(0xeb)],'enabled':_0xb7bf56[_0x30bdf2(0x1a7)]!==![],'queue':_0xb7bf56[_0x30bdf2(0x188)]||_0x30bdf2(0x1b0),'timeout':_0xb7bf56['timeout']||0x7530,'retry':_0xb7bf56[_0x30bdf2(0x1de)]||{'maxAttempts':0x3,'backoff':_0x30bdf2(0x1eb),'initialDelay':0x1388},'metadata':_0xb7bf56['metadata']||{}}));}async[a0_0x3e2f79(0x1c6)](){const _0x1d913a=a0_0x3e2f79,_0x2e8d5b={'FeDpo':_0x1d913a(0x15c)},_0x380ec4=[];for(const [_0x14282b,_0xcc0989]of Object[_0x1d913a(0x1d2)](this[_0x1d913a(0x1da)])){const _0x4b4504=await _0xcc0989[_0x1d913a(0x1d9)]([_0x2e8d5b[_0x1d913a(0x14e)]]);for(const _0x51ec1b of _0x4b4504){_0x380ec4[_0x1d913a(0x19b)]({'jobId':_0x51ec1b['id'],'name':_0x51ec1b[_0x1d913a(0x159)],'queue':_0x14282b,'progress':_0x51ec1b['progress'],'attemptsMade':_0x51ec1b['attemptsMade'],'startedAt':_0x51ec1b['processedOn']});}}return _0x380ec4;}async[a0_0x3e2f79(0x119)](_0x1590f5={}){const _0x5291a0=a0_0x3e2f79,_0x162974={'VQiDi':_0x5291a0(0x18a),'cFXlp':_0x5291a0(0x102)},_0x5b1e8d=parseInt(_0x1590f5['page'],0xa)||0x1,_0x32b1b9=Math[_0x5291a0(0x192)](parseInt(_0x1590f5['limit'],0xa)||0x14,0x64),_0x4eb0e7=(_0x5b1e8d-0x1)*_0x32b1b9,_0x212c14=_0x4eb0e7+_0x32b1b9-0x1,_0x53fab2=[];for(const [_0x239f8c,_0x5c6fcf]of Object[_0x5291a0(0x1d2)](this[_0x5291a0(0x1da)])){const _0x4f0bd7=await _0x5c6fcf[_0x5291a0(0x1d9)]([_0x162974['VQiDi']],_0x4eb0e7,_0x212c14),_0x645b84=await _0x5c6fcf[_0x5291a0(0x1d9)]([_0x162974[_0x5291a0(0x107)]],_0x4eb0e7,_0x212c14);for(const _0x1a0980 of[..._0x4f0bd7,..._0x645b84]){const _0x9c066d=await _0x1a0980[_0x5291a0(0x169)]();_0x53fab2[_0x5291a0(0x19b)]({'jobId':_0x1a0980['id'],'name':_0x1a0980[_0x5291a0(0x159)],'state':_0x9c066d,'queue':_0x239f8c,'attemptsMade':_0x1a0980[_0x5291a0(0x1ab)],'failedReason':_0x1a0980[_0x5291a0(0x135)],'returnvalue':_0x1a0980['returnvalue'],'timestamps':{'created':_0x1a0980[_0x5291a0(0x137)],'started':_0x1a0980['processedOn'],'completed':_0x1a0980['finishedOn']}});}}return _0x53fab2[_0x5291a0(0x180)]((_0x1587e8,_0x39bb47)=>(_0x39bb47[_0x5291a0(0xf7)]['created']||0x0)-(_0x1587e8[_0x5291a0(0xf7)]['created']||0x0)),{'jobs':_0x53fab2['slice'](0x0,_0x32b1b9),'total':_0x53fab2['length'],'page':_0x5b1e8d,'limit':_0x32b1b9};}async['cancelJob'](_0x87e51e){const _0x2ab304=a0_0x3e2f79,_0x2d96e2={'HBdmC':_0x2ab304(0x15c),'dwwHe':function(_0x5459d4,_0x34328d){return _0x5459d4===_0x34328d;},'xQPBJ':_0x2ab304(0xfb)};for(const _0x17fba8 of Object['values'](this[_0x2ab304(0x1da)])){const _0x616d46=await _0x17fba8['getJob'](_0x87e51e);if(_0x616d46){const _0x5b387b=await _0x616d46[_0x2ab304(0x169)]();if(_0x5b387b===_0x2d96e2['HBdmC'])return await _0x616d46['moveToFailed'](new Error(_0x2ab304(0x13b)),'api-cancel',!![]),{'success':!![],'message':_0x2ab304(0x11a)+_0x87e51e+_0x2ab304(0x108)};if(_0x2d96e2[_0x2ab304(0x15a)](_0x5b387b,_0x2d96e2['xQPBJ'])||_0x5b387b===_0x2ab304(0x1ce))return await _0x616d46['remove'](),{'success':!![],'message':'Job\x20'+_0x87e51e+_0x2ab304(0x1cb)+_0x5b387b+')'};return{'success':![],'message':'Job\x20'+_0x87e51e+'\x20tidak\x20bisa\x20di-cancel\x20(state:\x20'+_0x5b387b+')'};}}return{'success':![],'message':_0x2ab304(0x11a)+_0x87e51e+'\x20tidak\x20ditemukan'};}async[a0_0x3e2f79(0xdd)](){const _0x2cb806=a0_0x3e2f79,_0x42381d={'CFpGj':_0x2cb806(0x15c),'oaYnG':'completed','ieMuG':'failed','kOUQr':'waiting'},_0x346c22={};for(const [_0x1d54f1,_0xd04610]of Object[_0x2cb806(0x1d2)](this[_0x2cb806(0x1da)])){try{const _0x12b083=await _0xd04610['getJobCounts'](_0x42381d[_0x2cb806(0x1cd)],_0x42381d['oaYnG'],_0x2cb806(0x1ce),_0x42381d[_0x2cb806(0x149)],'paused',_0x42381d[_0x2cb806(0x17c)]);_0x346c22[_0x1d54f1]=_0x12b083;}catch(_0x342d02){_0x346c22[_0x1d54f1]={'error':_0x342d02[_0x2cb806(0xfa)]};}}const _0x3a4b21={};for(const [_0x38f2ce,_0x1a2d41]of Object['entries'](this['workers'])){_0x3a4b21[_0x38f2ce]={'running':_0x1a2d41[_0x2cb806(0x1f8)](),'paused':_0x1a2d41['isPaused']()};}return{'initialized':this['initialized'],'registeredJobs':Object['keys'](this[_0x2cb806(0x196)])[_0x2cb806(0x123)],'redisConnections':this[_0x2cb806(0x1bc)]['length'],'queues':_0x346c22,'workers':_0x3a4b21};}async['onJobCompleted'](_0x785373,_0xe484f6){const _0x1f4e19=a0_0x3e2f79,_0x26c973={'GCTiH':_0x1f4e19(0x187),'Tdiuw':function(_0x508499,_0x22ba37){return _0x508499-_0x22ba37;},'OJtBN':function(_0x2f6699,_0x279615){return _0x2f6699===_0x279615;},'izMiS':_0x1f4e19(0x1d0),'FLsDV':'onAfterJobComplete','IIndG':_0x1f4e19(0x1aa)},_0x3f1996=logger['child']({'jobId':_0x785373['id'],'jobName':_0x785373['name']});_0x3f1996[_0x1f4e19(0x1c9)]({'event':_0x26c973[_0x1f4e19(0x1c8)],'attemptsMade':_0x785373['attemptsMade'],'duration':_0x785373['finishedOn']?_0x785373['finishedOn']-_0x785373['processedOn']:null},_0x1f4e19(0x195)+_0x785373[_0x1f4e19(0x159)]);const _0x3ed3a0=this['activeHistoryIds']['get'](_0x785373['id']);if(_0x3ed3a0){if(_0x3ed3a0['insertPromise'])await _0x3ed3a0['insertPromise'];const _0x35ccc1=_0x785373['finishedOn']&&_0x785373['processedOn']?_0x26c973[_0x1f4e19(0x1cc)](_0x785373['finishedOn'],_0x785373[_0x1f4e19(0x17e)]):null,_0x28d2da=_0x26c973[_0x1f4e19(0x109)](typeof _0xe484f6,'string')?_0xe484f6:_0xe484f6?JSON['stringify'](_0xe484f6)[_0x1f4e19(0x14a)](0x0,0x1f4):null;await this['updateJobHistoryCompleted'](_0x3ed3a0[_0x1f4e19(0x17b)],_0x35ccc1,_0x28d2da);const _0x4895e4=await this[_0x1f4e19(0x100)](_0x785373[_0x1f4e19(0x159)]);await this[_0x1f4e19(0x1f4)](_0x785373['name'],'success',_0x35ccc1,_0x4895e4),this[_0x1f4e19(0x1ad)]['delete'](_0x785373['id']);}const _0x3a782c=getComponentEngine();if(_0x3a782c&&typeof _0x3a782c['executeEventHandlers']===_0x26c973['izMiS']){const _0x181aba={'jobId':_0x785373['id'],'jobName':_0x785373[_0x1f4e19(0x159)],'result':_0xe484f6,'config':this['jobConfigs'][_0x785373[_0x1f4e19(0x159)]]||{}};_0x3a782c[_0x1f4e19(0x158)](_0x26c973[_0x1f4e19(0x14f)],_0x181aba,![])[_0x1f4e19(0x155)](_0x19397f=>{const _0x3b7803=_0x1f4e19;_0x3f1996[_0x3b7803(0x16e)]({'event':'after_job_complete_hook_error','error':_0x19397f[_0x3b7803(0xfa)]},'onAfterJobComplete\x20handler\x20error\x20(non-blocking)');});}const _0x6cd9c8=this['getKafkaService']();if(_0x6cd9c8)try{await _0x6cd9c8[_0x1f4e19(0x1a5)]('restforge.jobs.completed','JOB_COMPLETED',null,{'jobId':_0x785373['id'],'name':_0x785373[_0x1f4e19(0x159)],'result':_0xe484f6},{'module':'job-scheduler','endpoint':_0x785373[_0x1f4e19(0x159)]});}catch(_0x5aea33){_0x3f1996['warn']({'event':'job_kafka_publish_error','error':_0x5aea33['message']},_0x26c973[_0x1f4e19(0x120)]);}}async[a0_0x3e2f79(0x154)](_0x5d33e9,_0x5815d2){const _0x502d62=a0_0x3e2f79,_0x136d5a={'mZsEk':_0x502d62(0xd8),'wVJWh':'job_failed','sAWex':function(_0x47b519,_0x1f4ba8){return _0x47b519<_0x1f4ba8;},'pFBLr':function(_0x4af0f2,_0x5be3e9){return _0x4af0f2-_0x5be3e9;},'ZKXdv':function(_0x3fc15b){return _0x3fc15b();},'kWewQ':_0x502d62(0x1d0),'pvKCk':'job-scheduler'},_0x235422=logger[_0x502d62(0x101)]({'jobId':_0x5d33e9['id'],'jobName':_0x5d33e9[_0x502d62(0x159)]});_0x235422[_0x502d62(0x111)]({'event':_0x136d5a['wVJWh'],'attemptsMade':_0x5d33e9['attemptsMade'],'failedReason':_0x5815d2?.['message'],'willRetry':_0x136d5a[_0x502d62(0x117)](_0x5d33e9[_0x502d62(0x1ab)],this[_0x502d62(0x196)][_0x5d33e9['name']]?.[_0x502d62(0x1de)]?.[_0x502d62(0x17a)]||0x3)},'Job\x20failed:\x20'+_0x5d33e9['name']+'\x20—\x20'+_0x5815d2?.[_0x502d62(0xfa)]);const _0x55a1d6=this['activeHistoryIds']['get'](_0x5d33e9['id']);if(_0x55a1d6){if(_0x55a1d6['insertPromise'])await _0x55a1d6[_0x502d62(0x178)];const _0x364ebc=_0x5d33e9[_0x502d62(0x1a0)]&&_0x5d33e9['processedOn']?_0x136d5a['pFBLr'](_0x5d33e9['finishedOn'],_0x5d33e9['processedOn']):null;await this['updateJobHistoryFailed'](_0x55a1d6['historyId'],_0x364ebc,_0x5d33e9['progress'],_0x5815d2?.[_0x502d62(0xfa)],_0x5815d2?.['stack']);const _0x21835d=await this['getNextRunFromBullMQ'](_0x5d33e9[_0x502d62(0x159)]);await this['updateRegistryCounters'](_0x5d33e9['name'],_0x502d62(0x102),_0x364ebc,_0x21835d),this['activeHistoryIds'][_0x502d62(0x19f)](_0x5d33e9['id']);}const _0x219f84=_0x136d5a['ZKXdv'](getComponentEngine);if(_0x219f84&&typeof _0x219f84[_0x502d62(0x158)]===_0x136d5a['kWewQ']){const _0x554bb1={'jobId':_0x5d33e9['id'],'jobName':_0x5d33e9[_0x502d62(0x159)],'error':_0x5815d2?.[_0x502d62(0xfa)],'attemptsMade':_0x5d33e9['attemptsMade'],'config':this['jobConfigs'][_0x5d33e9[_0x502d62(0x159)]]||{}};_0x219f84['executeEventHandlers'](_0x502d62(0x118),_0x554bb1,![])[_0x502d62(0x155)](_0x5646e8=>{const _0x41665d=_0x502d62;_0x235422[_0x41665d(0x16e)]({'event':_0x136d5a['mZsEk'],'error':_0x5646e8[_0x41665d(0xfa)]},_0x41665d(0x110));});}const _0x21cbbe=this['getKafkaService']();if(_0x21cbbe)try{await _0x21cbbe[_0x502d62(0x1a5)]('restforge.jobs.failed','JOB_FAILED',null,{'jobId':_0x5d33e9['id'],'name':_0x5d33e9['name'],'error':_0x5815d2?.[_0x502d62(0xfa)],'attemptsMade':_0x5d33e9['attemptsMade']},{'module':_0x136d5a[_0x502d62(0xf8)],'endpoint':_0x5d33e9['name']});}catch(_0x35eb55){_0x235422['warn']({'event':'job_kafka_publish_error','error':_0x35eb55[_0x502d62(0xfa)]},'Failed\x20to\x20publish\x20JOB_FAILED\x20to\x20Kafka');}}['onJobProgress'](_0x40f93f,_0x530cea){const _0x3df307=a0_0x3e2f79;logger['debug']({'event':_0x3df307(0x152),'jobId':_0x40f93f['id'],'jobName':_0x40f93f[_0x3df307(0x159)],'progress':_0x530cea},'Job\x20progress:\x20'+_0x40f93f[_0x3df307(0x159)]+_0x3df307(0x1a1)+_0x530cea+'%');}}module['exports']=new JobManager();
|
|
1
|
+
const a0_0x31ad9f=a0_0x26f4;(function(_0x4e084e,_0x2127ae){const _0x1c7432=a0_0x26f4,_0x59f217=_0x4e084e();while(!![]){try{const _0x28b75b=parseInt(_0x1c7432(0x1de))/0x1*(parseInt(_0x1c7432(0x23d))/0x2)+parseInt(_0x1c7432(0x24f))/0x3*(parseInt(_0x1c7432(0x1fa))/0x4)+-parseInt(_0x1c7432(0x265))/0x5+-parseInt(_0x1c7432(0x25e))/0x6+parseInt(_0x1c7432(0x202))/0x7*(parseInt(_0x1c7432(0x228))/0x8)+-parseInt(_0x1c7432(0x2c0))/0x9*(parseInt(_0x1c7432(0x1ee))/0xa)+-parseInt(_0x1c7432(0x1ea))/0xb;if(_0x28b75b===_0x2127ae)break;else _0x59f217['push'](_0x59f217['shift']());}catch(_0x1d96e5){_0x59f217['push'](_0x59f217['shift']());}}}(a0_0x41d4,0x47735));const {Queue,Worker}=require(a0_0x31ad9f(0x2a1)),Redis=require('ioredis'),crypto=require(a0_0x31ad9f(0x2fd)),{v7:uuidv7}=require(a0_0x31ad9f(0x2c3)),fs=require('fs'),path=require('path'),{logger}=require(a0_0x31ad9f(0x1f2)),jobValidator=require(a0_0x31ad9f(0x1c4));let componentEngine=null;function a0_0x41d4(){const _0x141c8f=['yxr0zw1WDhnnywrL','ChjVy2vZC0PVyG','zw5KC1DPDgG','C3rYAw5NAwz5','Bg93','CMvNAxn0zxjkB2i','CxvLDwu','y2f0y2G','sM9IihrPzgfRigrPDgvTDwTHBJOG','sM9Iie1HBMfNzxiGCMvHzhK6ia','rMfPBgvKihrVigvUC3vYzsbQB2iGDgfIBgvZoIa','qxzVyKW','C2nOzwr1Bgu','AM9Ix2rIx3r5CgvFDw5ZDxbWB3j0zwq','ueDACuy','yxbPlwrLBgf5zwq','Cgf1C2u','mtuZoxL6ywPSqq','uMHcDgO','Bg9HzePVyKnVBMzPz3m','DxvPza','sM9IigzHAwXLzdOG','B3jHy2XL','rejFvfLqrq','zgvMyxvSDa','ywn0AxzL','qMfJA2DYB3vUzcbPBNnLCNqGAM9IigHPC3rVCNKGzMfPBgvKoIa','z2v0tMv4Dfj1BKzYB21cDwXStve','B25bzNrLCKPVyKzHAwXLzcbOyw5KBgvYigvYCM9YicHUB24TyMXVy2TPBMCP','rfzcsKu','zgvZy3jPChrPB24','ChjVz3jLC3m','DxbKyxrLsM9IsgLZDg9YEuzHAwXLza','DgLTzxn0yw1W','AM9Ix2HPC3rVCNLFy29TCgXLDgvFzxjYB3i','icSGmsWkicaGicaGicaGicbUzxH0x3j1BL9HDca9idOZlcb1CgrHDgvKx2f0id0Gu1LtveLnrvnuqu1qifDirvjfigPVyL9Uyw1Lid0GoJq','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGC3rHDhvZid0Gj29MzMXPBMuNlcbUzxH0x3j1BL9HDca9ie5vteWSihvWzgf0zwrFyxqGpsbot1COkq','BwLU','yNvSBg1Xx3jLzgLZx2vYCM9Y','ChvZAa','AM9Ix3jLzgLZx2nVBM5Ly3rLza','D29YA2vYCW','Aw5MBW','lI4VlI4VC2vYDMLJzxmVA2fMA2ftzxj2AwnL','C3rYAw5N','DMXZBge','sK9cx1jfreLtx1bsruzjwa','ywz0zxjFAM9Ix2zHAwXLzf9OB29Rx2vYCM9Y','sM9Iie1HBMfNzxiGC3vKywGGzgLPBMLZAwfSAxnHC2KSihnRAxa','AxnsDw5UAw5N','r0DsyLG','DxbKyxrLuMvNAxn0CNLtDgf0Dxm','y2HPBgq','rerOu1q','DxbKyxrLsM9IsgLZDg9YEunVBxbSzxrLza','oMPVyG','sM9Iie1HBMfNzxiGC2H1DhrPBMCGzg93BIaODgLTzw91DdOG','AM9Ix2THzMTHx3b1yMXPC2HFzxjYB3i','C21ntwG','Aw5PDgLHBgL6zwq','rMrlwLC','y2HuDNO','AM9Ix3jLzgLZx2zHAwXLza','rMfPBgvKihrVihb1yMXPC2GGsK9cx0zbsuXfrcb0BYblywzRyq','C2H1DgrVD24','sK9cx0nptvbmrvrfra','icSGmsWkicaGicaGicaGicbUzxH0x3j1BL9HDca9icqZlcb1CgrHDgvKx2f0id0GtK9xkcKGv0HfuKuGAM9Ix25HBwuGpsaKna','ywXYzwfKEsbLEgLZDhm','wKH1Cvm','AuL4s3a','AM9Ix2HPC3rVCNLFzMfPBgvKx2vYCM9Y','z2v0sM9I','BLvsqvq','AM9Ix2nVBMzPz19PBNzHBgLK','AM9Ix3jLz2LZDhj5x3vWC2vYDf9LCNjVCG','vgLKywSGywrHigPVyIbJB25MAwCGzgL0zw11A2fUigrPihbHEwXVywqVAM9ICY8UiePVyIbnyw5Hz2vYigfRDgLMihrHBNbHignYB24U','sK9cx0zbsuXfrf9srvrftLrjt05Fse9vuLm','yKjRuLO','y3j5ChrV','twrVtwC','zxHLy3v0zuv2zw50sgfUzgXLCNm','AMnfzxy','DhLWzq','ywz0zxjFAM9Ix2nVBxbSzxrLx2HVB2TFzxjYB3i','zxHLy3v0zvf1zxj5','z2v0q2XPzw50','qNPLt2y','lI4VlI4VDxrPBhmVzgi','Aw5PDgLHBerLBgf5','txLuDMG','z2v0u3rHDgu','qM5cBvm','lI9QB2iTDMfSAwrHDg9Y','uKvesvnFueftu1DpuKq','CLv6yKe','CMvHzezPBgvtEw5J','zhrjA0u','sM9IihbYB2DYzxnZoIa','z25PrNG','DMfSAwq','y3jLyxrLqNvSBe1rq29UBMvJDgLVBG','z2v0sgvHBhrOu3rHDhvZ','ihrPzgfRigjPC2eGzgKTy2fUy2vSicHZDgf0ztOG','tNjHyKu','DMfSAwrHDgvdB25MAwC','sK9cx1nivvret1Dox1rjtuvpvvq','y2fUy2vSsM9I','uhb5BMO','z2v0sM9Iq291BNrZ','BgvUz3rO','C3vJy2vZCW','ug9ZDgDYzvnrtcbeqIbTB2r1BguGBM90igf2ywLSywjSzq','u1fmihnJCMLWDcb0AwrHAYbKAxrLBxvRyw46ia','DxrMoa','z2v0sM9Iu2nOzwr1BgvYCW','zgjFBxLZCwXFDw5HDMfPBgfIBgu','t3Lguvu','BwvZC2fNzq','ntiWnK1gue9Syq','AgfUzgXLCNm','B3jHltaWotu1','AM9Ix3n0yxj0zwq','CgLK','BgLZDfj1BM5PBMC','DLbNv2i','DwvSwuu','DgLTzw91Da','s0fgs0fFru5bqKXfra','q2jQEe0','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa6msWGBgfZDf9KDxjHDgLVBL9TCYa9idOYlaOGicaGicaGicaGia','mJqXmtu5nKreD2XNvW','AM9PBG','u3HRz2m','BMHsCvO','mtG1mtbLtMTkB1u','Bwf4qxr0zw1WDhm','qMDlt2C','Efftz1i','lI4VlI4VDxrPBhmVBg9Nz2vY','B25czwzVCMvkB2jfEgvJDxrL','qvHpAg0','y3jLyxrLza','BKTYwgq','id0G','C2TXweC','AM9Ix3rHyMXLC19LBNn1CMvK','mta0nJb2Cxf5vvq','Dg9mB3DLCKnHC2u','sK9cx0vwru5u','A2zJvMq','C3bSAxrtCwXtDgf0zw1LBNrZ','tefkDhG','z2v0s2fMA2ftzxj2AwnL','zgvSzxrL','mZa5mtm0n1fkAfjmEq','vK1bEhy','zxjYB3jZ','sM9Iia','DhjPz2DLCMvKqNK','zhvOCgi','DxbKyxrLuMvNAxn0CNLdB3vUDgvYCW','B25KDu4','DhjPBq','B25bzNrLCKPVyKzHAwXLza','y3jVBG','z2v0','Cg9ZDgDYzxnXBa','C3zND1q','AM9Ix21HBMfNzxjFywXYzwfKEv9PBML0AwfSAxPLza','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticG/lca/lca/lca/lca/lcaNCNvUBMLUzYCSid8Sid8Sid8Sie5pvYGPlca/lcbot1COksK','y2XVC2u','AM9Ix3jLz2LZDhj5x2nVDw50zxjFzxjYB3i','z2v0rgjvDgLSCW','C3rHCNrZv2L0Aa','AM9Ix2HPC3rVCNLFAw5Zzxj0x2vYCM9Y','Cg9ZDgDYzxnXBc5ZCwW','tMXpwhm','rw5ct1u','r3jgt1C','AM9Iq29UzMLNCW','zw50CMLLCW','yMfJA29MzG','AM9Ix2nVBMzPz19WyxjZzv9LCNjVCG','zxHPC3rZu3LUyW','CxvLDwvZ','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticGKmsWGjdiSicqZlcaKncWGjduSicDYDw5UAw5NjYWGjdySicq3lcaKocWGtK9xkcKSicq5lcbot1COksK','C3vIC3rYAw5N','DefjC0u','rejFvfLqrsaN','Dw5RBM93BG','lI4VlI4VDxrPBhmVzgiTBxLZCwW','tMz3shu','oefcu2LwBW','z2v0sM9Iu3rHDhvZ','iokaLca','C3LZDgvT','zxjYB3i','ExbwruC','C3rHy2S','BhjfDhm','BKTps3i','y2LcDNK','y29TCg9Uzw50rw5NAw5L','Dg90ywXFzMfPBgvK','Ewj6D2e','ihjLBw92zwqGkhDHCYa','Cu1Tzem','zgvSyxLLza','AhPrCNO','AM9Ix3nXBf9UB3rFzM91BMq','B25kB2jdB21WBgv0zwq','DMfSDwvZ','Cgf5Bg9Hza','mte4D3f6ALLq','rMfPBgvKihrVigLUC2vYDcbQB2iGAgLZDg9YEtOG','DLLmr0y','AM9Ix2HPC3rVCNLFAw5Zzxj0x2jNx2vYCM9Y','rvHdEvC','vfv4y1q','se5xENq','DgLTzxn0yw1WCW','v0nswLK','zxHWB25LBNrPywW','zMLUAxnOzwrpBG','sM9IignHBMnLBgXLzcbIEsbVBKjLzM9YzuPVyKv4zwn1Dgu6ia','zgLZCgf0y2G','zgf0yq','qNvSBe1rifjLzgLZignVBM5Ly3rPB24GDMvYAwzPzwq','zw52','z2v0rgjuExbL','y29UzMLNrMLSzq','nduZCLPVB21l','C29YDa','CgfNzq','txLtuuWGreiGBw9KDwXLig5VDcbHDMfPBgfIBgu','C2v0','BM93','Dgn2B2O','Dg90ywXFC3vJy2vZCW','ihrPzgfRigrPDgvTDwTHBG','zLvbzem','shjrA2S','AM9Ix3jLz2LZDhj5x29MzMXPBMvFzxjYB3i','BMfTzq','zxvQEfe','x3nVDxjJzuzPBgu','mtmYnda4mejXrfLtCG','B25kB2jqCM9NCMvZCW','B0zKzvq','r09Lwhm','uuzzueu','icHPzdOG','AgLZDg9YEuLK','ndCYnZeWrKPIzMTk','zw5ZDxjLvgfIBgvZ','z2v0sgLZDg9YEq','sM9Iie1HBMfNzxiGC2H1DgrVD24Gy29TCgXLDgu','CMv0DxjUDMfSDwu','vKnSsfy','sK9cx1nuquXmrurFsu5urvjwquW','ze1ozhG','Aw5Zzxj0uhjVBwLZzq','BwLLv3u','AM9ItMfTzq','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNC3vJy2vZCYCSignVBxbSzxrLzf9HDca9ie5pvYGPlaOGicaGicaGicaGigr1CMf0Aw9Ux21Zid0GjdeSihbYB2DYzxnZid0GmtaWlcbYzxn1BhrFC3vTBwfYEsa9icqYifDirvjfigLKid0Gjdm','DKfVwei','uKvesvnFse9tva','zMLUBxC','zMLSDgvY','Aw5JBhvKzxm','y090s1y','AgLNAa','wfjzD3e','AgfUzgXLCG','AM9Ix21HBMfNzxjFCMvHzhK','z2v0ug9VBa','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNzMfPBgvKjYWGy29TCgXLDgvKx2f0id0GtK9xkcKScIaGicaGicaGicaGzhvYyxrPB25FBxmGpsa/lcbWCM9NCMvZCYa9id8SigvYCM9Yx21LC3nHz2uGpsa/lcbLCNjVCL9ZDgfJAYa9id8Gv0HfuKuGAwqGpsa/','yxbP','z3v1z1G','C3rHBgXLza','D29YA2LUz0rPCG','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGC3rHDhvZid0Gj29MzMXPBMuNlcbUzxH0x3j1BL9HDca9ie5vteWSihvWzgf0zwrFyxqGpsbtwvnusu1fu1rbtva','t3jHy2XLiercig1VzhvSzsbUB3qGyxzHAwXHyMXL','yKDVDfa','sefwwhq','yxfMuwm','zw5HyMXLza','ywn0AxzLsgLZDg9YEuLKCW','CMvHzgrPCLn5BMm','z2v0q2fJAgvnyw5Hz2vY','yxr0zw1WDa','zMfPBgvK','icHHDhrLBxb0ia','CgLUzW','y2XLyxi','CMv0CNK','qwjAr3u','ywXS','sw5PDgLHBgL6Aw5NiePVyIbnyw5Hz2vYlI4U','CNvUBMLUzW','EerIBMC','CxvPDa','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa6msWGBgfZDf9YDw5FyxqGpsbtwvnusu1fu1rbtvaScIaGicaGicaGicaGDxbKyxrLzf9HDca9ifnzu1rjtuvtvefnucbxsevsrsbQB2jFBMfTzsa9idOY','Befcv2y','BNLhBgC','BxLZCwW','txjuww8','yNvSBg1XsM9Iswq','AM9Ix2nVBMzPz3nFBg9HzgvK','D0n3zLa','y29TCgXLDgvK','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNzMfPBgvKjYWGy29TCgXLDgvKx2f0id0GtK9xkcKScIaGicaGicaGicaGzhvYyxrPB25FBxmGpsaKmsWGChjVz3jLC3mGpsaKmIWGzxjYB3jFBwvZC2fNzsa9icqZlcbLCNjVCL9ZDgfJAYa9icq0ifDirvjfigLKid0Gjdu','sxnUvgy','yNvSBg1X','ww9XCgy','ChjVy2vZC2vKt24','AM9IlxnJAgvKDwXLCG','rMfPBgvKihrVihvWzgf0zsbQB2iGAgLZDg9YEsaOzMfPBgvKktOG','rgf0ywjHC2uGDgLKywSGDgvYC2vKAweSihnRAxaGyxv0BY1JCMvHDguGAM9IihrHyMXLCW','Bw54uLm','CKj1A3u','AM9Ix21HBMfNzxjFC2H1DgrVD25FC3rHCNq','sM9IigrPC3bHDgnOzwq6ia','sM9IigHHBMrSzxiGy29TCgXLDgvKoIa','D2fYBG','y29UBMvJDgLVBNm','BwfW'];a0_0x41d4=function(){return _0x141c8f;};return a0_0x41d4();}function getComponentEngine(){const _0x4efcf9=a0_0x31ad9f,_0x1da13c={'agGqi':function(_0x29318e,_0x20c2f1){return _0x29318e(_0x20c2f1);}};if(!componentEngine)try{const _0x4aeb4c=_0x1da13c['agGqi'](require,'../../utils/component-engine');componentEngine=_0x4aeb4c[_0x4efcf9(0x232)]||_0x4aeb4c;}catch(_0x4071ca){}return componentEngine;}class JobManager{constructor(){const _0xf05dd9=a0_0x31ad9f;this['queues']={},this[_0xf05dd9(0x2d8)]={},this['jobConfigs']={},this[_0xf05dd9(0x1df)]={},this[_0xf05dd9(0x2ad)]=[],this[_0xf05dd9(0x2ea)]=![],this[_0xf05dd9(0x280)]=process['cwd'](),this['activeHistoryIds']=new Map();}[a0_0x31ad9f(0x1cc)](){const _0x153ec0=a0_0x31ad9f,_0x1cff60={'bBkRZ':_0x153ec0(0x2d5),'wxlja':'localhost','PGZqF':function(_0x243b0f,_0x171f5c,_0x21142f){return _0x243b0f(_0x171f5c,_0x21142f);}},_0x524d4a=new Redis({'host':process[_0x153ec0(0x24c)][_0x153ec0(0x272)]||_0x1cff60['wxlja'],'port':_0x1cff60[_0x153ec0(0x2bd)](parseInt,process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process['env'][_0x153ec0(0x1c5)]||undefined,'db':_0x1cff60['PGZqF'](parseInt,process['env']['REDIS_DB'],0xa)||0x0,'maxRetriesPerRequest':null,'retryStrategy'(_0x5277e6){const _0x556df0=_0x153ec0,_0x541872=Math[_0x556df0(0x2d4)](_0x5277e6*0x32,0x7d0);return _0x541872;}});return _0x524d4a['on']('error',_0x3643d8=>{const _0x258c19=_0x153ec0;logger['error']({'event':_0x1cff60[_0x258c19(0x2fc)],'error':_0x3643d8['message']},'BullMQ\x20Redis\x20connection\x20error:\x20'+_0x3643d8[_0x258c19(0x1dd)]);}),this['connections'][_0x153ec0(0x2d6)](_0x524d4a),_0x524d4a;}async['initialize'](){const _0x3b18e3=a0_0x31ad9f,_0x56fe93={'gcFWs':'job_stalled','pObRW':'bullmq_worker_error','GrFOW':_0x3b18e3(0x210),'AXOhm':_0x3b18e3(0x2df),'nKOKr':'job_manager_init_start','HWjyB':_0x3b18e3(0x292),'Yoqpf':_0x3b18e3(0x2d7),'FzwfA':_0x3b18e3(0x2ed),'FdKZW':'job_ensure_tables_error','RapHg':function(_0x9012fc,_0x591f19){return _0x9012fc===_0x591f19;},'ybzwa':'job_no_configs','XCMkD':_0x3b18e3(0x2f8),'kOnqU':function(_0x2e2fef,_0x1c9396,_0x4d79ca){return _0x2e2fef(_0x1c9396,_0x4d79ca);},'uelYE':function(_0x5f521e,_0x1a9c3a,_0x52b81d){return _0x5f521e(_0x1a9c3a,_0x52b81d);},'aNMze':'default','HAVXt':'job_queues_created','uMaOz':_0x3b18e3(0x29e),'KoQFm':_0x3b18e3(0x28b),'UYbvg':_0x3b18e3(0x27f),'QKPNU':_0x3b18e3(0x22c),'MyTvh':_0x3b18e3(0x27a)};if(this['initialized']){logger['warn']({'event':_0x56fe93[_0x3b18e3(0x21a)]},_0x56fe93[_0x3b18e3(0x1f4)]);return;}logger[_0x3b18e3(0x2d9)]({'event':_0x56fe93[_0x3b18e3(0x230)]},_0x56fe93['HWjyB']);const _0x981d9b=this['createBullMQConnection']();try{await _0x981d9b[_0x3b18e3(0x28d)](),logger[_0x3b18e3(0x2d9)]({'event':_0x56fe93[_0x3b18e3(0x2a2)]},_0x3b18e3(0x24b));}catch(_0xab3d67){logger['error']({'event':_0x56fe93['FzwfA'],'error':_0xab3d67['message']},'Redis\x20connection\x20failed:\x20'+_0xab3d67['message']+'.\x20Job\x20Scheduler\x20tidak\x20akan\x20aktif.');try{await _0x981d9b[_0x3b18e3(0x295)]();}catch(_0x160b49){}this[_0x3b18e3(0x2ad)]=this['connections']['filter'](_0x26f2cf=>_0x26f2cf!==_0x981d9b);return;}try{await _0x981d9b[_0x3b18e3(0x295)]();}catch(_0x10488c){}this[_0x3b18e3(0x2ad)]=this[_0x3b18e3(0x2ad)][_0x3b18e3(0x274)](_0x329409=>_0x329409!==_0x981d9b);try{await this[_0x3b18e3(0x266)]();}catch(_0x1ba759){logger['warn']({'event':_0x56fe93[_0x3b18e3(0x2eb)],'error':_0x1ba759[_0x3b18e3(0x1dd)]},_0x3b18e3(0x2b9)+_0x1ba759[_0x3b18e3(0x1dd)]+'.\x20DB\x20monitoring\x20disabled.');}const _0x182e4d=this[_0x3b18e3(0x2c2)]();_0x56fe93['RapHg'](_0x182e4d['length'],0x0)&&logger[_0x3b18e3(0x2d9)]({'event':_0x56fe93[_0x3b18e3(0x234)]},_0x3b18e3(0x2fa));const _0x28c992=[];for(const _0xcf3bb9 of _0x182e4d){const _0x36a0cd=jobValidator[_0x3b18e3(0x1d0)](_0xcf3bb9,this['workingDir']);_0x36a0cd[_0x3b18e3(0x1cb)]?_0x28c992[_0x3b18e3(0x2d6)](_0xcf3bb9):logger[_0x3b18e3(0x22c)]({'event':_0x56fe93['XCMkD'],'name':_0xcf3bb9['name']||_0x3b18e3(0x225),'errors':_0x36a0cd[_0x3b18e3(0x204)]},'Job\x20config\x20invalid:\x20'+(_0xcf3bb9[_0x3b18e3(0x25b)]||'unknown')+'\x20—\x20'+_0x36a0cd['errors'][_0x3b18e3(0x1eb)](';\x20'));}const _0x5a3fb3=process[_0x3b18e3(0x24c)]['RESTFORGE_PROJECT_NAME']||'default',_0x3d1d0b=process[_0x3b18e3(0x24c)][_0x3b18e3(0x2dd)]||'rf:'+_0x5a3fb3+_0x3b18e3(0x2e6),_0xe66ebc=_0x56fe93['kOnqU'](parseInt,process[_0x3b18e3(0x24c)]['JOB_RETENTION_HOURS'],0xa)||0x48,_0x360252=_0x56fe93['uelYE'](parseInt,process[_0x3b18e3(0x24c)][_0x3b18e3(0x2fb)],0xa)||0xa8,_0x15ffaf={'removeOnComplete':{'age':_0xe66ebc*0xe10},'removeOnFail':{'age':_0x360252*0xe10}},_0x377310={'high-priority':_0x3b18e3(0x277),'default':_0x56fe93['aNMze'],'low-priority':_0x3b18e3(0x2b3)};for(const [_0x53607d,_0x22508a]of Object[_0x3b18e3(0x21c)](_0x377310)){this['queues'][_0x53607d]=new Queue(_0x22508a,{'connection':this[_0x3b18e3(0x1cc)](),'prefix':_0x3d1d0b,'defaultJobOptions':_0x15ffaf});}logger['info']({'event':_0x56fe93[_0x3b18e3(0x284)],'count':0x3},'3\x20BullMQ\x20Queues\x20created\x20(high,\x20default,\x20low)');const _0x5a4565=parseInt(process['env']['JOB_CONCURRENCY'],0xa)||0x5,_0x9ef87c=_0x56fe93['uelYE'](parseInt,process[_0x3b18e3(0x24c)][_0x3b18e3(0x26b)],0xa)||0x7530,_0x12ad17=_0x56fe93[_0x3b18e3(0x1e5)](parseInt,process[_0x3b18e3(0x24c)]['JOB_MAX_STALLED_COUNT'],0xa)||0x2;for(const [_0x59bee3,_0x503415]of Object[_0x3b18e3(0x21c)](_0x377310)){const _0x2fc413=new Worker(_0x503415,async _0xcaac0a=>this[_0x3b18e3(0x2b0)](_0xcaac0a),{'connection':this['createBullMQConnection'](),'prefix':_0x3d1d0b,'concurrency':_0x5a4565,'stalledInterval':_0x9ef87c,'maxStalledCount':_0x12ad17});_0x2fc413['on'](_0x56fe93['uMaOz'],(_0x234b68,_0x782aa2)=>this[_0x3b18e3(0x23a)](_0x234b68,_0x782aa2)),_0x2fc413['on'](_0x56fe93['KoQFm'],(_0x124ba1,_0x1797d8)=>this['onJobFailed'](_0x124ba1,_0x1797d8)),_0x2fc413['on'](_0x3b18e3(0x2ce),(_0x5896cd,_0x1ac2ee)=>this['onJobProgress'](_0x5896cd,_0x1ac2ee)),_0x2fc413['on'](_0x56fe93['UYbvg'],_0x189d4e=>{logger['warn']({'event':_0x56fe93['gcFWs'],'jobId':_0x189d4e},'Job\x20stalled:\x20'+_0x189d4e);}),_0x2fc413['on'](_0x56fe93['QKPNU'],_0x3aa02e=>{logger['error']({'event':_0x56fe93['pObRW'],'queue':_0x59bee3,'error':_0x3aa02e['message']},'BullMQ\x20Worker\x20error\x20('+_0x59bee3+'):\x20'+_0x3aa02e['message']);}),this['workers'][_0x59bee3]=_0x2fc413;}logger[_0x3b18e3(0x2d9)]({'event':'job_workers_created','count':0x3,'concurrency':_0x5a4565},'3\x20BullMQ\x20Workers\x20created\x20(concurrency:\x20'+_0x5a4565+')');let _0x3d8e1a=0x0;for(const _0x1912c3 of _0x28c992){try{await this[_0x3b18e3(0x2b4)](_0x1912c3),_0x3d8e1a++;}catch(_0x460dc9){logger[_0x3b18e3(0x22c)]({'event':'job_register_failed','name':_0x1912c3[_0x3b18e3(0x25b)],'error':_0x460dc9['message']},'Failed\x20to\x20register\x20job:\x20'+_0x1912c3['name']+_0x3b18e3(0x22a)+_0x460dc9['message']);}}this[_0x3b18e3(0x2ea)]=!![];const _0x3a1a1c=this[_0x3b18e3(0x2ad)][_0x3b18e3(0x1d5)];logger['info']({'event':_0x56fe93[_0x3b18e3(0x1c1)],'registeredJobs':_0x3d8e1a,'totalConfigs':_0x28c992['length'],'redisConnections':_0x3a1a1c},_0x3b18e3(0x2b8)+_0x3d8e1a+'\x20job(s)\x20registered,\x20'+_0x3a1a1c+'\x20Redis\x20connections');}async[a0_0x31ad9f(0x2ef)](){const _0x21a9dc=a0_0x31ad9f,_0x5c23f6={'oFdeT':function(_0xf2d9f8,_0x2766f8,_0x38871c){return _0xf2d9f8(_0x2766f8,_0x38871c);},'EnBOU':_0x21a9dc(0x2c8),'cOtKV':function(_0x173a3b,_0x26024b){return _0x173a3b===_0x26024b;},'efrFA':'job_manager_shutdown_complete','WqvcH':_0x21a9dc(0x268)};if(!this['initialized'])return;const _0x1e626b=_0x5c23f6[_0x21a9dc(0x260)](parseInt,process['env'][_0x21a9dc(0x1d1)],0xa)||0x2710;logger['info']({'event':_0x21a9dc(0x2a9),'timeoutMs':_0x1e626b},_0x21a9dc(0x2e7)+_0x1e626b+'ms)...');const _0x35d017=Object[_0x21a9dc(0x23b)](this['workers'])['map'](async _0x58d79a=>{const _0x40593=_0x21a9dc;try{await _0x58d79a[_0x40593(0x2bf)]();}catch(_0x4d46e5){}});await Promise['all'](_0x35d017);const _0x4784ac=Date['now']();while(Date[_0x21a9dc(0x254)]()-_0x4784ac<_0x1e626b){let _0x1ea7e1=0x0;for(const _0x55810b of Object[_0x21a9dc(0x23b)](this['queues'])){try{const _0xe44d45=await _0x55810b[_0x21a9dc(0x1d4)](_0x5c23f6[_0x21a9dc(0x219)]);_0x1ea7e1+=_0xe44d45['active']||0x0;}catch(_0x3e4bbf){}}if(_0x5c23f6[_0x21a9dc(0x276)](_0x1ea7e1,0x0))break;await new Promise(_0x33134c=>setTimeout(_0x33134c,0x1f4));}const _0x2b4695=Object[_0x21a9dc(0x23b)](this['workers'])['map'](async _0x455333=>{try{await _0x455333['close']();}catch(_0x25be4f){}});await Promise['all'](_0x2b4695);const _0xb51f87=Object['values'](this['queues'])[_0x21a9dc(0x2ae)](async _0x1fd6b8=>{const _0x3ecd90=_0x21a9dc;try{await _0x1fd6b8[_0x3ecd90(0x212)]();}catch(_0x28b2e9){}});await Promise[_0x21a9dc(0x291)](_0xb51f87);for(const _0x586ec4 of this['connections']){try{await _0x586ec4[_0x21a9dc(0x295)]();}catch(_0x481d52){}}this['queues']={},this[_0x21a9dc(0x2d8)]={},this[_0x21a9dc(0x2ad)]=[],await this['setAllJobsOffline'](),this['activeHistoryIds'][_0x21a9dc(0x28e)](),this[_0x21a9dc(0x2ea)]=![],logger['info']({'event':_0x5c23f6['efrFA']},_0x5c23f6['WqvcH']);}[a0_0x31ad9f(0x2c2)](){const _0x5abdbe=a0_0x31ad9f,_0x20ce29={'CbjxM':'jobs','Edpta':'job_config_dir_missing','FSjZY':_0x5abdbe(0x21e),'GOeXs':_0x5abdbe(0x29c)},_0x2d9c72=path['join'](this['workingDir'],_0x5abdbe(0x23c),_0x20ce29[_0x5abdbe(0x1e8)]);if(!fs[_0x5abdbe(0x21f)](_0x2d9c72))return logger['info']({'event':_0x20ce29['Edpta'],'path':_0x2d9c72},'Folder\x20payload/jobs/\x20tidak\x20ditemukan'),[];const _0x2231cb=fs[_0x5abdbe(0x288)](_0x2d9c72)['filter'](_0x78308b=>_0x78308b[_0x5abdbe(0x2b1)]('.json')),_0x4f7399=[];for(const _0x3b464f of _0x2231cb){const _0x4178c1=path['join'](_0x2d9c72,_0x3b464f);try{const _0x59b1d9=fs[_0x5abdbe(0x1c7)](_0x4178c1,_0x5abdbe(0x1d9)),_0x1ebbb0=JSON['parse'](_0x59b1d9);_0x1ebbb0[_0x5abdbe(0x25d)]=_0x3b464f,_0x4f7399['push'](_0x1ebbb0);}catch(_0x2139e3){logger[_0x5abdbe(0x22c)]({'event':_0x20ce29['FSjZY'],'file':_0x3b464f,'error':_0x2139e3[_0x5abdbe(0x1dd)]},'Failed\x20to\x20parse\x20job\x20config:\x20'+_0x3b464f+'\x20—\x20'+_0x2139e3['message']);}}return logger['info']({'event':_0x20ce29[_0x5abdbe(0x261)],'count':_0x4f7399[_0x5abdbe(0x1d5)]},'Loaded\x20'+_0x4f7399[_0x5abdbe(0x1d5)]+'\x20job\x20config(s)\x20from\x20payload/jobs/'),_0x4f7399;}async['registerJob'](_0x4a38c4){const _0x2d7d0e=a0_0x31ad9f,_0x59e207={'ZVssI':'src','fUAdC':function(_0x48f162,_0x2d63a7){return _0x48f162===_0x2d63a7;},'BzeOf':_0x2d7d0e(0x20c),'xoaxp':function(_0x3cabbf,_0x5abd23){return _0x3cabbf!==_0x5abd23;},'DDhST':'online','BgOCf':'offline'},_0x401235=path['join'](this[_0x2d7d0e(0x280)],_0x59e207['ZVssI'],'jobs',_0x4a38c4['handler']+'.js');this['handlers'][_0x4a38c4[_0x2d7d0e(0x25b)]]=require(_0x401235),this[_0x2d7d0e(0x21b)][_0x4a38c4[_0x2d7d0e(0x25b)]]=_0x4a38c4;if(_0x59e207[_0x2d7d0e(0x258)](_0x4a38c4[_0x2d7d0e(0x301)],_0x59e207[_0x2d7d0e(0x1be)])&&_0x4a38c4[_0x2d7d0e(0x286)]!==![]){const _0x1e34ef=this['queues'][_0x4a38c4['queue']||'default'];await _0x1e34ef['upsertJobScheduler'](_0x4a38c4[_0x2d7d0e(0x25b)],{'pattern':_0x4a38c4['schedule'],'tz':_0x4a38c4['timezone']||undefined},{'name':_0x4a38c4['name'],'data':{'handler':_0x4a38c4['handler'],'triggeredBy':'cron','metadata':_0x4a38c4['metadata']||{}},'opts':{'attempts':_0x4a38c4[_0x2d7d0e(0x28f)]?.['maxAttempts']||0x3,'backoff':{'type':_0x4a38c4[_0x2d7d0e(0x28f)]?.['backoff']||'exponential','delay':_0x4a38c4['retry']?.['initialDelay']||0x1388},'timeout':_0x4a38c4['timeout']||0x7530}}),logger[_0x2d7d0e(0x2d9)]({'event':'cron_registered','name':_0x4a38c4[_0x2d7d0e(0x25b)],'schedule':_0x4a38c4[_0x2d7d0e(0x2bb)],'queue':_0x4a38c4['queue']||'default'},'Cron\x20registered:\x20'+_0x4a38c4['name']+'\x20['+_0x4a38c4[_0x2d7d0e(0x2bb)]+']');}const _0x429e66=_0x4a38c4['type']===_0x59e207[_0x2d7d0e(0x1be)]&&_0x59e207['xoaxp'](_0x4a38c4[_0x2d7d0e(0x286)],![])?_0x59e207[_0x2d7d0e(0x2e4)]:_0x59e207['BgOCf'];let _0x34d873=null;_0x429e66===_0x59e207['DDhST']&&(_0x34d873=await this['getNextRunFromBullMQ'](_0x4a38c4[_0x2d7d0e(0x25b)])),await this['upsertJobRegistry'](_0x4a38c4,_0x429e66,_0x34d873);}async[a0_0x31ad9f(0x2b0)](_0x59276b){const _0x41f44f=a0_0x31ad9f,_0x2d4363={'kUTHP':_0x41f44f(0x240),'rBuku':function(_0x359ed5,_0x8f02e3){return _0x359ed5+_0x8f02e3;},'wCwfP':_0x41f44f(0x225),'DVBJE':function(_0x2d3456,_0x1babdf){return _0x2d3456===_0x1babdf;},'jKAfn':'cron','chTvz':function(_0x4a3e01){return _0x4a3e01();},'xQSgR':'job_handler_done'},_0x4b73d8=this[_0x41f44f(0x21b)][_0x59276b['name']],_0x312e36=this['handlers'][_0x59276b[_0x41f44f(0x25b)]];if(!_0x312e36)throw new Error('Handler\x20tidak\x20ditemukan\x20untuk\x20job:\x20'+_0x59276b[_0x41f44f(0x25b)]);const _0x770647=logger['child']({'jobId':_0x59276b['id'],'jobName':_0x59276b['name']});_0x770647['info']({'event':_0x41f44f(0x1e1),'attempt':_0x2d4363[_0x41f44f(0x2a8)](_0x59276b[_0x41f44f(0x2af)],0x1),'triggeredBy':_0x59276b[_0x41f44f(0x24a)]?.['triggeredBy']||_0x2d4363[_0x41f44f(0x29d)]},'Job\x20started:\x20'+_0x59276b[_0x41f44f(0x25b)]+_0x41f44f(0x28c)+(_0x59276b[_0x41f44f(0x2af)]+0x1)+')');const _0x20b70a=uuidv7(),_0x469388=_0x59276b['data']?.[_0x41f44f(0x206)]||_0x41f44f(0x225),_0x521447=this['insertJobHistory']({'id':_0x20b70a,'jobName':_0x59276b[_0x41f44f(0x25b)],'bullmqJobId':_0x59276b['id'],'triggerType':_0x2d4363[_0x41f44f(0x2cc)](_0x469388,_0x41f44f(0x2be))?'delayed':_0x2d4363['DVBJE'](_0x469388,_0x41f44f(0x27d))?'manual':'cron','triggeredBy':_0x2d4363[_0x41f44f(0x2cc)](_0x469388,_0x2d4363['jKAfn'])?_0x41f44f(0x22b):_0x469388,'queue':_0x4b73d8?.[_0x41f44f(0x2b5)]||'default','attempt':_0x59276b[_0x41f44f(0x2af)]+0x1,'configFile':_0x4b73d8?.[_0x41f44f(0x25d)]||null})['catch'](_0x2b55e5=>{const _0x243b17=_0x41f44f;_0x770647['warn']({'event':_0x2d4363['kUTHP'],'error':_0x2b55e5[_0x243b17(0x1dd)]},_0x243b17(0x2c9)+_0x2b55e5[_0x243b17(0x1dd)]);});this[_0x41f44f(0x287)][_0x41f44f(0x253)](_0x59276b['id'],{'historyId':_0x20b70a,'insertPromise':_0x521447});const _0x347d6a=this['buildContext'](_0x59276b,_0x4b73d8,_0x770647),_0x45781a=_0x2d4363[_0x41f44f(0x2ec)](getComponentEngine);if(_0x45781a&&typeof _0x45781a['executeEventHandlers']==='function'){const _0xf95414=await _0x45781a[_0x41f44f(0x2ff)](_0x41f44f(0x1f3),_0x347d6a,!![]);if(!_0xf95414['success'])throw new Error(_0x41f44f(0x248)+_0xf95414[_0x41f44f(0x22c)]);}const _0x1050ba=await _0x312e36(_0x347d6a);return _0x770647[_0x41f44f(0x2d9)]({'event':_0x2d4363[_0x41f44f(0x1f1)],'result':_0x1050ba},_0x41f44f(0x2ab)+_0x59276b['name']),_0x1050ba;}['buildContext'](_0x2ca430,_0xc415f3,_0x5d3c28){const _0x1967cb=a0_0x31ad9f,_0x56c37a={'XRYwq':function(_0x34f79d,_0x4ab372){return _0x34f79d||_0x4ab372;}};return{'jobId':_0x2ca430['id'],'jobName':_0x2ca430['name'],'attempt':_0x2ca430[_0x1967cb(0x2af)]+0x1,'maxAttempts':_0xc415f3?.[_0x1967cb(0x28f)]?.[_0x1967cb(0x1ef)]||0x3,'payload':_0x2ca430[_0x1967cb(0x24a)]||{},'config':_0x56c37a[_0x1967cb(0x278)](_0xc415f3,{}),'db':this[_0x1967cb(0x214)](),'redis':this['getRedisClient'](),'logger':_0x5d3c28,'kafka':this['getKafkaService'](),'cache':this[_0x1967cb(0x289)](),'updateProgress':async _0x5a5140=>{await _0x2ca430['updateProgress'](_0x5a5140);},'emit':async(_0x1879b3,_0x31826e)=>{const _0x5780bd=_0x1967cb,_0x2a052c=this[_0x5780bd(0x200)]();_0x2a052c&&await _0x2a052c['publishEvent'](_0x1879b3,_0x5780bd(0x1fc),null,_0x31826e,{'module':_0x5780bd(0x2a4),'endpoint':_0x2ca430['name']});},'job':_0x2ca430};}[a0_0x31ad9f(0x24d)](){const _0x50a82d=a0_0x31ad9f,_0xce804d={'qgxGl':_0x50a82d(0x20e)};return(process[_0x50a82d(0x24c)][_0x50a82d(0x2c6)]||_0xce804d['qgxGl'])['toLowerCase']();}async['ensureTables'](){const _0x549a96=a0_0x31ad9f,_0x54122b={'vAoXB':'job_db_unavailable','finmw':_0x549a96(0x2a6),'Sxkgc':'mysql.sql','qFoBY':_0x549a96(0x239),'VMAxv':_0x549a96(0x1d9),'nyGlg':_0x549a96(0x1e0),'IsnTf':'duplicate','iAmxP':_0x549a96(0x1f9)},_0x3ae22e=this[_0x549a96(0x214)]();if(!_0x3ae22e){logger[_0x549a96(0x2ac)]({'event':_0x54122b[_0x549a96(0x271)]},_0x54122b[_0x549a96(0x273)]);return;}const _0x3d662f=this['getDbType'](),_0x1f02c7={'postgresql':_0x549a96(0x217),'oracle':'oracle.sql','mysql':_0x54122b[_0x549a96(0x1ec)]},_0x22dea5=_0x1f02c7[_0x3d662f];if(!_0x22dea5){logger[_0x549a96(0x2ac)]({'event':_0x549a96(0x2bc),'dbType':_0x3d662f},_0x549a96(0x224)+_0x3d662f+'\x27\x20tidak\x20didukung\x20untuk\x20job\x20monitoring\x20tables');return;}const _0x19c9d6=path['join'](__dirname,'sql-scripts',_0x22dea5);if(!fs['existsSync'](_0x19c9d6)){logger[_0x549a96(0x2ac)]({'event':_0x54122b['qFoBY'],'path':_0x19c9d6},_0x549a96(0x1d8)+_0x19c9d6);return;}const _0x210ae8=fs['readFileSync'](_0x19c9d6,_0x54122b[_0x549a96(0x203)]),_0x354e96=this['splitSqlStatements'](_0x210ae8,_0x3d662f);let _0x3d0247=0x0;for(const _0x45a709 of _0x354e96){try{await _0x3ae22e[_0x549a96(0x303)](_0x45a709),_0x3d0247++;}catch(_0xd02ccf){const _0x4ed5c4=(_0xd02ccf[_0x549a96(0x1dd)]||'')['toLowerCase'](),_0x404230=_0x4ed5c4[_0x549a96(0x275)](_0x549a96(0x2f2))||_0x4ed5c4['includes'](_0x54122b[_0x549a96(0x298)])||_0x4ed5c4['includes'](_0x54122b[_0x549a96(0x2a0)]);!_0x404230&&logger[_0x549a96(0x2ac)]({'event':'job_ensure_tables_warn','error':_0xd02ccf[_0x549a96(0x1dd)]},'Job\x20ensureTables\x20warning:\x20'+_0xd02ccf[_0x549a96(0x1dd)]);}}logger[_0x549a96(0x2d9)]({'event':_0x54122b['iAmxP'],'dbType':_0x3d662f,'executed':_0x3d0247},'Job\x20monitoring\x20tables\x20ensured\x20('+_0x3d662f+')');}[a0_0x31ad9f(0x1fe)](_0x39536f,_0x24fdc6){const _0x40d56f=a0_0x31ad9f,_0x59da6f={'AvobL':function(_0x1bcf4c,_0x4fabb2){return _0x1bcf4c>_0x4fabb2;},'mnxRS':'oracle'};let _0x8e6330;return _0x24fdc6===_0x59da6f[_0x40d56f(0x2a7)]?_0x8e6330=_0x39536f['split'](/\n\/\s*(?:\n|$)/):_0x8e6330=_0x39536f['split'](/;\s*(?:\n|$)/),_0x8e6330[_0x40d56f(0x2ae)](_0x4b75e6=>_0x4b75e6[_0x40d56f(0x20a)]())['filter'](_0x2c63f8=>{const _0xa2c7ad=_0x40d56f;if(_0x2c63f8[_0xa2c7ad(0x1d5)]===0x0)return![];const _0x520c56=_0x2c63f8['split']('\x0a')['filter'](_0x161299=>!_0x161299[_0xa2c7ad(0x20a)]()[_0xa2c7ad(0x215)]('--')&&_0x161299['trim']()[_0xa2c7ad(0x1d5)]>0x0);return _0x59da6f[_0xa2c7ad(0x2ba)](_0x520c56[_0xa2c7ad(0x1d5)],0x0);});}async['upsertJobRegistry'](_0x4a21a4,_0x181958='online',_0x2f2d71=null){const _0x2c2bf9=a0_0x31ad9f,_0x539965={'vPgWb':'mysql'},_0x26aece=this['getDbUtils']();if(!_0x26aece)return;const _0x5969cc=this['getDbType'](),_0x541ddc=[_0x4a21a4[_0x2c2bf9(0x25b)],_0x4a21a4[_0x2c2bf9(0x2cd)]||_0x4a21a4[_0x2c2bf9(0x25b)],_0x4a21a4['type']||'cron',_0x4a21a4['schedule']||null,_0x4a21a4['queue']||_0x2c2bf9(0x2c7),_0x4a21a4['handler'],_0x4a21a4[_0x2c2bf9(0x25d)]||'',_0x4a21a4['timeout']||0x7530,_0x4a21a4[_0x2c2bf9(0x28f)]?.[_0x2c2bf9(0x1ef)]||0x3,_0x4a21a4['retry']?.[_0x2c2bf9(0x21d)]||_0x2c2bf9(0x246),_0x181958,_0x2f2d71];try{if(_0x5969cc==='oracle')await _0x26aece[_0x2c2bf9(0x303)]('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)',_0x541ddc);else _0x5969cc===_0x539965[_0x2c2bf9(0x1e4)]?await _0x26aece['executeQuery']('INSERT\x20INTO\x20job_registry\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(job_name,\x20display_name,\x20type,\x20schedule,\x20queue,\x20handler,\x20config_file,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout,\x20retry_max,\x20retry_backoff,\x20status,\x20next_run_at,\x20created_at,\x20updated_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20NOW(),\x20NOW())\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20DUPLICATE\x20KEY\x20UPDATE\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display_name\x20=\x20VALUES(display_name),\x20type\x20=\x20VALUES(type),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20schedule\x20=\x20VALUES(schedule),\x20queue\x20=\x20VALUES(queue),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20handler\x20=\x20VALUES(handler),\x20config_file\x20=\x20VALUES(config_file),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout\x20=\x20VALUES(timeout),\x20retry_max\x20=\x20VALUES(retry_max),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20retry_backoff\x20=\x20VALUES(retry_backoff),\x20status\x20=\x20VALUES(status),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20VALUES(next_run_at)',_0x541ddc):await _0x26aece['executeQuery']('INSERT\x20INTO\x20job_registry\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(job_name,\x20display_name,\x20type,\x20schedule,\x20queue,\x20handler,\x20config_file,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout,\x20retry_max,\x20retry_backoff,\x20status,\x20next_run_at,\x20created_at,\x20updated_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20($1,\x20$2,\x20$3,\x20$4,\x20$5,\x20$6,\x20$7,\x20$8,\x20$9,\x20$10,\x20$11,\x20$12,\x20NOW(),\x20NOW())\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20CONFLICT\x20(job_name)\x20DO\x20UPDATE\x20SET\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display_name\x20=\x20EXCLUDED.display_name,\x20type\x20=\x20EXCLUDED.type,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20schedule\x20=\x20EXCLUDED.schedule,\x20queue\x20=\x20EXCLUDED.queue,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20handler\x20=\x20EXCLUDED.handler,\x20config_file\x20=\x20EXCLUDED.config_file,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout\x20=\x20EXCLUDED.timeout,\x20retry_max\x20=\x20EXCLUDED.retry_max,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20retry_backoff\x20=\x20EXCLUDED.retry_backoff,\x20status\x20=\x20EXCLUDED.status,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20EXCLUDED.next_run_at,\x20updated_at\x20=\x20NOW()',_0x541ddc);}catch(_0x2b4cfb){logger[_0x2c2bf9(0x2ac)]({'event':_0x2c2bf9(0x2f9),'name':_0x4a21a4[_0x2c2bf9(0x25b)],'error':_0x2b4cfb[_0x2c2bf9(0x1dd)]},'Failed\x20to\x20upsert\x20job\x20registry:\x20'+_0x4a21a4['name']+'\x20—\x20'+_0x2b4cfb['message']);}}async['insertJobHistory'](_0x52097b){const _0x532979=a0_0x31ad9f,_0x48a049={'iIxKp':'default','eujxQ':function(_0x30c599,_0x17ce37){return _0x30c599===_0x17ce37;},'NrabE':'oracle','shjkD':function(_0x548c82,_0x752e9){return _0x548c82===_0x752e9;},'lrEts':'mysql','gniFx':_0x532979(0x293)},_0x2c6c7d=this['getDbUtils']();if(!_0x2c6c7d)return;const _0x584273=this[_0x532979(0x24d)](),_0x3d68ef=[_0x52097b['id'],_0x52097b[_0x532979(0x26f)],_0x52097b[_0x532979(0x29b)]||null,_0x52097b['triggerType']||'cron',_0x52097b[_0x532979(0x206)]||_0x532979(0x22b),_0x52097b[_0x532979(0x2b5)]||_0x48a049[_0x532979(0x2f4)],_0x52097b[_0x532979(0x28a)]||0x1,_0x52097b[_0x532979(0x24e)]||null,process[_0x532979(0x1e2)]];try{if(_0x48a049[_0x532979(0x25c)](_0x584273,_0x48a049[_0x532979(0x1cf)]))await _0x2c6c7d[_0x532979(0x303)]('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)',_0x3d68ef);else _0x48a049['shjkD'](_0x584273,_0x48a049[_0x532979(0x22f)])?await _0x2c6c7d['executeQuery'](_0x532979(0x211),_0x3d68ef):await _0x2c6c7d['executeQuery'](_0x532979(0x221),_0x3d68ef);await this[_0x532979(0x2e2)](_0x52097b['jobName'],_0x48a049[_0x532979(0x1ca)]);}catch(_0x162826){logger['warn']({'event':_0x532979(0x216),'jobName':_0x52097b['jobName'],'error':_0x162826['message']},_0x532979(0x23e)+_0x162826['message']);}}async['updateJobHistoryCompleted'](_0x539680,_0x92ab94,_0x33a6df){const _0x24bb08=a0_0x31ad9f,_0x55107a={'WiqQz':function(_0x2cad25,_0x500c72){return _0x2cad25===_0x500c72;},'svgwT':function(_0x2f60d8,_0x8c907b){return _0x2f60d8===_0x8c907b;},'ciBvy':_0x24bb08(0x299)},_0x29eae3=this[_0x24bb08(0x214)]();if(!_0x29eae3)return;const _0x51dfc1=this[_0x24bb08(0x24d)](),_0xc90ee9=_0x33a6df?String(_0x33a6df)['substring'](0x0,0x1f4):null;try{if(_0x55107a['WiqQz'](_0x51dfc1,'oracle'))await _0x29eae3[_0x24bb08(0x303)]('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',[_0x92ab94,_0xc90ee9,_0x539680]);else _0x55107a[_0x24bb08(0x20f)](_0x51dfc1,_0x55107a[_0x24bb08(0x231)])?await _0x29eae3[_0x24bb08(0x303)]('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?',[_0x92ab94,_0xc90ee9,_0x539680]):await _0x29eae3[_0x24bb08(0x303)](_0x24bb08(0x270),[_0x92ab94,_0xc90ee9,_0x539680]);}catch(_0x50443c){logger[_0x24bb08(0x2ac)]({'event':_0x24bb08(0x2d1),'historyId':_0x539680,'error':_0x50443c[_0x24bb08(0x1dd)]},'Failed\x20to\x20update\x20job\x20history\x20(completed):\x20'+_0x50443c['message']);}}async['updateJobHistoryFailed'](_0x3bacb0,_0x3b3526,_0x5ba7f6,_0x5c6f11,_0x928914){const _0x579a07=a0_0x31ad9f,_0x8daf92={'BnBmS':function(_0x4fe715,_0x354770){return _0x4fe715(_0x354770);},'bTSYq':function(_0x4cf2ff,_0x259a26){return _0x4cf2ff===_0x259a26;},'aqfQc':_0x579a07(0x2c5),'vYLGF':_0x579a07(0x299),'mieWu':function(_0x1373e9,_0x42995f){return _0x1373e9||_0x42995f;}},_0xf05e98=this[_0x579a07(0x214)]();if(!_0xf05e98)return;const _0x17b2bd=this[_0x579a07(0x24d)](),_0x553383=_0x5c6f11?String(_0x5c6f11)['substring'](0x0,0x3e8):null,_0x5bda89=_0x928914?_0x8daf92[_0x579a07(0x1c3)](String,_0x928914)['substring'](0x0,0xfa0):null;try{if(_0x8daf92['bTSYq'](_0x17b2bd,_0x8daf92[_0x579a07(0x285)]))await _0xf05e98[_0x579a07(0x303)]('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',[_0x3b3526,_0x5ba7f6||0x0,_0x553383,_0x5bda89,_0x3bacb0]);else _0x17b2bd===_0x8daf92[_0x579a07(0x23f)]?await _0xf05e98[_0x579a07(0x303)](_0x579a07(0x27c),[_0x3b3526,_0x5ba7f6||0x0,_0x553383,_0x5bda89,_0x3bacb0]):await _0xf05e98[_0x579a07(0x303)](_0x579a07(0x29f),[_0x3b3526,_0x8daf92[_0x579a07(0x26e)](_0x5ba7f6,0x0),_0x553383,_0x5bda89,_0x3bacb0]);}catch(_0x90583c){logger[_0x579a07(0x2ac)]({'event':_0x579a07(0x2f5),'historyId':_0x3bacb0,'error':_0x90583c['message']},_0x579a07(0x2a5)+_0x90583c[_0x579a07(0x1dd)]);}}async['updateRegistryStatus'](_0x520472,_0x1e9999){const _0x2a4c96=a0_0x31ad9f,_0x32fc9e={'oqPnV':function(_0x45bd72,_0x2a426e){return _0x45bd72===_0x2a426e;},'dMNdx':function(_0x7a7266,_0x40ab1b){return _0x7a7266===_0x40ab1b;}},_0x347b0e=this[_0x2a4c96(0x214)]();if(!_0x347b0e)return;const _0x3504c5=this[_0x2a4c96(0x24d)]();try{if(_0x32fc9e['oqPnV'](_0x3504c5,'oracle'))await _0x347b0e['executeQuery'](_0x2a4c96(0x296),[_0x1e9999,_0x520472]);else _0x32fc9e[_0x2a4c96(0x26c)](_0x3504c5,'mysql')?await _0x347b0e[_0x2a4c96(0x303)]('UPDATE\x20job_registry\x20SET\x20last_status\x20=\x20?,\x20last_run_at\x20=\x20NOW()\x20WHERE\x20job_name\x20=\x20?',[_0x1e9999,_0x520472]):await _0x347b0e[_0x2a4c96(0x303)]('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',[_0x1e9999,_0x520472]);}catch(_0x1c3485){}}async['updateRegistryCounters'](_0x2d60d6,_0x21d88b,_0x453ca3,_0x4c20ef){const _0x4280eb=a0_0x31ad9f,_0x1096bf={'fscVb':function(_0x329efb,_0x4ac46e){return _0x329efb===_0x4ac46e;},'LAJtx':'success','QFYPE':_0x4280eb(0x256),'MdoMg':_0x4280eb(0x233),'EXCyW':function(_0xd410c8,_0x4a0d97){return _0xd410c8===_0x4a0d97;},'ZHuqS':_0x4280eb(0x2c5),'TUxcT':_0x4280eb(0x299),'dtIkE':_0x4280eb(0x213)},_0xb1272e=this[_0x4280eb(0x214)]();if(!_0xb1272e)return;const _0x46c77e=this[_0x4280eb(0x24d)](),_0x399b98=_0x1096bf['fscVb'](_0x21d88b,_0x1096bf[_0x4280eb(0x1ff)])?_0x1096bf[_0x4280eb(0x262)]:_0x1096bf[_0x4280eb(0x2fe)];try{if(_0x1096bf[_0x4280eb(0x241)](_0x46c77e,_0x1096bf[_0x4280eb(0x2f3)]))await _0xb1272e[_0x4280eb(0x303)](_0x4280eb(0x1e9)+_0x399b98+'\x20=\x20'+_0x399b98+_0x4280eb(0x2d2),[_0x21d88b,_0x453ca3,_0x4c20ef,_0x2d60d6]);else _0x46c77e===_0x1096bf[_0x4280eb(0x242)]?await _0xb1272e[_0x4280eb(0x303)]('UPDATE\x20job_registry\x20SET\x20last_status\x20=\x20?,\x20last_duration_ms\x20=\x20?,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x399b98+'\x20=\x20'+_0x399b98+'\x20+\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20?\x20WHERE\x20job_name\x20=\x20?',[_0x21d88b,_0x453ca3,_0x4c20ef,_0x2d60d6]):await _0xb1272e['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'+_0x399b98+_0x4280eb(0x1f7)+_0x399b98+_0x4280eb(0x2f1),[_0x21d88b,_0x453ca3,_0x4c20ef,_0x2d60d6]);}catch(_0x8d5d71){logger[_0x4280eb(0x2ac)]({'event':_0x1096bf[_0x4280eb(0x1c8)],'jobName':_0x2d60d6,'error':_0x8d5d71[_0x4280eb(0x1dd)]},'Failed\x20to\x20update\x20job\x20registry\x20counters:\x20'+_0x8d5d71['message']);}}async['getNextRunFromBullMQ'](_0x4a270d){const _0x397fe5=a0_0x31ad9f,_0x3cec80={'ASdzA':function(_0x4816e5,_0x300fd6){return _0x4816e5===_0x300fd6;},'lABWf':_0x397fe5(0x2c7),'eoeAm':'function'},_0x1d2ef9=this[_0x397fe5(0x21b)][_0x4a270d];if(!_0x1d2ef9||_0x1d2ef9['type']!=='cron'||_0x3cec80['ASdzA'](_0x1d2ef9['enabled'],![]))return null;const _0x300177=this[_0x397fe5(0x220)][_0x1d2ef9[_0x397fe5(0x2b5)]||_0x3cec80[_0x397fe5(0x297)]];if(!_0x300177)return null;try{if(typeof _0x300177[_0x397fe5(0x1da)]===_0x3cec80['eoeAm']){const _0x3b7f69=await _0x300177['getJobSchedulers'](0x0,0x64),_0x57f0d3=_0x3b7f69['find'](_0x5a2c90=>_0x5a2c90[_0x397fe5(0x25b)]===_0x4a270d);return _0x57f0d3?.['next']?new Date(_0x57f0d3['next']):null;}}catch(_0x420cac){}return null;}async['setAllJobsOffline'](){const _0x1a940e=a0_0x31ad9f,_0x13b3fc={'MXTDp':function(_0x5e303b,_0x60304c){return _0x5e303b===_0x60304c;},'MXwEM':'mysql'},_0x414201=this['getDbUtils']();if(!_0x414201)return;const _0x3a3c27=this[_0x1a940e(0x24d)]();try{if(_0x13b3fc['MXTDp'](_0x3a3c27,_0x1a940e(0x2c5)))await _0x414201['executeQuery'](_0x1a940e(0x281));else _0x3a3c27===_0x13b3fc['MXwEM']?await _0x414201['executeQuery']('UPDATE\x20job_registry\x20SET\x20status\x20=\x20\x27offline\x27,\x20next_run_at\x20=\x20NULL'):await _0x414201['executeQuery'](_0x1a940e(0x2d3));}catch(_0x599852){logger['warn']({'event':_0x1a940e(0x25a),'error':_0x599852['message']},'Failed\x20to\x20set\x20jobs\x20offline:\x20'+_0x599852[_0x1a940e(0x1dd)]);}}['getDbUtils'](){const _0x83526=a0_0x31ad9f,_0x123b6b={'HNWzt':_0x83526(0x20e),'AbZGu':_0x83526(0x2c5),'onduN':function(_0x1226b2,_0x4be484){return _0x1226b2(_0x4be484);},'uVDrO':'../../utils/db-oracle','BgKOg':'db_oracle_unavailable','DAJrj':function(_0x53d9dc,_0x7b3253){return _0x53d9dc===_0x7b3253;},'tFiyu':_0x83526(0x299),'duhpb':function(_0xad96d4,_0x2295d8){return _0xad96d4(_0x2295d8);},'guugX':_0x83526(0x226),'ypVEG':_0x83526(0x1db),'JPJBM':_0x83526(0x1bf)},_0x4ce687=(process['env']['DB_TYPE']||_0x123b6b[_0x83526(0x243)])[_0x83526(0x1fb)]();if(_0x4ce687===_0x123b6b[_0x83526(0x290)])try{const _0x5c07f0=_0x123b6b[_0x83526(0x209)](require,_0x123b6b['uVDrO']);return{'executeQuery':(_0x23eab4,_0x425a15)=>_0x5c07f0['executeQuery'](_0x23eab4,_0x425a15),'executeTransaction':_0x161cf9=>_0x5c07f0['executeTransaction'](_0x161cf9),'getPool':()=>_0x5c07f0['getPool']()};}catch(_0x29a28c){return logger['warn']({'event':_0x123b6b[_0x83526(0x1f0)]},_0x83526(0x282)),null;}if(_0x123b6b['DAJrj'](_0x4ce687,_0x123b6b['tFiyu']))try{const _0x2ca84e=_0x123b6b[_0x83526(0x207)](require,_0x123b6b[_0x83526(0x27e)]);return{'executeQuery':(_0x3c7df0,_0x44de86)=>_0x2ca84e[_0x83526(0x303)](_0x3c7df0,_0x44de86),'executeTransaction':_0xa13499=>_0x2ca84e['executeTransaction'](_0xa13499),'getPool':()=>_0x2ca84e['getPool']()};}catch(_0x578fd1){return logger[_0x83526(0x2ac)]({'event':_0x123b6b[_0x83526(0x22d)]},_0x83526(0x252)),null;}try{const _0x585e9e=require(_0x123b6b['JPJBM']);return{'executeQuery':_0x585e9e['executeQuery'],'executeTransaction':_0x585e9e['executeTransaction'],'getPool':_0x585e9e[_0x83526(0x27b)]};}catch(_0x1a3f79){return logger['warn']({'event':'db_pg_unavailable'},_0x83526(0x1d7)),null;}}['getRedisClient'](){const _0x2527fb=a0_0x31ad9f,_0x3e519a={'tAIsE':function(_0x4a3f51,_0x525d07){return _0x4a3f51(_0x525d07);},'nhRqZ':'../../utils/redis-client'};try{const _0x368661=_0x3e519a[_0x2527fb(0x223)](require,_0x3e519a[_0x2527fb(0x1ed)]);return _0x368661[_0x2527fb(0x304)]?_0x368661[_0x2527fb(0x304)]():_0x368661;}catch(_0x1f9205){return null;}}[a0_0x31ad9f(0x200)](){const _0x53a8b3=a0_0x31ad9f,_0x850e2d={'GGRbX':'true','mEvWE':function(_0x35a8e5,_0x179acc){return _0x35a8e5(_0x179acc);},'vlsla':_0x53a8b3(0x2da)};try{if(process[_0x53a8b3(0x24c)][_0x53a8b3(0x1e7)]===_0x850e2d[_0x53a8b3(0x2e1)]){const _0x229f00=_0x850e2d['mEvWE'](require,_0x850e2d[_0x53a8b3(0x2dc)]);return _0x229f00['getInstance']?_0x229f00['getInstance']():_0x229f00;}}catch(_0x560ebb){}return null;}['getCacheManager'](){const _0x3f2080=a0_0x31ad9f,_0x2c3920={'xDbng':'../../utils/cache-manager'};try{return require(_0x2c3920[_0x3f2080(0x294)]);}catch(_0x31c00b){return null;}}async[a0_0x31ad9f(0x249)](_0xa9b444,_0x31693d={}){const _0x28ec72=a0_0x31ad9f,_0x360a9d={'VClHV':_0x28ec72(0x2c7)},_0x468c69=this['jobConfigs'][_0xa9b444];if(!_0x468c69)throw new Error('Job\x20tidak\x20ditemukan:\x20'+_0xa9b444);const _0x493382=this['queues'][_0x468c69[_0x28ec72(0x2b5)]||_0x360a9d[_0x28ec72(0x26a)]],_0x3f3e42=await _0x493382['add'](_0xa9b444,{..._0x31693d,'handler':_0x468c69[_0x28ec72(0x279)],'triggeredBy':'api'},{'attempts':_0x468c69[_0x28ec72(0x28f)]?.['maxAttempts']||0x3,'backoff':{'type':_0x468c69['retry']?.['backoff']||_0x28ec72(0x246),'delay':_0x468c69[_0x28ec72(0x28f)]?.[_0x28ec72(0x1c0)]||0x1388},'timeout':_0x468c69['timeout']||0x7530});return logger[_0x28ec72(0x2d9)]({'event':'job_dispatched','jobId':_0x3f3e42['id'],'name':_0xa9b444,'triggeredBy':'api'},_0x28ec72(0x2aa)+_0xa9b444+_0x28ec72(0x263)+_0x3f3e42['id']+')'),{'jobId':_0x3f3e42['id'],'name':_0xa9b444};}async['dispatchDelayed'](_0x5d7b31,_0x534b67={},_0x107753=0x0){const _0x2ef010=a0_0x31ad9f,_0x278d35={'HAKkX':_0x2ef010(0x2c7),'cZmDv':_0x2ef010(0x246),'RhBtj':'job_dispatched_delayed'},_0x443b47=this[_0x2ef010(0x21b)][_0x5d7b31];if(!_0x443b47)throw new Error(_0x2ef010(0x2b7)+_0x5d7b31);const _0x1dacef=this[_0x2ef010(0x220)][_0x443b47['queue']||_0x278d35['HAKkX']],_0x3cfc38=await _0x1dacef['add'](_0x5d7b31,{..._0x534b67,'handler':_0x443b47['handler'],'triggeredBy':'api-delayed'},{'delay':_0x107753,'attempts':_0x443b47['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0x443b47['retry']?.['backoff']||_0x278d35['cZmDv'],'delay':_0x443b47[_0x2ef010(0x28f)]?.[_0x2ef010(0x1c0)]||0x1388},'timeout':_0x443b47['timeout']||0x7530});return logger[_0x2ef010(0x2d9)]({'event':_0x278d35[_0x2ef010(0x2c1)],'jobId':_0x3cfc38['id'],'name':_0x5d7b31,'delayMs':_0x107753},'Job\x20dispatched\x20(delayed\x20'+_0x107753+'ms):\x20'+_0x5d7b31+_0x2ef010(0x263)+_0x3cfc38['id']+')'),{'jobId':_0x3cfc38['id'],'name':_0x5d7b31};}async[a0_0x31ad9f(0x229)](_0x5df782){const _0x3528f5=a0_0x31ad9f;for(const _0x32ad66 of Object[_0x3528f5(0x23b)](this['queues'])){const _0x293dc5=await _0x32ad66[_0x3528f5(0x2f6)](_0x5df782);if(_0x293dc5){const _0x2ba79f=await _0x293dc5[_0x3528f5(0x1c2)]();return{'jobId':_0x293dc5['id'],'name':_0x293dc5[_0x3528f5(0x25b)],'state':_0x2ba79f,'progress':_0x293dc5['progress'],'attemptsMade':_0x293dc5['attemptsMade'],'failedReason':_0x293dc5['failedReason'],'returnvalue':_0x293dc5['returnvalue'],'data':_0x293dc5['data'],'timestamps':{'created':_0x293dc5[_0x3528f5(0x2d0)],'started':_0x293dc5[_0x3528f5(0x2a3)],'completed':_0x293dc5[_0x3528f5(0x247)]}};}}return null;}['listJobs'](){const _0x5aa050=a0_0x31ad9f;return Object[_0x5aa050(0x23b)](this['jobConfigs'])['map'](_0x3fac69=>({'name':_0x3fac69['name'],'description':_0x3fac69['description']||'','type':_0x3fac69['type'],'schedule':_0x3fac69[_0x5aa050(0x2bb)],'handler':_0x3fac69['handler'],'enabled':_0x3fac69[_0x5aa050(0x286)]!==![],'queue':_0x3fac69[_0x5aa050(0x2b5)]||_0x5aa050(0x2c7),'timeout':_0x3fac69[_0x5aa050(0x1e6)]||0x7530,'retry':_0x3fac69['retry']||{'maxAttempts':0x3,'backoff':'exponential','initialDelay':0x1388},'metadata':_0x3fac69['metadata']||{}}));}async[a0_0x31ad9f(0x1e3)](){const _0x2920e1=a0_0x31ad9f,_0x168395={'PNMxU':'active'},_0x5cee54=[];for(const [_0x4a0616,_0x19e714]of Object['entries'](this['queues'])){const _0x2f9582=await _0x19e714['getJobs']([_0x168395['PNMxU']]);for(const _0x5319a8 of _0x2f9582){_0x5cee54[_0x2920e1(0x2d6)]({'jobId':_0x5319a8['id'],'name':_0x5319a8[_0x2920e1(0x25b)],'queue':_0x4a0616,'progress':_0x5319a8[_0x2920e1(0x2ce)],'attemptsMade':_0x5319a8[_0x2920e1(0x2af)],'startedAt':_0x5319a8[_0x2920e1(0x2a3)]});}}return _0x5cee54;}async[a0_0x31ad9f(0x267)](_0x3af076={}){const _0x20821e=a0_0x31ad9f,_0x41e72d={'Ppynj':function(_0x489ecf,_0x436620,_0x3a2786){return _0x489ecf(_0x436620,_0x3a2786);},'yLVWY':function(_0x17140d,_0x2e7143){return _0x17140d*_0x2e7143;},'nURAT':function(_0x99f2c2,_0x39289e){return _0x99f2c2-_0x39289e;},'qMmdC':function(_0x58ae51,_0x30f12e){return _0x58ae51-_0x30f12e;},'tcvoj':'failed'},_0x59fd61=_0x41e72d[_0x20821e(0x1d3)](parseInt,_0x3af076[_0x20821e(0x251)],0xa)||0x1,_0x2efcae=Math['min'](_0x41e72d['Ppynj'](parseInt,_0x3af076['limit'],0xa)||0x14,0x64),_0x15d1a2=_0x41e72d['yLVWY'](_0x41e72d[_0x20821e(0x2f7)](_0x59fd61,0x1),_0x2efcae),_0x50c723=_0x41e72d[_0x20821e(0x236)](_0x15d1a2+_0x2efcae,0x1),_0x1d9148=[];for(const [_0x188515,_0x51cc07]of Object[_0x20821e(0x21c)](this['queues'])){const _0x5b347e=await _0x51cc07['getJobs']([_0x20821e(0x29e)],_0x15d1a2,_0x50c723),_0xa39e2a=await _0x51cc07['getJobs']([_0x41e72d[_0x20821e(0x255)]],_0x15d1a2,_0x50c723);for(const _0x143686 of[..._0x5b347e,..._0xa39e2a]){const _0x4a5b5c=await _0x143686[_0x20821e(0x1c2)]();_0x1d9148[_0x20821e(0x2d6)]({'jobId':_0x143686['id'],'name':_0x143686['name'],'state':_0x4a5b5c,'queue':_0x188515,'attemptsMade':_0x143686[_0x20821e(0x2af)],'failedReason':_0x143686['failedReason'],'returnvalue':_0x143686[_0x20821e(0x269)],'timestamps':{'created':_0x143686['timestamp'],'started':_0x143686['processedOn'],'completed':_0x143686['finishedOn']}});}}return _0x1d9148[_0x20821e(0x250)]((_0x1372c3,_0x5e159b)=>(_0x5e159b[_0x20821e(0x244)][_0x20821e(0x1f5)]||0x0)-(_0x1372c3[_0x20821e(0x244)][_0x20821e(0x1f5)]||0x0)),{'jobs':_0x1d9148['slice'](0x0,_0x2efcae),'total':_0x1d9148[_0x20821e(0x1d5)],'page':_0x59fd61,'limit':_0x2efcae};}async[a0_0x31ad9f(0x1d2)](_0x2c8e9c){const _0x12fc30=a0_0x31ad9f,_0x5dfeec={'OyFQU':function(_0x2e8b1d,_0x438d9f){return _0x2e8b1d===_0x438d9f;},'hzQrz':_0x12fc30(0x2c8),'dbmXR':'Job\x20cancelled\x20via\x20API','tiNpD':'api-cancel','HrQkk':'waiting','WCRZY':function(_0x30286e,_0x3ac221){return _0x30286e===_0x3ac221;}};for(const _0x309098 of Object['values'](this['queues'])){const _0x1b6e06=await _0x309098[_0x12fc30(0x2f6)](_0x2c8e9c);if(_0x1b6e06){const _0x3bc4cc=await _0x1b6e06[_0x12fc30(0x1c2)]();if(_0x5dfeec['OyFQU'](_0x3bc4cc,_0x5dfeec[_0x12fc30(0x238)]))return await _0x1b6e06['moveToFailed'](new Error(_0x5dfeec['dbmXR']),_0x5dfeec['tiNpD'],!![]),{'success':!![],'message':'Job\x20'+_0x2c8e9c+'\x20cancelled\x20(was\x20active)'};if(_0x5dfeec[_0x12fc30(0x1dc)](_0x3bc4cc,_0x5dfeec[_0x12fc30(0x259)])||_0x5dfeec[_0x12fc30(0x245)](_0x3bc4cc,'delayed'))return await _0x1b6e06['remove'](),{'success':!![],'message':'Job\x20'+_0x2c8e9c+_0x12fc30(0x235)+_0x3bc4cc+')'};return{'success':![],'message':_0x12fc30(0x205)+_0x2c8e9c+_0x12fc30(0x1ce)+_0x3bc4cc+')'};}}return{'success':![],'message':_0x12fc30(0x205)+_0x2c8e9c+_0x12fc30(0x257)};}async[a0_0x31ad9f(0x1cd)](){const _0x2a587f=a0_0x31ad9f,_0x1753c7={'bGotP':_0x2a587f(0x237),'smMMh':'paused','rUzbA':'waiting'},_0x4960d5={};for(const [_0x25d489,_0x5416b3]of Object[_0x2a587f(0x21c)](this['queues'])){try{const _0x264447=await _0x5416b3['getJobCounts']('active',_0x2a587f(0x29e),_0x1753c7[_0x2a587f(0x283)],'failed',_0x1753c7[_0x2a587f(0x2e9)],_0x1753c7[_0x2a587f(0x1c6)]);_0x4960d5[_0x25d489]=_0x264447;}catch(_0x3c1ff3){_0x4960d5[_0x25d489]={'error':_0x3c1ff3['message']};}}const _0x1e03a7={};for(const [_0x5950e3,_0xc4f247]of Object['entries'](this[_0x2a587f(0x2d8)])){_0x1e03a7[_0x5950e3]={'running':_0xc4f247[_0x2a587f(0x2e0)](),'paused':_0xc4f247['isPaused']()};}return{'initialized':this[_0x2a587f(0x2ea)],'registeredJobs':Object['keys'](this[_0x2a587f(0x21b)])[_0x2a587f(0x1d5)],'redisConnections':this[_0x2a587f(0x2ad)]['length'],'queues':_0x4960d5,'workers':_0x1e03a7};}async[a0_0x31ad9f(0x23a)](_0x29db14,_0x59a4c4){const _0x140085=a0_0x31ad9f,_0x2b903e={'UFKEk':_0x140085(0x302),'tQrcD':'onAfterJobComplete\x20handler\x20error\x20(non-blocking)','MrTYo':function(_0x1cd893,_0x3fe10c){return _0x1cd893-_0x3fe10c;},'jcEev':function(_0x58f991,_0x2c7b89){return _0x58f991===_0x2c7b89;},'lORut':function(_0x189358){return _0x189358();},'gEStk':function(_0x24f919,_0x2264e8){return _0x24f919===_0x2264e8;},'FFhEL':'Failed\x20to\x20publish\x20JOB_COMPLETED\x20to\x20Kafka'},_0x468b49=logger[_0x140085(0x2e3)]({'jobId':_0x29db14['id'],'jobName':_0x29db14[_0x140085(0x25b)]});_0x468b49[_0x140085(0x2d9)]({'event':'job_completed','attemptsMade':_0x29db14[_0x140085(0x2af)],'duration':_0x29db14[_0x140085(0x247)]?_0x2b903e[_0x140085(0x29a)](_0x29db14['finishedOn'],_0x29db14['processedOn']):null},'Job\x20completed:\x20'+_0x29db14[_0x140085(0x25b)]);const _0x68c251=this['activeHistoryIds'][_0x140085(0x20d)](_0x29db14['id']);if(_0x68c251){if(_0x68c251[_0x140085(0x26d)])await _0x68c251['insertPromise'];const _0x39e70b=_0x29db14[_0x140085(0x247)]&&_0x29db14[_0x140085(0x2a3)]?_0x29db14['finishedOn']-_0x29db14['processedOn']:null,_0x1d9278=_0x2b903e[_0x140085(0x300)](typeof _0x59a4c4,_0x140085(0x2db))?_0x59a4c4:_0x59a4c4?JSON[_0x140085(0x2b2)](_0x59a4c4)[_0x140085(0x222)](0x0,0x1f4):null;await this[_0x140085(0x2e5)](_0x68c251[_0x140085(0x264)],_0x39e70b,_0x1d9278);const _0x307633=await this[_0x140085(0x2ca)](_0x29db14['name']);await this[_0x140085(0x208)](_0x29db14['name'],_0x140085(0x1d6),_0x39e70b,_0x307633),this['activeHistoryIds'][_0x140085(0x201)](_0x29db14['id']);}const _0x2a9e55=_0x2b903e['lORut'](getComponentEngine);if(_0x2a9e55&&_0x2b903e['gEStk'](typeof _0x2a9e55[_0x140085(0x2ff)],'function')){const _0x1c6017={'jobId':_0x29db14['id'],'jobName':_0x29db14['name'],'result':_0x59a4c4,'config':this[_0x140085(0x21b)][_0x29db14['name']]||{}};_0x2a9e55['executeEventHandlers']('onAfterJobComplete',_0x1c6017,![])['catch'](_0x27fe8e=>{const _0x1267da=_0x140085;_0x468b49['warn']({'event':_0x2b903e['UFKEk'],'error':_0x27fe8e[_0x1267da(0x1dd)]},_0x2b903e['tQrcD']);});}const _0x24e93d=this[_0x140085(0x200)]();if(_0x24e93d)try{await _0x24e93d['publishEvent']('restforge.jobs.completed',_0x140085(0x2f0),null,{'jobId':_0x29db14['id'],'name':_0x29db14['name'],'result':_0x59a4c4},{'module':_0x140085(0x2a4),'endpoint':_0x29db14['name']});}catch(_0x4222a9){_0x468b49['warn']({'event':_0x140085(0x2e8),'error':_0x4222a9[_0x140085(0x1dd)]},_0x2b903e['FFhEL']);}}async['onJobFailed'](_0x1f4a8c,_0x203086){const _0x1f6d2f=a0_0x31ad9f,_0xafbe74={'kfcVd':function(_0x2bdd68,_0xb60bf0){return _0x2bdd68-_0xb60bf0;},'osNJK':'failed','NlOXs':'function','pGyjT':_0x1f6d2f(0x20b),'NfwHu':'JOB_FAILED','nKrXd':'job_kafka_publish_error','skqXG':_0x1f6d2f(0x2ee)},_0x2cc8ce=logger[_0x1f6d2f(0x2e3)]({'jobId':_0x1f4a8c['id'],'jobName':_0x1f4a8c[_0x1f6d2f(0x25b)]});_0x2cc8ce['error']({'event':'job_failed','attemptsMade':_0x1f4a8c[_0x1f6d2f(0x2af)],'failedReason':_0x203086?.[_0x1f6d2f(0x1dd)],'willRetry':_0x1f4a8c['attemptsMade']<(this[_0x1f6d2f(0x21b)][_0x1f4a8c[_0x1f6d2f(0x25b)]]?.[_0x1f6d2f(0x28f)]?.['maxAttempts']||0x3)},_0x1f6d2f(0x2c4)+_0x1f4a8c['name']+_0x1f6d2f(0x22a)+_0x203086?.[_0x1f6d2f(0x1dd)]);const _0x1d4ff7=this[_0x1f6d2f(0x287)][_0x1f6d2f(0x20d)](_0x1f4a8c['id']);if(_0x1d4ff7){if(_0x1d4ff7['insertPromise'])await _0x1d4ff7['insertPromise'];const _0x182c59=_0x1f4a8c[_0x1f6d2f(0x247)]&&_0x1f4a8c['processedOn']?_0xafbe74[_0x1f6d2f(0x1fd)](_0x1f4a8c[_0x1f6d2f(0x247)],_0x1f4a8c['processedOn']):null;await this[_0x1f6d2f(0x2cf)](_0x1d4ff7['historyId'],_0x182c59,_0x1f4a8c['progress'],_0x203086?.[_0x1f6d2f(0x1dd)],_0x203086?.[_0x1f6d2f(0x22e)]);const _0x30dab2=await this['getNextRunFromBullMQ'](_0x1f4a8c['name']);await this['updateRegistryCounters'](_0x1f4a8c['name'],_0xafbe74['osNJK'],_0x182c59,_0x30dab2),this[_0x1f6d2f(0x287)][_0x1f6d2f(0x201)](_0x1f4a8c['id']);}const _0x30308f=getComponentEngine();if(_0x30308f&&typeof _0x30308f[_0x1f6d2f(0x2ff)]===_0xafbe74[_0x1f6d2f(0x218)]){const _0x469e3b={'jobId':_0x1f4a8c['id'],'jobName':_0x1f4a8c[_0x1f6d2f(0x25b)],'error':_0x203086?.['message'],'attemptsMade':_0x1f4a8c['attemptsMade'],'config':this[_0x1f6d2f(0x21b)][_0x1f4a8c['name']]||{}};_0x30308f['executeEventHandlers'](_0xafbe74['pGyjT'],_0x469e3b,![])[_0x1f6d2f(0x2b6)](_0x1690fd=>{const _0x18d730=_0x1f6d2f;_0x2cc8ce[_0x18d730(0x2ac)]({'event':_0x18d730(0x2de),'error':_0x1690fd['message']},_0x18d730(0x2cb));});}const _0x2d85ed=this[_0x1f6d2f(0x200)]();if(_0x2d85ed)try{await _0x2d85ed['publishEvent']('restforge.jobs.failed',_0xafbe74[_0x1f6d2f(0x227)],null,{'jobId':_0x1f4a8c['id'],'name':_0x1f4a8c[_0x1f6d2f(0x25b)],'error':_0x203086?.[_0x1f6d2f(0x1dd)],'attemptsMade':_0x1f4a8c['attemptsMade']},{'module':'job-scheduler','endpoint':_0x1f4a8c['name']});}catch(_0x29231c){_0x2cc8ce['warn']({'event':_0xafbe74[_0x1f6d2f(0x1f6)],'error':_0x29231c[_0x1f6d2f(0x1dd)]},_0xafbe74[_0x1f6d2f(0x1f8)]);}}[a0_0x31ad9f(0x25f)](_0x1af7ce,_0x3a6872){const _0x127345=a0_0x31ad9f;logger['debug']({'event':'job_progress','jobId':_0x1af7ce['id'],'jobName':_0x1af7ce['name'],'progress':_0x3a6872},_0x127345(0x1c9)+_0x1af7ce['name']+'\x20—\x20'+_0x3a6872+'%');}}function a0_0x26f4(_0x4c5ac6,_0x1213c6){_0x4c5ac6=_0x4c5ac6-0x1be;const _0x41d494=a0_0x41d4();let _0x26f4c3=_0x41d494[_0x4c5ac6];if(a0_0x26f4['WqZWfN']===undefined){var _0x3d6bd2=function(_0x137dcf){const _0x3d4e25='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x9cbb6d='',_0x3b5f7e='';for(let _0xadb362=0x0,_0x29cc44,_0x1a1fd2,_0x58b93d=0x0;_0x1a1fd2=_0x137dcf['charAt'](_0x58b93d++);~_0x1a1fd2&&(_0x29cc44=_0xadb362%0x4?_0x29cc44*0x40+_0x1a1fd2:_0x1a1fd2,_0xadb362++%0x4)?_0x9cbb6d+=String['fromCharCode'](0xff&_0x29cc44>>(-0x2*_0xadb362&0x6)):0x0){_0x1a1fd2=_0x3d4e25['indexOf'](_0x1a1fd2);}for(let _0x67d959=0x0,_0x5ae89e=_0x9cbb6d['length'];_0x67d959<_0x5ae89e;_0x67d959++){_0x3b5f7e+='%'+('00'+_0x9cbb6d['charCodeAt'](_0x67d959)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3b5f7e);};a0_0x26f4['cuAMbx']=_0x3d6bd2,a0_0x26f4['oTaFpw']={},a0_0x26f4['WqZWfN']=!![];}const _0xdb3549=_0x41d494[0x0],_0x804f0a=_0x4c5ac6+_0xdb3549,_0x1fe9a2=a0_0x26f4['oTaFpw'][_0x804f0a];return!_0x1fe9a2?(_0x26f4c3=a0_0x26f4['cuAMbx'](_0x26f4c3),a0_0x26f4['oTaFpw'][_0x804f0a]=_0x26f4c3):_0x26f4c3=_0x1fe9a2,_0x26f4c3;}module['exports']=new JobManager();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x260f63=a0_0x270c;(function(_0x37f963,_0x51ea83){const _0x49f18c=a0_0x270c,_0x24c68b=_0x37f963();while(!![]){try{const _0x5cdcde=parseInt(_0x49f18c(0x100))/0x1+parseInt(_0x49f18c(0x10c))/0x2*(parseInt(_0x49f18c(0x112))/0x3)+-parseInt(_0x49f18c(0xf0))/0x4+parseInt(_0x49f18c(0x11b))/0x5*(-parseInt(_0x49f18c(0x10e))/0x6)+parseInt(_0x49f18c(0xf6))/0x7+-parseInt(_0x49f18c(0x119))/0x8*(-parseInt(_0x49f18c(0xea))/0x9)+parseInt(_0x49f18c(0x135))/0xa*(-parseInt(_0x49f18c(0x12a))/0xb);if(_0x5cdcde===_0x51ea83)break;else _0x24c68b['push'](_0x24c68b['shift']());}catch(_0x4ed0a5){_0x24c68b['push'](_0x24c68b['shift']());}}}(a0_0x49ab,0x67fae));function a0_0x49ab(){const _0x38ce4c=['ANnVBG','CgfYC2u','zxjYB3i','odmXody2BgTuve1N','z2v0sM9ICW','CMv0CNK','tvnpwgK','t3DUyM8','zw5KC1DPDgG','zgvZy3jPChrPB24','zMLUAxnOzwrpBG','zgLZy29UBMvJDgvK','BMfTzq','D2fPDgLUzW','sM9IihrYAwDNzxjLzcb2AweGqvbjoIa','ogj3D0fNtG','rxjYB3iGz2v0DgLUzYbXDwv1zsbZDgf0CW','mZaWtLr3ruHh','z2v0','sM9Iia','ihrPzgfRigrPDgvTDwTHBG','ndi0mdu2rgnQAff6','zw52','zxHWB25LBNrPywW','Cgf5Bg9Hza','l3f1zxvLCW','AM9Ix2HPC3rVCNLFzxjYB3i','BwfW','nJu4mJaXnNrurwvPwa','AM9Ix3rYAwDNzxjLzf92AwfFyxbP','nZyYnZv1BNzWz2m','AM9PBG','AgLNAa','BwvZC2fNzq','y3jLyxrLza','BuvPwuW','z1bpAve','l2HPC3rVCNK','z2v0u3rHDgu','ELbgEK8','Cg9ZDa','uKvesvnFrei','zgvSyxLLza','uKvesvnFueftu1DpuKq','B3nsyvu','mJa5DwD0DMTt','icHPzdOG','qKrYCvq','zxHPC3rZu3LUyW','AM9Ix3n0yxr1C19LCNjVCG','ChjVz3jLC3m','zgvNCMfKzwq','CMy6AM9I','DMfSDwvZ','Bg93','yNvSBg1X','nZCYotmWsKHAAwn5','BgLTAxq','CgfYyw1Z','zgvMyxvSDa','C29YDa','rNPeCgW','yxbP','ChvZAa','iIb0AwrHAYbKAxrLBxvRyw4GzgKGA29UzMLNDxjHC2K','uKvesvnFse9tva','CxvLCNK','zMLSDgvY','z2v0sM9I','txn5q20','AM9Ix3jVDxrLC19YzwrPC19LCNjVCG','ywn0AxzL','y3nWt1G','zgf0yq','Bw92zvrVrMfPBgvK','CMvHzgrPCLn5BMm','Bg9JywXOB3n0','rhjrzKC','sK9cx1jfreLtx1bsruzjwa','y2Dczge','AgfUzgXLCG','DgLTzw91Da','rxjYB3iGBgLZDgLUzYbQB2jZ','v2r3Dfa','sM9IignHBMnLBgXLzcb2AweGqvbj','Bxjkt1i','C3rHDhvZ','Bwf4qxr0zw1WDhm','DxrMoa','Bwv0ywrHDge','t2jzywG','ChjVy2vZC2vKt24','ouLUEMHfvW','BgvUz3rO','zgTkC1q','DgLTzxn0yw1WCW','l2HLywX0Aa','BwLU','mtu3mZy2ngrTAu1AtW','z2v0sM9Iq291BNrZ','lMPZB24','zw5HyMXLza','zMjJsNe','uKvesvnFue9sva','ntGXndi2m1rQrhLnBG','zMfPBgvKuMvHC29U','AM9Ix3rYAwDNzxjFzxjYB3i','sM9IifjVDxrLCYbszwrPCYbLCNjVCJOG','l2XPC3q','zxHWB3j0CW','ihjLBw92zwqGkhDHCYa'];a0_0x49ab=function(){return _0x38ce4c;};return a0_0x49ab();}const express=require('express'),{Queue}=require(a0_0x260f63(0x134)),Redis=require('ioredis'),{logger}=require('../../utils/logger');let readConnection=null,readQueues=null,cachedJobConfigs=null;const QUEUE_NAMES={'high-priority':a0_0x260f63(0x11d),'default':'default','low-priority':a0_0x260f63(0x133)};function getReadQueues(){const _0x387e11=a0_0x260f63,_0x5f3982={'BnrwF':_0x387e11(0xda),'RIlMl':function(_0x45e427,_0x9acd7f,_0x2a3199){return _0x45e427(_0x9acd7f,_0x2a3199);},'Ownbo':'error'};if(readQueues)return readQueues;const _0x145f2f=process['env'][_0x387e11(0xdc)]||_0x387e11(0x131);readConnection=new Redis({'host':process[_0x387e11(0x113)][_0x387e11(0x13e)]||_0x5f3982['BnrwF'],'port':_0x5f3982['RIlMl'](parseInt,process['env'][_0x387e11(0xf5)],0xa)||0x18ec,'password':process['env'][_0x387e11(0x128)]||undefined,'db':_0x5f3982['RIlMl'](parseInt,process['env'][_0x387e11(0x126)],0xa)||0x0,'maxRetriesPerRequest':null}),readConnection['on'](_0x5f3982[_0x387e11(0x104)],_0xbba1c8=>{const _0x279c79=_0x387e11;logger['error']({'event':_0x279c79(0x143),'error':_0xbba1c8['message']},_0x279c79(0xf9)+_0xbba1c8['message']);}),readQueues={};for(const [_0xf4e498,_0x926333]of Object['entries'](QUEUE_NAMES)){readQueues[_0xf4e498]=new Queue(_0x926333,{'connection':readConnection,'prefix':_0x145f2f});}return readQueues;}function createJobRoutes(_0x79830d){const _0x3150b9=a0_0x260f63,_0x545f96={'fbcJq':function(_0x248b9d,_0xab4b1e){return _0x248b9d(_0xab4b1e);},'FzDpl':'utf8','gPOiQ':'default','jgUZb':function(_0x4f7b66){return _0x4f7b66();},'MsyCm':'Error\x20getting\x20job\x20status','BDrqT':'jobs','YRgek':function(_0x1122a3,_0x6aceb4){return _0x1122a3===_0x6aceb4;},'PRDfI':function(_0x1e49d5){return _0x1e49d5();},'cspOX':_0x3150b9(0x114),'osRaU':_0x3150b9(0xf8),'TeBNw':function(_0x41e223){return _0x41e223();},'NVlDK':_0x3150b9(0xe2),'haQap':'api-cancel','mrJOR':'waiting','aKCCv':function(_0xbd34c4,_0x7bac82){return _0xbd34c4===_0x7bac82;},'ObYah':function(_0x88f772,_0x3060ae,_0x1c4cd7){return _0x88f772(_0x3060ae,_0x1c4cd7);},'dkJsT':function(_0x3bf528,_0x823e2a){return _0x3bf528-_0x823e2a;},'MtAQN':function(_0x44155f,_0x142e89){return _0x44155f+_0x142e89;},'cgBda':'failed','lKUCw':'active','zPFzO':'completed','mEiYL':function(_0x20aadd){return _0x20aadd();},'qpfFG':'healthy','DrQfG':_0x3150b9(0x130),'YKWmS':'unhealthy','VfeUY':'/status/:jobId','MSOXi':'/trigger/:jobName','WdwtP':_0x3150b9(0x116),'xzsUL':_0x3150b9(0xee)},_0x26991a=express['Router']();return _0x79830d&&Object['keys'](_0x79830d)[_0x3150b9(0xeb)]>0x0&&(cachedJobConfigs=_0x79830d),_0x26991a[_0x3150b9(0x10f)](_0x3150b9(0xfa),(_0xc124e9,_0x3eb9b7)=>{const _0x1d6264=_0x3150b9;try{if(cachedJobConfigs){const _0x2d4c13=Object[_0x1d6264(0x132)](cachedJobConfigs)[_0x1d6264(0x118)](_0x2632ac=>({'name':_0x2632ac['name'],'description':_0x2632ac['description']||'','type':_0x2632ac['type'],'schedule':_0x2632ac['schedule'],'handler':_0x2632ac[_0x1d6264(0xde)],'enabled':_0x2632ac['enabled']!==![],'queue':_0x2632ac['queue']||'default','timeout':_0x2632ac[_0x1d6264(0xdf)]||0x7530,'retry':_0x2632ac[_0x1d6264(0x102)]||{'maxAttempts':0x3,'backoff':'exponential','initialDelay':0x1388},'metadata':_0x2632ac[_0x1d6264(0xe7)]||{}}));return _0x3eb9b7['json']({'success':!![],'data':_0x2d4c13,'total':_0x2d4c13['length']});}const _0x2a5b8e=_0x545f96[_0x1d6264(0xf4)](require,'fs'),_0x482435=require('path'),_0x29d7e9=_0x482435['join'](process['cwd'](),'payload','jobs');if(!_0x2a5b8e[_0x1d6264(0x12d)](_0x29d7e9))return _0x3eb9b7['json']({'success':!![],'data':[],'total':0x0});const _0x9f4103=_0x2a5b8e[_0x1d6264(0x148)](_0x29d7e9)['filter'](_0x377895=>_0x377895[_0x1d6264(0x105)](_0x1d6264(0xf2))),_0x6dc259=[];for(const _0x100e51 of _0x9f4103){try{const _0x31a6ea=_0x2a5b8e['readFileSync'](_0x482435[_0x1d6264(0x11c)](_0x29d7e9,_0x100e51),_0x545f96[_0x1d6264(0x13a)]),_0x272699=JSON[_0x1d6264(0xfe)](_0x31a6ea);_0x6dc259[_0x1d6264(0x13c)]({'name':_0x272699[_0x1d6264(0x109)],'description':_0x272699[_0x1d6264(0x106)]||'','type':_0x272699['type'],'schedule':_0x272699['schedule'],'handler':_0x272699[_0x1d6264(0xde)],'enabled':_0x272699[_0x1d6264(0xf3)]!==![],'queue':_0x272699['queue']||_0x545f96[_0x1d6264(0x121)],'timeout':_0x272699['timeout']||0x7530,'retry':_0x272699['retry']||{},'metadata':_0x272699['metadata']||{}});}catch(_0x23fa10){}}_0x3eb9b7[_0x1d6264(0xfd)]({'success':!![],'data':_0x6dc259,'total':_0x6dc259['length']});}catch(_0x1d3771){logger['error']({'event':'job_list_error','error':_0x1d3771['message']},_0x1d6264(0xe0)),_0x3eb9b7[_0x1d6264(0xe4)](0x1f4)['json']({'success':![],'error':_0x1d3771[_0x1d6264(0x11e)]});}}),_0x26991a['get'](_0x545f96['VfeUY'],async(_0x4127b8,_0xcb24dc)=>{const _0x3d7b5b=_0x3150b9;try{const {jobId:_0x1ebb2f}=_0x4127b8[_0x3d7b5b(0x137)],_0x4cac9a=_0x545f96['jgUZb'](getReadQueues);for(const _0x5bcbae of Object['values'](_0x4cac9a)){const _0x43b4f8=await _0x5bcbae[_0x3d7b5b(0x141)](_0x1ebb2f);if(_0x43b4f8){const _0x350d90=await _0x43b4f8[_0x3d7b5b(0x123)]();return _0xcb24dc['json']({'success':!![],'data':{'jobId':_0x43b4f8['id'],'name':_0x43b4f8['name'],'state':_0x350d90,'progress':_0x43b4f8[_0x3d7b5b(0x12f)],'attemptsMade':_0x43b4f8['attemptsMade'],'failedReason':_0x43b4f8['failedReason'],'returnvalue':_0x43b4f8['returnvalue'],'data':_0x43b4f8[_0x3d7b5b(0x146)],'timestamps':{'created':_0x43b4f8['timestamp'],'started':_0x43b4f8[_0x3d7b5b(0xe9)],'completed':_0x43b4f8[_0x3d7b5b(0x107)]}}});}}_0xcb24dc[_0x3d7b5b(0xe4)](0x194)[_0x3d7b5b(0xfd)]({'success':![],'error':_0x3d7b5b(0x110)+_0x1ebb2f+'\x20tidak\x20ditemukan'});}catch(_0x25e8be){logger[_0x3d7b5b(0xff)]({'event':_0x3d7b5b(0x12e),'error':_0x25e8be['message']},_0x545f96[_0x3d7b5b(0x142)]),_0xcb24dc['status'](0x1f4)[_0x3d7b5b(0xfd)]({'success':![],'error':_0x25e8be[_0x3d7b5b(0x11e)]});}}),_0x26991a[_0x3150b9(0x125)](_0x545f96[_0x3150b9(0x103)],async(_0xf4ebaa,_0x4cc59f)=>{const _0x4b1e6b=_0x3150b9;try{const {jobName:_0x233bc1}=_0xf4ebaa[_0x4b1e6b(0x137)],_0x3cdb9c=_0xf4ebaa['body']||{};let _0x49e250=cachedJobConfigs?.[_0x233bc1];if(!_0x49e250){const _0x5d3c34=require('fs'),_0x6fcd10=require('path'),_0x9308a=_0x6fcd10[_0x4b1e6b(0x11c)](process['cwd'](),_0x4b1e6b(0x115),_0x545f96[_0x4b1e6b(0x12c)]),_0x2f4562=_0x5d3c34['existsSync'](_0x9308a)?_0x5d3c34[_0x4b1e6b(0x148)](_0x9308a)[_0x4b1e6b(0x140)](_0x5ce8c1=>_0x5ce8c1['endsWith'](_0x4b1e6b(0xf2))):[];for(const _0x342fe3 of _0x2f4562){try{const _0xd703be=_0x5d3c34['readFileSync'](_0x6fcd10[_0x4b1e6b(0x11c)](_0x9308a,_0x342fe3),_0x4b1e6b(0xe6)),_0x3d928a=JSON['parse'](_0xd703be);if(_0x545f96['YRgek'](_0x3d928a[_0x4b1e6b(0x109)],_0x233bc1)){_0x49e250=_0x3d928a;break;}}catch(_0xed66e7){}}}if(!_0x49e250)return _0x4cc59f[_0x4b1e6b(0xe4)](0x194)[_0x4b1e6b(0xfd)]({'success':![],'error':'Job\x20\x22'+_0x233bc1+_0x4b1e6b(0x13d)});const _0x1c05ac=_0x545f96['PRDfI'](getReadQueues),_0x25c889=_0x1c05ac[_0x49e250['queue']||_0x4b1e6b(0x138)],_0x4ea11f=await _0x25c889['add'](_0x233bc1,{..._0x3cdb9c,'handler':_0x49e250[_0x4b1e6b(0xde)],'triggeredBy':_0x4b1e6b(0x13b)},{'attempts':_0x49e250['retry']?.[_0x4b1e6b(0xe5)]||0x3,'backoff':{'type':_0x49e250['retry']?.['backoff']||_0x545f96[_0x4b1e6b(0x145)],'delay':_0x49e250[_0x4b1e6b(0x102)]?.['initialDelay']||0x1388},'timeout':_0x49e250[_0x4b1e6b(0xdf)]||0x7530});logger['info']({'event':_0x4b1e6b(0x11a),'jobId':_0x4ea11f['id'],'name':_0x233bc1},_0x4b1e6b(0x10b)+_0x233bc1+_0x4b1e6b(0x12b)+_0x4ea11f['id']+')'),_0x4cc59f[_0x4b1e6b(0xfd)]({'success':!![],'jobId':_0x4ea11f['id'],'message':_0x4b1e6b(0x110)+_0x233bc1+'\x20berhasil\x20di-trigger'});}catch(_0x281a23){logger['error']({'event':_0x545f96[_0x4b1e6b(0x129)],'error':_0x281a23[_0x4b1e6b(0x11e)]},'Error\x20triggering\x20job'),_0x4cc59f[_0x4b1e6b(0xe4)](0x1f4)[_0x4b1e6b(0xfd)]({'success':![],'error':_0x281a23[_0x4b1e6b(0x11e)]});}}),_0x26991a['post']('/cancel/:jobId',async(_0x6ab01e,_0x36759c)=>{const _0xf6f027=_0x3150b9;try{const {jobId:_0x57d01d}=_0x6ab01e[_0xf6f027(0x137)],_0x4d5051=_0x545f96['TeBNw'](getReadQueues);for(const _0x1180d1 of Object[_0xf6f027(0x132)](_0x4d5051)){const _0x375db2=await _0x1180d1['getJob'](_0x57d01d);if(_0x375db2){const _0x1303fa=await _0x375db2['getState']();if(_0x1303fa===_0xf6f027(0x144))return await _0x375db2[_0xf6f027(0x147)](new Error(_0x545f96['NVlDK']),_0x545f96['haQap'],!![]),_0x36759c[_0xf6f027(0xfd)]({'success':!![],'message':'Job\x20'+_0x57d01d+'\x20cancelled\x20(was\x20active)'});if(_0x1303fa===_0x545f96[_0xf6f027(0xe3)]||_0x545f96['aKCCv'](_0x1303fa,_0xf6f027(0x127)))return await _0x375db2['remove'](),_0x36759c[_0xf6f027(0xfd)]({'success':!![],'message':'Job\x20'+_0x57d01d+_0xf6f027(0xfc)+_0x1303fa+')'});return _0x36759c['json']({'success':![],'message':_0xf6f027(0x110)+_0x57d01d+'\x20tidak\x20bisa\x20di-cancel\x20(state:\x20'+_0x1303fa+')'});}}_0x36759c['status'](0x194)[_0xf6f027(0xfd)]({'success':![],'error':_0xf6f027(0x110)+_0x57d01d+_0xf6f027(0x111)});}catch(_0x490593){logger[_0xf6f027(0xff)]({'event':'job_cancel_error','error':_0x490593['message']},'Error\x20cancelling\x20job'),_0x36759c[_0xf6f027(0xe4)](0x1f4)[_0xf6f027(0xfd)]({'success':![],'error':_0x490593['message']});}}),_0x26991a[_0x3150b9(0x10f)](_0x3150b9(0x122),async(_0xc7e768,_0x2e9dae)=>{const _0x6a9d56=_0x3150b9;try{const _0x5e6f3b=_0x545f96[_0x6a9d56(0xe8)](parseInt,_0xc7e768[_0x6a9d56(0x13f)]['page'],0xa)||0x1,_0x51b1ef=Math[_0x6a9d56(0xef)](parseInt(_0xc7e768[_0x6a9d56(0x13f)][_0x6a9d56(0x136)],0xa)||0x14,0x64),_0x157901=_0x545f96[_0x6a9d56(0xec)](_0x5e6f3b,0x1)*_0x51b1ef,_0x380339=_0x545f96['MtAQN'](_0x157901,_0x51b1ef)-0x1,_0x522d31=getReadQueues(),_0x926043=[];for(const [_0x511e75,_0xdddd37]of Object['entries'](_0x522d31)){const _0x579a1a=await _0xdddd37['getJobs'](['completed'],_0x157901,_0x380339),_0x11bfe0=await _0xdddd37[_0x6a9d56(0x101)]([_0x545f96['cgBda']],_0x157901,_0x380339);for(const _0x56cb6d of[..._0x579a1a,..._0x11bfe0]){const _0x3d514b=await _0x56cb6d['getState']();_0x926043[_0x6a9d56(0x13c)]({'jobId':_0x56cb6d['id'],'name':_0x56cb6d['name'],'state':_0x3d514b,'queue':_0x511e75,'attemptsMade':_0x56cb6d['attemptsMade'],'failedReason':_0x56cb6d[_0x6a9d56(0xf7)],'returnvalue':_0x56cb6d['returnvalue'],'timestamps':{'created':_0x56cb6d['timestamp'],'started':_0x56cb6d['processedOn'],'completed':_0x56cb6d[_0x6a9d56(0x107)]}});}}_0x926043[_0x6a9d56(0x139)]((_0x2a328d,_0x4116fd)=>(_0x4116fd[_0x6a9d56(0xed)][_0x6a9d56(0x11f)]||0x0)-(_0x2a328d['timestamps'][_0x6a9d56(0x11f)]||0x0)),_0x2e9dae[_0x6a9d56(0xfd)]({'success':!![],'data':_0x926043['slice'](0x0,_0x51b1ef),'total':_0x926043[_0x6a9d56(0xeb)],'page':_0x5e6f3b,'limit':_0x51b1ef});}catch(_0x44f95c){logger['error']({'event':_0x6a9d56(0x117),'error':_0x44f95c[_0x6a9d56(0x11e)]},'Error\x20getting\x20job\x20history'),_0x2e9dae[_0x6a9d56(0xe4)](0x1f4)[_0x6a9d56(0xfd)]({'success':![],'error':_0x44f95c['message']});}}),_0x26991a[_0x3150b9(0x10f)](_0x545f96[_0x3150b9(0xe1)],async(_0x297ed4,_0x44717a)=>{const _0x2a5e55=_0x3150b9;try{const _0x1827ea=getReadQueues(),_0x69a8d8={};for(const [_0x4b624c,_0x5cdacb]of Object['entries'](_0x1827ea)){try{const _0x148e2e=await _0x5cdacb['getJobCounts'](_0x545f96['lKUCw'],_0x545f96[_0x2a5e55(0x124)],'delayed',_0x545f96['cgBda'],'paused',_0x2a5e55(0x10a));_0x69a8d8[_0x4b624c]=_0x148e2e;}catch(_0x237a1b){_0x69a8d8[_0x4b624c]={'error':_0x237a1b[_0x2a5e55(0x11e)]};}}_0x44717a['json']({'success':!![],'data':_0x69a8d8});}catch(_0x41685c){logger[_0x2a5e55(0xff)]({'event':'job_queues_error','error':_0x41685c['message']},_0x2a5e55(0x10d)),_0x44717a[_0x2a5e55(0xe4)](0x1f4)[_0x2a5e55(0xfd)]({'success':![],'error':_0x41685c['message']});}}),_0x26991a['get'](_0x545f96['xzsUL'],async(_0x4ba408,_0x30eb5b)=>{const _0x565a86=_0x3150b9;try{const _0x1ca9ca=_0x545f96[_0x565a86(0x120)](getReadQueues),_0x297e20={};let _0x24a1f6=![];for(const [_0x172823,_0x22897c]of Object['entries'](_0x1ca9ca)){try{const _0x195a91=await _0x22897c[_0x565a86(0xf1)](_0x545f96['lKUCw'],_0x565a86(0x10a),_0x545f96[_0x565a86(0xdd)]);_0x297e20[_0x172823]=_0x195a91,_0x24a1f6=!![];}catch(_0x2bc0d1){_0x297e20[_0x172823]={'error':_0x2bc0d1[_0x565a86(0x11e)]};}}let _0x534ca0=0x0;cachedJobConfigs&&(_0x534ca0=Object['keys'](cachedJobConfigs)['length']),_0x30eb5b[_0x565a86(0xfd)]({'success':!![],'data':{'status':_0x24a1f6?_0x545f96['qpfFG']:_0x545f96[_0x565a86(0xdb)],'redis':_0x24a1f6?'connected':_0x565a86(0x108),'registeredJobs':_0x534ca0,'queues':_0x297e20}});}catch(_0x49e232){_0x30eb5b['status'](0x1f7)[_0x565a86(0xfd)]({'success':![],'data':{'status':_0x545f96['YKWmS'],'error':_0x49e232['message']}});}}),_0x26991a;}function a0_0x270c(_0x549b02,_0x22e907){_0x549b02=_0x549b02-0xda;const _0x49abe0=a0_0x49ab();let _0x270c3d=_0x49abe0[_0x549b02];if(a0_0x270c['ZDZyqa']===undefined){var _0x4bf222=function(_0x2bc4cd){const _0x515a9d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2d6924='',_0x39ef38='';for(let _0x272e82=0x0,_0x22bffc,_0x3b7616,_0x23f361=0x0;_0x3b7616=_0x2bc4cd['charAt'](_0x23f361++);~_0x3b7616&&(_0x22bffc=_0x272e82%0x4?_0x22bffc*0x40+_0x3b7616:_0x3b7616,_0x272e82++%0x4)?_0x2d6924+=String['fromCharCode'](0xff&_0x22bffc>>(-0x2*_0x272e82&0x6)):0x0){_0x3b7616=_0x515a9d['indexOf'](_0x3b7616);}for(let _0x5adf83=0x0,_0x21b113=_0x2d6924['length'];_0x5adf83<_0x21b113;_0x5adf83++){_0x39ef38+='%'+('00'+_0x2d6924['charCodeAt'](_0x5adf83)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x39ef38);};a0_0x270c['OEZZxm']=_0x4bf222,a0_0x270c['ZUXNja']={},a0_0x270c['ZDZyqa']=!![];}const _0x4d0220=_0x49abe0[0x0],_0x69008d=_0x549b02+_0x4d0220,_0xed674a=a0_0x270c['ZUXNja'][_0x69008d];return!_0xed674a?(_0x270c3d=a0_0x270c['OEZZxm'](_0x270c3d),a0_0x270c['ZUXNja'][_0x69008d]=_0x270c3d):_0x270c3d=_0xed674a,_0x270c3d;}module[a0_0x260f63(0xfb)]=createJobRoutes;
|
|
1
|
+
function a0_0x2370(){const _0x981853=['CxvLCNK','CMvHzgrPCLn5BMm','zw5KC1DPDgG','rxjYB3iGz2v0DgLUzYbXDwv1zsbZDgf0CW','CMvTB3zL','Aw9YzwrPCW','mtm2ndHIEunvseq','A2v5CW','zhr2yuW','rvzLAwG','t2HAveS','zgvMyxvSDa','Dw5OzwfSDgH5','CMvHzezPBgvtEw5J','AM9Ix2XPC3rFzxjYB3i','DgLTzxn0yw1WCW','BMfTzq','mtu5mtC0m2vfBeXlDa','C3rHDhvZ','uKvesvnFueftu1DpuKq','ntKWmdjgA1rdA04','CgfYC2u','zxHWCMvZCW','AM9Ix3f1zxvLC19LCNjVCG','nJGWnZi4m3rvtvnHzG','rxjYB3iGy2fUy2vSBgLUzYbQB2i','AgvHBhrOEq','odiWodKYALDJEMr4','zgvNCMfKzwq','z2XHvuC','DgLTzw91Da','zw52','zMLSDgvY','C2XPy2u','rxjYB3iGz2v0DgLUzYbQB2iGC3rHDhvZ','CMv0DxjUDMfSDwu','CgfYyw1Z','DxrMoa','z2v0','ChjVy2vZC2vKt24','lI4VlI4VDxrPBhmVBg9Nz2vY','lMPZB24','AM9PBG','mZvXz3fUtum','BwvZC2fNzq','tvLNBg0','C2nOzwr1Bgu','Bw92zvrVrMfPBgvK','zMfPBgvK','ihrPzgfRigrPDgvTDwTHBG','CMv0CNK','zw50CMLLCW','DMfSDwvZ','mJe4mta0oejhrvvYuG','uKj5wM8','zxjYB3i','sK9cx1jfreLtx1bsruzjwa','nJeYovL0uNbSvG','tM54rLu','zgvSyxLLza','uxbQCui','y3D5sM4','sxjrr2i','ywrK','r2fZB1C','zxHPC3rZu3LUyW','y3DK','BgvUz3rO','l3f1zxvLCW','Bg93','uhfTA0C','ufjMugu','Aw5MBW','ndDnquj3u2K','igjLCMHHC2LSigrPlxrYAwDNzxi','uKvesvnFue9sva','z2v0sM9I','yxr0zw1WDhnnywrL','sM9Iia','Bwf4qxr0zw1WDhm','zgLZy29UBMvJDgvK','DffutMq','ANnVBG','ue93teq','z2v0u3rHDgu','AgfUzgXLCG','CxvLDwu','AKDgyNO','z2v0sM9Iq291BNrZ','zgf0yq','mteYmJG2mZbvB0n2zgu','DgLTzxn0yw1W','AM9Ix2nHBMnLBf9LCNjVCG','rxjYB3iGDhjPz2DLCMLUzYbQB2i','zxHWB3j0CW','yMfJA29MzG'];a0_0x2370=function(){return _0x981853;};return a0_0x2370();}const a0_0xd5b548=a0_0x5956;(function(_0x266c2c,_0x52c052){const _0x2a768d=a0_0x5956,_0x48ad73=_0x266c2c();while(!![]){try{const _0x42bc46=-parseInt(_0x2a768d(0x1a2))/0x1*(-parseInt(_0x2a768d(0x16d))/0x2)+-parseInt(_0x2a768d(0x16a))/0x3+-parseInt(_0x2a768d(0x174))/0x4*(-parseInt(_0x2a768d(0x184))/0x5)+-parseInt(_0x2a768d(0x18e))/0x6+-parseInt(_0x2a768d(0x171))/0x7+parseInt(_0x2a768d(0x15f))/0x8*(-parseInt(_0x2a768d(0x192))/0x9)+parseInt(_0x2a768d(0x1b3))/0xa;if(_0x42bc46===_0x52c052)break;else _0x48ad73['push'](_0x48ad73['shift']());}catch(_0x1075f6){_0x48ad73['push'](_0x48ad73['shift']());}}}(a0_0x2370,0xe007b));function a0_0x5956(_0x99e6f8,_0x4e4646){_0x99e6f8=_0x99e6f8-0x15f;const _0x237083=a0_0x2370();let _0x595619=_0x237083[_0x99e6f8];if(a0_0x5956['mFLyVW']===undefined){var _0x130837=function(_0x58f7ba){const _0x26f90b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3883d2='',_0x3d9c75='';for(let _0x58e7ff=0x0,_0x5c182d,_0x4e8d30,_0x253b8b=0x0;_0x4e8d30=_0x58f7ba['charAt'](_0x253b8b++);~_0x4e8d30&&(_0x5c182d=_0x58e7ff%0x4?_0x5c182d*0x40+_0x4e8d30:_0x4e8d30,_0x58e7ff++%0x4)?_0x3883d2+=String['fromCharCode'](0xff&_0x5c182d>>(-0x2*_0x58e7ff&0x6)):0x0){_0x4e8d30=_0x26f90b['indexOf'](_0x4e8d30);}for(let _0x1b855b=0x0,_0x1bc333=_0x3883d2['length'];_0x1b855b<_0x1bc333;_0x1b855b++){_0x3d9c75+='%'+('00'+_0x3883d2['charCodeAt'](_0x1b855b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3d9c75);};a0_0x5956['mmHjKy']=_0x130837,a0_0x5956['fkWlhC']={},a0_0x5956['mFLyVW']=!![];}const _0x329ca6=_0x237083[0x0],_0x6b45a7=_0x99e6f8+_0x329ca6,_0x10bb2b=a0_0x5956['fkWlhC'][_0x6b45a7];return!_0x10bb2b?(_0x595619=a0_0x5956['mmHjKy'](_0x595619),a0_0x5956['fkWlhC'][_0x6b45a7]=_0x595619):_0x595619=_0x10bb2b,_0x595619;}const express=require(a0_0xd5b548(0x16f)),{Queue}=require('bullmq'),Redis=require(a0_0xd5b548(0x1be)),{logger}=require(a0_0xd5b548(0x181));let readConnection=null,readQueues=null,cachedJobConfigs=null;const QUEUE_NAMES={'high-priority':'high','default':a0_0xd5b548(0x164),'low-priority':a0_0xd5b548(0x19e)};function getReadQueues(){const _0x1e4ed1=a0_0xd5b548,_0x2b50c1={'IrQGb':'job_routes_redis_error','rNTCb':'rf:job','WyCrh':function(_0x57dea4,_0x747b04,_0x7781ba){return _0x57dea4(_0x747b04,_0x7781ba);}};if(readQueues)return readQueues;const _0x2218fe=process['env'][_0x1e4ed1(0x191)]||_0x2b50c1['rNTCb'];readConnection=new Redis({'host':process['env']['REDIS_HOST']||'localhost','port':parseInt(process['env'][_0x1e4ed1(0x1a4)],0xa)||0x18ec,'password':process[_0x1e4ed1(0x178)][_0x1e4ed1(0x16c)]||undefined,'db':_0x2b50c1['WyCrh'](parseInt,process['env']['REDIS_DB'],0xa)||0x0,'maxRetriesPerRequest':null}),readConnection['on'](_0x1e4ed1(0x190),_0x83f7b9=>{const _0x1f0f5c=_0x1e4ed1;logger[_0x1f0f5c(0x190)]({'event':_0x2b50c1[_0x1f0f5c(0x197)],'error':_0x83f7b9['message']},'Job\x20Routes\x20Redis\x20error:\x20'+_0x83f7b9[_0x1f0f5c(0x185)]);}),readQueues={};for(const [_0x2b1c10,_0x436f92]of Object[_0x1e4ed1(0x18c)](QUEUE_NAMES)){readQueues[_0x2b1c10]=new Queue(_0x436f92,{'connection':readConnection,'prefix':_0x2218fe});}return readQueues;}function createJobRoutes(_0x1001ef){const _0x12a453=a0_0xd5b548,_0x458ee6={'cpLih':'path','PqmkG':'utf8','KDIfP':'default','bCuAZ':_0x12a453(0x167),'EVeih':'job_status_error','XhgnD':function(_0x5c7a9a,_0x4a8b24){return _0x5c7a9a(_0x4a8b24);},'NnxFU':'jobs','OhZTK':'exponential','kEfcd':'job_trigger_error','ISMGk':_0x12a453(0x1b6),'PRfPe':function(_0x41315c){return _0x41315c();},'tQTNd':function(_0x4e4b74,_0x169b2b){return _0x4e4b74===_0x169b2b;},'cwyJn':'active','qWerk':'waiting','Acech':_0x12a453(0x1b5),'MYglm':function(_0x29c54d,_0x456172){return _0x29c54d*_0x456172;},'oQQHV':function(_0x547e73,_0x1ae399){return _0x547e73+_0x1ae399;},'dtvaL':'completed','hlYpZ':'job_history_error','RByZo':'Error\x20getting\x20job\x20history','BJFan':_0x12a453(0x170),'NFeus':_0x12a453(0x1bc),'GZAgm':_0x12a453(0x173),'POwLD':_0x12a453(0x175),'GasoW':function(_0x67007d,_0x4507f3){return _0x67007d>_0x4507f3;},'jGFbz':'/list','glaUG':'/status/:jobId','QpjqB':'/trigger/:jobName','UKqfl':'/health'},_0x111257=express['Router']();return _0x1001ef&&_0x458ee6[_0x12a453(0x199)](Object['keys'](_0x1001ef)['length'],0x0)&&(cachedJobConfigs=_0x1001ef),_0x111257['get'](_0x458ee6[_0x12a453(0x1b0)],(_0x3445bf,_0x353164)=>{const _0x7654e1=_0x12a453;try{if(cachedJobConfigs){const _0xc49684=Object['values'](cachedJobConfigs)['map'](_0x378cbe=>({'name':_0x378cbe[_0x7654e1(0x169)],'description':_0x378cbe['description']||'','type':_0x378cbe['type'],'schedule':_0x378cbe[_0x7654e1(0x187)],'handler':_0x378cbe[_0x7654e1(0x1ae)],'enabled':_0x378cbe['enabled']!==![],'queue':_0x378cbe[_0x7654e1(0x1af)]||'default','timeout':_0x378cbe[_0x7654e1(0x177)]||0x7530,'retry':_0x378cbe[_0x7654e1(0x18b)]||{'maxAttempts':0x3,'backoff':'exponential','initialDelay':0x1388},'metadata':_0x378cbe['metadata']||{}}));return _0x353164[_0x7654e1(0x1ab)]({'success':!![],'data':_0xc49684,'total':_0xc49684[_0x7654e1(0x19c)]});}const _0x5c06f2=require('fs'),_0x54afd8=require(_0x458ee6['cpLih']),_0x2ef0dd=_0x54afd8[_0x7654e1(0x183)](process[_0x7654e1(0x19b)](),'payload','jobs');if(!_0x5c06f2[_0x7654e1(0x19a)](_0x2ef0dd))return _0x353164['json']({'success':!![],'data':[],'total':0x0});const _0x331dbb=_0x5c06f2['readdirSync'](_0x2ef0dd)[_0x7654e1(0x179)](_0xed4e44=>_0xed4e44['endsWith']('.json')),_0xec2739=[];for(const _0xa9d4c4 of _0x331dbb){try{const _0x10341e=_0x5c06f2[_0x7654e1(0x166)](_0x54afd8[_0x7654e1(0x183)](_0x2ef0dd,_0xa9d4c4),_0x458ee6[_0x7654e1(0x19f)]),_0x9ccdb3=JSON['parse'](_0x10341e);_0xec2739['push']({'name':_0x9ccdb3[_0x7654e1(0x169)],'description':_0x9ccdb3['description']||'','type':_0x9ccdb3['type'],'schedule':_0x9ccdb3['schedule'],'handler':_0x9ccdb3[_0x7654e1(0x1ae)],'enabled':_0x9ccdb3['enabled']!==![],'queue':_0x9ccdb3['queue']||_0x458ee6['KDIfP'],'timeout':_0x9ccdb3['timeout']||0x7530,'retry':_0x9ccdb3['retry']||{},'metadata':_0x9ccdb3['metadata']||{}});}catch(_0x466ba0){}}_0x353164['json']({'success':!![],'data':_0xec2739,'total':_0xec2739[_0x7654e1(0x19c)]});}catch(_0x2d1b47){logger['error']({'event':_0x458ee6['bCuAZ'],'error':_0x2d1b47['message']},'Error\x20listing\x20jobs'),_0x353164['status'](0x1f4)['json']({'success':![],'error':_0x2d1b47['message']});}}),_0x111257['get'](_0x458ee6[_0x12a453(0x176)],async(_0x9f319c,_0x3b5cb9)=>{const _0x1e580a=_0x12a453;try{const {jobId:_0x5222b6}=_0x9f319c['params'],_0xfe1c5d=getReadQueues();for(const _0x3d4fd6 of Object['values'](_0xfe1c5d)){const _0x1659c0=await _0x3d4fd6[_0x1e580a(0x1a5)](_0x5222b6);if(_0x1659c0){const _0x25871c=await _0x1659c0['getState']();return _0x3b5cb9[_0x1e580a(0x1ab)]({'success':!![],'data':{'jobId':_0x1659c0['id'],'name':_0x1659c0[_0x1e580a(0x169)],'state':_0x25871c,'progress':_0x1659c0['progress'],'attemptsMade':_0x1659c0['attemptsMade'],'failedReason':_0x1659c0['failedReason'],'returnvalue':_0x1659c0[_0x1e580a(0x17c)],'data':_0x1659c0[_0x1e580a(0x1b2)],'timestamps':{'created':_0x1659c0[_0x1e580a(0x1b4)],'started':_0x1659c0['processedOn'],'completed':_0x1659c0['finishedOn']}}});}}_0x3b5cb9['status'](0x194)['json']({'success':![],'error':_0x1e580a(0x1a7)+_0x5222b6+_0x1e580a(0x18a)});}catch(_0x2e9708){logger['error']({'event':_0x458ee6[_0x1e580a(0x162)],'error':_0x2e9708['message']},_0x1e580a(0x17b)),_0x3b5cb9[_0x1e580a(0x16b)](0x1f4)[_0x1e580a(0x1ab)]({'success':![],'error':_0x2e9708[_0x1e580a(0x185)]});}}),_0x111257['post'](_0x458ee6[_0x12a453(0x195)],async(_0x17556f,_0x4399ad)=>{const _0x16072e=_0x12a453;try{const {jobName:_0x145eeb}=_0x17556f['params'],_0x4b149a=_0x17556f['body']||{};let _0x410cf2=cachedJobConfigs?.[_0x145eeb];if(!_0x410cf2){const _0x4569ab=_0x458ee6['XhgnD'](require,'fs'),_0x10e84e=require('path'),_0x164dfe=_0x10e84e[_0x16072e(0x183)](process['cwd'](),'payload',_0x458ee6[_0x16072e(0x193)]),_0x1a79e6=_0x4569ab[_0x16072e(0x19a)](_0x164dfe)?_0x4569ab[_0x16072e(0x1ba)](_0x164dfe)['filter'](_0x20259c=>_0x20259c[_0x16072e(0x1bb)](_0x16072e(0x182))):[];for(const _0x569a3d of _0x1a79e6){try{const _0x10b13a=_0x4569ab['readFileSync'](_0x10e84e[_0x16072e(0x183)](_0x164dfe,_0x569a3d),_0x16072e(0x17e)),_0x152553=JSON[_0x16072e(0x16e)](_0x10b13a);if(_0x152553[_0x16072e(0x169)]===_0x145eeb){_0x410cf2=_0x152553;break;}}catch(_0x1a573e){}}}if(!_0x410cf2)return _0x4399ad['status'](0x194)['json']({'success':![],'error':'Job\x20\x22'+_0x145eeb+'\x22\x20tidak\x20ditemukan\x20di\x20konfigurasi'});const _0x29f4fc=getReadQueues(),_0x7a33b8=_0x29f4fc[_0x410cf2[_0x16072e(0x1af)]||'default'],_0x43c505=await _0x7a33b8[_0x16072e(0x198)](_0x145eeb,{..._0x4b149a,'handler':_0x410cf2['handler'],'triggeredBy':'api'},{'attempts':_0x410cf2[_0x16072e(0x18b)]?.[_0x16072e(0x1a8)]||0x3,'backoff':{'type':_0x410cf2[_0x16072e(0x18b)]?.[_0x16072e(0x1b8)]||_0x458ee6[_0x16072e(0x163)],'delay':_0x410cf2[_0x16072e(0x18b)]?.['initialDelay']||0x1388},'timeout':_0x410cf2['timeout']||0x7530});logger[_0x16072e(0x1a1)]({'event':'job_triggered_via_api','jobId':_0x43c505['id'],'name':_0x145eeb},'Job\x20triggered\x20via\x20API:\x20'+_0x145eeb+'\x20(id:\x20'+_0x43c505['id']+')'),_0x4399ad['json']({'success':!![],'jobId':_0x43c505['id'],'message':_0x16072e(0x1a7)+_0x145eeb+_0x16072e(0x1a3)});}catch(_0x10f48d){logger[_0x16072e(0x190)]({'event':_0x458ee6['kEfcd'],'error':_0x10f48d['message']},_0x458ee6['ISMGk']),_0x4399ad['status'](0x1f4)[_0x16072e(0x1ab)]({'success':![],'error':_0x10f48d[_0x16072e(0x185)]});}}),_0x111257['post']('/cancel/:jobId',async(_0x450469,_0x393968)=>{const _0x14822e=_0x12a453;try{const {jobId:_0x543987}=_0x450469[_0x14822e(0x17d)],_0x58e248=_0x458ee6['PRfPe'](getReadQueues);for(const _0x40c442 of Object[_0x14822e(0x18d)](_0x58e248)){const _0x4fe9d1=await _0x40c442['getJob'](_0x543987);if(_0x4fe9d1){const _0x25166f=await _0x4fe9d1['getState']();if(_0x458ee6[_0x14822e(0x1aa)](_0x25166f,_0x458ee6['cwyJn']))return await _0x4fe9d1[_0x14822e(0x188)](new Error('Job\x20cancelled\x20via\x20API'),'api-cancel',!![]),_0x393968['json']({'success':!![],'message':'Job\x20'+_0x543987+'\x20cancelled\x20(was\x20active)'});if(_0x458ee6[_0x14822e(0x1aa)](_0x25166f,_0x458ee6['qWerk'])||_0x458ee6['tQTNd'](_0x25166f,'delayed'))return await _0x4fe9d1[_0x14822e(0x1bd)](),_0x393968['json']({'success':!![],'message':_0x14822e(0x1a7)+_0x543987+'\x20removed\x20(was\x20'+_0x25166f+')'});return _0x393968[_0x14822e(0x1ab)]({'success':![],'message':'Job\x20'+_0x543987+'\x20tidak\x20bisa\x20di-cancel\x20(state:\x20'+_0x25166f+')'});}}_0x393968['status'](0x194)[_0x14822e(0x1ab)]({'success':![],'error':_0x14822e(0x1a7)+_0x543987+_0x14822e(0x18a)});}catch(_0x2094c7){logger[_0x14822e(0x190)]({'event':_0x458ee6['Acech'],'error':_0x2094c7['message']},_0x14822e(0x172)),_0x393968[_0x14822e(0x16b)](0x1f4)['json']({'success':![],'error':_0x2094c7[_0x14822e(0x185)]});}}),_0x111257['get']('/history',async(_0x5e4e51,_0x18656f)=>{const _0x47812d=_0x12a453;try{const _0x57e3d9=parseInt(_0x5e4e51[_0x47812d(0x1b9)]['page'],0xa)||0x1,_0x2716a3=Math['min'](parseInt(_0x5e4e51[_0x47812d(0x1b9)]['limit'],0xa)||0x14,0x64),_0x16b208=_0x458ee6[_0x47812d(0x186)](_0x57e3d9-0x1,_0x2716a3),_0x4266b3=_0x458ee6['oQQHV'](_0x16b208,_0x2716a3)-0x1,_0x333e52=getReadQueues(),_0x66dd56=[];for(const [_0x453c18,_0x3f50ba]of Object[_0x47812d(0x18c)](_0x333e52)){const _0x54e472=await _0x3f50ba['getJobs']([_0x458ee6[_0x47812d(0x161)]],_0x16b208,_0x4266b3),_0x2b264c=await _0x3f50ba['getJobs']([_0x47812d(0x189)],_0x16b208,_0x4266b3);for(const _0x1c29e8 of[..._0x54e472,..._0x2b264c]){const _0x5e3009=await _0x1c29e8[_0x47812d(0x1ad)]();_0x66dd56['push']({'jobId':_0x1c29e8['id'],'name':_0x1c29e8[_0x47812d(0x169)],'state':_0x5e3009,'queue':_0x453c18,'attemptsMade':_0x1c29e8[_0x47812d(0x1a6)],'failedReason':_0x1c29e8['failedReason'],'returnvalue':_0x1c29e8['returnvalue'],'timestamps':{'created':_0x1c29e8[_0x47812d(0x1b4)],'started':_0x1c29e8[_0x47812d(0x180)],'completed':_0x1c29e8['finishedOn']}});}}_0x66dd56['sort']((_0x33a8eb,_0x42dc4f)=>(_0x42dc4f[_0x47812d(0x168)]['created']||0x0)-(_0x33a8eb[_0x47812d(0x168)]['created']||0x0)),_0x18656f[_0x47812d(0x1ab)]({'success':!![],'data':_0x66dd56[_0x47812d(0x17a)](0x0,_0x2716a3),'total':_0x66dd56[_0x47812d(0x19c)],'page':_0x57e3d9,'limit':_0x2716a3});}catch(_0x5068c4){logger[_0x47812d(0x190)]({'event':_0x458ee6['hlYpZ'],'error':_0x5068c4['message']},_0x458ee6[_0x47812d(0x18f)]),_0x18656f['status'](0x1f4)[_0x47812d(0x1ab)]({'success':![],'error':_0x5068c4[_0x47812d(0x185)]});}}),_0x111257[_0x12a453(0x17f)](_0x12a453(0x19d),async(_0x429fcb,_0x5a3d56)=>{const _0x35b9cd=_0x12a453;try{const _0xf85e61=_0x458ee6[_0x35b9cd(0x1a0)](getReadQueues),_0x578b1c={};for(const [_0x24ce07,_0xc017ba]of Object[_0x35b9cd(0x18c)](_0xf85e61)){try{const _0x2eec3a=await _0xc017ba['getJobCounts'](_0x458ee6[_0x35b9cd(0x196)],_0x458ee6['dtvaL'],_0x35b9cd(0x194),'failed','paused','waiting');_0x578b1c[_0x24ce07]=_0x2eec3a;}catch(_0x21882f){_0x578b1c[_0x24ce07]={'error':_0x21882f['message']};}}_0x5a3d56['json']({'success':!![],'data':_0x578b1c});}catch(_0x4b6ae2){logger['error']({'event':_0x458ee6['BJFan'],'error':_0x4b6ae2['message']},_0x458ee6['NFeus']),_0x5a3d56['status'](0x1f4)[_0x35b9cd(0x1ab)]({'success':![],'error':_0x4b6ae2[_0x35b9cd(0x185)]});}}),_0x111257[_0x12a453(0x17f)](_0x458ee6['UKqfl'],async(_0x1f604e,_0xe0da92)=>{const _0x3cf396=_0x12a453;try{const _0x774f45=getReadQueues(),_0x2545ea={};let _0x52f7bb=![];for(const [_0x353983,_0x40f53c]of Object['entries'](_0x774f45)){try{const _0x4aaf77=await _0x40f53c[_0x3cf396(0x1b1)](_0x458ee6[_0x3cf396(0x196)],_0x458ee6['qWerk'],'failed');_0x2545ea[_0x353983]=_0x4aaf77,_0x52f7bb=!![];}catch(_0x323ae5){_0x2545ea[_0x353983]={'error':_0x323ae5['message']};}}let _0x5013c0=0x0;cachedJobConfigs&&(_0x5013c0=Object[_0x3cf396(0x160)](cachedJobConfigs)[_0x3cf396(0x19c)]),_0xe0da92[_0x3cf396(0x1ab)]({'success':!![],'data':{'status':_0x52f7bb?_0x458ee6['GZAgm']:_0x458ee6[_0x3cf396(0x1ac)],'redis':_0x52f7bb?'connected':_0x3cf396(0x1a9),'registeredJobs':_0x5013c0,'queues':_0x2545ea}});}catch(_0x303c19){_0xe0da92[_0x3cf396(0x16b)](0x1f7)[_0x3cf396(0x1ab)]({'success':![],'data':{'status':_0x3cf396(0x165),'error':_0x303c19[_0x3cf396(0x185)]}});}}),_0x111257;}module[a0_0xd5b548(0x1b7)]=createJobRoutes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x39fc(_0x476aad,_0x59912c){_0x476aad=_0x476aad-0x17d;const _0x48eeb9=a0_0x48ee();let _0x39fcab=_0x48eeb9[_0x476aad];if(a0_0x39fc['VjcfML']===undefined){var _0x8957ea=function(_0x52e619){const _0x2e2f9d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x9340d4='',_0x2a89eb='';for(let _0x2a9063=0x0,_0x45e95b,_0x1ae4d0,_0x35e4f4=0x0;_0x1ae4d0=_0x52e619['charAt'](_0x35e4f4++);~_0x1ae4d0&&(_0x45e95b=_0x2a9063%0x4?_0x45e95b*0x40+_0x1ae4d0:_0x1ae4d0,_0x2a9063++%0x4)?_0x9340d4+=String['fromCharCode'](0xff&_0x45e95b>>(-0x2*_0x2a9063&0x6)):0x0){_0x1ae4d0=_0x2e2f9d['indexOf'](_0x1ae4d0);}for(let _0x1f542b=0x0,_0x74bb01=_0x9340d4['length'];_0x1f542b<_0x74bb01;_0x1f542b++){_0x2a89eb+='%'+('00'+_0x9340d4['charCodeAt'](_0x1f542b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2a89eb);};a0_0x39fc['zReCGk']=_0x8957ea,a0_0x39fc['qgObzo']={},a0_0x39fc['VjcfML']=!![];}const _0x315865=_0x48eeb9[0x0],_0x302186=_0x476aad+_0x315865,_0x542c7b=a0_0x39fc['qgObzo'][_0x302186];return!_0x542c7b?(_0x39fcab=a0_0x39fc['zReCGk'](_0x39fcab),a0_0x39fc['qgObzo'][_0x302186]=_0x39fcab):_0x39fcab=_0x542c7b,_0x39fcab;}const a0_0x13a87d=a0_0x39fc;(function(_0x1fcbe2,_0x422151){const _0x2399b3=a0_0x39fc,_0x216a5f=_0x1fcbe2();while(!![]){try{const _0x18c926=-parseInt(_0x2399b3(0x183))/0x1+-parseInt(_0x2399b3(0x18e))/0x2*(-parseInt(_0x2399b3(0x1c7))/0x3)+parseInt(_0x2399b3(0x19d))/0x4+parseInt(_0x2399b3(0x1ca))/0x5*(parseInt(_0x2399b3(0x189))/0x6)+-parseInt(_0x2399b3(0x1cb))/0x7*(parseInt(_0x2399b3(0x1c2))/0x8)+parseInt(_0x2399b3(0x19b))/0x9+parseInt(_0x2399b3(0x1b0))/0xa*(-parseInt(_0x2399b3(0x1aa))/0xb);if(_0x18c926===_0x422151)break;else _0x216a5f['push'](_0x216a5f['shift']());}catch(_0x4ee340){_0x216a5f['push'](_0x216a5f['shift']());}}}(a0_0x48ee,0x675fc));const fs=require('fs'),path=require(a0_0x13a87d(0x17f)),VALID_QUEUE_NAMES=['high-priority',a0_0x13a87d(0x1c3),'low-priority'],VALID_BACKOFF_TYPES=[a0_0x13a87d(0x1ac),a0_0x13a87d(0x188)],SLUG_REGEX=/^[a-z0-9]+(?:-[a-z0-9]+)*$/;class JobValidator{['validateConfig'](_0x17c475,_0x4dcb13){const _0x214382=a0_0x13a87d,_0x232ba5={'Fysid':'object','xEajv':function(_0x19088c,_0x4c8b58){return _0x19088c!==_0x4c8b58;},'imZxj':'Field\x20\x22name\x22\x20wajib\x20diisi\x20(string)','GnvYP':_0x214382(0x19c),'fRdKo':'Field\x20\x22type\x22\x20wajib\x20diisi\x20(string)','iUbKR':'cron','NglUO':function(_0x2bf037,_0x181490){return _0x2bf037!==_0x181490;},'bHyJo':_0x214382(0x1b6),'tQKSC':function(_0x4e5c03,_0x8e8efb){return _0x4e5c03!==_0x8e8efb;},'UauGr':function(_0x17ad48,_0x542121){return _0x17ad48!==_0x542121;},'IOchl':_0x214382(0x1b3),'uSHgQ':'Field\x20\x22enabled\x22\x20harus\x20boolean','ZboKE':function(_0x4fe06e,_0x35d0f2){return _0x4fe06e!==_0x35d0f2;},'PsHAu':'number','pSGVC':function(_0x5b6db8,_0x1e8ea7){return _0x5b6db8<=_0x1e8ea7;},'hHPhn':_0x214382(0x1ab),'WBfaf':function(_0xa9db5f,_0x49a0c8){return _0xa9db5f<_0x49a0c8;},'ujPjr':function(_0x3d4946,_0xf23fac){return _0x3d4946>_0xf23fac;},'daLRA':function(_0xcd70c0,_0x4dfe70){return _0xcd70c0===_0x4dfe70;},'ZeQiD':function(_0x5893a4,_0x1362f9){return _0x5893a4===_0x1362f9;},'Cqyda':_0x214382(0x1a5)},_0x4842db=[];if(!_0x17c475||typeof _0x17c475!==_0x232ba5[_0x214382(0x196)])return{'valid':![],'errors':['Config\x20harus\x20berupa\x20object']};if(!_0x17c475['name']||_0x232ba5['xEajv'](typeof _0x17c475[_0x214382(0x1b2)],_0x214382(0x19c)))_0x4842db[_0x214382(0x18d)](_0x232ba5[_0x214382(0x1cf)]);else!SLUG_REGEX['test'](_0x17c475['name'])&&_0x4842db['push'](_0x214382(0x1a8)+_0x17c475[_0x214382(0x1b2)]+'\x22');if(!_0x17c475[_0x214382(0x182)]||typeof _0x17c475['type']!==_0x232ba5['GnvYP'])_0x4842db['push'](_0x232ba5['fRdKo']);else _0x17c475['type']!==_0x232ba5[_0x214382(0x1c5)]&&_0x4842db[_0x214382(0x18d)](_0x214382(0x1bc)+_0x17c475[_0x214382(0x182)]+'\x22');if(!_0x17c475[_0x214382(0x1d3)]||_0x232ba5['xEajv'](typeof _0x17c475[_0x214382(0x1d3)],'string'))_0x4842db['push']('Field\x20\x22schedule\x22\x20wajib\x20diisi\x20(cron\x20expression\x20string)');else{const _0x535a8d=this[_0x214382(0x1ba)](_0x17c475['schedule']);!_0x535a8d['valid']&&_0x4842db['push'](..._0x535a8d[_0x214382(0x1a7)]);}if(!_0x17c475['handler']||_0x232ba5[_0x214382(0x1be)](typeof _0x17c475['handler'],_0x214382(0x19c)))_0x4842db['push'](_0x232ba5['bHyJo']);else{if(_0x4dcb13){const _0x336819=this['validateHandlerExists'](_0x17c475['handler'],_0x4dcb13);!_0x336819['valid']&&_0x4842db[_0x214382(0x18d)](..._0x336819[_0x214382(0x1a7)]);}}_0x232ba5[_0x214382(0x17e)](_0x17c475[_0x214382(0x1c9)],undefined)&&_0x232ba5['UauGr'](typeof _0x17c475[_0x214382(0x1c9)],_0x232ba5[_0x214382(0x1cd)])&&_0x4842db[_0x214382(0x18d)](_0x232ba5[_0x214382(0x1bb)]);_0x17c475['timeout']!==undefined&&((_0x232ba5[_0x214382(0x1a1)](typeof _0x17c475[_0x214382(0x1b4)],_0x232ba5[_0x214382(0x1bf)])||_0x232ba5[_0x214382(0x1a3)](_0x17c475['timeout'],0x0))&&_0x4842db['push'](_0x232ba5[_0x214382(0x1a6)]));if(_0x17c475[_0x214382(0x18b)]!==undefined){const _0x43d7a9=this[_0x214382(0x194)](_0x17c475['queue']);!_0x43d7a9[_0x214382(0x195)]&&_0x4842db['push'](..._0x43d7a9['errors']);}_0x17c475[_0x214382(0x1ad)]!==undefined&&((_0x232ba5['UauGr'](typeof _0x17c475['concurrency'],_0x232ba5['PsHAu'])||_0x232ba5[_0x214382(0x180)](_0x17c475[_0x214382(0x1ad)],0x1)||_0x232ba5[_0x214382(0x1d4)](_0x17c475['concurrency'],0x32))&&_0x4842db['push']('Field\x20\x22concurrency\x22\x20harus\x20number\x20antara\x201-50'));if(_0x17c475[_0x214382(0x1c1)]!==undefined){if(typeof _0x17c475['retry']!==_0x214382(0x1b5)||_0x232ba5[_0x214382(0x1b9)](_0x17c475[_0x214382(0x1c1)],null))_0x4842db['push']('Field\x20\x22retry\x22\x20harus\x20berupa\x20object');else{const _0x5e17a3=this[_0x214382(0x1c6)](_0x17c475[_0x214382(0x1c1)]);!_0x5e17a3['valid']&&_0x4842db['push'](..._0x5e17a3[_0x214382(0x1a7)]);}}return _0x232ba5[_0x214382(0x184)](_0x17c475['metadata'],undefined)&&((typeof _0x17c475[_0x214382(0x19f)]!==_0x232ba5['Fysid']||_0x232ba5['ZeQiD'](_0x17c475[_0x214382(0x19f)],null)||Array[_0x214382(0x198)](_0x17c475['metadata']))&&_0x4842db['push'](_0x232ba5[_0x214382(0x193)])),{'valid':_0x4842db['length']===0x0,'errors':_0x4842db};}['validateCronExpression'](_0x4cbff0){const _0x4a6c55=a0_0x13a87d,_0x785b07={'fczpq':function(_0x40388e,_0x4de17e){return _0x40388e!==_0x4de17e;},'wJFPM':'hour','JoIUj':'day-of-month','dqqNT':_0x4a6c55(0x1d1),'UwMWt':'day-of-week','IeYtv':function(_0x4928b4,_0x8e17d3){return _0x4928b4<_0x8e17d3;},'pKpMq':function(_0x1df9ad,_0x3e9d75){return _0x1df9ad===_0x3e9d75;},'gmjHM':function(_0x1f1915,_0x33ca47){return _0x1f1915!==_0x33ca47;},'KjMle':function(_0x55e8e1,_0x2671e6,_0x33ae63){return _0x55e8e1(_0x2671e6,_0x33ae63);}},_0x3e85e2=[],_0x1b755e=_0x4cbff0[_0x4a6c55(0x186)]()[_0x4a6c55(0x187)](/\s+/);if(_0x785b07[_0x4a6c55(0x1c0)](_0x1b755e[_0x4a6c55(0x1c8)],0x5))return _0x3e85e2['push'](_0x4a6c55(0x1b1)+_0x1b755e[_0x4a6c55(0x1c8)]+'\x20field:\x20\x22'+_0x4cbff0+'\x22'),{'valid':![],'errors':_0x3e85e2};const _0x349e13=['minute',_0x785b07['wJFPM'],_0x785b07[_0x4a6c55(0x1d0)],_0x785b07['dqqNT'],_0x785b07['UwMWt']],_0x1c4303=[{'min':0x0,'max':0x3b},{'min':0x0,'max':0x17},{'min':0x1,'max':0x1f},{'min':0x1,'max':0xc},{'min':0x0,'max':0x7}],_0xe804d=/^(\*|[0-9]+(-[0-9]+)?)([,/](\*|[0-9]+(-[0-9]+)?))*$/;for(let _0x3bef37=0x0;_0x785b07['IeYtv'](_0x3bef37,0x5);_0x3bef37++){const _0x232640=_0x1b755e[_0x3bef37];if(_0x785b07[_0x4a6c55(0x191)](_0x232640,'*'))continue;if(_0x232640['includes']('/')){const [_0x504626,_0x44752f]=_0x232640['split']('/');_0x785b07[_0x4a6c55(0x197)](_0x504626,'*')&&!this['_isValidRange'](_0x504626,_0x1c4303[_0x3bef37])&&_0x3e85e2['push'](_0x4a6c55(0x19a)+_0x349e13[_0x3bef37]+_0x4a6c55(0x190)+_0x504626+_0x4a6c55(0x1d6));const _0x2a4406=_0x785b07[_0x4a6c55(0x1b7)](parseInt,_0x44752f,0xa);(isNaN(_0x2a4406)||_0x785b07['IeYtv'](_0x2a4406,0x1))&&_0x3e85e2['push']('Cron\x20field\x20\x22'+_0x349e13[_0x3bef37]+'\x22:\x20step\x20\x22/'+_0x44752f+_0x4a6c55(0x1bd));continue;}const _0x9176a3=_0x232640[_0x4a6c55(0x187)](',');for(const _0x33c24b of _0x9176a3){!this['_isValidRange'](_0x33c24b,_0x1c4303[_0x3bef37])&&_0x3e85e2[_0x4a6c55(0x18d)](_0x4a6c55(0x19a)+_0x349e13[_0x3bef37]+'\x22:\x20nilai\x20\x22'+_0x33c24b+_0x4a6c55(0x1d8)+_0x1c4303[_0x3bef37][_0x4a6c55(0x1d5)]+'-'+_0x1c4303[_0x3bef37][_0x4a6c55(0x18c)]);}}return{'valid':_0x785b07[_0x4a6c55(0x191)](_0x3e85e2[_0x4a6c55(0x1c8)],0x0),'errors':_0x3e85e2};}['_isValidRange'](_0x3abcd5,_0xbf2c63){const _0x1fc08b=a0_0x13a87d,_0x3909ea={'TnwSA':function(_0x1e5748,_0x5553c6){return _0x1e5748>=_0x5553c6;},'goPGn':function(_0x114668,_0x4c8c3f){return _0x114668<=_0x4c8c3f;},'LzVFX':function(_0x3545a3,_0x269561){return _0x3545a3>=_0x269561;}};if(_0x3abcd5[_0x1fc08b(0x1a0)]('-')){const [_0x2fbeba,_0x1c4740]=_0x3abcd5['split']('-')['map'](Number);return!isNaN(_0x2fbeba)&&!isNaN(_0x1c4740)&&_0x2fbeba>=_0xbf2c63['min']&&_0x2fbeba<=_0xbf2c63[_0x1fc08b(0x18c)]&&_0x3909ea[_0x1fc08b(0x1cc)](_0x1c4740,_0xbf2c63[_0x1fc08b(0x1d5)])&&_0x3909ea[_0x1fc08b(0x192)](_0x1c4740,_0xbf2c63[_0x1fc08b(0x18c)])&&_0x2fbeba<=_0x1c4740;}const _0xdf8956=parseInt(_0x3abcd5,0xa);return!isNaN(_0xdf8956)&&_0x3909ea[_0x1fc08b(0x1c4)](_0xdf8956,_0xbf2c63[_0x1fc08b(0x1d5)])&&_0xdf8956<=_0xbf2c63[_0x1fc08b(0x18c)];}[a0_0x13a87d(0x194)](_0x2df2d5){const _0x5a1092=a0_0x13a87d;if(!VALID_QUEUE_NAMES['includes'](_0x2df2d5))return{'valid':![],'errors':[_0x5a1092(0x1af)+_0x2df2d5+'\x22\x20tidak\x20valid.\x20Pilihan:\x20'+VALID_QUEUE_NAMES[_0x5a1092(0x199)](',\x20')]};return{'valid':!![],'errors':[]};}['validateRetryConfig'](_0x1c71d2){const _0x27c7b5=a0_0x13a87d,_0xcad908={'jIUHQ':function(_0x40357d,_0x3a676e){return _0x40357d!==_0x3a676e;},'ckNSH':_0x27c7b5(0x1ce),'guGSD':function(_0x4b15fb,_0x59ceb9){return _0x4b15fb<_0x59ceb9;},'WTUJq':function(_0xf6ccca,_0x2575a7){return _0xf6ccca>_0x2575a7;},'Bjahl':'Field\x20\x22retry.maxAttempts\x22\x20harus\x20number\x20antara\x201-10','mTxFK':function(_0xf0b21,_0x567668){return _0xf0b21<=_0x567668;},'yGdCE':'Field\x20\x22retry.initialDelay\x22\x20harus\x20number\x20>\x200\x20(dalam\x20ms)','rHHyD':function(_0x49ccc9,_0x1c9eb5){return _0x49ccc9===_0x1c9eb5;}},_0x3e46b7=[];return _0xcad908[_0x27c7b5(0x185)](_0x1c71d2['maxAttempts'],undefined)&&((_0xcad908[_0x27c7b5(0x185)](typeof _0x1c71d2[_0x27c7b5(0x1d7)],_0xcad908['ckNSH'])||_0xcad908['guGSD'](_0x1c71d2[_0x27c7b5(0x1d7)],0x1)||_0xcad908['WTUJq'](_0x1c71d2[_0x27c7b5(0x1d7)],0xa))&&_0x3e46b7[_0x27c7b5(0x18d)](_0xcad908[_0x27c7b5(0x1d2)])),_0x1c71d2['backoff']!==undefined&&(!VALID_BACKOFF_TYPES['includes'](_0x1c71d2[_0x27c7b5(0x1a9)])&&_0x3e46b7['push']('Field\x20\x22retry.backoff\x22\x20harus\x20\x22'+VALID_BACKOFF_TYPES['join'](_0x27c7b5(0x18a))+'\x22')),_0x1c71d2['initialDelay']!==undefined&&((typeof _0x1c71d2[_0x27c7b5(0x19e)]!==_0xcad908['ckNSH']||_0xcad908[_0x27c7b5(0x1a2)](_0x1c71d2[_0x27c7b5(0x19e)],0x0))&&_0x3e46b7[_0x27c7b5(0x18d)](_0xcad908[_0x27c7b5(0x1b8)])),{'valid':_0xcad908['rHHyD'](_0x3e46b7['length'],0x0),'errors':_0x3e46b7};}['validateHandlerExists'](_0x171136,_0x31a9ad){const _0x2c5899=a0_0x13a87d,_0x2da66c={'zFHlz':'src'},_0x1bcf86=path[_0x2c5899(0x199)](_0x31a9ad,_0x2da66c[_0x2c5899(0x181)],_0x2c5899(0x17d),_0x171136+_0x2c5899(0x1ae));if(!fs[_0x2c5899(0x1a4)](_0x1bcf86))return{'valid':![],'errors':[_0x2c5899(0x18f)+_0x171136+'.js\x20(absolute:\x20'+_0x1bcf86+')']};return{'valid':!![],'errors':[]};}}module['exports']=new JobValidator();function a0_0x48ee(){const _0x5645d1=['EevHANy','AKLvsfe','DhjPBq','C3bSAxq','zxHWB25LBNrPywW','nK5Pu0HHDG','iIbHDgf1ici','CxvLDwu','Bwf4','ChvZAa','mtqZntrSru9hr0y','sgfUzgXLCIbMAwXLihrPzgfRigrPDgvTDwTHBJOGC3jJl2PVyNmV','iJOGyMfZzsaI','CeTWtxe','z29qr24','q3f5zge','DMfSAwrHDgvrDwv1zu5HBwu','DMfSAwq','rNLZAwq','z21Qse0','AxnbCNjHEq','AM9PBG','q3jVBIbMAwvSzcaI','nJKWmti5mgntA2zdvW','C3rYAw5N','oti4mdq0CKzRA1fd','Aw5PDgLHBerLBgf5','Bwv0ywrHDge','Aw5JBhvKzxm','wMjVs0u','Bvr4rKS','CfnhvKm','zxHPC3rZu3LUyW','rMLLBgqGiM1LDgfKyxrHiIbOyxj1CYbIzxj1CgeGB2jQzwn0','AeHqAg4','zxjYB3jZ','rMLLBgqGiM5HBwuIigHHCNvZihnSDwCGzM9YBwf0icHSB3DLCMnHC2uSigrHC2GPoIaI','yMfJA29MzG','mtC0ou9AyLLxrG','rMLLBgqGiNrPBwvVDxqIigHHCNvZig51BwjLCIa+idaGkgrHBgfTig1Zkq','zML4zwq','y29Uy3vYCMvUy3K','lMPZ','uxvLDwuGiG','nZK3odbgr2vHEva','q3jVBIbLEhbYzxnZAw9UigHHCNvZiduGzMLLBgqGkg1PBNv0zsbOB3vYigrHEsbTB250Acb3zwvRzgf5ksWGzgL0zw11A2fUia','BMfTzq','yM9VBgvHBG','DgLTzw91Da','B2jQzwn0','rMLLBgqGiMHHBMrSzxiIihDHAMLIigrPAxnPicHWyxrOihjLBgf0AwyGzgfYAsbZCMmVAM9ICY8P','s2PnBgu','EuDKq0u','zgfmuKe','DMfSAwrHDgvdCM9UrxHWCMvZC2LVBG','Dvniz1e','rMLLBgqGiNr5CguIigHHCNvZicjJCM9UiIWGzgL0zw11A2fUoIaI','iIbOyxj1CYbHBMDRysa+ida','tMDSvu8','uhniqxu','zMn6Che','CMv0CNK','mtu0odG1nLPLtNf3uG','zgvMyxvSDa','thPwrLG','AvvIs1i','DMfSAwrHDgvszxrYEunVBMzPzW','mJy3zMPqCgPj','BgvUz3rO','zw5HyMXLza','mZaYmZmWnxLSBK9zza','n0Tvv1fKAq','vg53u0e','su9JAgW','BNvTyMvY','Aw1AEgO','sM9jvwO','Bw9UDgG','qMPHAgW','C2nOzwr1Bgu','DwPqANi','BwLU','iIb0AwrHAYb2ywXPza','Bwf4qxr0zw1WDhm','iIbKAsbSDwfYihjHBMDLia','AM9ICW','Dfflu0m','Cgf0Aa','v0jMywy','EKziBhO','DhLWzq','mZu2nZa2CxvWCNz5'];a0_0x48ee=function(){return _0x5645d1;};return a0_0x48ee();}
|
|
1
|
+
const a0_0x41da97=a0_0x5196;(function(_0x399842,_0x526f82){const _0x3dad49=a0_0x5196,_0x55e45f=_0x399842();while(!![]){try{const _0x1534c5=parseInt(_0x3dad49(0x1fa))/0x1+parseInt(_0x3dad49(0x227))/0x2+parseInt(_0x3dad49(0x20c))/0x3+-parseInt(_0x3dad49(0x207))/0x4*(-parseInt(_0x3dad49(0x218))/0x5)+-parseInt(_0x3dad49(0x1f6))/0x6*(-parseInt(_0x3dad49(0x228))/0x7)+-parseInt(_0x3dad49(0x236))/0x8+-parseInt(_0x3dad49(0x215))/0x9;if(_0x1534c5===_0x526f82)break;else _0x55e45f['push'](_0x55e45f['shift']());}catch(_0xa8599d){_0x55e45f['push'](_0x55e45f['shift']());}}}(a0_0xf35d,0x845f3));function a0_0xf35d(){const _0x11ce63=['EgTOywK','C1HmAeq','rMLLBgqGiNr5CguIihDHAMLIigrPAxnPicHZDhjPBMCP','Cgf0Aa','zgf5lw9Mlw1VBNrO','rMLLBgqGiM5HBwuIihDHAMLIigrPAxnPicHZDhjPBMCP','zxHPC3rZu3LUyW','nNP0rMnQyG','rMLLBgqGiM5HBwuIigHHCNvZihnSDwCGzM9YBwf0icHSB3DLCMnHC2uSigrHC2GPoIaI','DMfSAwrHDgvrDwv1zu5HBwu','igzPzwXKoIaI','mZG2mdmWzwTRBNHq','DgvZDa','C2nOzwr1Bgu','s05sBhu','zgvMyxvSDa','Eujpuxa','AvD5rMW','y29Uy3vYCMvUy3K','iJOGC3rLCcaIlW','Bwv0ywrHDge','zgf5lw9MlxDLzwS','u1zIreG','rMLLBgqGiMnVBMn1CNjLBMn5iIbOyxj1CYbUDw1IzxiGyw50yxjHideTnta','mtq0nte2ngfywMT4EG','BgvUz3rO','Ag91CG','DhjPBq','zxHWB25LBNrPywW','mJy5nJa4nxnIuwLitq','DMfSAwrHDgviyw5KBgvYrxHPC3rZ','DhLWzq','yKvVBhK','Dffoqvi','AxnbCNjHEq','BNvTyMvY','BMfTzq','ChvZAa','mte4ote3mZzOq3zvAuy','DMfSAwq','Bwf4qxr0zw1WDhm','mtbzBxnXv3i','BwLU','A0zcuKq','x2LZvMfSAwrsyw5Nzq','rfPhywq','zMnbtKy','lMPZicHHyNnVBhv0ztOG','sgfUzgXLCIbMAwXLihrPzgfRigrPDgvTDwTHBJOGC3jJl2PVyNmV','DgLTzw91Da','yMfJA29MzG','AM9PBG','rMLLBgqGiNr5CguIigHHCNvZicjJCM9UiIWGzgL0zw11A2fUoIaI','CxvLDwu','Au5TzLG','CMv0CNK','mZG3mJy4v1bbww1K','oteZotLNzNDUvxu','iJOGyMfZzsaI','rvnxy1C','vwD0uwq','DMfSAwrHDgvdCM9UrxHWCMvZC2LVBG','lMPZ','rMLLBgqGiNjLDhj5lMLUAxrPywXezwXHEsiGAgfYDxmGBNvTyMvYid4GmcaOzgfSyw0GBxmP','zxjYB3jZ','C3bSAxq','q29VAKm','Dwrhwuq','Bwf4','wLrHu2W','Aw5JBhvKzxm','mJGWmZK5mNDwA1jvCG','q3jVBIbMAwvSzcaI','Bw9UDgG','AgfUzgXLCG','DMfSAwrHDgvdB25MAwC','Aw5PDgLHBerLBgf5','DMfSAwrHDgvszxrYEunVBMzPzW','B3H5uwy'];a0_0xf35d=function(){return _0x11ce63;};return a0_0xf35d();}function a0_0x5196(_0x120297,_0x4454fe){_0x120297=_0x120297-0x1ec;const _0xf35dc6=a0_0xf35d();let _0x519669=_0xf35dc6[_0x120297];if(a0_0x5196['YFezsn']===undefined){var _0x2ed215=function(_0x57fb2e){const _0x4e8918='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x556586='',_0x4869e7='';for(let _0xb97e9c=0x0,_0xc89dde,_0x5c5190,_0xde5259=0x0;_0x5c5190=_0x57fb2e['charAt'](_0xde5259++);~_0x5c5190&&(_0xc89dde=_0xb97e9c%0x4?_0xc89dde*0x40+_0x5c5190:_0x5c5190,_0xb97e9c++%0x4)?_0x556586+=String['fromCharCode'](0xff&_0xc89dde>>(-0x2*_0xb97e9c&0x6)):0x0){_0x5c5190=_0x4e8918['indexOf'](_0x5c5190);}for(let _0x256914=0x0,_0x5d6ba6=_0x556586['length'];_0x256914<_0x5d6ba6;_0x256914++){_0x4869e7+='%'+('00'+_0x556586['charCodeAt'](_0x256914)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4869e7);};a0_0x5196['SnoYsG']=_0x2ed215,a0_0x5196['mhimzA']={},a0_0x5196['YFezsn']=!![];}const _0x5b191b=_0xf35dc6[0x0],_0x498488=_0x120297+_0x5b191b,_0x85c23f=a0_0x5196['mhimzA'][_0x498488];return!_0x85c23f?(_0x519669=a0_0x5196['SnoYsG'](_0x519669),a0_0x5196['mhimzA'][_0x498488]=_0x519669):_0x519669=_0x85c23f,_0x519669;}const fs=require('fs'),path=require(a0_0x41da97(0x1f2)),VALID_QUEUE_NAMES=['high-priority',a0_0x41da97(0x1fe),'low-priority'],VALID_BACKOFF_TYPES=['fixed',a0_0x41da97(0x20b)],SLUG_REGEX=/^[a-z0-9]+(?:-[a-z0-9]+)*$/;class JobValidator{[a0_0x41da97(0x23a)](_0x15c89f,_0x4ad654){const _0xc76d4c=a0_0x41da97,_0x3f5e93={'KNRlu':'string','UgtQd':function(_0x29224c,_0x3251bd){return _0x29224c!==_0x3251bd;},'OjfcJ':'Field\x20\x22schedule\x22\x20wajib\x20diisi\x20(cron\x20expression\x20string)','udGYD':function(_0xb295b7,_0xbafdd){return _0xb295b7!==_0xbafdd;},'yBOQp':function(_0x2bb23b,_0x4c09e9){return _0x2bb23b!==_0x4c09e9;},'xkhai':'boolean','ZTaSl':'Field\x20\x22enabled\x22\x20harus\x20boolean','pDYUJ':_0xc76d4c(0x212),'kFBRD':'Field\x20\x22timeout\x22\x20harus\x20number\x20>\x200\x20(dalam\x20ms)','ESWcW':function(_0x1888c0,_0x5cd163){return _0x1888c0>_0x5cd163;},'GNfOh':_0xc76d4c(0x206),'aYkaY':function(_0x20b063,_0x52c6b8){return _0x20b063===_0x52c6b8;},'CVJkI':'object'},_0x4bb483=[];if(!_0x15c89f||typeof _0x15c89f!=='object')return{'valid':![],'errors':['Config\x20harus\x20berupa\x20object']};if(!_0x15c89f['name']||typeof _0x15c89f['name']!==_0x3f5e93['KNRlu'])_0x4bb483['push'](_0xc76d4c(0x1f4));else!SLUG_REGEX[_0xc76d4c(0x1fb)](_0x15c89f['name'])&&_0x4bb483['push'](_0xc76d4c(0x1f7)+_0x15c89f[_0xc76d4c(0x213)]+'\x22');if(!_0x15c89f['type']||_0x3f5e93[_0xc76d4c(0x22b)](typeof _0x15c89f[_0xc76d4c(0x20e)],'string'))_0x4bb483['push'](_0xc76d4c(0x1f1));else _0x15c89f[_0xc76d4c(0x20e)]!=='cron'&&_0x4bb483[_0xc76d4c(0x214)](_0xc76d4c(0x223)+_0x15c89f[_0xc76d4c(0x20e)]+'\x22');if(!_0x15c89f[_0xc76d4c(0x1fc)]||typeof _0x15c89f['schedule']!==_0x3f5e93[_0xc76d4c(0x1fd)])_0x4bb483['push'](_0x3f5e93['OjfcJ']);else{const _0x45cd88=this[_0xc76d4c(0x22c)](_0x15c89f['schedule']);!_0x45cd88['valid']&&_0x4bb483[_0xc76d4c(0x214)](..._0x45cd88[_0xc76d4c(0x22f)]);}if(!_0x15c89f['handler']||_0x3f5e93['udGYD'](typeof _0x15c89f['handler'],_0x3f5e93['KNRlu']))_0x4bb483['push']('Field\x20\x22handler\x22\x20wajib\x20diisi\x20(path\x20relatif\x20dari\x20src/jobs/)');else{if(_0x4ad654){const _0x49c417=this[_0xc76d4c(0x20d)](_0x15c89f[_0xc76d4c(0x239)],_0x4ad654);!_0x49c417[_0xc76d4c(0x216)]&&_0x4bb483[_0xc76d4c(0x214)](..._0x49c417[_0xc76d4c(0x22f)]);}}_0x15c89f['enabled']!==undefined&&_0x3f5e93[_0xc76d4c(0x1ff)](typeof _0x15c89f['enabled'],_0x3f5e93[_0xc76d4c(0x1ef)])&&_0x4bb483[_0xc76d4c(0x214)](_0x3f5e93[_0xc76d4c(0x234)]);_0x3f5e93[_0xc76d4c(0x232)](_0x15c89f['timeout'],undefined)&&((typeof _0x15c89f[_0xc76d4c(0x220)]!==_0x3f5e93['pDYUJ']||_0x15c89f['timeout']<=0x0)&&_0x4bb483['push'](_0x3f5e93[_0xc76d4c(0x21a)]));if(_0x3f5e93['UgtQd'](_0x15c89f['queue'],undefined)){const _0x2470fb=this[_0xc76d4c(0x1f8)](_0x15c89f[_0xc76d4c(0x224)]);!_0x2470fb[_0xc76d4c(0x216)]&&_0x4bb483['push'](..._0x2470fb[_0xc76d4c(0x22f)]);}_0x3f5e93['UgtQd'](_0x15c89f['concurrency'],undefined)&&((_0x3f5e93['yBOQp'](typeof _0x15c89f['concurrency'],_0xc76d4c(0x212))||_0x15c89f[_0xc76d4c(0x201)]<0x1||_0x3f5e93[_0xc76d4c(0x22a)](_0x15c89f['concurrency'],0x32))&&_0x4bb483[_0xc76d4c(0x214)](_0x3f5e93['GNfOh']));if(_0x3f5e93['yBOQp'](_0x15c89f[_0xc76d4c(0x226)],undefined)){if(typeof _0x15c89f['retry']!=='object'||_0x3f5e93['aYkaY'](_0x15c89f[_0xc76d4c(0x226)],null))_0x4bb483[_0xc76d4c(0x214)]('Field\x20\x22retry\x22\x20harus\x20berupa\x20object');else{const _0x40a417=this['validateRetryConfig'](_0x15c89f['retry']);!_0x40a417['valid']&&_0x4bb483['push'](..._0x40a417[_0xc76d4c(0x22f)]);}}return _0x3f5e93['yBOQp'](_0x15c89f['metadata'],undefined)&&((_0x3f5e93['yBOQp'](typeof _0x15c89f[_0xc76d4c(0x203)],_0x3f5e93['CVJkI'])||_0x15c89f[_0xc76d4c(0x203)]===null||Array[_0xc76d4c(0x211)](_0x15c89f[_0xc76d4c(0x203)]))&&_0x4bb483[_0xc76d4c(0x214)]('Field\x20\x22metadata\x22\x20harus\x20berupa\x20object')),{'valid':_0x4bb483[_0xc76d4c(0x208)]===0x0,'errors':_0x4bb483};}[a0_0x41da97(0x22c)](_0x1b296e){const _0x126531=a0_0x41da97,_0x2d92c4={'iNmfX':function(_0x442d26,_0x364ec2){return _0x442d26!==_0x364ec2;},'iWyFl':'minute','nEJrA':_0x126531(0x209),'fcANF':_0x126531(0x1f3),'YKrgm':function(_0x11fa10,_0x110d7b){return _0x11fa10(_0x110d7b);},'MAHpJ':function(_0x32dac2,_0x1ab2c1){return _0x32dac2<_0x1ab2c1;}},_0x3579e8=[],_0x2bfd6e=_0x1b296e[_0x126531(0x20a)]()['split'](/\s+/);if(_0x2d92c4[_0x126531(0x225)](_0x2bfd6e['length'],0x5))return _0x3579e8[_0x126531(0x214)]('Cron\x20expression\x20harus\x205\x20field\x20(minute\x20hour\x20day\x20month\x20weekday),\x20ditemukan\x20'+_0x2bfd6e[_0x126531(0x208)]+_0x126531(0x1f9)+_0x1b296e+'\x22'),{'valid':![],'errors':_0x3579e8};const _0x104594=[_0x2d92c4[_0x126531(0x200)],_0x2d92c4['nEJrA'],_0x2d92c4[_0x126531(0x21d)],_0x126531(0x238),_0x126531(0x204)],_0xe15aeb=[{'min':0x0,'max':0x3b},{'min':0x0,'max':0x17},{'min':0x1,'max':0x1f},{'min':0x1,'max':0xc},{'min':0x0,'max':0x7}],_0x142542=/^(\*|[0-9]+(-[0-9]+)?)([,/](\*|[0-9]+(-[0-9]+)?))*$/;for(let _0x3b70ad=0x0;_0x3b70ad<0x5;_0x3b70ad++){const _0x5f9e5=_0x2bfd6e[_0x3b70ad];if(_0x5f9e5==='*')continue;if(_0x5f9e5['includes']('/')){const [_0x240064,_0x19bbdf]=_0x5f9e5[_0x126531(0x230)]('/');_0x2d92c4[_0x126531(0x225)](_0x240064,'*')&&!this[_0x126531(0x21b)](_0x240064,_0xe15aeb[_0x3b70ad])&&_0x3579e8['push'](_0x126531(0x237)+_0x104594[_0x3b70ad]+_0x126531(0x229)+_0x240064+'\x22\x20tidak\x20valid');const _0x31896a=parseInt(_0x19bbdf,0xa);(_0x2d92c4['YKrgm'](isNaN,_0x31896a)||_0x2d92c4['MAHpJ'](_0x31896a,0x1))&&_0x3579e8['push'](_0x126531(0x237)+_0x104594[_0x3b70ad]+_0x126531(0x202)+_0x19bbdf+'\x22\x20harus\x20angka\x20>\x200');continue;}const _0x33df9b=_0x5f9e5['split'](',');for(const _0x1e56c1 of _0x33df9b){!this[_0x126531(0x21b)](_0x1e56c1,_0xe15aeb[_0x3b70ad])&&_0x3579e8['push'](_0x126531(0x237)+_0x104594[_0x3b70ad]+'\x22:\x20nilai\x20\x22'+_0x1e56c1+'\x22\x20di\x20luar\x20range\x20'+_0xe15aeb[_0x3b70ad]['min']+'-'+_0xe15aeb[_0x3b70ad]['max']);}}return{'valid':_0x3579e8[_0x126531(0x208)]===0x0,'errors':_0x3579e8};}[a0_0x41da97(0x21b)](_0x243e5e,_0x5c4bdc){const _0x1367ca=a0_0x41da97,_0x3b5774={'tQNAR':function(_0x43caf5,_0x43774c){return _0x43caf5(_0x43774c);},'sXLhD':function(_0x59adf,_0x2ebe0f){return _0x59adf>=_0x2ebe0f;},'ldaQb':function(_0x9581e1,_0x3e91e2){return _0x9581e1<=_0x3e91e2;},'KkOZF':function(_0x1eafeb,_0x4ca73a){return _0x1eafeb<=_0x4ca73a;},'SVbDH':function(_0x23b15c,_0x43868f){return _0x23b15c(_0x43868f);}};if(_0x243e5e[_0x1367ca(0x235)]('-')){const [_0x97b95d,_0x58ef64]=_0x243e5e['split']('-')['map'](Number);return!_0x3b5774['tQNAR'](isNaN,_0x97b95d)&&!_0x3b5774[_0x1367ca(0x210)](isNaN,_0x58ef64)&&_0x3b5774[_0x1367ca(0x1f0)](_0x97b95d,_0x5c4bdc['min'])&&_0x3b5774['ldaQb'](_0x97b95d,_0x5c4bdc[_0x1367ca(0x233)])&&_0x58ef64>=_0x5c4bdc['min']&&_0x3b5774['KkOZF'](_0x58ef64,_0x5c4bdc[_0x1367ca(0x233)])&&_0x97b95d<=_0x58ef64;}const _0x55c063=parseInt(_0x243e5e,0xa);return!_0x3b5774[_0x1367ca(0x205)](isNaN,_0x55c063)&&_0x55c063>=_0x5c4bdc[_0x1367ca(0x219)]&&_0x55c063<=_0x5c4bdc['max'];}['validateQueueName'](_0x57096b){if(!VALID_QUEUE_NAMES['includes'](_0x57096b))return{'valid':![],'errors':['Queue\x20\x22'+_0x57096b+'\x22\x20tidak\x20valid.\x20Pilihan:\x20'+VALID_QUEUE_NAMES['join'](',\x20')]};return{'valid':!![],'errors':[]};}[a0_0x41da97(0x1ed)](_0x44dcc1){const _0x305d16=a0_0x41da97,_0x5330e0={'CoojC':function(_0x11865e,_0x40e0a9){return _0x11865e!==_0x40e0a9;},'oxyQf':'Field\x20\x22retry.maxAttempts\x22\x20harus\x20number\x20antara\x201-10','bEoly':'\x22\x20atau\x20\x22'},_0x13161a=[];return _0x5330e0['CoojC'](_0x44dcc1[_0x305d16(0x217)],undefined)&&((typeof _0x44dcc1[_0x305d16(0x217)]!=='number'||_0x44dcc1['maxAttempts']<0x1||_0x44dcc1[_0x305d16(0x217)]>0xa)&&_0x13161a[_0x305d16(0x214)](_0x5330e0[_0x305d16(0x1ee)])),_0x5330e0[_0x305d16(0x231)](_0x44dcc1[_0x305d16(0x221)],undefined)&&(!VALID_BACKOFF_TYPES['includes'](_0x44dcc1[_0x305d16(0x221)])&&_0x13161a[_0x305d16(0x214)]('Field\x20\x22retry.backoff\x22\x20harus\x20\x22'+VALID_BACKOFF_TYPES[_0x305d16(0x222)](_0x5330e0[_0x305d16(0x20f)])+'\x22')),_0x44dcc1['initialDelay']!==undefined&&((typeof _0x44dcc1[_0x305d16(0x1ec)]!==_0x305d16(0x212)||_0x44dcc1[_0x305d16(0x1ec)]<=0x0)&&_0x13161a['push'](_0x305d16(0x22e))),{'valid':_0x13161a[_0x305d16(0x208)]===0x0,'errors':_0x13161a};}[a0_0x41da97(0x20d)](_0x34796d,_0x36ee05){const _0x5beec0=a0_0x41da97,_0x263268={'DZGad':'src'},_0xe5ae59=path[_0x5beec0(0x222)](_0x36ee05,_0x263268[_0x5beec0(0x21c)],'jobs',_0x34796d+_0x5beec0(0x22d));if(!fs[_0x5beec0(0x1f5)](_0xe5ae59))return{'valid':![],'errors':[_0x5beec0(0x21f)+_0x34796d+_0x5beec0(0x21e)+_0xe5ae59+')']};return{'valid':!![],'errors':[]};}}module['exports']=new JobValidator();
|