@restforgejs/platform 5.3.6 → 5.3.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/cli/designer.js +1 -1
- package/generators/cli/fast-track.js +98 -27
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/integrity-manifest.json +18 -18
- package/package.json +1 -1
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/soft-delete-dashboard-guard.js +1 -1
- package/src/utils/sql-table-extractor.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x1bba8e=a0_0x4ac3;(function(_0x497103,_0x4ad8a4){const _0x2f42f0=a0_0x4ac3,_0x1771dc=_0x497103();while(!![]){try{const _0x4d88e7=parseInt(_0x2f42f0(0xfb))/0x1*(-parseInt(_0x2f42f0(0x109))/0x2)+-parseInt(_0x2f42f0(0x126))/0x3*(parseInt(_0x2f42f0(0xf9))/0x4)+parseInt(_0x2f42f0(0x106))/0x5*(-parseInt(_0x2f42f0(0x12b))/0x6)+-parseInt(_0x2f42f0(0xf1))/0x7+parseInt(_0x2f42f0(0x130))/0x8+-parseInt(_0x2f42f0(0xdf))/0x9+parseInt(_0x2f42f0(0xe3))/0xa;if(_0x4d88e7===_0x4ad8a4)break;else _0x1771dc['push'](_0x1771dc['shift']());}catch(_0x5d82ce){_0x1771dc['push'](_0x1771dc['shift']());}}}(a0_0x295d,0x419b9));const {createConnection,createChannel,setupInfrastructure,closeConnection,getConfig}=require('../utils/rabbitmq'),{formatDate}=require(a0_0x1bba8e(0xe1));function a0_0x295d(){const _0x541c71=['vhj5Aw5NigfSDgvYBMf0AxzLihf1zxvLig5HBwuUlI4','y2XVC2u','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','Bg9N','twvZC2fNzsbJB250zw50oIa','q2fUBM90ignVBM5Ly3qGDg8GuMfIyML0tve6ia','zxjYB3i','xsbfuLjpuJOGuxvLDwuG','C2n5s0m','Aw5PDgLHBgL6zq','BwvZC2fNzq','xsbfCNjVCIbWCM9JzxnZAw5Nig1LC3nHz2u6ia','zw52','xsbrDwv1zsa','xsbdyw5UB3qGC3rHCNqGy29UC3vTAw5NoIbUB3qGy29UBMvJDgvKihrVifjHyMjPDe1r','ENDRC3K','refczhG','ksbJCMvHDgvK','xsbnzxnZywDLihbYB2nLC3nLzcbZDwnJzxnZzNvSBhK','Ec1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEq','ic0+ia','C2vUzfrVuxvLDwu','rxjYB3i6ia','xsbgywLSzwqGDg8GAw5PDgLHBgL6zsbsywjIAxrnutOG','y29UC3vTzq','mtjXtujqtfm','yMLUzff1zxvL','xsbnzxnZywDLigHHBMrSzxiGBxvZDcbIzsbHigz1BMn0Aw9U','qLfREue','y29UzMLN','nNDNs3rUAG','seXUuhi','Dg9tDhjPBMC','xsbgywLSzwqGDg8GChjVy2vZCYbTzxnZywDLlcbYzxf1zxvPBMC','xsbgywLSzwqGDg8GC3rHCNqGy29UC3vTAw5NoIa','mtm1mJq2nhHxvu5nrG','CxvLDwu','CMvJB25Uzwn0','mZm4nJK4oe1QreDYDG','zNjVBq','lI4VDxrPBhmVzgf0zuHLBhbLCG','xsbnzxnZywDLihnLBNqGDg8GuMfIyML0tveGC3vJy2vZC2z1BgX5oG','mtuWmtG3ntbRDuXLz0y','zxHJAgfUz2u','AxndB25Uzwn0zwq','CgfYC2u','C3rHCNrdB25ZDw1L','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','CMfUzg9T','DgLTzxn0yw1W','C2v0DxbdB2XSzwn0B3jjBMzYyxn0CNvJDhvYzq','xsbgywLSzwqGDg8GCgfYC2uGBwvZC2fNztOG','xsbfCNjVCIbZywf0ihnLDhvWigLUzNjHC3rYDwT0Dxi6ia','ChjVCgvYDgLLCW','xsbfCNjVCIbZzw5KAw5NihrVifjHyMjPDe1roIa','z2v0vgLTzq','mZmZnZy3mhj0CKHrwq','ignYzwf0zwq','CM91DgLUz0TLEq','y29UBMvJDgLVBG','xsbfEgnOyw5Nzsa','t0jUz3i','ChjVy2vZC01LC3nHz2u','C3rYAw5NAwz5','odq2nhb1sgTYDq','zxHWB3j0CW','mZDpCNHquei','BwvZC2fNzuHHBMrSzxjZ','y3jLyxrLzc9YzwfKEq','yNjkuLG','xsblB25LA3nPifjHyMjPDe1rihrLCNb1DhvZ','yxv0B19YzxrYEq','y2HHBM5LBa','yxnZzxj0uxvLDwu','ywnR','yxbWBgLJyxrPB24VANnVBG','zgLYzwn0','mtG1nZm1nw1rr2XsBG','t0TICwm','CxvLDwuT','ote0mMPnBLvtDG','xsbcAw5KAw5Nia','Dg9ju09tDhjPBMC','BMfJAW'];a0_0x295d=function(){return _0x541c71;};return a0_0x295d();}function a0_0x4ac3(_0x23d57f,_0x42d303){_0x23d57f=_0x23d57f-0xde;const _0x295d09=a0_0x295d();let _0x4ac3d4=_0x295d09[_0x23d57f];if(a0_0x4ac3['BhpUPA']===undefined){var _0x5a9387=function(_0x1326b8){const _0x460e25='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x388408='',_0x3434de='';for(let _0x2ee413=0x0,_0xe23fcf,_0xa75df7,_0x4f7880=0x0;_0xa75df7=_0x1326b8['charAt'](_0x4f7880++);~_0xa75df7&&(_0xe23fcf=_0x2ee413%0x4?_0xe23fcf*0x40+_0xa75df7:_0xa75df7,_0x2ee413++%0x4)?_0x388408+=String['fromCharCode'](0xff&_0xe23fcf>>(-0x2*_0x2ee413&0x6)):0x0){_0xa75df7=_0x460e25['indexOf'](_0xa75df7);}for(let _0x17a79a=0x0,_0x25140b=_0x388408['length'];_0x17a79a<_0x25140b;_0x17a79a++){_0x3434de+='%'+('00'+_0x388408['charCodeAt'](_0x17a79a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3434de);};a0_0x4ac3['HBWRQV']=_0x5a9387,a0_0x4ac3['TogJOy']={},a0_0x4ac3['BhpUPA']=!![];}const _0x4bd5aa=_0x295d09[0x0],_0x21e136=_0x23d57f+_0x4bd5aa,_0x22b045=a0_0x4ac3['TogJOy'][_0x21e136];return!_0x22b045?(_0x4ac3d4=a0_0x4ac3['HBWRQV'](_0x4ac3d4),a0_0x4ac3['TogJOy'][_0x21e136]=_0x4ac3d4):_0x4ac3d4=_0x22b045,_0x4ac3d4;}class RabbitMQService{constructor(){const _0x5a789e=a0_0x1bba8e,_0x3c4b08={'OKbqc':function(_0x45bcfb){return _0x45bcfb();}};this[_0x5a789e(0xf4)]=null,this['channel']=null,this[_0x5a789e(0x12a)]=_0x3c4b08[_0x5a789e(0x107)](getConfig),this['isConnected']=![],this['messageHandlers']=[];}async[a0_0x1bba8e(0x116)](){const _0x4e4587=a0_0x1bba8e,_0x459acb={'OBngr':function(_0x50ab50,_0xb66ed0,_0x248bbc){return _0x50ab50(_0xb66ed0,_0x248bbc);},'HLnPr':'close','qkLhF':function(_0x534e34,_0x1a2f97){return _0x534e34(_0x1a2f97);},'zEHoE':function(_0x5461f8,_0xb9d51){return _0x5461f8(_0xb9d51);}};try{const _0x277cf5='2|3|7|6|0|5|1|4'['split']('|');let _0xa37a37=0x0;while(!![]){switch(_0x277cf5[_0xa37a37++]){case'0':await setupInfrastructure(this[_0x4e4587(0x101)]);continue;case'1':this['connection']['on'](_0x459acb[_0x4e4587(0x12c)],()=>{const _0x150d7d=_0x4e4587;console['error']('['+formatDate(new Date())+_0x150d7d(0xff)),this['isConnected']=![],_0x459acb[_0x150d7d(0xf6)](setTimeout,()=>this[_0x150d7d(0xde)](),0x1388);});continue;case'2':this['connection']=await createConnection();continue;case'3':this['channel']=await _0x459acb['qkLhF'](createChannel,this[_0x4e4587(0xf4)]);continue;case'4':return!![];case'5':this[_0x4e4587(0xe5)]=!![];continue;case'6':console[_0x4e4587(0x110)]('['+_0x459acb['zEHoE'](formatDate,new Date())+']\x20Prefetch\x20diatur\x20ke\x201');continue;case'7':await this['channel']['prefetch'](0x1);continue;}break;}}catch(_0x8ab56a){return console[_0x4e4587(0x113)]('['+_0x459acb['qkLhF'](formatDate,new Date())+_0x4e4587(0x124)+_0x8ab56a[_0x4e4587(0x117)]),this['isConnected']=![],![];}}async['reconnect'](){const _0x3afccd=a0_0x1bba8e,_0x7554c5={'kwgXL':function(_0x2b8f1b,_0x3aa894){return _0x2b8f1b(_0x3aa894);}};console['log']('['+_0x7554c5['kwgXL'](formatDate,new Date())+']\x20Attempting\x20to\x20reconnect\x20to\x20RabbitMQ...');try{await this[_0x3afccd(0x116)](),this['isConnected']&&(console['log']('['+formatDate(new Date())+']\x20Successfully\x20reconnected\x20to\x20RabbitMQ'),await this[_0x3afccd(0xe7)]());}catch(_0x2e0dbd){console['error']('['+formatDate(new Date())+']\x20Failed\x20to\x20reconnect\x20to\x20RabbitMQ:\x20'+_0x2e0dbd['message']),setTimeout(()=>this['reconnect'](),0x1388);}}async[a0_0x1bba8e(0xeb)](_0x2e1e0f){const _0x2062dc=a0_0x1bba8e,_0x3f2510={'FAlzA':'default','DABdx':function(_0x460f2b,_0x40e841){return _0x460f2b(_0x40e841);},'YcELd':function(_0x6947a3,_0x16c279){return _0x6947a3(_0x16c279);}};try{!this['isConnected']&&(this[_0x2062dc(0xf4)]=await createConnection(),this[_0x2062dc(0x101)]=await createChannel(this['connection']),this[_0x2062dc(0xe5)]=!![]);const _0x12050c=process[_0x2062dc(0x119)]['RESTFORGE_PROJECT_NAME']||_0x3f2510['FAlzA'],_0x53d7d2=_0x12050c+'-retry-exchange';await this['channel']['assertExchange'](_0x53d7d2,'direct',{'durable':!![],'autoDelete':![]}),console['log']('['+_0x3f2510[_0x2062dc(0x11d)](formatDate,new Date())+']\x20Retry\x20exchange\x20'+_0x53d7d2+'\x20created/ready'),await this['channel']['assertExchange'](_0x2e1e0f[_0x2062dc(0xe4)],_0x2062dc(0x105),{'durable':!![],'autoDelete':![]}),console['log']('['+formatDate(new Date())+_0x2062dc(0xf5)+_0x2e1e0f[_0x2062dc(0xe4)]+'\x20created/ready');const _0x37654b=_0x2e1e0f[_0x2062dc(0xf3)]+'_retry',_0x1d2a5c={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':_0x2e1e0f['exchange'],'x-dead-letter-routing-key':_0x2e1e0f['routingKey']}};await this[_0x2062dc(0x101)]['assertQueue'](_0x37654b,_0x1d2a5c),console['log']('['+_0x3f2510[_0x2062dc(0x11d)](formatDate,new Date())+']\x20Retry\x20queue\x20'+_0x37654b+'\x20created/ready'),await this['channel']['bindQueue'](_0x37654b,_0x53d7d2,_0x2e1e0f[_0x2062dc(0xf3)]),console['log']('['+formatDate(new Date())+']\x20Retry\x20binding\x20for\x20'+_0x2e1e0f[_0x2062dc(0xf3)]+_0x2062dc(0xf2));const _0x80bc65={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x53d7d2,'x-dead-letter-routing-key':_0x2e1e0f['routingKey']}};try{const _0x3f8c25=await this[_0x2062dc(0x101)]['assertQueue'](_0x2e1e0f[_0x2062dc(0x131)],_0x80bc65);console['log']('['+_0x3f2510['DABdx'](formatDate,new Date())+_0x2062dc(0x11a)+_0x2e1e0f['queue']+'\x20'+(_0x3f8c25[_0x2062dc(0x131)]===_0x2e1e0f['queue']?_0x2062dc(0xfd):'found')+'\x20with\x20DLX'),await this[_0x2062dc(0x101)]['bindQueue'](_0x2e1e0f[_0x2062dc(0x131)],_0x2e1e0f['exchange'],_0x2e1e0f['routingKey']),console[_0x2062dc(0x110)]('['+formatDate(new Date())+']\x20Binding\x20'+_0x2e1e0f[_0x2062dc(0xe4)]+_0x2062dc(0x121)+_0x2e1e0f['queue']+'\x20('+_0x2e1e0f['routingKey']+_0x2062dc(0x11e));}catch(_0x1a91ab){if(_0x1a91ab[_0x2062dc(0x117)]['includes']('inequivalent\x20arg')&&_0x1a91ab['message']['includes'](_0x2062dc(0x120))){console[_0x2062dc(0x113)]('\x0a['+_0x3f2510[_0x2062dc(0x11d)](formatDate,new Date())+_0x2062dc(0x114)+_0x2e1e0f['queue']+_0x2062dc(0xe8)),console['error'](_0x2062dc(0x10d));const _0x3b8939=_0x2e1e0f[_0x2062dc(0xf3)]+'_queue',_0x3948be=await this[_0x2062dc(0x101)][_0x2062dc(0x102)](_0x3b8939,_0x80bc65);console[_0x2062dc(0x110)]('['+_0x3f2510[_0x2062dc(0x11d)](formatDate,new Date())+']\x20Alternative\x20queue\x20'+_0x3b8939+'\x20created\x20with\x20DLX'),await this[_0x2062dc(0x101)][_0x2062dc(0x127)](_0x3b8939,_0x2e1e0f['exchange'],_0x2e1e0f[_0x2062dc(0xf3)]),console['log']('['+formatDate(new Date())+_0x2062dc(0x10a)+_0x2e1e0f['exchange']+'\x20->\x20'+_0x3b8939+'\x20('+_0x2e1e0f[_0x2062dc(0xf3)]+_0x2062dc(0x11e)),_0x2e1e0f['queue']=_0x3b8939;}else{console[_0x2062dc(0x113)]('['+_0x3f2510['YcELd'](formatDate,new Date())+_0x2062dc(0x10f)+_0x2e1e0f['queue']+':',_0x1a91ab['message']);throw _0x1a91ab;}}return!![];}catch(_0x52abe8){return console[_0x2062dc(0x113)]('['+formatDate(new Date())+_0x2062dc(0xed)+_0x52abe8[_0x2062dc(0x117)]),![];}}async[a0_0x1bba8e(0x122)](_0x54a558,_0x1eaef1){const _0x257957=a0_0x1bba8e,_0x3dc492={'zbdNL':'Data\x20sent\x20to\x20queue\x20successfully','wRBsX':function(_0x2b3453,_0x1adfdf){return _0x2b3453(_0x1adfdf);}};if(!this[_0x257957(0xe5)])try{await this[_0x257957(0x116)]();}catch(_0x29d7ef){return{'success':![],'message':_0x257957(0x112)+_0x29d7ef[_0x257957(0x117)],'data':null};}try{const _0x640b1d=_0x1eaef1['auto_retry']!==undefined?_0x1eaef1[_0x257957(0x100)]:![],_0x45b235=_0x1eaef1['max_retries']||0x3,_0x4313c9={'rabbitmq':{'exchange':_0x1eaef1[_0x257957(0xe4)],'queue':_0x1eaef1['queue'],'routing_key':_0x1eaef1['routingKey'],'auto_retry':_0x640b1d,'max_retries':_0x45b235},'message':_0x54a558};await this[_0x257957(0xeb)](_0x1eaef1);const _0x52ab81=new Date(),_0x331164={'timestamp':_0x52ab81[_0x257957(0x10b)](),'content':JSON[_0x257957(0xf8)](_0x4313c9)},_0x405c7e=this[_0x257957(0x101)]['publish'](_0x1eaef1['exchange'],_0x1eaef1['routingKey'],Buffer[_0x257957(0xe0)](JSON['stringify'](_0x331164)),{'persistent':!![],'contentType':_0x257957(0x104),'timestamp':_0x52ab81[_0x257957(0xf0)](),'messageId':_0x52ab81['getTime']()+'-'+Math[_0x257957(0xe9)]()['toString'](0x24)['substring'](0x7),'headers':{'x-auto-retry':_0x640b1d,'x-max-retry':_0x45b235,'x-retry-count':0x0,'x-retry-interval':0x2710}});if(_0x405c7e){console[_0x257957(0x110)]('['+formatDate(_0x52ab81)+_0x257957(0xe2),{'exchange':_0x1eaef1['exchange'],'routing_key':_0x1eaef1['routingKey'],'queue':_0x1eaef1[_0x257957(0x131)],'sendAt':_0x52ab81[_0x257957(0x10b)]()});const _0x4a7acb=_0x257957(0x108)+_0x52ab81['getTime']()+'-'+Math[_0x257957(0xe9)]()[_0x257957(0x12d)](0x24)['substring'](0x7);return{'success':!![],'message':_0x3dc492['zbdNL'],'data':{'id':_0x4a7acb,'queueInfo':{'exchange':_0x1eaef1[_0x257957(0xe4)],'queue':_0x1eaef1['queue'],'routingKey':_0x1eaef1['routingKey']}}};}else throw new Error('Failed\x20to\x20send\x20message\x20to\x20RabbitMQ');}catch(_0x5bad7f){return console[_0x257957(0x113)]('['+_0x3dc492['wRBsX'](formatDate,new Date())+_0x257957(0xef)+_0x5bad7f[_0x257957(0x117)]),{'success':![],'message':_0x257957(0x123)+_0x5bad7f['message'],'data':null};}}['registerMessageHandler'](_0x418f8d){const _0x4da741=a0_0x1bba8e,_0xd35831={'zwksy':function(_0x25ec87,_0x4086fd){return _0x25ec87(_0x4086fd);}};typeof _0x418f8d==='function'?(this['messageHandlers']['push'](_0x418f8d),console['log']('['+_0xd35831[_0x4da741(0x11c)](formatDate,new Date())+']\x20Message\x20handler\x20registered')):console['error']('['+formatDate(new Date())+_0x4da741(0x128));}async['processMessage'](_0x3aaaa2){const _0x6c953d=a0_0x1bba8e,_0x1ecb37={'twxgk':function(_0x529360,_0x4fde2f){return _0x529360===_0x4fde2f;}};if(_0x1ecb37['twxgk'](this[_0x6c953d(0xfc)]['length'],0x0))return console['warn']('['+formatDate(new Date())+']\x20No\x20handlers\x20registered\x20to\x20process\x20messages'),!![];try{for(const _0x3514c7 of this[_0x6c953d(0xfc)]){await _0x3514c7(_0x3aaaa2);}return!![];}catch(_0x3eb050){return console[_0x6c953d(0x113)]('['+formatDate(new Date())+_0x6c953d(0x118)+_0x3eb050[_0x6c953d(0x117)]),![];}}async[a0_0x1bba8e(0xe7)](){const _0x11b74f=a0_0x1bba8e,_0x20b80c={'BQkyA':function(_0xbe5a2f,_0x27f9f8){return _0xbe5a2f!==_0x27f9f8;},'brJRX':function(_0xf9342d,_0x384d9a){return _0xf9342d(_0x384d9a);},'scyKC':'---'};if(!this['isConnected'])return console[_0x11b74f(0x113)]('['+_0x20b80c['brJRX'](formatDate,new Date())+_0x11b74f(0x11b)),![];try{return console['log']('['+formatDate(new Date())+']\x20Start\x20consuming\x20messages\x20from\x20queue\x20\x22'+this[_0x11b74f(0x12a)]['queue']+'\x22...'),this[_0x11b74f(0x101)][_0x11b74f(0x125)](this['config'][_0x11b74f(0x131)],async _0x4e5fd9=>{const _0x39b853=_0x11b74f;if(_0x20b80c[_0x39b853(0x129)](_0x4e5fd9,null)){const _0x57f4a2=new Date();let _0x48fca7;try{_0x48fca7=JSON[_0x39b853(0xe6)](_0x4e5fd9['content'][_0x39b853(0x12d)]());}catch(_0x302d69){console['error']('['+formatDate(_0x57f4a2)+_0x39b853(0xec)+_0x302d69['message']),console[_0x39b853(0x113)](_0x39b853(0x111)+_0x4e5fd9['content']['toString']()),this['channel'][_0x39b853(0x103)](_0x4e5fd9);return;}const _0xa9caef=_0x4e5fd9[_0x39b853(0xee)][_0x39b853(0xea)]?new Date(_0x4e5fd9[_0x39b853(0xee)]['timestamp']):new Date(),_0x557728=await this[_0x39b853(0xf7)](_0x48fca7);_0x557728?(console['log']('['+_0x20b80c[_0x39b853(0xfe)](formatDate,new Date())+_0x39b853(0x11f)),this['channel'][_0x39b853(0x103)](_0x4e5fd9)):(console['error']('['+formatDate(new Date())+_0x39b853(0x12e)),this[_0x39b853(0x101)][_0x39b853(0x10c)](_0x4e5fd9,![],!![])),console[_0x39b853(0x110)](_0x20b80c[_0x39b853(0x115)]);}},{'noAck':![]}),!![];}catch(_0x1065c6){return console[_0x11b74f(0x113)]('['+_0x20b80c[_0x11b74f(0xfe)](formatDate,new Date())+_0x11b74f(0x12f)+_0x1065c6[_0x11b74f(0x117)]),![];}}async[a0_0x1bba8e(0x10e)](){const _0x2e38ab=a0_0x1bba8e;this['connection']&&(await closeConnection(this[_0x2e38ab(0xf4)]),this[_0x2e38ab(0xe5)]=![]);}}let instance=null;function getInstance(){return!instance&&(instance=new RabbitMQService()),instance;}module[a0_0x1bba8e(0xfa)]={'getInstance':getInstance};
|
|
1
|
+
function a0_0x3d2d(){const _0x568cc2=['xsbszxrYEsbIAw5KAw5NigzVCIa','rgf0ysbZzw50ihrVihf1zxvLihn1y2nLC3nMDwXSEq','xsbszxrYEsbLEgnOyw5Nzsa','C2v0DxbdB2XSzwn0B3jjBMzYyxn0CNvJDhvYzq','z2v0vgLTzq','zxjYB3i','ywnR','EuXWzwC','mJCWmde1m0DcugXHuq','CxvLDwu','CMfUzg9T','zgLYzwn0','ignYzwf0zwqVCMvHzhK','zxHJAgfUz2u','xsbdyw5UB3qGC3rHCNqGy29UC3vTAw5NoIbUB3qGy29UBMvJDgvKihrVifjHyMjPDe1r','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','y29UzMLN','ls0T','vuPqreO','BwvZC2fNzq','mta0mdi0ogDczeD0BW','qKLyDgS','lI4VDxrPBhmVzgf0zuHLBhbLCG','ChvIBgLZAa','zgvMyxvSDa','z1bNzuG','xsbfEgnOyw5Nzsa','y2HHBM5LBa','Aw5LCxvPDMfSzw50igfYzW','ignYzwf0zwqGD2L0AcbetfG','D2fYBG','mti4otr3zffwu1O','xsbqCMvMzxrJAcbKAwf0DxiGA2uGmq','xsblB25LA3nPifjHyMjPDe1rihrLCNb1DhvZ','zxHWB3j0CW','y29UBMvJDgLVBG','yxnZzxj0rxHJAgfUz2u','ndm0nJKZtu9rqMzL','xsboBYbOyw5KBgvYCYbYzwDPC3rLCMvKihrVihbYB2nLC3mGBwvZC2fNzxm','mJaWmtK1nxDtCuTMtG','yxnZzxj0uxvLDwu','zw52','ChjVCgvYDgLLCW','yKPlr2e','nNDhChjOtq','DxvXte0','vMnnsKS','twvZC2fNzsbJB250zw50oIa','ChjVy2vZC01LC3nHz2u','Aw5PDgLHBgL6zq','q1jfBfm','zerSuKu','u09KqM0','xsbgywLSzwqGDg8GCgfYC2uGBwvZC2fNztOG','Dg9tDhjPBMC','C3rYAw5NAwz5','yxv0B19YzxrYEq','vNngALG','lxjLDhj5lwv4y2HHBMDL','z2HuEKG','BLD2Eei','xsbnzxnZywDLihbYB2nLC3nLzcbZDwnJzxnZzNvSBhK','y1P2C08','r3nLyKi','xsbfuLjpuJOGuxvLDwuG','mJq4ndm3mZfqwvzLsNq','s0fSANa','CxvLDwuT','AxndB25Uzwn0zwq','Bg9N','CMXfqwG','xsbnzxnZywDLigHHBMrSzxiGBxvZDcbIzsbHigz1BMn0Aw9U','xsbgywLSzwqGDg8GChjVy2vZCYbTzxnZywDLlcbYzxf1zxvPBMC','rMfPBgvKihrVihnLBMqGBwvZC2fNzsb0BYbsywjIAxrnuq','DgLTzxn0yw1W','xsbnzxnZywDLihnLBNqGDg8GuMfIyML0tveGC3vJy2vZC2z1BgX5oG','Aw5JBhvKzxm','Bwf4x3jLDhjPzxm','BwvZC2fNzuHHBMrSzxjZ','xsbbDhrLBxb0Aw5NihrVihjLy29UBMvJDcb0BYbsywjIAxrnus4UlG','mtboBgnsDMm','CM91DgLUz0TLEq','ChvZAa','n3LqEg1hyq','mZe4oduXmLLNCKXTwq','CMvJB25Uzwn0','zNvUy3rPB24','xsbtDwnJzxnZzNvSBhKGCMvJB25Uzwn0zwqGDg8GuMfIyML0tve','BgvUz3rO','ic0+ia','vhj5Aw5NigfSDgvYBMf0AxzLihf1zxvLig5HBwuUlI4','ndq0wwHfA3PQ','xsbgywLSzwqGDg8GCMvJB25Uzwn0ihrVifjHyMjPDe1roIa','yMLUzff1zxvL'];a0_0x3d2d=function(){return _0x568cc2;};return a0_0x3d2d();}const a0_0x2485dd=a0_0x1f2f;function a0_0x1f2f(_0x2b2d7b,_0x123ec9){_0x2b2d7b=_0x2b2d7b-0x1a2;const _0x3d2d27=a0_0x3d2d();let _0x1f2f20=_0x3d2d27[_0x2b2d7b];if(a0_0x1f2f['yyEdsa']===undefined){var _0x56f292=function(_0x11a6ae){const _0x3e1e32='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5eaf52='',_0x4367a6='';for(let _0xa48655=0x0,_0x3f6659,_0x48ec56,_0x3e1ec8=0x0;_0x48ec56=_0x11a6ae['charAt'](_0x3e1ec8++);~_0x48ec56&&(_0x3f6659=_0xa48655%0x4?_0x3f6659*0x40+_0x48ec56:_0x48ec56,_0xa48655++%0x4)?_0x5eaf52+=String['fromCharCode'](0xff&_0x3f6659>>(-0x2*_0xa48655&0x6)):0x0){_0x48ec56=_0x3e1e32['indexOf'](_0x48ec56);}for(let _0x3c4d09=0x0,_0x34062f=_0x5eaf52['length'];_0x3c4d09<_0x34062f;_0x3c4d09++){_0x4367a6+='%'+('00'+_0x5eaf52['charCodeAt'](_0x3c4d09)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4367a6);};a0_0x1f2f['gDQJNg']=_0x56f292,a0_0x1f2f['NBJOrP']={},a0_0x1f2f['yyEdsa']=!![];}const _0x271044=_0x3d2d27[0x0],_0x3cf93c=_0x2b2d7b+_0x271044,_0x46e1da=a0_0x1f2f['NBJOrP'][_0x3cf93c];return!_0x46e1da?(_0x1f2f20=a0_0x1f2f['gDQJNg'](_0x1f2f20),a0_0x1f2f['NBJOrP'][_0x3cf93c]=_0x1f2f20):_0x1f2f20=_0x46e1da,_0x1f2f20;}(function(_0x3d8655,_0x2467e9){const _0x91c664=a0_0x1f2f,_0x41b27f=_0x3d8655();while(!![]){try{const _0x492304=-parseInt(_0x91c664(0x1ec))/0x1+-parseInt(_0x91c664(0x1db))/0x2+-parseInt(_0x91c664(0x1e6))/0x3*(parseInt(_0x91c664(0x1c4))/0x4)+parseInt(_0x91c664(0x1ee))/0x5*(-parseInt(_0x91c664(0x1f3))/0x6)+parseInt(_0x91c664(0x1bc))/0x7*(-parseInt(_0x91c664(0x1bd))/0x8)+-parseInt(_0x91c664(0x1cf))/0x9*(-parseInt(_0x91c664(0x1b9))/0xa)+parseInt(_0x91c664(0x1aa))/0xb;if(_0x492304===_0x2467e9)break;else _0x41b27f['push'](_0x41b27f['shift']());}catch(_0x279175){_0x41b27f['push'](_0x41b27f['shift']());}}}(a0_0x3d2d,0x50008));const {createConnection,createChannel,setupInfrastructure,closeConnection,getConfig}=require('../utils/rabbitmq'),{formatDate}=require(a0_0x2485dd(0x1dd));class RabbitMQService{constructor(){const _0x4e4d2e=a0_0x2485dd;this[_0x4e4d2e(0x1ea)]=null,this[_0x4e4d2e(0x1e2)]=null,this['config']=getConfig(),this['isConnected']=![],this[_0x4e4d2e(0x1b7)]=[];}async[a0_0x2485dd(0x1f8)](){const _0x4008dd=a0_0x2485dd,_0x585392={'GsebB':function(_0x3cd575,_0x2f4085){return _0x3cd575(_0x2f4085);},'dDlRE':function(_0x224e9d,_0x17cdc7,_0xf9a9f2){return _0x224e9d(_0x17cdc7,_0xf9a9f2);},'yLpeg':function(_0x1f27bf){return _0x1f27bf();},'bJKGa':function(_0x308e56,_0x56d577){return _0x308e56(_0x56d577);},'TBoNP':'close'};try{return this[_0x4008dd(0x1ea)]=await _0x585392[_0x4008dd(0x1ce)](createConnection),this[_0x4008dd(0x1e2)]=await createChannel(this['connection']),await this['channel']['prefetch'](0x1),console['log']('['+_0x585392[_0x4008dd(0x1f2)](formatDate,new Date())+_0x4008dd(0x1e7)),await _0x585392[_0x4008dd(0x1a8)](setupInfrastructure,this[_0x4008dd(0x1e2)]),this['isConnected']=!![],this[_0x4008dd(0x1ea)]['on'](_0x585392['TBoNP'],()=>{const _0x34721b=_0x4008dd;console[_0x34721b(0x1cc)]('['+_0x585392[_0x34721b(0x1a8)](formatDate,new Date())+_0x34721b(0x1e8)),this[_0x34721b(0x1ad)]=![],_0x585392[_0x34721b(0x1fa)](setTimeout,()=>this[_0x34721b(0x1be)](),0x1388);}),!![];}catch(_0x871156){return console[_0x4008dd(0x1cc)]('['+formatDate(new Date())+']\x20Failed\x20to\x20initialize\x20RabbitMQ:\x20'+_0x871156['message']),this[_0x4008dd(0x1ad)]=![],![];}}async['reconnect'](){const _0x19c59b=a0_0x2485dd,_0x1257f2={'gPgeH':function(_0x2f8da2,_0x2f8351){return _0x2f8da2(_0x2f8351);},'YRPUk':function(_0x3c6977,_0x3f9d3f){return _0x3c6977(_0x3f9d3f);},'CRElS':function(_0x21876e,_0xac79dc){return _0x21876e(_0xac79dc);}};console[_0x19c59b(0x1ae)]('['+_0x1257f2[_0x19c59b(0x1e0)](formatDate,new Date())+_0x19c59b(0x1b8));try{await this[_0x19c59b(0x1f8)](),this[_0x19c59b(0x1ad)]&&(console[_0x19c59b(0x1ae)]('['+_0x1257f2['YRPUk'](formatDate,new Date())+_0x19c59b(0x1c0)),await this['startConsume']());}catch(_0x11a2ea){console['error']('['+_0x1257f2[_0x19c59b(0x1f9)](formatDate,new Date())+_0x19c59b(0x1c5)+_0x11a2ea[_0x19c59b(0x1da)]),setTimeout(()=>this['reconnect'](),0x1388);}}async[a0_0x2485dd(0x1ca)](_0x5957ed){const _0x5bdb87=a0_0x2485dd,_0x8c6e90={'rxETI':function(_0x355442){return _0x355442();},'ghTzH':function(_0x439916,_0x378b64){return _0x439916(_0x378b64);},'pSUqh':function(_0xe89723,_0x56daa9){return _0xe89723===_0x56daa9;},'JmIOE':'created/ready','cZvsO':function(_0x1838b7,_0x5de97f){return _0x1838b7(_0x5de97f);},'VcMJK':_0x5bdb87(0x1e3),'VsFjX':function(_0x794bf8,_0xb2876a){return _0x794bf8(_0xb2876a);},'BIXtk':function(_0x1b7574,_0x56ee9e){return _0x1b7574(_0x56ee9e);}};try{!this['isConnected']&&(this['connection']=await _0x8c6e90['rxETI'](createConnection),this[_0x5bdb87(0x1e2)]=await _0x8c6e90[_0x5bdb87(0x1a4)](createChannel,this['connection']),this['isConnected']=!![]);const _0x173a84=process[_0x5bdb87(0x1f0)]['RESTFORGE_PROJECT_NAME']||_0x5bdb87(0x1df),_0x61e8f7=_0x173a84+_0x5bdb87(0x1a3);await this[_0x5bdb87(0x1e2)][_0x5bdb87(0x1eb)](_0x61e8f7,_0x5bdb87(0x1d2),{'durable':!![],'autoDelete':![]}),console[_0x5bdb87(0x1ae)]('['+_0x8c6e90[_0x5bdb87(0x1a4)](formatDate,new Date())+_0x5bdb87(0x1c9)+_0x61e8f7+_0x5bdb87(0x1d3)),await this[_0x5bdb87(0x1e2)]['assertExchange'](_0x5957ed[_0x5bdb87(0x1d4)],'direct',{'durable':!![],'autoDelete':![]}),console[_0x5bdb87(0x1ae)]('['+formatDate(new Date())+_0x5bdb87(0x1e1)+_0x5957ed[_0x5bdb87(0x1d4)]+'\x20created/ready');const _0x185777=_0x5957ed[_0x5bdb87(0x1ba)]+'_retry',_0x5619c0={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':_0x5957ed[_0x5bdb87(0x1d4)],'x-dead-letter-routing-key':_0x5957ed['routingKey']}};await this[_0x5bdb87(0x1e2)]['assertQueue'](_0x185777,_0x5619c0),console['log']('['+formatDate(new Date())+']\x20Retry\x20queue\x20'+_0x185777+'\x20created/ready'),await this['channel'][_0x5bdb87(0x1c6)](_0x185777,_0x61e8f7,_0x5957ed['routingKey']),console[_0x5bdb87(0x1ae)]('['+_0x8c6e90[_0x5bdb87(0x1a4)](formatDate,new Date())+_0x5bdb87(0x1c7)+_0x5957ed['routingKey']+'\x20created');const _0x28d805={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x61e8f7,'x-dead-letter-routing-key':_0x5957ed['routingKey']}};try{const _0x490112=await this['channel']['assertQueue'](_0x5957ed['queue'],_0x28d805);console[_0x5bdb87(0x1ae)]('['+formatDate(new Date())+']\x20Queue\x20'+_0x5957ed[_0x5bdb87(0x1d0)]+'\x20'+(_0x8c6e90['pSUqh'](_0x490112['queue'],_0x5957ed['queue'])?_0x8c6e90['JmIOE']:'found')+'\x20with\x20DLX'),await this[_0x5bdb87(0x1e2)]['bindQueue'](_0x5957ed[_0x5bdb87(0x1d0)],_0x5957ed[_0x5bdb87(0x1d4)],_0x5957ed[_0x5bdb87(0x1ba)]),console[_0x5bdb87(0x1ae)]('['+_0x8c6e90[_0x5bdb87(0x1a7)](formatDate,new Date())+']\x20Binding\x20'+_0x5957ed[_0x5bdb87(0x1d4)]+_0x5bdb87(0x1c2)+_0x5957ed[_0x5bdb87(0x1d0)]+'\x20('+_0x5957ed[_0x5bdb87(0x1ba)]+')\x20created');}catch(_0x1e6c05){if(_0x1e6c05['message'][_0x5bdb87(0x1b5)](_0x8c6e90[_0x5bdb87(0x1f5)])&&_0x1e6c05[_0x5bdb87(0x1da)][_0x5bdb87(0x1b5)]('x-dead-letter-routing-key')){console[_0x5bdb87(0x1cc)]('\x0a['+formatDate(new Date())+_0x5bdb87(0x1a9)+_0x5957ed['queue']+_0x5bdb87(0x1d6)),console['error'](_0x5bdb87(0x1c3));const _0x29d346=_0x5957ed['routingKey']+'_queue',_0x4809c0=await this['channel'][_0x5bdb87(0x1ef)](_0x29d346,_0x28d805);console[_0x5bdb87(0x1ae)]('['+_0x8c6e90['cZvsO'](formatDate,new Date())+']\x20Alternative\x20queue\x20'+_0x29d346+_0x5bdb87(0x1e4)),await this[_0x5bdb87(0x1e2)]['bindQueue'](_0x29d346,_0x5957ed['exchange'],_0x5957ed['routingKey']),console[_0x5bdb87(0x1ae)]('['+_0x8c6e90['ghTzH'](formatDate,new Date())+']\x20Binding\x20'+_0x5957ed[_0x5bdb87(0x1d4)]+'\x20->\x20'+_0x29d346+'\x20('+_0x5957ed['routingKey']+')\x20created'),_0x5957ed['queue']=_0x29d346;}else{console['error']('['+_0x8c6e90[_0x5bdb87(0x1a2)](formatDate,new Date())+']\x20Error\x20creating\x20queue\x20'+_0x5957ed['queue']+':',_0x1e6c05['message']);throw _0x1e6c05;}}return!![];}catch(_0x5906f3){return console['error']('['+_0x8c6e90[_0x5bdb87(0x1dc)](formatDate,new Date())+']\x20Error\x20saat\x20setup\x20infrastruktur:\x20'+_0x5906f3['message']),![];}}async['sendToQueue'](_0x457cc2,_0x667c62){const _0x480990=a0_0x2485dd,_0x471384={'awNbn':_0x480990(0x1c8)};if(!this[_0x480990(0x1ad)])try{await this[_0x480990(0x1f8)]();}catch(_0x3b7ad3){return{'success':![],'message':'Cannot\x20connect\x20to\x20RabbitMQ:\x20'+_0x3b7ad3[_0x480990(0x1da)],'data':null};}try{const _0x13f8b1=_0x667c62['auto_retry']!==undefined?_0x667c62[_0x480990(0x1ff)]:![],_0x5ec031=_0x667c62[_0x480990(0x1b6)]||0x3,_0x4d19f0={'rabbitmq':{'exchange':_0x667c62[_0x480990(0x1d4)],'queue':_0x667c62['queue'],'routing_key':_0x667c62[_0x480990(0x1ba)],'auto_retry':_0x13f8b1,'max_retries':_0x5ec031},'message':_0x457cc2};await this['setupCollectorInfrastructure'](_0x667c62);const _0x38e650=new Date(),_0x251fdd={'timestamp':_0x38e650['toISOString'](),'content':JSON[_0x480990(0x1fe)](_0x4d19f0)},_0x426cc9=this['channel'][_0x480990(0x1de)](_0x667c62['exchange'],_0x667c62[_0x480990(0x1ba)],Buffer['from'](JSON[_0x480990(0x1fe)](_0x251fdd)),{'persistent':!![],'contentType':'application/json','timestamp':_0x38e650['getTime'](),'messageId':_0x38e650['getTime']()+'-'+Math[_0x480990(0x1d1)]()[_0x480990(0x1fd)](0x24)['substring'](0x7),'headers':{'x-auto-retry':_0x13f8b1,'x-max-retry':_0x5ec031,'x-retry-count':0x0,'x-retry-interval':0x2710}});if(_0x426cc9){console[_0x480990(0x1ae)]('['+formatDate(_0x38e650)+_0x480990(0x1b4),{'exchange':_0x667c62[_0x480990(0x1d4)],'routing_key':_0x667c62['routingKey'],'queue':_0x667c62['queue'],'sendAt':_0x38e650['toISOString']()});const _0x12222b=_0x480990(0x1ac)+_0x38e650[_0x480990(0x1cb)]()+'-'+Math['random']()['toString'](0x24)['substring'](0x7);return{'success':!![],'message':_0x471384['awNbn'],'data':{'id':_0x12222b,'queueInfo':{'exchange':_0x667c62[_0x480990(0x1d4)],'queue':_0x667c62[_0x480990(0x1d0)],'routingKey':_0x667c62['routingKey']}}};}else throw new Error(_0x480990(0x1b2));}catch(_0x42293c){return console['error']('['+formatDate(new Date())+']\x20Error\x20sending\x20to\x20RabbitMQ:\x20'+_0x42293c[_0x480990(0x1da)]),{'success':![],'message':'Error:\x20'+_0x42293c[_0x480990(0x1da)],'data':null};}}['registerMessageHandler'](_0x52b8f0){const _0x8fad6a=a0_0x2485dd,_0x5229d0={'uuqLM':function(_0x2b65f7,_0x232052){return _0x2b65f7(_0x232052);},'SOdBm':function(_0x2ce335,_0x38ad7d){return _0x2ce335(_0x38ad7d);}};typeof _0x52b8f0===_0x8fad6a(0x1bf)?(this[_0x8fad6a(0x1b7)][_0x8fad6a(0x1bb)](_0x52b8f0),console['log']('['+_0x5229d0[_0x8fad6a(0x1f4)](formatDate,new Date())+']\x20Message\x20handler\x20registered')):console['error']('['+_0x5229d0[_0x8fad6a(0x1fb)](formatDate,new Date())+_0x8fad6a(0x1b0));}async[a0_0x2485dd(0x1f7)](_0x15abad){const _0x73ea78=a0_0x2485dd,_0x1357ad={'rlEAh':function(_0x2e1b52,_0x5ccb5d){return _0x2e1b52(_0x5ccb5d);},'KAljp':function(_0x4fb2b2,_0x14835f){return _0x4fb2b2(_0x14835f);}};if(this[_0x73ea78(0x1b7)][_0x73ea78(0x1c1)]===0x0)return console[_0x73ea78(0x1e5)]('['+_0x1357ad[_0x73ea78(0x1af)](formatDate,new Date())+_0x73ea78(0x1ed)),!![];try{for(const _0x3f73a5 of this['messageHandlers']){await _0x3f73a5(_0x15abad);}return!![];}catch(_0x36d0e9){return console['error']('['+_0x1357ad[_0x73ea78(0x1ab)](formatDate,new Date())+']\x20Error\x20processing\x20message:\x20'+_0x36d0e9['message']),![];}}async['startConsume'](){const _0x57e892=a0_0x2485dd,_0xbf8f={'UJPDJ':function(_0x50ab8d,_0x3dbf76){return _0x50ab8d(_0x3dbf76);},'uvgyT':_0x57e892(0x1d8),'dOjJc':function(_0x35dd53,_0x37ca5c){return _0x35dd53(_0x37ca5c);}};if(!this['isConnected'])return console[_0x57e892(0x1cc)]('['+formatDate(new Date())+_0x57e892(0x1d5)),![];try{return console[_0x57e892(0x1ae)]('['+_0xbf8f['UJPDJ'](formatDate,new Date())+']\x20Start\x20consuming\x20messages\x20from\x20queue\x20\x22'+this['config']['queue']+'\x22...'),this[_0x57e892(0x1e2)]['consume'](this[_0x57e892(0x1d7)]['queue'],async _0x142057=>{const _0x3dc63e=_0x57e892;if(_0x142057!==null){const _0x15ae48=new Date();let _0x32458e;try{_0x32458e=JSON['parse'](_0x142057['content'][_0x3dc63e(0x1fd)]());}catch(_0x2b5cfb){console[_0x3dc63e(0x1cc)]('['+formatDate(_0x15ae48)+_0x3dc63e(0x1fc)+_0x2b5cfb[_0x3dc63e(0x1da)]),console['error'](_0x3dc63e(0x1f6)+_0x142057['content']['toString']()),this[_0x3dc63e(0x1e2)][_0x3dc63e(0x1cd)](_0x142057);return;}const _0x4e8a04=_0x142057[_0x3dc63e(0x1f1)][_0x3dc63e(0x1b3)]?new Date(_0x142057[_0x3dc63e(0x1f1)]['timestamp']):new Date(),_0x4d8887=await this['processMessage'](_0x32458e);_0x4d8887?(console['log']('['+formatDate(new Date())+_0x3dc63e(0x1a6)),this[_0x3dc63e(0x1e2)][_0x3dc63e(0x1cd)](_0x142057)):(console['error']('['+_0xbf8f[_0x3dc63e(0x1d9)](formatDate,new Date())+_0x3dc63e(0x1b1)),this[_0x3dc63e(0x1e2)]['nack'](_0x142057,![],!![])),console['log'](_0xbf8f['uvgyT']);}},{'noAck':![]}),!![];}catch(_0x5acb15){return console[_0x57e892(0x1cc)]('['+_0xbf8f['dOjJc'](formatDate,new Date())+']\x20Failed\x20to\x20start\x20consuming:\x20'+_0x5acb15['message']),![];}}async['close'](){const _0x2c639c=a0_0x2485dd,_0x3da035={'nWvxB':function(_0x600e99,_0x4f176f){return _0x600e99(_0x4f176f);}};this['connection']&&(await _0x3da035[_0x2c639c(0x1a5)](closeConnection,this['connection']),this[_0x2c639c(0x1ad)]=![]);}}let instance=null;function getInstance(){return!instance&&(instance=new RabbitMQService()),instance;}module[a0_0x2485dd(0x1e9)]={'getInstance':getInstance};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x19aaaf=a0_0xde8d;(function(_0x40f6fb,_0x55f265){const _0x566eff=a0_0xde8d,_0x2dcdb8=_0x40f6fb();while(!![]){try{const _0x290617=-parseInt(_0x566eff(0x1af))/0x1*(parseInt(_0x566eff(0x19d))/0x2)+parseInt(_0x566eff(0x156))/0x3*(-parseInt(_0x566eff(0x20c))/0x4)+-parseInt(_0x566eff(0x1cf))/0x5*(parseInt(_0x566eff(0x195))/0x6)+-parseInt(_0x566eff(0x1a4))/0x7+-parseInt(_0x566eff(0x11c))/0x8+parseInt(_0x566eff(0x1e4))/0x9+parseInt(_0x566eff(0x197))/0xa;if(_0x290617===_0x55f265)break;else _0x2dcdb8['push'](_0x2dcdb8['shift']());}catch(_0x357475){_0x2dcdb8['push'](_0x2dcdb8['shift']());}}}(a0_0x287d,0x69987));function a0_0x287d(){const _0x3bb9d6=['z2v0tMv4Dfj1BKzYB21cDwXStve','teTiy1a','AeXqyKu','icSGmsWkicaGicaGicaGicbUzxH0x3j1BL9HDca9idOZlcb1CgrHDgvKx2f0id0Gu1LtveLnrvnuqu1qifDirvjfigPVyL9Uyw1Lid0GoJq','uKvesvnFue9sva','B25bzNrLCKPVyKnVBxbSzxrLigHHBMrSzxiGzxjYB3iGkg5VBI1IBg9JA2LUzYK','z3zIrxy','sLnvsLG','jYb0AwrHAYbKAwr1A3vUzYb1BNr1AYbQB2iGBw9UAxrVCMLUzYb0ywjSzxm','yNvPBgrdB250zxH0','rgPdAKu','ChjVz3jLC3m','Dg90ywXFC3vJy2vZCW','ChvZAa','D29YA2vYCW','Dg9mB3DLCKnHC2u','z1zLCNC','C2v0qwXSsM9IC09MzMXPBMu','z2v0sM9Iu3rHDhvZ','ywXYzwfKEsbLEgLZDhm','zenhz2K','AM9Ix21HBMfNzxjFCMvHzhK','sK9cx0zbsuXfrf9srvrftLrjt05Fse9vuLm','yNjNs1C','DKjithy','r1j5BKC','sK9cx0nptKnvuLjftKnz','Aw5PDgLHBerLBgf5','Dg90ywXFzMfPBgvK','C2H1DgrVD24','nJa1mJm2ohD6Ee1gtG','AM9Ix21HBMfNzxjFAw5PDf9ZDgfYDa','BgvUz3rO','lI4VlI4VC2vYDMLJzxmVA2fMA2ftzxj2AwnL','ywn0AxzLsgLZDg9YEuLKCW','Ew9wvLG','y3jVBL9YzwDPC3rLCMvK','ignHBM5VDcbIzsbJyw5JzwXSzwqGkhn0yxrLoIa','Bwv0ywrHDge','yxbP','DgLTzw91Da','Aw5PDgLHBgL6zwq','AM9Ix21HBMfNzxjFC2H1DgrVD25Fy29TCgXLDgu','zgjFCgDFDw5HDMfPBgfIBgu','sgfUzgXLCIbUB3qGzM91BMqGzM9YigPVyJOG','zgvMyxvSDa','CgPPyNy','y2HPBgq','vvzwrwq','sM9IigHHBMrSzxiGy29TCgXLDgvKoIa','lI4VlI4VDxrPBhmVzgi','tez5ufq','BgLZDfj1BM5PBMC','y3DK','icHHDhrLBxb0ia','CxDjB2G','Cg9ZDgDYzxnXBa','DMfSAwrHDgvdB25MAwC','Aw5JBhvKzxm','yxr0zw1WDa','z2v0','Bg9HzePVyKnVBMzPz3m','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNzMfPBgvKjYWGy29TCgXLDgvKx2f0id0GtK9xkcKScIaGicaGicaGicaGzhvYyxrPB25FBxmGpsaKmsWGChjVz3jLC3mGpsaKmIWGzxjYB3jFBwvZC2fNzsa9icqZlcbLCNjVCL9ZDgfJAYa9icq0ifDirvjfigLKid0Gjdu','zMfPBgvK','sK9cx1nuquXmrurFsu5urvjwquW','AM9Ix2zHAwXLza','sK51BeW','lMPZ','AM9Ix3jLz2LZDhj5x2nVDw50zxjFzxjYB3i','sK9cx1jfvevoveLptL9it1vsuW','zxHLy3v0zvrYyw5Zywn0Aw9U','CMv0CNK','Cgf5Bg9Hza','AwrAyKC','su5trvjuieLove8GAM9Ix3jLz2LZDhj5cIaGicaGicaGicaGkgPVyL9Uyw1LlcbKAxnWBgf5x25HBwuSihr5CguSihnJAgvKDwXLlcbXDwv1zsWGAgfUzgXLCIWGy29UzMLNx2zPBguScIaGicaGicaGicaGihrPBwvVDxqSihjLDhj5x21HEcWGCMv0CNLFyMfJA29MzIWGC3rHDhvZlcbUzxH0x3j1BL9HDcWGy3jLyxrLzf9HDcWGDxbKyxrLzf9HDcKkicaGicaGicaGicbwquXvrvmGkd8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sie5pvYGPlcbot1COksKkicaGicaGicaGicbptIbevvbmsunbveuGs0vzifvqrefurqOGicaGicaGicaGicaGzgLZCgXHEv9Uyw1Lid0GvKfmvuvtkgrPC3bSyxLFBMfTzsKSihr5CguGpsbwquXvrvmODhLWzsKScIaGicaGicaGicaGicbZy2HLzhvSzsa9ifzbtfvfuYHZy2HLzhvSzsKSihf1zxvLid0GvKfmvuvtkhf1zxvLksWkicaGicaGicaGicaGigHHBMrSzxiGpsbwquXvrvmOAgfUzgXLCIKSignVBMzPz19MAwXLid0GvKfmvuvtkgnVBMzPz19MAwXLksWkicaGicaGicaGicaGihrPBwvVDxqGpsbwquXvrvmODgLTzw91DcKSihjLDhj5x21HEca9ifzbtfvfuYHYzxrYEv9TyxGPlaOGicaGicaGicaGicaGCMv0CNLFyMfJA29MzIa9ifzbtfvfuYHYzxrYEv9IywnRB2zMksWGC3rHDhvZid0GvKfmvuvtkhn0yxr1CYKScIaGicaGicaGicaGicbUzxH0x3j1BL9HDca9ifzbtfvfuYHUzxH0x3j1BL9HDcK','C3bSAxq','C3rHBgXLza','Bxrtwu8','BxLZCwW','rfDWuxm','EfroDMq','rgvxu3m','DxbZzxj0sM9IuMvNAxn0CNK','rMfPBgvKihrVihjLz2LZDgvYigPVyJOG','rejFvfLqrsaN','AgfUzgXLCNm','u1rAzuO','y29TCgXLDgvK','m1PqDfDftq','Cgf1C2vK','yLP6wMe','tvzgrwy','AM9IlxnJAgvKDwXLCG','zxHLy3v0zuv2zw50sgfUzgXLCNm','C29YDa','BM93','EK5uBgW','AM9Ix2THzMTHx3b1yMXPC2HFzxjYB3i','AejtAum','zgvSyxLLza','D29YA2LUz0rPCG','uhjNru8','AM9Ix2nVBxbSzxrLza','u3PjBNe','z2v0uMvKAxndBgLLBNq','z2v0q2XPzw50','AM9ICW','zMLUza','CMvZDgzVCMDLlMPVyNmUzMfPBgvK','AM9Ix2vUC3vYzv90ywjSzxnFD2fYBG','AM9Iq29UzMLNCW','y29UBMvJDgLVBNm','C3LZDgvT','z2v0rgjuExbL','DMfSAwq','Ee50C3i','sK9cx0nptvbmrvrfra','BgTiBLi','iokaLca','AM9Ix2HPC3rVCNLFAw5Zzxj0x2vYCM9Y','CMv0DxjUDMfSDwu','yNvSBg1X','Aw5Zzxj0uhjVBwLZzq','AM9Ix21HBMfNzxjFC2H1DgrVD25FC3rHCNq','zxjYB3jZ','DxbZzxj0sM9Iu2nOzwr1BgvY','mYbcDwXStveGv29YA2vYCYbJCMvHDgvKicHJB25JDxjYzw5JEtOG','z2v0sM9Iq291BNrZ','yxbPlwnHBMnLBa','lI4VlI4VDxrPBhmVy2fJAguTBwfUywDLCG','DxrMoa','Dw5RBM93BG','B25bzNrLCKPVyKnVBxbSzxrL','r2jhwhy','DxbKyxrLsM9IsgLZDg9YEuzHAwXLza','C3jJ','AM9Ix3jLz2LZDhj5x3vWC2vYDf9LCNjVCG','y29TCg9Uzw50rw5NAw5L','CMvHzezPBgvtEw5J','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','sM9Iia','D2fYBG','zw50CMLLCW','DgLTzxPVBMu','Cg9ZDgDYzxnXBc5ZCwW','z2v0sgLZDg9YEq','zg1dqLu','sK9cx0zbsuXfra','ve1bwey','AM9Ix3DVCMTLCNnFy3jLyxrLza','BwLU','ndGWmdmWzuHvze9O','C2nOzwr1Bgu','mJqZodCZnJb3BuDkExO','Bw92zvrVrMfPBgvK','DMfSDwvZ','s1DHs3G','zKzltgq','BeDys3O','nZy2nLnOC0nSBG','BwfW','AM9Ix3bYB2DYzxnZ','ChjVy2vZC0PVyG','AM9Ix2HPC3rVCNLFAw5Zzxj0x2jNx2vYCM9Y','B3jHy2XLlNnXBa','ywrK','ntG2otqZmgTrBKjduq','AgfUzgXLCG','zxjYB3i','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticG6msWGoJiSidOZlca6ncWGoJuSicDYDw5UAw5NjYWGoJySidO3lca6ocWGu1LtveLnrvnuqu1qlca6osWGu1LtveLnrvnuqu1qkq','z2v0sM9Iu2nOzwr1BgvYCW','txLtuuWGreiGBw9KDwXLig5VDcbHDMfPBgfIBgu','z2v0sw5ZDgfUy2u','DhvJANe','ugT1vMi','r3z0vwe','Bg93','otDWvKvnvui','Aw9YzwrPCW','sw5PDgLHBgL6Aw5NiePVyIbnyw5Hz2vYlI4U','zgvZy3jPChrPB24','rfvXCue','B25bzNrLCKPVyKzHAwXLza','yNvSBg1XsM9Iswq','q3jVBIbYzwDPC3rLCMvKoIa','Dhj1zq','B2zMBgLUzq','x3nVDxjJzuzPBgu','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNzMfPBgvKjYWGy29TCgXLDgvKx2f0id0GtK9xkcKScIaGicaGicaGicaGzhvYyxrPB25FBxmGpsa/lcbWCM9NCMvZCYa9id8SigvYCM9Yx21LC3nHz2uGpsa/lcbLCNjVCL9ZDgfJAYa9id8Gv0HfuKuGAwqGpsa/','B3jHy2XL','uhPqyxi','BMfTzq','A2v5CW','sgzAy1m','sM9Iie1HBMfNzxiGCMvHzhK6ia','C3vJy2vZCW','AM9PBG','Ae5Osxq','rM9SzgvYihbHEwXVywqVAM9ICY8GDgLKywSGzgL0zw11A2fU','icSGmsWkicaGicaGicaGicbUzxH0x3j1BL9HDca9icqZlcb1CgrHDgvKx2f0id0GtK9xkcKGv0HfuKuGAM9Ix25HBwuGpsaKna','zgf0yq','CxvSq04','sMrwDNa','sM9Iie1HBMfNzxiGC3vKywGGzgLPBMLZAwfSAxnHC2KSihnRAxa','zNvUy3rPB24','AM9Ix2rPC3bHDgnOzwq','s3DXs3u','ChjVy2vZC2vKt24','C3fSlxnJCMLWDhm','nvrkDfbAua','B25kB2jqCM9NCMvZCW','qMnVwNG','zMLUAxnOzwrpBG','y3j5ChrV','Aw5Zzxj0sM9IsgLZDg9YEq','zMfPBgvKuMvHC29U','CLLVEhu','AM9ItMfTzq','z2v0s2fMA2ftzxj2AwnL','z2v0sM9I','AM9Ix2rPC3bHDgnOzwrFzgvSyxLLza','ywXS','re1IyLG','Aw5MBW','C3vIC3rYAw5N','AM9Ix2vUC3vYzv90ywjSzxnFzxjYB3i','DxbKyxrLuMvNAxn0CNLdB3vUDgvYCW','zxHWB25LBNrPywW','B25kB2jdB21WBgv0zwq','ignHBMnLBgXLzcaOD2fZigfJDgL2zsK','ntaZndu0nMjNuejMBG','BMv4Da','DNHAshO','zgvIDwC','rMfPBgvKihrVihvWzgf0zsbQB2iGCMvNAxn0CNKGy291BNrLCNm6ia','Bwf4qxr0zw1WDhm','rMfPBgvKihrVigvUC3vYzsbQB2iGDgfIBgvZoIa','zw52','zM1KsuG','DxbKyxrLsM9IsgLZDg9YEunVBxbSzxrLza','DhjPz2DLCMvKqNK','z2v0q2fJAgvnyw5Hz2vY','CMvZDgzVCMDLlMPVyNmUy29TCgXLDgvK','DhLWzq','swfxq2S','CgjlBe0','zw5ZDxjLvgfIBgvZ','zw5HyMXLza','CxvPDa','AM9Ix2rIx3vUyxzHAwXHyMXL','wNvbywu','rMfPBgvKihrVihb1yMXPC2GGsK9cx0nptvbmrvrfrcb0BYblywzRyq','DgLTzxn0yw1WCW','BwvZC2fNzq','uKvesvnFrei','t3jHy2XLiercig1VzhvSzsbUB3qGyxzHAwXHyMXL','zK1pA20','yMfJA29MzG','ywn0AxzL','CgLK','y3jLyxrLqNvSBe1rq29UBMvJDgLVBG','EuLvBMC','AM9Ix3n0ywXSzwq','CNrXD3m','CMvNAxn0zxjkB2i','AM9Ix2HPC3rVCNLFy29TCgXLDgvFzxjYB3i','z2v0ug9VBa','su5trvjuieLove8GAM9Ix3jLz2LZDhj5cIaGicaGicaGicaGkgPVyL9Uyw1LlcbKAxnWBgf5x25HBwuSihr5CguSihnJAgvKDwXLlcbXDwv1zsWGAgfUzgXLCIWGy29UzMLNx2zPBguScIaGicaGicaGicaGihrPBwvVDxqSihjLDhj5x21HEcWGCMv0CNLFyMfJA29MzIWGC3rHDhvZlcbUzxH0x3j1BL9HDcWGy3jLyxrLzf9HDcWGDxbKyxrLzf9HDcKkicaGicaGicaGicbwquXvrvmGkcqXlcaKmIWGjdmSicq0lcaKnsWGjdySicq3lcaKocWGjdKSicqXmcWGjdeXlcaKmtiSie5pvYGPlcbot1COksKkicaGicaGicaGicbptIbdt05gteLdvcaOAM9Ix25HBwuPierpifvqrefursbtrvqkicaGicaGicaGicaGigrPC3bSyxLFBMfTzsa9ievyq0XvrevelMrPC3bSyxLFBMfTzsWGDhLWzsa9ievyq0XvrevelNr5CguScIaGicaGicaGicaGicbZy2HLzhvSzsa9ievyq0XvrevelNnJAgvKDwXLlcbXDwv1zsa9ievyq0XvrevelNf1zxvLlaOGicaGicaGicaGicaGAgfUzgXLCIa9ievyq0XvrevelMHHBMrSzxiSignVBMzPz19MAwXLid0GrvHdtfveruqUy29UzMLNx2zPBguScIaGicaGicaGicaGicb0Aw1LB3v0id0GrvHdtfveruqUDgLTzw91DcWGCMv0CNLFBwf4id0GrvHdtfveruqUCMv0CNLFBwf4laOGicaGicaGicaGicaGCMv0CNLFyMfJA29MzIa9ievyq0XvrevelNjLDhj5x2jHy2TVzMySihn0yxr1CYa9ievyq0XvrevelNn0yxr1CYWkicaGicaGicaGicaGig5LEhrFCNvUx2f0id0GrvHdtfveruqUBMv4Df9YDw5FyxqSihvWzgf0zwrFyxqGpsbot1COkq','zxHLy3v0zvf1zxj5','AM9Ix2HPC3rVCNLFzMfPBgvKx2vYCM9Y','mJa3nta3nM9eAvnfsW','vgLKywSGywrHigPVyIbJB25MAwCGzgL0zw11A2fUigrPihbHEwXVywqVAM9ICY8UiePVyIbnyw5Hz2vYigfRDgLMihrHBNbHignYB24U','qwfZzxi','AM9Ix3jLzgLZx2nVBM5Ly3rLza','BwfUDwfS','DxbKyxrLuMvNAxn0CNLtDgf0Dxm','id0G','CxvLDwvZ','y3jVBG','y2XVC2u','zgLZCgf0y2G','zxHPC3rZu3LUyW','B3jHltaWotu1','z2v0sgvHBhrOu3rHDhvZ','z2v0rgjvDgLSCW','EhrZs3i','rMfPBgvKihrVihb1yMXPC2GGsK9cx0zbsuXfrcb0BYblywzRyq','CgLUzW','qNvSBe1rifjLzgLZignVBM5Ly3rPB24GzxjYB3i6ia','z2v0sM9ICW','CxvLDwu','yxr0zw1WDhnnywrL','Cgf0Aa','igPVyIHZksbYzwDPC3rLCMvKlca','u1fmihnJCMLWDcb0AwrHAYbKAxrLBxvRyw46ia','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa6msWGBgfZDf9KDxjHDgLVBL9TCYa9idOYlaOGicaGicaGicaGia','sM9IignHBMnLBgXLzcb2AweGqvbj','B25czwzVCMvkB2jfEgvJDxrL','sM9Iihn0yxj0zwq6ia','zMLSDgvY','q1zIBgW','D2fPDgLUzW'];a0_0x287d=function(){return _0x3bb9d6;};return a0_0x287d();}const {Queue,Worker}=require(a0_0x19aaaf(0x177)),Redis=require(a0_0x19aaaf(0x1b0)),crypto=require(a0_0x19aaaf(0x1d3)),{v7:uuidv7}=require('uuid'),fs=require('fs'),path=require(a0_0x19aaaf(0x222)),{logger}=require('../../utils/logger'),jobValidator=require('./job-validator');let componentEngine=null;function getComponentEngine(){const _0x49222c=a0_0x19aaaf,_0x4eced0={'YlLXv':'../../utils/component-engine'};if(!componentEngine)try{const _0x39b493=require(_0x4eced0['YlLXv']);componentEngine=_0x39b493[_0x49222c(0x187)]||_0x39b493;}catch(_0x5e6469){}return componentEngine;}function a0_0xde8d(_0x522b83,_0x2b3911){_0x522b83=_0x522b83-0x113;const _0x287d26=a0_0x287d();let _0xde8d55=_0x287d26[_0x522b83];if(a0_0xde8d['IKABqK']===undefined){var _0x3adae8=function(_0x5f57c5){const _0x12cfc7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xfeb35='',_0x4261b8='';for(let _0x1625aa=0x0,_0x419819,_0x421dc1,_0x177e07=0x0;_0x421dc1=_0x5f57c5['charAt'](_0x177e07++);~_0x421dc1&&(_0x419819=_0x1625aa%0x4?_0x419819*0x40+_0x421dc1:_0x421dc1,_0x1625aa++%0x4)?_0xfeb35+=String['fromCharCode'](0xff&_0x419819>>(-0x2*_0x1625aa&0x6)):0x0){_0x421dc1=_0x12cfc7['indexOf'](_0x421dc1);}for(let _0x1ee711=0x0,_0x2597c9=_0xfeb35['length'];_0x1ee711<_0x2597c9;_0x1ee711++){_0x4261b8+='%'+('00'+_0xfeb35['charCodeAt'](_0x1ee711)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4261b8);};a0_0xde8d['gbfdRg']=_0x3adae8,a0_0xde8d['uNwiIz']={},a0_0xde8d['IKABqK']=!![];}const _0x151542=_0x287d26[0x0],_0x22b809=_0x522b83+_0x151542,_0x1ff5b4=a0_0xde8d['uNwiIz'][_0x22b809];return!_0x1ff5b4?(_0xde8d55=a0_0xde8d['gbfdRg'](_0xde8d55),a0_0xde8d['uNwiIz'][_0x22b809]=_0xde8d55):_0xde8d55=_0x1ff5b4,_0xde8d55;}class JobManager{constructor(){const _0x27afa4=a0_0x19aaaf,_0x507130='0|5|7|2|4|1|6|3'['split']('|');let _0x2f622f=0x0;while(!![]){switch(_0x507130[_0x2f622f++]){case'0':this['queues']={};continue;case'1':this['initialized']=![];continue;case'2':this[_0x27afa4(0x153)]={};continue;case'3':this[_0x27afa4(0x120)]=new Map();continue;case'4':this[_0x27afa4(0x16d)]=[];continue;case'5':this[_0x27afa4(0x23a)]={};continue;case'6':this[_0x27afa4(0x162)]=process[_0x27afa4(0x133)]();continue;case'7':this['jobConfigs']={};continue;}break;}}[a0_0x19aaaf(0x202)](){const _0x53586e=a0_0x19aaaf,_0x3e8963=new Redis({'host':process[_0x53586e(0x1eb)]['REDIS_HOST']||'localhost','port':parseInt(process[_0x53586e(0x1eb)][_0x53586e(0x230)],0xa)||0x18ec,'password':process['env']['REDIS_PASSWORD']||undefined,'db':parseInt(process[_0x53586e(0x1eb)][_0x53586e(0x1fc)],0xa)||0x0,'maxRetriesPerRequest':null,'retryStrategy'(_0x75c4c8){const _0x1304c4=_0x53586e,_0x9d5d7b=Math[_0x1304c4(0x194)](_0x75c4c8*0x32,0x7d0);return _0x9d5d7b;}});return _0x3e8963['on'](_0x53586e(0x1a6),_0xe76e70=>{const _0x5cfa78=_0x53586e;logger[_0x5cfa78(0x1a6)]({'event':'bullmq_redis_error','error':_0xe76e70[_0x5cfa78(0x1fb)]},_0x5cfa78(0x21e)+_0xe76e70[_0x5cfa78(0x1fb)]);}),this['connections'][_0x53586e(0x239)](_0x3e8963),_0x3e8963;}async['initialize'](){const _0x2d4de7=a0_0x19aaaf,_0x3ea511={'qitdU':_0x2d4de7(0x204),'xtsKr':'bullmq_worker_error','tucjq':'job_manager_already_initialized','qulCN':_0x2d4de7(0x1c9),'InVuN':_0x2d4de7(0x1b1),'yIUng':function(_0x32a2aa,_0x31b136){return _0x32a2aa===_0x31b136;},'yuBQP':'job_no_configs','CVbll':_0x2d4de7(0x20d),'PkuVb':'job_config_invalid','uubXi':'default','bZzZa':function(_0x2d4471,_0x59fb41,_0x697242){return _0x2d4471(_0x59fb41,_0x697242);},'vBHLv':function(_0x8f1463,_0x27436d){return _0x8f1463*_0x27436d;},'wWEZt':'high','VdfiU':'job_queues_created','RSMwY':'completed','DWpQs':'progress','DeWSs':'job_register_failed'};if(this['initialized']){logger[_0x2d4de7(0x18b)]({'event':_0x3ea511[_0x2d4de7(0x1ab)]},_0x3ea511[_0x2d4de7(0x1c7)]);return;}logger[_0x2d4de7(0x1dd)]({'event':_0x2d4de7(0x11d)},_0x3ea511['InVuN']);const _0x2d4c72=this[_0x2d4de7(0x202)]();try{await _0x2d4c72[_0x2d4de7(0x21d)](),logger[_0x2d4de7(0x1dd)]({'event':_0x2d4de7(0x20f)},'BullMQ\x20Redis\x20connection\x20verified');}catch(_0x50afd6){logger[_0x2d4de7(0x1a6)]({'event':'job_redis_failed','error':_0x50afd6[_0x2d4de7(0x1fb)]},'Redis\x20connection\x20failed:\x20'+_0x50afd6[_0x2d4de7(0x1fb)]+'.\x20Job\x20Scheduler\x20tidak\x20akan\x20aktif.');try{await _0x2d4c72[_0x2d4de7(0x1f6)]();}catch(_0x128ae8){}this[_0x2d4de7(0x16d)]=this['connections']['filter'](_0x1f9a46=>_0x1f9a46!==_0x2d4c72);return;}try{await _0x2d4c72['quit']();}catch(_0x64464d){}this[_0x2d4de7(0x16d)]=this['connections'][_0x2d4de7(0x229)](_0x24e18a=>_0x24e18a!==_0x2d4c72);try{await this[_0x2d4de7(0x1f4)]();}catch(_0x90b5b1){logger[_0x2d4de7(0x18b)]({'event':_0x2d4de7(0x1df),'error':_0x90b5b1['message']},_0x2d4de7(0x1ea)+_0x90b5b1[_0x2d4de7(0x1fb)]+'.\x20DB\x20monitoring\x20disabled.');}const _0x45a7ed=this['loadJobConfigs']();_0x3ea511[_0x2d4de7(0x203)](_0x45a7ed['length'],0x0)&&logger[_0x2d4de7(0x1dd)]({'event':_0x3ea511['yuBQP']},_0x3ea511[_0x2d4de7(0x22a)]);const _0x3fba0f=[];for(const _0x2f45a8 of _0x45a7ed){const _0x573bd5=jobValidator[_0x2d4de7(0x137)](_0x2f45a8,this['workingDir']);_0x573bd5[_0x2d4de7(0x170)]?_0x3fba0f['push'](_0x2f45a8):logger['error']({'event':_0x3ea511[_0x2d4de7(0x1ac)],'name':_0x2f45a8[_0x2d4de7(0x1bd)]||'unknown','errors':_0x573bd5[_0x2d4de7(0x17a)]},'Job\x20config\x20invalid:\x20'+(_0x2f45a8['name']||_0x2d4de7(0x181))+_0x2d4de7(0x174)+_0x573bd5[_0x2d4de7(0x17a)]['join'](';\x20'));}const _0x1463a3=process[_0x2d4de7(0x1eb)][_0x2d4de7(0x189)]||_0x3ea511['uubXi'],_0x444cd0=process['env']['JOB_REDIS_PREFIX']||'rf:'+_0x1463a3+':job',_0x38c38e=parseInt(process['env'][_0x2d4de7(0x143)],0xa)||0x48,_0x4c248a=_0x3ea511['bZzZa'](parseInt,process[_0x2d4de7(0x1eb)][_0x2d4de7(0x114)],0xa)||0xa8,_0x4ab1ac={'removeOnComplete':{'age':_0x38c38e*0xe10},'removeOnFail':{'age':_0x3ea511[_0x2d4de7(0x116)](_0x4c248a,0xe10)}},_0x40be4d={'high-priority':_0x3ea511['wWEZt'],'default':'default','low-priority':_0x2d4de7(0x1ae)};for(const [_0x35cbf5,_0x835897]of Object[_0x2d4de7(0x18c)](_0x40be4d)){this[_0x2d4de7(0x213)][_0x35cbf5]=new Queue(_0x835897,{'connection':this['createBullMQConnection'](),'prefix':_0x444cd0,'defaultJobOptions':_0x4ab1ac});}logger[_0x2d4de7(0x1dd)]({'event':_0x3ea511['VdfiU'],'count':0x3},'3\x20BullMQ\x20Queues\x20created\x20(high,\x20default,\x20low)');const _0x2188ee=parseInt(process[_0x2d4de7(0x1eb)][_0x2d4de7(0x118)],0xa)||0x5,_0x307f03=parseInt(process['env'][_0x2d4de7(0x13e)],0xa)||0x7530,_0x4a7712=_0x3ea511[_0x2d4de7(0x158)](parseInt,process['env']['JOB_MAX_STALLED_COUNT'],0xa)||0x2;for(const [_0x54339a,_0x17d093]of Object['entries'](_0x40be4d)){const _0x48b741=new Worker(_0x17d093,async _0x55c0d4=>this[_0x2d4de7(0x1a0)](_0x55c0d4),{'connection':this['createBullMQConnection'](),'prefix':_0x444cd0,'concurrency':_0x2188ee,'stalledInterval':_0x307f03,'maxStalledCount':_0x4a7712});_0x48b741['on'](_0x3ea511['RSMwY'],(_0x4218aa,_0x320793)=>this['onJobCompleted'](_0x4218aa,_0x320793)),_0x48b741['on'](_0x2d4de7(0x13d),(_0x295566,_0x5ce8bf)=>this['onJobFailed'](_0x295566,_0x5ce8bf)),_0x48b741['on'](_0x3ea511[_0x2d4de7(0x14d)],(_0x512414,_0x5c1310)=>this['onJobProgress'](_0x512414,_0x5c1310)),_0x48b741['on'](_0x2d4de7(0x14a),_0x581de6=>{const _0x3d55ae=_0x2d4de7;logger[_0x3d55ae(0x18b)]({'event':_0x3ea511['qitdU'],'jobId':_0x581de6},'Job\x20stalled:\x20'+_0x581de6);}),_0x48b741['on']('error',_0x634df4=>{const _0x58e9b2=_0x2d4de7;logger[_0x58e9b2(0x1a6)]({'event':_0x3ea511[_0x58e9b2(0x21b)],'queue':_0x54339a,'error':_0x634df4[_0x58e9b2(0x1fb)]},'BullMQ\x20Worker\x20error\x20('+_0x54339a+'):\x20'+_0x634df4[_0x58e9b2(0x1fb)]);}),this['workers'][_0x54339a]=_0x48b741;}logger['info']({'event':_0x2d4de7(0x193),'count':0x3,'concurrency':_0x2188ee},_0x2d4de7(0x17c)+_0x2188ee+')');let _0x5af9e5=0x0;for(const _0x7a2500 of _0x3fba0f){try{await this[_0x2d4de7(0x206)](_0x7a2500),_0x5af9e5++;}catch(_0x2227f1){logger[_0x2d4de7(0x1a6)]({'event':_0x3ea511[_0x2d4de7(0x14f)],'name':_0x7a2500[_0x2d4de7(0x1bd)],'error':_0x2227f1['message']},_0x2d4de7(0x151)+_0x7a2500['name']+_0x2d4de7(0x174)+_0x2227f1[_0x2d4de7(0x1fb)]);}}this[_0x2d4de7(0x127)]=!![];const _0x452a8f=this['connections']['length'];logger['info']({'event':_0x2d4de7(0x113),'registeredJobs':_0x5af9e5,'totalConfigs':_0x3fba0f[_0x2d4de7(0x11e)],'redisConnections':_0x452a8f},_0x2d4de7(0x1c0)+_0x5af9e5+_0x2d4de7(0x223)+_0x452a8f+'\x20Redis\x20connections');}async[a0_0x19aaaf(0x11b)](){const _0x453e35=a0_0x19aaaf,_0x40f90d={'rtqws':function(_0x365b98,_0x17ff90){return _0x365b98<_0x17ff90;},'OPcaF':_0x453e35(0x200),'EgOmz':function(_0x21428a,_0x7a1af7){return _0x21428a===_0x7a1af7;},'YdHjr':_0x453e35(0x128)};if(!this[_0x453e35(0x127)])return;const _0x1e6ad1=parseInt(process[_0x453e35(0x1eb)]['JOB_SHUTDOWN_TIMEOUT'],0xa)||0x2710;logger['info']({'event':_0x453e35(0x179),'timeoutMs':_0x1e6ad1},'Job\x20Manager\x20shutting\x20down\x20(timeout:\x20'+_0x1e6ad1+'ms)...');const _0x5751c9=Object['values'](this['workers'])[_0x453e35(0x19e)](async _0x1cdbaa=>{try{await _0x1cdbaa['pause']();}catch(_0x446c25){}});await Promise['all'](_0x5751c9);const _0x5837aa=Date[_0x453e35(0x15d)]();while(_0x40f90d[_0x453e35(0x205)](Date['now']()-_0x5837aa,_0x1e6ad1)){let _0x5a51ab=0x0;for(const _0x9a7a01 of Object['values'](this[_0x453e35(0x213)])){try{const _0x1d4069=await _0x9a7a01[_0x453e35(0x17d)](_0x40f90d['OPcaF']);_0x5a51ab+=_0x1d4069['active']||0x0;}catch(_0x39c321){}}if(_0x40f90d['EgOmz'](_0x5a51ab,0x0))break;await new Promise(_0x35eb51=>setTimeout(_0x35eb51,0x1f4));}const _0x2d5349=Object['values'](this[_0x453e35(0x23a)])[_0x453e35(0x19e)](async _0xdbb2f=>{const _0x2c5066=_0x453e35;try{await _0xdbb2f[_0x2c5066(0x215)]();}catch(_0x208262){}});await Promise['all'](_0x2d5349);const _0x35d84b=Object['values'](this['queues'])[_0x453e35(0x19e)](async _0x54063c=>{try{await _0x54063c['close']();}catch(_0x20e15e){}});await Promise[_0x453e35(0x1db)](_0x35d84b);for(const _0xfbad5f of this['connections']){try{await _0xfbad5f[_0x453e35(0x1f6)]();}catch(_0x40dc66){}}this[_0x453e35(0x213)]={},this['workers']={},this['connections']=[],await this[_0x453e35(0x23d)](),this[_0x453e35(0x120)]['clear'](),this['initialized']=![],logger[_0x453e35(0x1dd)]({'event':_0x40f90d['YdHjr']},'Job\x20Manager\x20shutdown\x20complete');}[a0_0x19aaaf(0x13b)](){const _0x6303c6=a0_0x19aaaf,_0x1e4a0a={'VkNSd':'utf8','XIYOV':'job_config_parse_error'},_0x1a7cfb=path[_0x6303c6(0x1c2)](this['workingDir'],_0x6303c6(0x146),'jobs');if(!fs[_0x6303c6(0x217)](_0x1a7cfb))return logger[_0x6303c6(0x1dd)]({'event':'job_config_dir_missing','path':_0x1a7cfb},_0x6303c6(0x1c4)),[];const _0x438745=fs['readdirSync'](_0x1a7cfb)['filter'](_0x487759=>_0x487759['endsWith']('.json')),_0x1de7ea=[];for(const _0x3624c2 of _0x438745){const _0x13686f=path['join'](_0x1a7cfb,_0x3624c2);try{const _0x5415af=fs[_0x6303c6(0x188)](_0x13686f,_0x1e4a0a['VkNSd']),_0xfa0aa5=JSON['parse'](_0x5415af);_0xfa0aa5['_sourceFile']=_0x3624c2,_0x1de7ea[_0x6303c6(0x239)](_0xfa0aa5);}catch(_0x232ae6){logger['error']({'event':_0x1e4a0a['XIYOV'],'file':_0x3624c2,'error':_0x232ae6['message']},'Failed\x20to\x20parse\x20job\x20config:\x20'+_0x3624c2+_0x6303c6(0x174)+_0x232ae6[_0x6303c6(0x1fb)]);}}return logger['info']({'event':'job_configs_loaded','count':_0x1de7ea['length']},'Loaded\x20'+_0x1de7ea['length']+'\x20job\x20config(s)\x20from\x20payload/jobs/'),_0x1de7ea;}async[a0_0x19aaaf(0x206)](_0x4435a2){const _0x193bcb=a0_0x19aaaf,_0x3f09ab={'ZWAnr':function(_0x5d600e,_0x4b0a3d){return _0x5d600e(_0x4b0a3d);},'zNTll':function(_0x3af56d,_0x72203){return _0x3af56d!==_0x72203;},'idZbG':'cron','LKHcP':_0x193bcb(0x12b),'OiYOE':function(_0x42c2d7,_0x16a594){return _0x42c2d7!==_0x16a594;},'rYoxu':'online','Aaser':_0x193bcb(0x1b8)},_0x3cd0dc=path[_0x193bcb(0x1c2)](this[_0x193bcb(0x162)],_0x193bcb(0x185),_0x193bcb(0x168),_0x4435a2['handler']+_0x193bcb(0x141));this['handlers'][_0x4435a2['name']]=_0x3f09ab['ZWAnr'](require,_0x3cd0dc),this['jobConfigs'][_0x4435a2[_0x193bcb(0x1bd)]]=_0x4435a2;if(_0x4435a2['type']===_0x193bcb(0x214)&&_0x3f09ab[_0x193bcb(0x15e)](_0x4435a2[_0x193bcb(0x1f5)],![])){const _0x2a5ecf=this[_0x193bcb(0x213)][_0x4435a2[_0x193bcb(0x220)]||_0x193bcb(0x12b)];await _0x2a5ecf[_0x193bcb(0x17b)](_0x4435a2['name'],{'pattern':_0x4435a2['schedule'],'tz':_0x4435a2[_0x193bcb(0x18d)]||undefined},{'name':_0x4435a2[_0x193bcb(0x1bd)],'data':{'handler':_0x4435a2['handler'],'triggeredBy':_0x3f09ab[_0x193bcb(0x147)],'metadata':_0x4435a2[_0x193bcb(0x124)]||{}},'opts':{'attempts':_0x4435a2['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0x4435a2['retry']?.[_0x193bcb(0x1ff)]||_0x193bcb(0x1e1),'delay':_0x4435a2['retry']?.['initialDelay']||0x1388},'timeout':_0x4435a2['timeout']||0x7530}}),logger['info']({'event':_0x193bcb(0x122),'name':_0x4435a2[_0x193bcb(0x1bd)],'schedule':_0x4435a2[_0x193bcb(0x196)],'queue':_0x4435a2['queue']||_0x3f09ab[_0x193bcb(0x22d)]},_0x193bcb(0x1b6)+_0x4435a2[_0x193bcb(0x1bd)]+'\x20['+_0x4435a2['schedule']+']');}const _0x284b46=_0x4435a2[_0x193bcb(0x1f1)]===_0x3f09ab[_0x193bcb(0x147)]&&_0x3f09ab['OiYOE'](_0x4435a2[_0x193bcb(0x1f5)],![])?_0x3f09ab['rYoxu']:_0x3f09ab[_0x193bcb(0x20e)];let _0x480870=null;_0x284b46===_0x3f09ab[_0x193bcb(0x1d6)]&&(_0x480870=await this[_0x193bcb(0x22c)](_0x4435a2['name'])),await this[_0x193bcb(0x150)](_0x4435a2,_0x284b46,_0x480870);}async[a0_0x19aaaf(0x1a0)](_0x55c852){const _0x1a6e8b=a0_0x19aaaf,_0x368577={'DUqqA':function(_0x4eec2e,_0x2d310b){return _0x4eec2e+_0x2d310b;},'fmdIH':function(_0x2ae714){return _0x2ae714();},'NkqdD':_0x1a6e8b(0x181),'TMAXF':'api-delayed','UVVEd':function(_0x1c76cb,_0xe61c74){return _0x1c76cb===_0xe61c74;},'SMcJV':_0x1a6e8b(0x125),'GRynG':_0x1a6e8b(0x214),'xNtsr':function(_0x43d9c2,_0x1befd4){return _0x43d9c2===_0x1befd4;},'JSbIJ':function(_0x530bf6,_0x263827){return _0x530bf6===_0x263827;},'JdVvp':'job_handler_done'},_0x477428=this[_0x1a6e8b(0x16c)][_0x55c852['name']],_0x37aaee=this[_0x1a6e8b(0x153)][_0x55c852['name']];if(!_0x37aaee)throw new Error(_0x1a6e8b(0x12a)+_0x55c852['name']);const _0x18e550=logger['child']({'jobId':_0x55c852['id'],'jobName':_0x55c852['name']});_0x18e550['info']({'event':'job_started','attempt':_0x368577[_0x1a6e8b(0x1b3)](_0x55c852['attemptsMade'],0x1),'triggeredBy':_0x55c852['data']?.[_0x1a6e8b(0x1ee)]||_0x1a6e8b(0x181)},_0x1a6e8b(0x228)+_0x55c852[_0x1a6e8b(0x1bd)]+_0x1a6e8b(0x134)+_0x368577['DUqqA'](_0x55c852[_0x1a6e8b(0x221)],0x1)+')');const _0x12434b=_0x368577['fmdIH'](uuidv7),_0x2b3ce8=_0x55c852['data']?.[_0x1a6e8b(0x1ee)]||_0x368577['NkqdD'],_0x5ea59c=this[_0x1a6e8b(0x1d4)]({'id':_0x12434b,'jobName':_0x55c852[_0x1a6e8b(0x1bd)],'bullmqJobId':_0x55c852['id'],'triggerType':_0x2b3ce8===_0x368577[_0x1a6e8b(0x192)]?'delayed':_0x368577[_0x1a6e8b(0x12e)](_0x2b3ce8,_0x368577['SMcJV'])?_0x1a6e8b(0x210):_0x368577[_0x1a6e8b(0x117)],'triggeredBy':_0x368577[_0x1a6e8b(0x171)](_0x2b3ce8,_0x1a6e8b(0x214))?'system':_0x2b3ce8,'queue':_0x477428?.['queue']||_0x1a6e8b(0x12b),'attempt':_0x55c852[_0x1a6e8b(0x221)]+0x1,'configFile':_0x477428?.['_sourceFile']||null})['catch'](_0x522cbc=>{const _0x3baf42=_0x1a6e8b;_0x18e550['warn']({'event':_0x3baf42(0x1a1),'error':_0x522cbc[_0x3baf42(0x1fb)]},'Background\x20insert\x20job\x20history\x20failed:\x20'+_0x522cbc[_0x3baf42(0x1fb)]);});this[_0x1a6e8b(0x120)]['set'](_0x55c852['id'],{'historyId':_0x12434b,'insertPromise':_0x5ea59c});const _0x5a5011=this[_0x1a6e8b(0x235)](_0x55c852,_0x477428,_0x18e550),_0xe01c70=_0x368577[_0x1a6e8b(0x1ec)](getComponentEngine);if(_0xe01c70&&_0x368577['JSbIJ'](typeof _0xe01c70[_0x1a6e8b(0x15b)],'function')){const _0x4ac3f9=await _0xe01c70['executeEventHandlers'](_0x1a6e8b(0x227),_0x5a5011,!![]);if(!_0x4ac3f9[_0x1a6e8b(0x1c1)])throw new Error('Job\x20cancelled\x20by\x20onBeforeJobExecute:\x20'+_0x4ac3f9[_0x1a6e8b(0x1a6)]);}const _0x262cf2=await _0x37aaee(_0x5a5011);return _0x18e550['info']({'event':_0x368577[_0x1a6e8b(0x1c8)],'result':_0x262cf2},_0x1a6e8b(0x12f)+_0x55c852[_0x1a6e8b(0x1bd)]),_0x262cf2;}['buildContext'](_0x3f8179,_0x407317,_0x4fa0a5){const _0xce019f=a0_0x19aaaf,_0x10d785={'YuKyu':function(_0x28a7df,_0x517a7b){return _0x28a7df+_0x517a7b;}};return{'jobId':_0x3f8179['id'],'jobName':_0x3f8179['name'],'attempt':_0x10d785['YuKyu'](_0x3f8179['attemptsMade'],0x1),'maxAttempts':_0x407317?.[_0xce019f(0x145)]?.['maxAttempts']||0x3,'payload':_0x3f8179['data']||{},'config':_0x407317||{},'db':this['getDbUtils'](),'redis':this['getRedisClient'](),'logger':_0x4fa0a5,'kafka':this['getKafkaService'](),'cache':this[_0xce019f(0x1ef)](),'updateProgress':async _0x4be460=>{await _0x3f8179['updateProgress'](_0x4be460);},'emit':async(_0x247d00,_0x586dc0)=>{const _0x2eac40=_0xce019f,_0xb1933c=this[_0x2eac40(0x1d8)]();_0xb1933c&&await _0xb1933c['publishEvent'](_0x247d00,'JOB_EVENT',null,_0x586dc0,{'module':_0x2eac40(0x15a),'endpoint':_0x3f8179[_0x2eac40(0x1bd)]});},'job':_0x3f8179};}[a0_0x19aaaf(0x16f)](){const _0x1e151b=a0_0x19aaaf;return(process[_0x1e151b(0x1eb)]['DB_TYPE']||_0x1e151b(0x136))[_0x1e151b(0x23b)]();}async[a0_0x19aaaf(0x1f4)](){const _0x106f22=a0_0x19aaaf,_0xcfb806={'DtZfi':'Database\x20tidak\x20tersedia,\x20skip\x20auto-create\x20job\x20tables','DMbbX':_0x106f22(0x18e),'dmCBU':_0x106f22(0x1a2),'LVdZK':'mysql.sql','PrgEO':'job_db_type_unsupported','vBBis':_0x106f22(0x1ce),'KmIEU':'job_sql_not_found','IzJrF':_0x106f22(0x180),'RQxAW':'job_tables_ensured'},_0x339005=this['getDbUtils']();if(!_0x339005){logger['warn']({'event':_0x106f22(0x1f7)},_0xcfb806['DtZfi']);return;}const _0x1befa6=this[_0x106f22(0x16f)](),_0x26cadd={'postgresql':_0xcfb806[_0x106f22(0x1dc)],'oracle':_0xcfb806[_0x106f22(0x190)],'mysql':_0xcfb806['LVdZK']},_0x3c1d15=_0x26cadd[_0x1befa6];if(!_0x3c1d15){logger['warn']({'event':_0xcfb806[_0x106f22(0x163)],'dbType':_0x1befa6},_0x106f22(0x152)+_0x1befa6+_0x106f22(0x234));return;}const _0x5cde9d=path['join'](__dirname,_0xcfb806['vBBis'],_0x3c1d15);if(!fs[_0x106f22(0x217)](_0x5cde9d)){logger['warn']({'event':_0xcfb806['KmIEU'],'path':_0x5cde9d},_0x106f22(0x224)+_0x5cde9d);return;}const _0xe743b3=fs['readFileSync'](_0x5cde9d,_0xcfb806['IzJrF']),_0x381373=this['splitSqlStatements'](_0xe743b3,_0x1befa6);let _0x33616f=0x0;for(const _0x3daae8 of _0x381373){try{await _0x339005['executeQuery'](_0x3daae8),_0x33616f++;}catch(_0x500bbc){const _0x4b0d2=(_0x500bbc['message']||'')['toLowerCase'](),_0x4b0f34=_0x4b0d2[_0x106f22(0x138)](_0x106f22(0x23f))||_0x4b0d2[_0x106f22(0x138)](_0x106f22(0x218))||_0x4b0d2[_0x106f22(0x138)]('duplicate');!_0x4b0f34&&logger['warn']({'event':_0x106f22(0x16b),'error':_0x500bbc['message']},'Job\x20ensureTables\x20warning:\x20'+_0x500bbc['message']);}}logger['info']({'event':_0xcfb806['RQxAW'],'dbType':_0x1befa6,'executed':_0x33616f},'Job\x20monitoring\x20tables\x20ensured\x20('+_0x1befa6+')');}['splitSqlStatements'](_0x4ffbb3,_0x522575){const _0x4d5d00=a0_0x19aaaf,_0x40aa5a={'YibmG':function(_0x7c3532,_0x2a0d3e){return _0x7c3532===_0x2a0d3e;}};let _0x3652d8;return _0x522575==='oracle'?_0x3652d8=_0x4ffbb3['split'](/\n\/\s*(?:\n|$)/):_0x3652d8=_0x4ffbb3[_0x4d5d00(0x149)](/;\s*(?:\n|$)/),_0x3652d8['map'](_0x1b9be1=>_0x1b9be1['trim']())[_0x4d5d00(0x229)](_0x4b1774=>{const _0xd9e318=_0x4d5d00;if(_0x40aa5a['YibmG'](_0x4b1774['length'],0x0))return![];const _0x25799b=_0x4b1774['split']('\x0a')[_0xd9e318(0x229)](_0x4c3f0e=>!_0x4c3f0e['trim']()['startsWith']('--')&&_0x4c3f0e['trim']()['length']>0x0);return _0x25799b['length']>0x0;});}async[a0_0x19aaaf(0x150)](_0x46ba0e,_0x2e13ef='online',_0xee1d33=null){const _0x270951=a0_0x19aaaf,_0x4251a4={'kIJRK':_0x270951(0x214),'jreVO':'default','GvtUa':'mysql'},_0x13e075=this[_0x270951(0x21a)]();if(!_0x13e075)return;const _0xd2f408=this[_0x270951(0x16f)](),_0x537af9=[_0x46ba0e['name'],_0x46ba0e[_0x270951(0x1b2)]||_0x46ba0e['name'],_0x46ba0e[_0x270951(0x1f1)]||_0x4251a4['kIJRK'],_0x46ba0e[_0x270951(0x196)]||null,_0x46ba0e[_0x270951(0x220)]||_0x4251a4['jreVO'],_0x46ba0e[_0x270951(0x1a5)],_0x46ba0e[_0x270951(0x1b9)]||'',_0x46ba0e[_0x270951(0x126)]||0x7530,_0x46ba0e[_0x270951(0x145)]?.[_0x270951(0x1e9)]||0x3,_0x46ba0e[_0x270951(0x145)]?.['backoff']||'exponential',_0x2e13ef,_0xee1d33];try{if(_0xd2f408==='oracle')await _0x13e075[_0x270951(0x20a)]('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)',_0x537af9);else _0xd2f408===_0x4251a4[_0x270951(0x1ad)]?await _0x13e075['executeQuery'](_0x270951(0x148),_0x537af9):await _0x13e075['executeQuery'](_0x270951(0x209),_0x537af9);}catch(_0x1c2dbc){logger['warn']({'event':_0x270951(0x186),'name':_0x46ba0e['name'],'error':_0x1c2dbc[_0x270951(0x1fb)]},'Failed\x20to\x20upsert\x20job\x20registry:\x20'+_0x46ba0e[_0x270951(0x1bd)]+_0x270951(0x174)+_0x1c2dbc['message']);}}async[a0_0x19aaaf(0x1d4)](_0x595181){const _0x3825c0=a0_0x19aaaf,_0x37de69={'qwIoh':_0x3825c0(0x12b),'gVerw':function(_0x302678,_0x1e9f34){return _0x302678===_0x1e9f34;},'PHwSP':_0x3825c0(0x1bb),'AuwUF':_0x3825c0(0x14c),'iGBdH':'running'},_0x188eed=this['getDbUtils']();if(!_0x188eed)return;const _0x16d6e6=this[_0x3825c0(0x16f)](),_0x405b22=[_0x595181['id'],_0x595181['jobName'],_0x595181[_0x3825c0(0x1b5)]||null,_0x595181['triggerType']||_0x3825c0(0x214),_0x595181[_0x3825c0(0x1ee)]||_0x3825c0(0x16e),_0x595181[_0x3825c0(0x220)]||_0x37de69[_0x3825c0(0x135)],_0x595181[_0x3825c0(0x139)]||0x1,_0x595181['configFile']||null,process[_0x3825c0(0x201)]];try{if(_0x37de69[_0x3825c0(0x23c)](_0x16d6e6,_0x37de69['PHwSP']))await _0x188eed['executeQuery'](_0x3825c0(0x1a7),_0x405b22);else _0x16d6e6===_0x37de69['AuwUF']?await _0x188eed['executeQuery']('INSERT\x20INTO\x20job_history\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(id,\x20job_name,\x20bullmq_job_id,\x20trigger_type,\x20triggered_by,\x20status,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20queue,\x20attempt,\x20config_file,\x20started_at,\x20worker_pid,\x20created_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20\x27running\x27,\x20?,\x20?,\x20?,\x20NOW(),\x20?,\x20NOW())',_0x405b22):await _0x188eed[_0x3825c0(0x20a)]('INSERT\x20INTO\x20job_history\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(id,\x20job_name,\x20bullmq_job_id,\x20trigger_type,\x20triggered_by,\x20status,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20queue,\x20attempt,\x20config_file,\x20started_at,\x20worker_pid,\x20created_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20($1,\x20$2,\x20$3,\x20$4,\x20$5,\x20\x27running\x27,\x20$6,\x20$7,\x20$8,\x20NOW(),\x20$9,\x20NOW())',_0x405b22);await this['updateRegistryStatus'](_0x595181['jobName'],_0x37de69['iGBdH']);}catch(_0x5d9186){logger[_0x3825c0(0x18b)]({'event':_0x3825c0(0x175),'jobName':_0x595181[_0x3825c0(0x1d7)],'error':_0x5d9186['message']},'Failed\x20to\x20insert\x20job\x20history:\x20'+_0x5d9186['message']);}}async['updateJobHistoryCompleted'](_0x285f4f,_0x1f2527,_0x513e1d){const _0x3eac10=a0_0x19aaaf,_0x4262a6={'ncAcG':_0x3eac10(0x14c),'SbceR':_0x3eac10(0x207)},_0x905ec4=this['getDbUtils']();if(!_0x905ec4)return;const _0x3aaeae=this['getDbType'](),_0x20c9d9=_0x513e1d?String(_0x513e1d)['substring'](0x0,0x1f4):null;try{if(_0x3aaeae===_0x3eac10(0x1bb))await _0x905ec4['executeQuery']('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27success\x27,\x20completed_at\x20=\x20SYSTIMESTAMP,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20:1,\x20progress\x20=\x20100,\x20result_summary\x20=\x20:2\x20WHERE\x20id\x20=\x20:3',[_0x1f2527,_0x20c9d9,_0x285f4f]);else _0x3aaeae===_0x4262a6['ncAcG']?await _0x905ec4['executeQuery']('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27success\x27,\x20completed_at\x20=\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20?,\x20progress\x20=\x20100,\x20result_summary\x20=\x20?\x20WHERE\x20id\x20=\x20?',[_0x1f2527,_0x20c9d9,_0x285f4f]):await _0x905ec4['executeQuery']('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27success\x27,\x20completed_at\x20=\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20$1,\x20progress\x20=\x20100,\x20result_summary\x20=\x20$2\x20WHERE\x20id\x20=\x20$3',[_0x1f2527,_0x20c9d9,_0x285f4f]);}catch(_0x11644a){logger['warn']({'event':_0x4262a6['SbceR'],'historyId':_0x285f4f,'error':_0x11644a[_0x3eac10(0x1fb)]},'Failed\x20to\x20update\x20job\x20history\x20(completed):\x20'+_0x11644a['message']);}}async[a0_0x19aaaf(0x184)](_0x363c3a,_0xca1bfd,_0x531d94,_0x42650d,_0x2a3c33){const _0x1ca693=a0_0x19aaaf,_0x22cec0={'FWNTc':_0x1ca693(0x1bb),'oxkYd':'mysql'},_0x372be5=this[_0x1ca693(0x21a)]();if(!_0x372be5)return;const _0x2cac0b=this[_0x1ca693(0x16f)](),_0x153caa=_0x42650d?String(_0x42650d)['substring'](0x0,0x3e8):null,_0xadad8=_0x2a3c33?String(_0x2a3c33)[_0x1ca693(0x1de)](0x0,0xfa0):null;try{if(_0x2cac0b===_0x22cec0['FWNTc'])await _0x372be5['executeQuery']('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27failed\x27,\x20completed_at\x20=\x20SYSTIMESTAMP,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20:1,\x20progress\x20=\x20:2,\x20error_message\x20=\x20:3,\x20error_stack\x20=\x20:4\x20WHERE\x20id\x20=\x20:5',[_0xca1bfd,_0x531d94||0x0,_0x153caa,_0xadad8,_0x363c3a]);else _0x2cac0b===_0x22cec0['oxkYd']?await _0x372be5[_0x1ca693(0x20a)](_0x1ca693(0x1ba),[_0xca1bfd,_0x531d94||0x0,_0x153caa,_0xadad8,_0x363c3a]):await _0x372be5[_0x1ca693(0x20a)](_0x1ca693(0x13c),[_0xca1bfd,_0x531d94||0x0,_0x153caa,_0xadad8,_0x363c3a]);}catch(_0x28a8c1){logger[_0x1ca693(0x18b)]({'event':_0x1ca693(0x20b),'historyId':_0x363c3a,'error':_0x28a8c1[_0x1ca693(0x1fb)]},'Failed\x20to\x20update\x20job\x20history\x20(failed):\x20'+_0x28a8c1['message']);}}async[a0_0x19aaaf(0x211)](_0x521da8,_0x1b87fd){const _0x52f0f0=a0_0x19aaaf,_0xfc1680={'hNhIt':function(_0x330b63,_0x4ebbda){return _0x330b63===_0x4ebbda;}},_0x1da9b0=this['getDbUtils']();if(!_0x1da9b0)return;const _0x1f4394=this['getDbType']();try{if(_0xfc1680[_0x52f0f0(0x1c3)](_0x1f4394,_0x52f0f0(0x1bb)))await _0x1da9b0['executeQuery']('UPDATE\x20job_registry\x20SET\x20last_status\x20=\x20:1,\x20last_run_at\x20=\x20SYSTIMESTAMP,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20updated_at\x20=\x20SYSTIMESTAMP\x20WHERE\x20job_name\x20=\x20:2',[_0x1b87fd,_0x521da8]);else _0x1f4394===_0x52f0f0(0x14c)?await _0x1da9b0[_0x52f0f0(0x20a)]('UPDATE\x20job_registry\x20SET\x20last_status\x20=\x20?,\x20last_run_at\x20=\x20NOW()\x20WHERE\x20job_name\x20=\x20?',[_0x1b87fd,_0x521da8]):await _0x1da9b0[_0x52f0f0(0x20a)]('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',[_0x1b87fd,_0x521da8]);}catch(_0x49cb0f){}}async[a0_0x19aaaf(0x1e0)](_0x1173c8,_0x448929,_0x51c644,_0x78df76){const _0x26b7f1=a0_0x19aaaf,_0x4fd2b7={'VsFwc':_0x26b7f1(0x238),'pbKlM':_0x26b7f1(0x11a),'CrNGg':function(_0x3e759b,_0x4fd950){return _0x3e759b===_0x4fd950;}},_0x2ce9d8=this['getDbUtils']();if(!_0x2ce9d8)return;const _0x3730ae=this[_0x26b7f1(0x16f)](),_0x4e4190=_0x448929===_0x26b7f1(0x1c1)?_0x4fd2b7['VsFwc']:_0x4fd2b7[_0x26b7f1(0x1f3)];try{if(_0x4fd2b7['CrNGg'](_0x3730ae,_0x26b7f1(0x1bb)))await _0x2ce9d8['executeQuery'](_0x26b7f1(0x225)+_0x4e4190+'\x20=\x20'+_0x4e4190+_0x26b7f1(0x22f),[_0x448929,_0x51c644,_0x78df76,_0x1173c8]);else _0x3730ae==='mysql'?await _0x2ce9d8[_0x26b7f1(0x20a)]('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'+_0x4e4190+_0x26b7f1(0x212)+_0x4e4190+'\x20+\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20?\x20WHERE\x20job_name\x20=\x20?',[_0x448929,_0x51c644,_0x78df76,_0x1173c8]):await _0x2ce9d8['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'+_0x4e4190+_0x26b7f1(0x212)+_0x4e4190+_0x26b7f1(0x1c5),[_0x448929,_0x51c644,_0x78df76,_0x1173c8]);}catch(_0x41f9a8){logger[_0x26b7f1(0x18b)]({'event':_0x26b7f1(0x142),'jobName':_0x1173c8,'error':_0x41f9a8[_0x26b7f1(0x1fb)]},_0x26b7f1(0x1e8)+_0x41f9a8['message']);}}async['getNextRunFromBullMQ'](_0x4c9aa4){const _0x2c9d8b=a0_0x19aaaf,_0x4ad9de={'BcoZx':function(_0x1b76d6,_0x3dc692){return _0x1b76d6!==_0x3dc692;},'lpcnr':_0x2c9d8b(0x214),'yoVVX':function(_0x53f35a,_0x3cfaa8){return _0x53f35a===_0x3cfaa8;},'WFYPL':_0x2c9d8b(0x12b),'pjibv':_0x2c9d8b(0x1ca)},_0x3ed7b9=this['jobConfigs'][_0x4c9aa4];if(!_0x3ed7b9||_0x4ad9de[_0x2c9d8b(0x1d1)](_0x3ed7b9['type'],_0x4ad9de['lpcnr'])||_0x4ad9de['yoVVX'](_0x3ed7b9['enabled'],![]))return null;const _0x18427c=this['queues'][_0x3ed7b9[_0x2c9d8b(0x220)]||_0x4ad9de['WFYPL']];if(!_0x18427c)return null;try{if(_0x4ad9de[_0x2c9d8b(0x121)](typeof _0x18427c['getJobSchedulers'],_0x4ad9de[_0x2c9d8b(0x12c)])){const _0x3c2961=await _0x18427c[_0x2c9d8b(0x1a8)](0x0,0x64),_0x48cfa4=_0x3c2961[_0x2c9d8b(0x169)](_0x3e2ae4=>_0x3e2ae4[_0x2c9d8b(0x1bd)]===_0x4c9aa4);return _0x48cfa4?.['next']?new Date(_0x48cfa4[_0x2c9d8b(0x1e5)]):null;}}catch(_0x16d96e){}return null;}async[a0_0x19aaaf(0x23d)](){const _0x5a9723=a0_0x19aaaf,_0x178ebc={'JqJJS':function(_0x54d886,_0x167b33){return _0x54d886===_0x167b33;},'JuUYG':function(_0x3eb74b,_0x2761d7){return _0x3eb74b===_0x2761d7;},'UTQou':'job_registry_offline_error'},_0x4193a1=this[_0x5a9723(0x21a)]();if(!_0x4193a1)return;const _0x43d630=this['getDbType']();try{if(_0x178ebc['JqJJS'](_0x43d630,'oracle'))await _0x4193a1[_0x5a9723(0x20a)]('UPDATE\x20job_registry\x20SET\x20status\x20=\x20\x27offline\x27,\x20next_run_at\x20=\x20NULL,\x20updated_at\x20=\x20SYSTIMESTAMP');else _0x178ebc['JuUYG'](_0x43d630,'mysql')?await _0x4193a1['executeQuery']('UPDATE\x20job_registry\x20SET\x20status\x20=\x20\x27offline\x27,\x20next_run_at\x20=\x20NULL'):await _0x4193a1[_0x5a9723(0x20a)]('UPDATE\x20job_registry\x20SET\x20status\x20=\x20\x27offline\x27,\x20next_run_at\x20=\x20NULL,\x20updated_at\x20=\x20NOW()');}catch(_0x465570){logger['warn']({'event':_0x178ebc['UTQou'],'error':_0x465570['message']},'Failed\x20to\x20set\x20jobs\x20offline:\x20'+_0x465570['message']);}}[a0_0x19aaaf(0x21a)](){const _0xbfc1e8=a0_0x19aaaf,_0x4626e1={'MVUMV':_0xbfc1e8(0x1bb),'VMmgr':function(_0x374dff,_0x45fdcd){return _0x374dff(_0x45fdcd);},'eEGEm':'../../utils/db-oracle','ndLnY':'db_oracle_unavailable','IaWCk':_0xbfc1e8(0x1fd),'dCGgi':function(_0x5e3270,_0x590079){return _0x5e3270(_0x590079);},'UyrXl':_0xbfc1e8(0x1a9),'ZTUFg':'PostgreSQL\x20DB\x20module\x20not\x20available'},_0x53112d=(process[_0xbfc1e8(0x1eb)]['DB_TYPE']||_0xbfc1e8(0x136))[_0xbfc1e8(0x23b)]();if(_0x53112d===_0x4626e1['MVUMV'])try{const _0x412501=_0x4626e1['VMmgr'](require,_0x4626e1['eEGEm']);return{'executeQuery':(_0x439a36,_0x443624)=>_0x412501['executeQuery'](_0x439a36,_0x443624),'executeTransaction':_0x55bcea=>_0x412501['executeTransaction'](_0x55bcea),'getPool':()=>_0x412501['getPool']()};}catch(_0xf3eccb){return logger['warn']({'event':_0x4626e1['ndLnY']},_0x4626e1[_0xbfc1e8(0x1f2)]),null;}if(_0x53112d==='mysql')try{const _0x51d9d9=_0x4626e1[_0xbfc1e8(0x240)](require,'../../utils/db-mysql');return{'executeQuery':(_0x54c0e4,_0x4d73a2)=>_0x51d9d9['executeQuery'](_0x54c0e4,_0x4d73a2),'executeTransaction':_0x139a71=>_0x51d9d9[_0xbfc1e8(0x144)](_0x139a71),'getPool':()=>_0x51d9d9[_0xbfc1e8(0x208)]()};}catch(_0xe7282a){return logger[_0xbfc1e8(0x18b)]({'event':'db_mysql_unavailable'},_0x4626e1['UyrXl']),null;}try{const _0x337914=_0x4626e1[_0xbfc1e8(0x240)](require,_0xbfc1e8(0x130));return{'executeQuery':_0x337914[_0xbfc1e8(0x20a)],'executeTransaction':_0x337914['executeTransaction'],'getPool':_0x337914[_0xbfc1e8(0x208)]};}catch(_0x51df76){return logger['warn']({'event':_0xbfc1e8(0x129)},_0x4626e1['ZTUFg']),null;}}[a0_0x19aaaf(0x166)](){const _0x547bf4=a0_0x19aaaf,_0x14e175={'gvbEv':function(_0x3c7401,_0x367830){return _0x3c7401(_0x367830);}};try{const _0x33ee84=_0x14e175[_0x547bf4(0x232)](require,'../../utils/redis-client');return _0x33ee84[_0x547bf4(0x167)]?_0x33ee84['getClient']():_0x33ee84;}catch(_0x3256f7){return null;}}['getKafkaService'](){const _0x3418f4=a0_0x19aaaf,_0x4044b1={'lkHnR':_0x3418f4(0x11f)};try{if(process['env']['KAFKA_ENABLED']===_0x3418f4(0x1b7)){const _0x4b00a4=require(_0x4044b1[_0x3418f4(0x173)]);return _0x4b00a4['getInstance']?_0x4b00a4[_0x3418f4(0x1aa)]():_0x4b00a4;}}catch(_0x570188){}return null;}['getCacheManager'](){const _0x36d062=a0_0x19aaaf;try{return require(_0x36d062(0x17f));}catch(_0x67e736){return null;}}async[a0_0x19aaaf(0x216)](_0x9a7262,_0x1d21d9={}){const _0x1d984a=a0_0x19aaaf,_0x24fcdd={'GbGXv':'default','KWaKx':_0x1d984a(0x125),'fFKLd':'exponential','ITrbo':_0x1d984a(0x1cb)},_0x4cd64d=this[_0x1d984a(0x16c)][_0x9a7262];if(!_0x4cd64d)throw new Error('Job\x20not\x20found:\x20'+_0x9a7262);const _0x48f508=this[_0x1d984a(0x213)][_0x4cd64d[_0x1d984a(0x220)]||_0x24fcdd[_0x1d984a(0x183)]],_0x56b481=await _0x48f508[_0x1d984a(0x1a3)](_0x9a7262,{..._0x1d21d9,'handler':_0x4cd64d[_0x1d984a(0x1a5)],'triggeredBy':_0x24fcdd[_0x1d984a(0x19a)]},{'attempts':_0x4cd64d['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0x4cd64d[_0x1d984a(0x145)]?.['backoff']||_0x24fcdd[_0x1d984a(0x19b)],'delay':_0x4cd64d[_0x1d984a(0x145)]?.['initialDelay']||0x1388},'timeout':_0x4cd64d[_0x1d984a(0x126)]||0x7530});return logger['info']({'event':_0x24fcdd['ITrbo'],'jobId':_0x56b481['id'],'name':_0x9a7262,'triggeredBy':_0x24fcdd[_0x1d984a(0x19a)]},'Job\x20dispatched:\x20'+_0x9a7262+'\x20(id:\x20'+_0x56b481['id']+')'),{'jobId':_0x56b481['id'],'name':_0x9a7262};}async['dispatchDelayed'](_0x3c674c,_0x4dc46d={},_0x31b185=0x0){const _0x4e1b89=a0_0x19aaaf,_0x492df5={'brgKW':'api-delayed'},_0x31a1c0=this[_0x4e1b89(0x16c)][_0x3c674c];if(!_0x31a1c0)throw new Error('Job\x20not\x20found:\x20'+_0x3c674c);const _0x53eada=this['queues'][_0x31a1c0['queue']||'default'],_0x74a7d5=await _0x53eada['add'](_0x3c674c,{..._0x4dc46d,'handler':_0x31a1c0[_0x4e1b89(0x1a5)],'triggeredBy':_0x492df5[_0x4e1b89(0x115)]},{'delay':_0x31b185,'attempts':_0x31a1c0['retry']?.[_0x4e1b89(0x1e9)]||0x3,'backoff':{'type':_0x31a1c0[_0x4e1b89(0x145)]?.['backoff']||'exponential','delay':_0x31a1c0['retry']?.[_0x4e1b89(0x119)]||0x1388},'timeout':_0x31a1c0[_0x4e1b89(0x126)]||0x7530});return logger['info']({'event':_0x4e1b89(0x1da),'jobId':_0x74a7d5['id'],'name':_0x3c674c,'delayMs':_0x31b185},'Job\x20dispatched\x20(delayed\x20'+_0x31b185+'ms):\x20'+_0x3c674c+'\x20(id:\x20'+_0x74a7d5['id']+')'),{'jobId':_0x74a7d5['id'],'name':_0x3c674c};}async[a0_0x19aaaf(0x23e)](_0x3b63bc){const _0x4e3def=a0_0x19aaaf;for(const _0x403cc1 of Object['values'](this[_0x4e3def(0x213)])){const _0x3c96d7=await _0x403cc1['getJob'](_0x3b63bc);if(_0x3c96d7){const _0x3ff6c7=await _0x3c96d7['getState']();return{'jobId':_0x3c96d7['id'],'name':_0x3c96d7['name'],'state':_0x3ff6c7,'progress':_0x3c96d7[_0x4e3def(0x237)],'attemptsMade':_0x3c96d7['attemptsMade'],'failedReason':_0x3c96d7[_0x4e3def(0x1d5)],'returnvalue':_0x3c96d7['returnvalue'],'data':_0x3c96d7[_0x4e3def(0x1c6)],'timestamps':{'created':_0x3c96d7['timestamp'],'started':_0x3c96d7[_0x4e3def(0x1cd)],'completed':_0x3c96d7['finishedOn']}};}}return null;}['listJobs'](){const _0x23d672=a0_0x19aaaf;return Object[_0x23d672(0x199)](this[_0x23d672(0x16c)])[_0x23d672(0x19e)](_0x15113a=>({'name':_0x15113a['name'],'description':_0x15113a['description']||'','type':_0x15113a['type'],'schedule':_0x15113a['schedule'],'handler':_0x15113a[_0x23d672(0x1a5)],'enabled':_0x15113a['enabled']!==![],'queue':_0x15113a['queue']||'default','timeout':_0x15113a['timeout']||0x7530,'retry':_0x15113a['retry']||{'maxAttempts':0x3,'backoff':_0x23d672(0x1e1),'initialDelay':0x1388},'metadata':_0x15113a['metadata']||{}}));}async[a0_0x19aaaf(0x132)](){const _0x41abce=a0_0x19aaaf,_0x3dc93b=[];for(const [_0x343be5,_0x2e43ce]of Object['entries'](this[_0x41abce(0x213)])){const _0x3468b4=await _0x2e43ce[_0x41abce(0x21f)](['active']);for(const _0x1fa072 of _0x3468b4){_0x3dc93b['push']({'jobId':_0x1fa072['id'],'name':_0x1fa072['name'],'queue':_0x343be5,'progress':_0x1fa072['progress'],'attemptsMade':_0x1fa072['attemptsMade'],'startedAt':_0x1fa072['processedOn']});}}return _0x3dc93b;}async[a0_0x19aaaf(0x18f)](_0x342679={}){const _0x234874=a0_0x19aaaf,_0x588a19={'JSUJX':function(_0x3bf2e6,_0x2a6370,_0x1e7f1e){return _0x3bf2e6(_0x2a6370,_0x1e7f1e);},'STZeJ':function(_0x323a79,_0x3a741e){return _0x323a79*_0x3a741e;},'PzPar':function(_0x19928d,_0x432058){return _0x19928d-_0x432058;},'fMOkm':_0x234874(0x13d)},_0x14034b=parseInt(_0x342679['page'],0xa)||0x1,_0x495933=Math['min'](_0x588a19[_0x234874(0x233)](parseInt,_0x342679['limit'],0xa)||0x14,0x64),_0x2bee08=_0x588a19[_0x234874(0x154)](_0x588a19[_0x234874(0x1bc)](_0x14034b,0x1),_0x495933),_0x1c4284=_0x2bee08+_0x495933-0x1,_0x36236c=[];for(const [_0x282035,_0x4de9e7]of Object[_0x234874(0x18c)](this['queues'])){const _0x15fd3a=await _0x4de9e7['getJobs']([_0x234874(0x155)],_0x2bee08,_0x1c4284),_0x25dd86=await _0x4de9e7['getJobs']([_0x588a19[_0x234874(0x1fe)]],_0x2bee08,_0x1c4284);for(const _0x1eae59 of[..._0x15fd3a,..._0x25dd86]){const _0x2d3131=await _0x1eae59['getState']();_0x36236c[_0x234874(0x239)]({'jobId':_0x1eae59['id'],'name':_0x1eae59['name'],'state':_0x2d3131,'queue':_0x282035,'attemptsMade':_0x1eae59['attemptsMade'],'failedReason':_0x1eae59['failedReason'],'returnvalue':_0x1eae59[_0x234874(0x176)],'timestamps':{'created':_0x1eae59['timestamp'],'started':_0x1eae59['processedOn'],'completed':_0x1eae59['finishedOn']}});}}return _0x36236c[_0x234874(0x15c)]((_0x43c551,_0x4053e5)=>(_0x4053e5['timestamps']['created']||0x0)-(_0x43c551[_0x234874(0x1fa)]['created']||0x0)),{'jobs':_0x36236c['slice'](0x0,_0x495933),'total':_0x36236c['length'],'page':_0x14034b,'limit':_0x495933};}async['cancelJob'](_0x32b331){const _0x291c3e=a0_0x19aaaf,_0x2632c3={'ZuAae':function(_0x5be42d,_0x48f872){return _0x5be42d===_0x48f872;},'hLPbE':_0x291c3e(0x200),'xTNvd':_0x291c3e(0x17e),'sygoE':_0x291c3e(0x161)};for(const _0x3ca95b of Object[_0x291c3e(0x199)](this['queues'])){const _0x168a74=await _0x3ca95b[_0x291c3e(0x1d9)](_0x32b331);if(_0x168a74){const _0x1c239d=await _0x168a74['getState']();if(_0x2632c3['ZuAae'](_0x1c239d,_0x2632c3[_0x291c3e(0x22e)]))return await _0x168a74[_0x291c3e(0x198)](new Error(_0x291c3e(0x226)),_0x2632c3[_0x291c3e(0x14e)],!![]),{'success':!![],'message':_0x291c3e(0x18a)+_0x32b331+_0x291c3e(0x1e3)};if(_0x1c239d===_0x291c3e(0x22b)||_0x2632c3[_0x291c3e(0x1f8)](_0x1c239d,_0x2632c3['sygoE']))return await _0x168a74['remove'](),{'success':!![],'message':_0x291c3e(0x18a)+_0x32b331+'\x20removed\x20(was\x20'+_0x1c239d+')'};return{'success':![],'message':_0x291c3e(0x18a)+_0x32b331+_0x291c3e(0x123)+_0x1c239d+')'};}}return{'success':![],'message':'Job\x20'+_0x32b331+'\x20not\x20found'};}async[a0_0x19aaaf(0x219)](){const _0x178af9=a0_0x19aaaf,_0x34039b={'jiUZB':_0x178af9(0x200),'SzInq':_0x178af9(0x155),'BENlg':_0x178af9(0x161),'AvrYp':_0x178af9(0x157),'hBSiC':'waiting'},_0x1788f5={};for(const [_0x392841,_0x5e4eea]of Object['entries'](this[_0x178af9(0x213)])){try{const _0xf0aaa9=await _0x5e4eea['getJobCounts'](_0x34039b['jiUZB'],_0x34039b[_0x178af9(0x165)],_0x34039b['BENlg'],'failed',_0x34039b['AvrYp'],_0x34039b[_0x178af9(0x160)]);_0x1788f5[_0x392841]=_0xf0aaa9;}catch(_0x361d25){_0x1788f5[_0x392841]={'error':_0x361d25[_0x178af9(0x1fb)]};}}const _0x45af12={};for(const [_0x31418d,_0x52713f]of Object['entries'](this['workers'])){_0x45af12[_0x31418d]={'running':_0x52713f['isRunning'](),'paused':_0x52713f['isPaused']()};}return{'initialized':this[_0x178af9(0x127)],'registeredJobs':Object[_0x178af9(0x1be)](this[_0x178af9(0x16c)])['length'],'redisConnections':this['connections']['length'],'queues':_0x1788f5,'workers':_0x45af12};}async[a0_0x19aaaf(0x1e2)](_0x13d5cb,_0x25e081){const _0x363602=a0_0x19aaaf,_0x53379f={'rxPkW':_0x363602(0x231),'mtSYO':_0x363602(0x164),'KwqKu':function(_0x43e995,_0x2be93d){return _0x43e995-_0x2be93d;},'eTntZ':function(_0x552701,_0x58eae0){return _0x552701-_0x58eae0;},'IcQYE':function(_0x42c2ae,_0x4d6c93){return _0x42c2ae===_0x4d6c93;},'vxZHz':_0x363602(0x1ca),'ZZSCu':_0x363602(0x182),'Wrsae':'job-scheduler','LFyPT':_0x363602(0x1f9)},_0x1197f4=logger[_0x363602(0x12d)]({'jobId':_0x13d5cb['id'],'jobName':_0x13d5cb['name']});_0x1197f4['info']({'event':_0x53379f[_0x363602(0x14b)],'attemptsMade':_0x13d5cb['attemptsMade'],'duration':_0x13d5cb['finishedOn']?_0x53379f[_0x363602(0x1cc)](_0x13d5cb[_0x363602(0x1d2)],_0x13d5cb[_0x363602(0x1cd)]):null},'Job\x20completed:\x20'+_0x13d5cb[_0x363602(0x1bd)]);const _0x52d6b6=this['activeHistoryIds'][_0x363602(0x13a)](_0x13d5cb['id']);if(_0x52d6b6){if(_0x52d6b6[_0x363602(0x178)])await _0x52d6b6[_0x363602(0x178)];const _0x24d88e=_0x13d5cb['finishedOn']&&_0x13d5cb['processedOn']?_0x53379f['eTntZ'](_0x13d5cb['finishedOn'],_0x13d5cb[_0x363602(0x1cd)]):null,_0x3f8f1=typeof _0x25e081==='string'?_0x25e081:_0x25e081?JSON['stringify'](_0x25e081)['substring'](0x0,0x1f4):null;await this[_0x363602(0x1ed)](_0x52d6b6['historyId'],_0x24d88e,_0x3f8f1);const _0x337e27=await this['getNextRunFromBullMQ'](_0x13d5cb[_0x363602(0x1bd)]);await this[_0x363602(0x1e0)](_0x13d5cb['name'],_0x363602(0x1c1),_0x24d88e,_0x337e27),this[_0x363602(0x120)]['delete'](_0x13d5cb['id']);}const _0x3bc0b2=getComponentEngine();if(_0x3bc0b2&&_0x53379f['IcQYE'](typeof _0x3bc0b2[_0x363602(0x15b)],_0x53379f[_0x363602(0x1e6)])){const _0x4fac5b={'jobId':_0x13d5cb['id'],'jobName':_0x13d5cb['name'],'result':_0x25e081,'config':this['jobConfigs'][_0x13d5cb['name']]||{}};_0x3bc0b2['executeEventHandlers'](_0x53379f['ZZSCu'],_0x4fac5b,![])['catch'](_0x3d8a59=>{_0x1197f4['warn']({'event':'after_job_complete_hook_error','error':_0x3d8a59['message']},_0x53379f['rxPkW']);});}const _0x422556=this['getKafkaService']();if(_0x422556)try{await _0x422556['publishEvent'](_0x363602(0x1f0),_0x363602(0x172),null,{'jobId':_0x13d5cb['id'],'name':_0x13d5cb[_0x363602(0x1bd)],'result':_0x25e081},{'module':_0x53379f['Wrsae'],'endpoint':_0x13d5cb['name']});}catch(_0xb0674c){_0x1197f4['warn']({'event':'job_kafka_publish_error','error':_0xb0674c[_0x363602(0x1fb)]},_0x53379f[_0x363602(0x131)]);}}async['onJobFailed'](_0x410611,_0xa17139){const _0x33e148=a0_0x19aaaf,_0x11d7ef={'MVFEf':'after_job_failed_hook_error','HfZcS':_0x33e148(0x13f),'lGXKz':function(_0x2e808e,_0x1d9e50){return _0x2e808e<_0x1d9e50;},'JNulL':function(_0x135cd7,_0x4808e3){return _0x135cd7-_0x4808e3;},'DjCjE':function(_0x397fcc){return _0x397fcc();},'IJxuu':function(_0x40cf28,_0x540858){return _0x40cf28===_0x540858;},'IVVNe':_0x33e148(0x1b4),'tdbsU':_0x33e148(0x15a),'QGqPS':_0x33e148(0x21c)},_0x4fcafe=logger['child']({'jobId':_0x410611['id'],'jobName':_0x410611[_0x33e148(0x1bd)]});_0x4fcafe[_0x33e148(0x1a6)]({'event':_0x11d7ef[_0x33e148(0x1bf)],'attemptsMade':_0x410611[_0x33e148(0x221)],'failedReason':_0xa17139?.[_0x33e148(0x1fb)],'willRetry':_0x11d7ef[_0x33e148(0x19c)](_0x410611[_0x33e148(0x221)],this['jobConfigs'][_0x410611['name']]?.[_0x33e148(0x145)]?.['maxAttempts']||0x3)},'Job\x20failed:\x20'+_0x410611[_0x33e148(0x1bd)]+_0x33e148(0x174)+_0xa17139?.[_0x33e148(0x1fb)]);const _0x155698=this['activeHistoryIds'][_0x33e148(0x13a)](_0x410611['id']);if(_0x155698){if(_0x155698[_0x33e148(0x178)])await _0x155698[_0x33e148(0x178)];const _0x3a4598=_0x410611[_0x33e148(0x1d2)]&&_0x410611[_0x33e148(0x1cd)]?_0x11d7ef[_0x33e148(0x140)](_0x410611[_0x33e148(0x1d2)],_0x410611['processedOn']):null;await this['updateJobHistoryFailed'](_0x155698['historyId'],_0x3a4598,_0x410611[_0x33e148(0x237)],_0xa17139?.['message'],_0xa17139?.['stack']);const _0x3ec4d8=await this[_0x33e148(0x22c)](_0x410611['name']);await this['updateRegistryCounters'](_0x410611['name'],'failed',_0x3a4598,_0x3ec4d8),this[_0x33e148(0x120)]['delete'](_0x410611['id']);}const _0x5173c2=_0x11d7ef[_0x33e148(0x236)](getComponentEngine);if(_0x5173c2&&_0x11d7ef['IJxuu'](typeof _0x5173c2['executeEventHandlers'],'function')){const _0x267dd5={'jobId':_0x410611['id'],'jobName':_0x410611['name'],'error':_0xa17139?.[_0x33e148(0x1fb)],'attemptsMade':_0x410611[_0x33e148(0x221)],'config':this['jobConfigs'][_0x410611['name']]||{}};_0x5173c2[_0x33e148(0x15b)](_0x11d7ef['IVVNe'],_0x267dd5,![])['catch'](_0xbb0beb=>{const _0x4c8471=_0x33e148;_0x4fcafe['warn']({'event':_0x11d7ef[_0x4c8471(0x159)],'error':_0xbb0beb[_0x4c8471(0x1fb)]},'onAfterJobFailed\x20handler\x20error\x20(non-blocking)');});}const _0x402df8=this['getKafkaService']();if(_0x402df8)try{await _0x402df8['publishEvent'](_0x33e148(0x16a),_0x33e148(0x191),null,{'jobId':_0x410611['id'],'name':_0x410611[_0x33e148(0x1bd)],'error':_0xa17139?.['message'],'attemptsMade':_0x410611['attemptsMade']},{'module':_0x11d7ef['tdbsU'],'endpoint':_0x410611['name']});}catch(_0x472947){_0x4fcafe[_0x33e148(0x18b)]({'event':_0x33e148(0x15f),'error':_0x472947['message']},_0x11d7ef['QGqPS']);}}[a0_0x19aaaf(0x1d0)](_0x5b8131,_0x1289e3){const _0x4a5c07=a0_0x19aaaf;logger[_0x4a5c07(0x1e7)]({'event':_0x4a5c07(0x19f),'jobId':_0x5b8131['id'],'jobName':_0x5b8131[_0x4a5c07(0x1bd)],'progress':_0x1289e3},'Job\x20progress:\x20'+_0x5b8131[_0x4a5c07(0x1bd)]+_0x4a5c07(0x174)+_0x1289e3+'%');}}module['exports']=new JobManager();
|
|
1
|
+
function a0_0x1a90(_0x4379f4,_0x3833f3){_0x4379f4=_0x4379f4-0x74;const _0x2911f1=a0_0x2911();let _0x1a90e6=_0x2911f1[_0x4379f4];if(a0_0x1a90['LvYUJa']===undefined){var _0x22be6a=function(_0x5962c7){const _0x491fdd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1c5fd2='',_0x3ceaa0='';for(let _0x1408cc=0x0,_0x32a130,_0x80dd57,_0x172e54=0x0;_0x80dd57=_0x5962c7['charAt'](_0x172e54++);~_0x80dd57&&(_0x32a130=_0x1408cc%0x4?_0x32a130*0x40+_0x80dd57:_0x80dd57,_0x1408cc++%0x4)?_0x1c5fd2+=String['fromCharCode'](0xff&_0x32a130>>(-0x2*_0x1408cc&0x6)):0x0){_0x80dd57=_0x491fdd['indexOf'](_0x80dd57);}for(let _0x2097ed=0x0,_0x5a935a=_0x1c5fd2['length'];_0x2097ed<_0x5a935a;_0x2097ed++){_0x3ceaa0+='%'+('00'+_0x1c5fd2['charCodeAt'](_0x2097ed)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3ceaa0);};a0_0x1a90['rzuFtm']=_0x22be6a,a0_0x1a90['PmhPjh']={},a0_0x1a90['LvYUJa']=!![];}const _0xf9b21a=_0x2911f1[0x0],_0x50f606=_0x4379f4+_0xf9b21a,_0x31bed5=a0_0x1a90['PmhPjh'][_0x50f606];return!_0x31bed5?(_0x1a90e6=a0_0x1a90['rzuFtm'](_0x1a90e6),a0_0x1a90['PmhPjh'][_0x50f606]=_0x1a90e6):_0x1a90e6=_0x31bed5,_0x1a90e6;}const a0_0x2b1e5f=a0_0x1a90;(function(_0x2975d0,_0x172374){const _0x4968b1=a0_0x1a90,_0x4dbae2=_0x2975d0();while(!![]){try{const _0x4a94fc=parseInt(_0x4968b1(0x121))/0x1*(-parseInt(_0x4968b1(0x169))/0x2)+-parseInt(_0x4968b1(0x183))/0x3*(parseInt(_0x4968b1(0x15a))/0x4)+parseInt(_0x4968b1(0x1a2))/0x5*(-parseInt(_0x4968b1(0x1a0))/0x6)+-parseInt(_0x4968b1(0x88))/0x7+-parseInt(_0x4968b1(0x18c))/0x8*(-parseInt(_0x4968b1(0x187))/0x9)+parseInt(_0x4968b1(0xd8))/0xa*(-parseInt(_0x4968b1(0x130))/0xb)+parseInt(_0x4968b1(0x106))/0xc*(parseInt(_0x4968b1(0x14d))/0xd);if(_0x4a94fc===_0x172374)break;else _0x4dbae2['push'](_0x4dbae2['shift']());}catch(_0x3d8e4a){_0x4dbae2['push'](_0x4dbae2['shift']());}}}(a0_0x2911,0x7d934));const {Queue,Worker}=require('bullmq'),Redis=require(a0_0x2b1e5f(0x11f)),crypto=require(a0_0x2b1e5f(0x132)),{v7:uuidv7}=require('uuid'),fs=require('fs'),path=require('path'),{logger}=require(a0_0x2b1e5f(0xa8)),jobValidator=require(a0_0x2b1e5f(0xab));let componentEngine=null;function getComponentEngine(){const _0x23630c={'fyDoB':function(_0x5af7e4,_0x4a7d64){return _0x5af7e4(_0x4a7d64);}};if(!componentEngine)try{const _0xabf7a0=_0x23630c['fyDoB'](require,'../../utils/component-engine');componentEngine=_0xabf7a0['componentEngine']||_0xabf7a0;}catch(_0x52dc36){}return componentEngine;}class JobManager{constructor(){const _0x4b2a58=a0_0x2b1e5f;this['queues']={},this[_0x4b2a58(0x101)]={},this[_0x4b2a58(0xca)]={},this['handlers']={},this['connections']=[],this[_0x4b2a58(0x103)]=![],this['workingDir']=process['cwd'](),this[_0x4b2a58(0x97)]=new Map();}[a0_0x2b1e5f(0xad)](){const _0x2fa676=a0_0x2b1e5f,_0x3b7541={'aYsJM':function(_0x12d5c8,_0x25a8a5){return _0x12d5c8*_0x25a8a5;},'eZibV':_0x2fa676(0x92),'JvUax':function(_0x8f215c,_0x4d0335,_0x3f88b4){return _0x8f215c(_0x4d0335,_0x3f88b4);}},_0x7f54ec=new Redis({'host':process['env'][_0x2fa676(0xff)]||_0x2fa676(0x16d),'port':_0x3b7541[_0x2fa676(0x84)](parseInt,process[_0x2fa676(0xde)][_0x2fa676(0x15b)],0xa)||0x18ec,'password':process[_0x2fa676(0xde)][_0x2fa676(0x154)]||undefined,'db':_0x3b7541[_0x2fa676(0x84)](parseInt,process[_0x2fa676(0xde)][_0x2fa676(0x131)],0xa)||0x0,'maxRetriesPerRequest':null,'retryStrategy'(_0x16af93){const _0x436de5=_0x2fa676,_0xe5f322=Math[_0x436de5(0xd6)](_0x3b7541[_0x436de5(0x160)](_0x16af93,0x32),0x7d0);return _0xe5f322;}});return _0x7f54ec['on']('error',_0x6723f2=>{const _0x42f9b7=_0x2fa676;logger[_0x42f9b7(0x12d)]({'event':_0x3b7541[_0x42f9b7(0x7a)],'error':_0x6723f2['message']},'BullMQ\x20Redis\x20connection\x20error:\x20'+_0x6723f2[_0x42f9b7(0xfd)]);}),this['connections']['push'](_0x7f54ec),_0x7f54ec;}async['initialize'](){const _0x4b9a28=a0_0x2b1e5f,_0x3036fc={'lHoyr':'job_stalled','aEnWT':'job_manager_init_start','nUzyc':_0x4b9a28(0xf1),'zVhOa':_0x4b9a28(0x17f),'QizgZ':_0x4b9a28(0x144),'NMKpT':function(_0x3f81bd,_0x58c1bf){return _0x3f81bd===_0x58c1bf;},'gguRO':'Tidak\x20ada\x20job\x20config\x20ditemukan\x20di\x20payload/jobs/.\x20Job\x20Manager\x20aktif\x20tanpa\x20cron.','JTbrK':'unknown','canpj':function(_0x368761,_0x4d2510,_0x2531ac){return _0x368761(_0x4d2510,_0x2531ac);},'BuEeN':_0x4b9a28(0x12e),'UvAnH':'3\x20BullMQ\x20Queues\x20created\x20(high,\x20default,\x20low)','TRNgo':function(_0x55b58c,_0x22ee28,_0x4c88c0){return _0x55b58c(_0x22ee28,_0x4c88c0);},'bLkyx':_0x4b9a28(0xf2),'xNELK':'progress','DdKCd':'error','bclUo':'job_workers_created','dpcQJ':'job_register_failed','rwEia':'job_manager_ready'};if(this['initialized']){logger[_0x4b9a28(0x172)]({'event':_0x4b9a28(0xb2)},_0x4b9a28(0x13d));return;}logger['info']({'event':_0x3036fc['aEnWT']},_0x3036fc[_0x4b9a28(0xce)]);const _0x56335d=this['createBullMQConnection']();try{await _0x56335d['ping'](),logger['info']({'event':_0x4b9a28(0x127)},_0x3036fc['zVhOa']);}catch(_0x4bd6f4){logger['error']({'event':_0x3036fc['QizgZ'],'error':_0x4bd6f4['message']},'Redis\x20connection\x20failed:\x20'+_0x4bd6f4['message']+_0x4b9a28(0x82));try{await _0x56335d['quit']();}catch(_0x50d8b2){}this['connections']=this['connections'][_0x4b9a28(0x87)](_0x338e0d=>_0x338e0d!==_0x56335d);return;}try{await _0x56335d['quit']();}catch(_0x112246){}this[_0x4b9a28(0xc1)]=this[_0x4b9a28(0xc1)][_0x4b9a28(0x87)](_0x2f4113=>_0x2f4113!==_0x56335d);try{await this['ensureTables']();}catch(_0x5149c6){logger['warn']({'event':'job_ensure_tables_error','error':_0x5149c6[_0x4b9a28(0xfd)]},_0x4b9a28(0xa3)+_0x5149c6[_0x4b9a28(0xfd)]+'.\x20DB\x20monitoring\x20disabled.');}const _0x3691e6=this[_0x4b9a28(0xb8)]();_0x3036fc['NMKpT'](_0x3691e6[_0x4b9a28(0x16f)],0x0)&&logger['info']({'event':'job_no_configs'},_0x3036fc['gguRO']);const _0x2526f4=[];for(const _0x5987b0 of _0x3691e6){const _0x5db976=jobValidator[_0x4b9a28(0xba)](_0x5987b0,this[_0x4b9a28(0x188)]);_0x5db976[_0x4b9a28(0xf0)]?_0x2526f4[_0x4b9a28(0xac)](_0x5987b0):logger[_0x4b9a28(0x12d)]({'event':_0x4b9a28(0x137),'name':_0x5987b0['name']||_0x3036fc[_0x4b9a28(0x1a3)],'errors':_0x5db976['errors']},'Job\x20config\x20invalid:\x20'+(_0x5987b0[_0x4b9a28(0x180)]||_0x3036fc['JTbrK'])+'\x20—\x20'+_0x5db976[_0x4b9a28(0x19f)]['join'](';\x20'));}const _0x2af5ab=process['env']['RESTFORGE_PROJECT_NAME']||_0x4b9a28(0x190),_0xed3bd1=process['env']['JOB_REDIS_PREFIX']||'rf:'+_0x2af5ab+_0x4b9a28(0x9a),_0x1862c4=parseInt(process['env']['JOB_RETENTION_HOURS'],0xa)||0x48,_0x55b492=_0x3036fc['canpj'](parseInt,process['env'][_0x4b9a28(0x197)],0xa)||0xa8,_0x99bf24={'removeOnComplete':{'age':_0x1862c4*0xe10},'removeOnFail':{'age':_0x55b492*0xe10}},_0x4d995d={'high-priority':'high','default':'default','low-priority':_0x3036fc['BuEeN']};for(const [_0x4084e5,_0x1eca8b]of Object[_0x4b9a28(0xe2)](_0x4d995d)){this[_0x4b9a28(0x16e)][_0x4084e5]=new Queue(_0x1eca8b,{'connection':this[_0x4b9a28(0xad)](),'prefix':_0xed3bd1,'defaultJobOptions':_0x99bf24});}logger['info']({'event':'job_queues_created','count':0x3},_0x3036fc['UvAnH']);const _0x3c8413=_0x3036fc[_0x4b9a28(0x12a)](parseInt,process['env']['JOB_CONCURRENCY'],0xa)||0x5,_0x2ee12f=_0x3036fc['TRNgo'](parseInt,process['env']['JOB_STALLED_INTERVAL'],0xa)||0x7530,_0x5766c0=_0x3036fc['TRNgo'](parseInt,process['env']['JOB_MAX_STALLED_COUNT'],0xa)||0x2;for(const [_0x27106f,_0x49657d]of Object['entries'](_0x4d995d)){const _0x3c54d7=new Worker(_0x49657d,async _0x2b6c22=>this[_0x4b9a28(0x10d)](_0x2b6c22),{'connection':this[_0x4b9a28(0xad)](),'prefix':_0xed3bd1,'concurrency':_0x3c8413,'stalledInterval':_0x2ee12f,'maxStalledCount':_0x5766c0});_0x3c54d7['on']('completed',(_0x3ae934,_0xffc4f0)=>this['onJobCompleted'](_0x3ae934,_0xffc4f0)),_0x3c54d7['on'](_0x3036fc[_0x4b9a28(0x19a)],(_0x57458a,_0x126a1d)=>this['onJobFailed'](_0x57458a,_0x126a1d)),_0x3c54d7['on'](_0x3036fc[_0x4b9a28(0x18b)],(_0x27bd82,_0x396c3f)=>this['onJobProgress'](_0x27bd82,_0x396c3f)),_0x3c54d7['on'](_0x4b9a28(0xc9),_0x5393c2=>{const _0x2d259e=_0x4b9a28;logger[_0x2d259e(0x172)]({'event':_0x3036fc['lHoyr'],'jobId':_0x5393c2},_0x2d259e(0x1a8)+_0x5393c2);}),_0x3c54d7['on'](_0x3036fc['DdKCd'],_0x4e0f8c=>{const _0x3a7cb1=_0x4b9a28;logger['error']({'event':_0x3a7cb1(0xb9),'queue':_0x27106f,'error':_0x4e0f8c['message']},_0x3a7cb1(0xb6)+_0x27106f+'):\x20'+_0x4e0f8c['message']);}),this['workers'][_0x27106f]=_0x3c54d7;}logger[_0x4b9a28(0x178)]({'event':_0x3036fc['bclUo'],'count':0x3,'concurrency':_0x3c8413},'3\x20BullMQ\x20Workers\x20created\x20(concurrency:\x20'+_0x3c8413+')');let _0x59c282=0x0;for(const _0x151d84 of _0x2526f4){try{await this['registerJob'](_0x151d84),_0x59c282++;}catch(_0x705b04){logger['error']({'event':_0x3036fc['dpcQJ'],'name':_0x151d84[_0x4b9a28(0x180)],'error':_0x705b04['message']},_0x4b9a28(0x11d)+_0x151d84[_0x4b9a28(0x180)]+_0x4b9a28(0x79)+_0x705b04[_0x4b9a28(0xfd)]);}}this[_0x4b9a28(0x103)]=!![];const _0x3b865f=this[_0x4b9a28(0xc1)]['length'];logger[_0x4b9a28(0x178)]({'event':_0x3036fc[_0x4b9a28(0xfa)],'registeredJobs':_0x59c282,'totalConfigs':_0x2526f4['length'],'redisConnections':_0x3b865f},'Job\x20Manager\x20ready:\x20'+_0x59c282+'\x20job(s)\x20registered,\x20'+_0x3b865f+'\x20Redis\x20connections');}async[a0_0x2b1e5f(0xa1)](){const _0x53089f=a0_0x2b1e5f,_0x18d3a2={'xsQtu':function(_0x332e61,_0x395855,_0x296778){return _0x332e61(_0x395855,_0x296778);},'tEblG':function(_0x5d2e7f,_0x7a6959){return _0x5d2e7f<_0x7a6959;},'vWEcy':function(_0x22a2e0,_0x49dd4d){return _0x22a2e0-_0x49dd4d;}};if(!this[_0x53089f(0x103)])return;const _0x2c57fd=_0x18d3a2[_0x53089f(0x1a9)](parseInt,process[_0x53089f(0xde)]['JOB_SHUTDOWN_TIMEOUT'],0xa)||0x2710;logger['info']({'event':'job_manager_shutdown_start','timeoutMs':_0x2c57fd},'Job\x20Manager\x20shutting\x20down\x20(timeout:\x20'+_0x2c57fd+'ms)...');const _0x1d9a8f=Object[_0x53089f(0x168)](this[_0x53089f(0x101)])[_0x53089f(0xf6)](async _0x3f294f=>{try{await _0x3f294f['pause']();}catch(_0x5efbe5){}});await Promise[_0x53089f(0x7e)](_0x1d9a8f);const _0x255c0e=Date[_0x53089f(0x155)]();while(_0x18d3a2['tEblG'](_0x18d3a2['vWEcy'](Date['now'](),_0x255c0e),_0x2c57fd)){let _0x25f4b8=0x0;for(const _0x5deddd of Object['values'](this['queues'])){try{const _0x1440c8=await _0x5deddd['getJobCounts'](_0x53089f(0xd2));_0x25f4b8+=_0x1440c8[_0x53089f(0xd2)]||0x0;}catch(_0x500d01){}}if(_0x25f4b8===0x0)break;await new Promise(_0x4e3d0a=>setTimeout(_0x4e3d0a,0x1f4));}const _0x40c62a=Object[_0x53089f(0x168)](this['workers'])[_0x53089f(0xf6)](async _0x28e922=>{const _0x207423=_0x53089f;try{await _0x28e922[_0x207423(0x17c)]();}catch(_0x49fe31){}});await Promise['all'](_0x40c62a);const _0x42493e=Object['values'](this['queues'])['map'](async _0x4094d6=>{try{await _0x4094d6['close']();}catch(_0x5211e8){}});await Promise['all'](_0x42493e);for(const _0x4d3c2f of this['connections']){try{await _0x4d3c2f['quit']();}catch(_0x2e7e89){}}this['queues']={},this[_0x53089f(0x101)]={},this['connections']=[],await this[_0x53089f(0x119)](),this['activeHistoryIds']['clear'](),this['initialized']=![],logger[_0x53089f(0x178)]({'event':_0x53089f(0xbf)},'Job\x20Manager\x20shutdown\x20complete');}[a0_0x2b1e5f(0xb8)](){const _0x2ebca8=a0_0x2b1e5f,_0x2a6f77={'PHlCa':_0x2ebca8(0xa2),'hWqRT':_0x2ebca8(0x12f),'aEjie':'job_config_dir_missing','seiNZ':_0x2ebca8(0xf9),'mQPoa':'job_configs_loaded'},_0x2e4f86=path[_0x2ebca8(0x129)](this['workingDir'],_0x2a6f77['PHlCa'],_0x2a6f77['hWqRT']);if(!fs[_0x2ebca8(0xe5)](_0x2e4f86))return logger[_0x2ebca8(0x178)]({'event':_0x2a6f77[_0x2ebca8(0x11a)],'path':_0x2e4f86},'Folder\x20payload/jobs/\x20tidak\x20ditemukan'),[];const _0x3ef8a0=fs['readdirSync'](_0x2e4f86)['filter'](_0x285310=>_0x285310['endsWith'](_0x2ebca8(0x9e))),_0x38ff7a=[];for(const _0x25094a of _0x3ef8a0){const _0x57c17e=path['join'](_0x2e4f86,_0x25094a);try{const _0x5db33c=fs[_0x2ebca8(0xb3)](_0x57c17e,_0x2a6f77[_0x2ebca8(0xb0)]),_0x3dc74b=JSON[_0x2ebca8(0xdb)](_0x5db33c);_0x3dc74b['_sourceFile']=_0x25094a,_0x38ff7a['push'](_0x3dc74b);}catch(_0x3eb093){logger[_0x2ebca8(0x12d)]({'event':'job_config_parse_error','file':_0x25094a,'error':_0x3eb093[_0x2ebca8(0xfd)]},'Failed\x20to\x20parse\x20job\x20config:\x20'+_0x25094a+'\x20—\x20'+_0x3eb093[_0x2ebca8(0xfd)]);}}return logger[_0x2ebca8(0x178)]({'event':_0x2a6f77[_0x2ebca8(0xbe)],'count':_0x38ff7a['length']},_0x2ebca8(0x133)+_0x38ff7a[_0x2ebca8(0x16f)]+_0x2ebca8(0xee)),_0x38ff7a;}async[a0_0x2b1e5f(0x120)](_0x3b6655){const _0x5d4533=a0_0x2b1e5f,_0x47e0b9={'DnAXp':_0x5d4533(0x166),'XrJUQ':function(_0xc76c6f,_0x14ce8d){return _0xc76c6f(_0x14ce8d);},'oHfZD':function(_0x19c40d,_0x183df3){return _0x19c40d===_0x183df3;},'MtcoH':'cron','shvdB':'cron_registered','wszbA':function(_0x1789b1,_0x51a404){return _0x1789b1!==_0x51a404;},'undMX':'offline','XVYuL':function(_0x938c84,_0x4ed4f7){return _0x938c84===_0x4ed4f7;}},_0xaa4930=path['join'](this['workingDir'],_0x47e0b9[_0x5d4533(0x171)],'jobs',_0x3b6655[_0x5d4533(0xa9)]+'.js');this['handlers'][_0x3b6655['name']]=_0x47e0b9[_0x5d4533(0x1a5)](require,_0xaa4930),this[_0x5d4533(0xca)][_0x3b6655[_0x5d4533(0x180)]]=_0x3b6655;if(_0x47e0b9[_0x5d4533(0xed)](_0x3b6655['type'],_0x47e0b9['MtcoH'])&&_0x3b6655[_0x5d4533(0x13f)]!==![]){const _0x375ef5=this[_0x5d4533(0x16e)][_0x3b6655['queue']||'default'];await _0x375ef5['upsertJobScheduler'](_0x3b6655['name'],{'pattern':_0x3b6655[_0x5d4533(0x151)],'tz':_0x3b6655['timezone']||undefined},{'name':_0x3b6655[_0x5d4533(0x180)],'data':{'handler':_0x3b6655[_0x5d4533(0xa9)],'triggeredBy':'cron','metadata':_0x3b6655[_0x5d4533(0xeb)]||{}},'opts':{'attempts':_0x3b6655['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0x3b6655['retry']?.[_0x5d4533(0x8f)]||'exponential','delay':_0x3b6655['retry']?.[_0x5d4533(0xfc)]||0x1388},'timeout':_0x3b6655['timeout']||0x7530}}),logger[_0x5d4533(0x178)]({'event':_0x47e0b9[_0x5d4533(0x109)],'name':_0x3b6655[_0x5d4533(0x180)],'schedule':_0x3b6655[_0x5d4533(0x151)],'queue':_0x3b6655['queue']||'default'},'Cron\x20registered:\x20'+_0x3b6655[_0x5d4533(0x180)]+'\x20['+_0x3b6655['schedule']+']');}const _0x3b93cf=_0x3b6655[_0x5d4533(0x1a1)]===_0x47e0b9['MtcoH']&&_0x47e0b9['wszbA'](_0x3b6655['enabled'],![])?'online':_0x47e0b9[_0x5d4533(0xd5)];let _0x24f74f=null;_0x47e0b9['XVYuL'](_0x3b93cf,_0x5d4533(0x11e))&&(_0x24f74f=await this['getNextRunFromBullMQ'](_0x3b6655[_0x5d4533(0x180)])),await this[_0x5d4533(0x83)](_0x3b6655,_0x3b93cf,_0x24f74f);}async[a0_0x2b1e5f(0x10d)](_0x720382){const _0x1c4c4f=a0_0x2b1e5f,_0x20323d={'gevRq':_0x1c4c4f(0xbb),'CJJlg':function(_0x147bbd){return _0x147bbd();},'HxBKY':'unknown','OxxWE':_0x1c4c4f(0xc3),'COQyy':function(_0x3d19f7,_0xabab56){return _0x3d19f7===_0xabab56;},'fBDfw':'cron','RVQxG':function(_0x5d9eac,_0x5c0e7f){return _0x5d9eac+_0x5c0e7f;},'LUNgK':function(_0x1b83e7){return _0x1b83e7();},'OkVsf':_0x1c4c4f(0x174),'beKFk':'onBeforeJobExecute','eUery':'job_handler_done'},_0x2146a3=this[_0x1c4c4f(0xca)][_0x720382[_0x1c4c4f(0x180)]],_0x17cc08=this['handlers'][_0x720382[_0x1c4c4f(0x180)]];if(!_0x17cc08)throw new Error('Handler\x20not\x20found\x20for\x20job:\x20'+_0x720382['name']);const _0x236d54=logger['child']({'jobId':_0x720382['id'],'jobName':_0x720382[_0x1c4c4f(0x180)]});_0x236d54['info']({'event':'job_started','attempt':_0x720382[_0x1c4c4f(0x16b)]+0x1,'triggeredBy':_0x720382['data']?.[_0x1c4c4f(0x14b)]||'unknown'},_0x1c4c4f(0x194)+_0x720382[_0x1c4c4f(0x180)]+'\x20(attempt\x20'+(_0x720382['attemptsMade']+0x1)+')');const _0x306e95=_0x20323d[_0x1c4c4f(0x191)](uuidv7),_0x436ed3=_0x720382['data']?.[_0x1c4c4f(0x14b)]||_0x20323d[_0x1c4c4f(0x163)],_0x684768=this['insertJobHistory']({'id':_0x306e95,'jobName':_0x720382['name'],'bullmqJobId':_0x720382['id'],'triggerType':_0x436ed3===_0x20323d[_0x1c4c4f(0x105)]?_0x1c4c4f(0x12c):_0x20323d[_0x1c4c4f(0x10b)](_0x436ed3,_0x1c4c4f(0x12b))?'manual':'cron','triggeredBy':_0x436ed3===_0x20323d[_0x1c4c4f(0x80)]?'system':_0x436ed3,'queue':_0x2146a3?.['queue']||_0x1c4c4f(0x190),'attempt':_0x20323d['RVQxG'](_0x720382['attemptsMade'],0x1),'configFile':_0x2146a3?.['_sourceFile']||null})[_0x1c4c4f(0x99)](_0x49762a=>{const _0x1ed1f8=_0x1c4c4f;_0x236d54['warn']({'event':_0x20323d['gevRq'],'error':_0x49762a[_0x1ed1f8(0xfd)]},_0x1ed1f8(0x177)+_0x49762a['message']);});this['activeHistoryIds']['set'](_0x720382['id'],{'historyId':_0x306e95,'insertPromise':_0x684768});const _0x189e12=this[_0x1c4c4f(0xd7)](_0x720382,_0x2146a3,_0x236d54),_0x6a172c=_0x20323d[_0x1c4c4f(0x135)](getComponentEngine);if(_0x6a172c&&typeof _0x6a172c['executeEventHandlers']===_0x20323d['OkVsf']){const _0x396aba=await _0x6a172c[_0x1c4c4f(0x9b)](_0x20323d['beKFk'],_0x189e12,!![]);if(!_0x396aba[_0x1c4c4f(0xbc)])throw new Error('Job\x20cancelled\x20by\x20onBeforeJobExecute:\x20'+_0x396aba['error']);}const _0x467e7e=await _0x17cc08(_0x189e12);return _0x236d54['info']({'event':_0x20323d[_0x1c4c4f(0xdd)],'result':_0x467e7e},_0x1c4c4f(0x125)+_0x720382['name']),_0x467e7e;}[a0_0x2b1e5f(0xd7)](_0x4c2f13,_0x54d2c8,_0x4c7114){const _0x32a132=a0_0x2b1e5f,_0x18acd7={'MThzU':'JOB_EVENT'};return{'jobId':_0x4c2f13['id'],'jobName':_0x4c2f13['name'],'attempt':_0x4c2f13[_0x32a132(0x16b)]+0x1,'maxAttempts':_0x54d2c8?.[_0x32a132(0x173)]?.['maxAttempts']||0x3,'payload':_0x4c2f13[_0x32a132(0x1a6)]||{},'config':_0x54d2c8||{},'db':this['getDbUtils'](),'redis':this[_0x32a132(0x91)](),'logger':_0x4c7114,'kafka':this[_0x32a132(0xec)](),'cache':this[_0x32a132(0x18f)](),'updateProgress':async _0x1b8610=>{await _0x4c2f13['updateProgress'](_0x1b8610);},'emit':async(_0x3adf7a,_0x26647b)=>{const _0x4c4c16=_0x32a132,_0x4cdf61=this['getKafkaService']();_0x4cdf61&&await _0x4cdf61['publishEvent'](_0x3adf7a,_0x18acd7[_0x4c4c16(0xc4)],null,_0x26647b,{'module':'job-scheduler','endpoint':_0x4c2f13['name']});},'job':_0x4c2f13};}['getDbType'](){const _0x4ccb02=a0_0x2b1e5f,_0xec6f8b={'bFFMC':'postgresql'};return(process['env'][_0x4ccb02(0xa4)]||_0xec6f8b['bFFMC'])['toLowerCase']();}async[a0_0x2b1e5f(0xd3)](){const _0x363797=a0_0x2b1e5f,_0x12f8ef={'lrgoy':_0x363797(0x94),'UTCOl':_0x363797(0x150),'seCcq':'job_db_type_unsupported','HdPtq':'sql-scripts','akyMA':'job_sql_not_found','BFvjp':_0x363797(0x126),'FoLPI':'ora-00955','MMbSK':_0x363797(0x8c)},_0x4803f4=this['getDbUtils']();if(!_0x4803f4){logger['warn']({'event':_0x12f8ef['lrgoy']},_0x363797(0x98));return;}const _0x304a9f=this['getDbType'](),_0x5bba99={'postgresql':_0x363797(0x192),'oracle':'oracle.sql','mysql':_0x12f8ef[_0x363797(0x143)]},_0x102372=_0x5bba99[_0x304a9f];if(!_0x102372){logger[_0x363797(0x172)]({'event':_0x12f8ef['seCcq'],'dbType':_0x304a9f},'DB_TYPE\x20\x27'+_0x304a9f+'\x27\x20tidak\x20didukung\x20untuk\x20job\x20monitoring\x20tables');return;}const _0xb10c13=path[_0x363797(0x129)](__dirname,_0x12f8ef[_0x363797(0x108)],_0x102372);if(!fs['existsSync'](_0xb10c13)){logger['warn']({'event':_0x12f8ef['akyMA'],'path':_0xb10c13},'SQL\x20script\x20tidak\x20ditemukan:\x20'+_0xb10c13);return;}const _0xdc97b0=fs[_0x363797(0xb3)](_0xb10c13,'utf8'),_0x11f79a=this[_0x363797(0x15e)](_0xdc97b0,_0x304a9f);let _0x45a0fa=0x0;for(const _0x1a6e69 of _0x11f79a){try{await _0x4803f4[_0x363797(0x184)](_0x1a6e69),_0x45a0fa++;}catch(_0x373bcb){const _0x450559=(_0x373bcb['message']||'')[_0x363797(0xe3)](),_0x2fd563=_0x450559['includes'](_0x12f8ef['BFvjp'])||_0x450559[_0x363797(0xe0)](_0x12f8ef[_0x363797(0x10f)])||_0x450559['includes'](_0x12f8ef['MMbSK']);!_0x2fd563&&logger['warn']({'event':_0x363797(0x117),'error':_0x373bcb['message']},_0x363797(0x140)+_0x373bcb['message']);}}logger['info']({'event':'job_tables_ensured','dbType':_0x304a9f,'executed':_0x45a0fa},'Job\x20monitoring\x20tables\x20ensured\x20('+_0x304a9f+')');}['splitSqlStatements'](_0x418faa,_0x2198cc){const _0x19251b=a0_0x2b1e5f,_0xbca028={'XtlhQ':function(_0x2a9ebd,_0x243d07){return _0x2a9ebd===_0x243d07;},'sUjNq':_0x19251b(0xef)};let _0x90fe32;return _0xbca028[_0x19251b(0xcf)](_0x2198cc,_0xbca028['sUjNq'])?_0x90fe32=_0x418faa['split'](/\n\/\s*(?:\n|$)/):_0x90fe32=_0x418faa[_0x19251b(0x85)](/;\s*(?:\n|$)/),_0x90fe32['map'](_0x5e2310=>_0x5e2310[_0x19251b(0x11b)]())[_0x19251b(0x87)](_0x187ff5=>{const _0xc94798=_0x19251b;if(_0x187ff5['length']===0x0)return![];const _0x1c288a=_0x187ff5[_0xc94798(0x85)]('\x0a')[_0xc94798(0x87)](_0x117d9b=>!_0x117d9b['trim']()[_0xc94798(0xcd)]('--')&&_0x117d9b[_0xc94798(0x11b)]()[_0xc94798(0x16f)]>0x0);return _0x1c288a['length']>0x0;});}async['upsertJobRegistry'](_0x1b6552,_0x37eeee='online',_0xdccf=null){const _0x45c973=a0_0x2b1e5f,_0x3ded29={'IjZxV':'cron','jvCmK':_0x45c973(0x190),'KTTOn':_0x45c973(0xef),'uZjfQ':_0x45c973(0xdf),'gOuUC':_0x45c973(0x164)},_0x20eec5=this[_0x45c973(0xae)]();if(!_0x20eec5)return;const _0x3e1300=this['getDbType'](),_0x5da1a0=[_0x1b6552['name'],_0x1b6552[_0x45c973(0x90)]||_0x1b6552['name'],_0x1b6552[_0x45c973(0x1a1)]||_0x3ded29[_0x45c973(0x9d)],_0x1b6552[_0x45c973(0x151)]||null,_0x1b6552[_0x45c973(0x146)]||_0x3ded29['jvCmK'],_0x1b6552[_0x45c973(0xa9)],_0x1b6552[_0x45c973(0x93)]||'',_0x1b6552[_0x45c973(0x14a)]||0x7530,_0x1b6552[_0x45c973(0x173)]?.['maxAttempts']||0x3,_0x1b6552['retry']?.['backoff']||'exponential',_0x37eeee,_0xdccf];try{if(_0x3e1300===_0x3ded29[_0x45c973(0x167)])await _0x20eec5[_0x45c973(0x184)](_0x45c973(0x179),_0x5da1a0);else _0x3e1300===_0x3ded29[_0x45c973(0x13a)]?await _0x20eec5[_0x45c973(0x184)](_0x45c973(0xf7),_0x5da1a0):await _0x20eec5[_0x45c973(0x184)]('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()',_0x5da1a0);}catch(_0x380ff8){logger['warn']({'event':_0x3ded29['gOuUC'],'name':_0x1b6552['name'],'error':_0x380ff8['message']},_0x45c973(0xc0)+_0x1b6552[_0x45c973(0x180)]+'\x20—\x20'+_0x380ff8['message']);}}async[a0_0x2b1e5f(0x9c)](_0x2d36dd){const _0x1676d9=a0_0x2b1e5f,_0x2d47d3={'cEeeC':_0x1676d9(0x186),'QRIWz':_0x1676d9(0x190),'tWulQ':_0x1676d9(0xef),'bdvrD':function(_0x14c5ea,_0x805657){return _0x14c5ea===_0x805657;},'zkzQl':'mysql','UExLa':_0x1676d9(0xe9)},_0x26d28e=this[_0x1676d9(0xae)]();if(!_0x26d28e)return;const _0x17823c=this['getDbType'](),_0x1681f2=[_0x2d36dd['id'],_0x2d36dd['jobName'],_0x2d36dd['bullmqJobId']||null,_0x2d36dd[_0x1676d9(0x115)]||'cron',_0x2d36dd['triggeredBy']||_0x2d47d3['cEeeC'],_0x2d36dd['queue']||_0x2d47d3[_0x1676d9(0x77)],_0x2d36dd[_0x1676d9(0x102)]||0x1,_0x2d36dd[_0x1676d9(0x142)]||null,process['pid']];try{if(_0x17823c===_0x2d47d3[_0x1676d9(0xf5)])await _0x26d28e['executeQuery'](_0x1676d9(0x1a7),_0x1681f2);else _0x2d47d3['bdvrD'](_0x17823c,_0x2d47d3['zkzQl'])?await _0x26d28e['executeQuery'](_0x1676d9(0x189),_0x1681f2):await _0x26d28e['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,\x20NOW(),\x20$9,\x20NOW())',_0x1681f2);await this['updateRegistryStatus'](_0x2d36dd['jobName'],_0x2d47d3[_0x1676d9(0x145)]);}catch(_0x47aca6){logger[_0x1676d9(0x172)]({'event':_0x1676d9(0x13b),'jobName':_0x2d36dd[_0x1676d9(0x141)],'error':_0x47aca6[_0x1676d9(0xfd)]},'Failed\x20to\x20insert\x20job\x20history:\x20'+_0x47aca6['message']);}}async['updateJobHistoryCompleted'](_0x390ba8,_0x8bcb15,_0x5a146c){const _0x209423=a0_0x2b1e5f,_0x5937a2={'ZFOIR':function(_0x813bf6,_0x297024){return _0x813bf6(_0x297024);},'xXHBe':function(_0x28bb59,_0x522b8c){return _0x28bb59===_0x522b8c;},'szuma':'mysql'},_0x240611=this['getDbUtils']();if(!_0x240611)return;const _0xb0e156=this[_0x209423(0x17d)](),_0x75c909=_0x5a146c?_0x5937a2[_0x209423(0x13c)](String,_0x5a146c)['substring'](0x0,0x1f4):null;try{if(_0x5937a2[_0x209423(0xc7)](_0xb0e156,'oracle'))await _0x240611['executeQuery'](_0x209423(0xd0),[_0x8bcb15,_0x75c909,_0x390ba8]);else _0xb0e156===_0x5937a2['szuma']?await _0x240611[_0x209423(0x184)](_0x209423(0xe6),[_0x8bcb15,_0x75c909,_0x390ba8]):await _0x240611[_0x209423(0x184)]('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27success\x27,\x20completed_at\x20=\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20$1,\x20progress\x20=\x20100,\x20result_summary\x20=\x20$2\x20WHERE\x20id\x20=\x20$3',[_0x8bcb15,_0x75c909,_0x390ba8]);}catch(_0xe41c4e){logger[_0x209423(0x172)]({'event':'job_history_complete_error','historyId':_0x390ba8,'error':_0xe41c4e[_0x209423(0xfd)]},_0x209423(0x13e)+_0xe41c4e[_0x209423(0xfd)]);}}async['updateJobHistoryFailed'](_0x54b3c1,_0x14b92d,_0x41fe01,_0x2e4463,_0x26e376){const _0x636134=a0_0x2b1e5f,_0xb0f51d={'xhTcr':function(_0x34fe65,_0x517f47){return _0x34fe65(_0x517f47);},'kEMbD':_0x636134(0xe4)},_0x18e104=this['getDbUtils']();if(!_0x18e104)return;const _0x1a70be=this[_0x636134(0x17d)](),_0x17791d=_0x2e4463?String(_0x2e4463)[_0x636134(0x113)](0x0,0x3e8):null,_0x5d3dbe=_0x26e376?_0xb0f51d[_0x636134(0xc6)](String,_0x26e376)['substring'](0x0,0xfa0):null;try{if(_0x1a70be==='oracle')await _0x18e104[_0x636134(0x184)]('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',[_0x14b92d,_0x41fe01||0x0,_0x17791d,_0x5d3dbe,_0x54b3c1]);else _0x1a70be===_0x636134(0xdf)?await _0x18e104['executeQuery'](_0x636134(0xa6),[_0x14b92d,_0x41fe01||0x0,_0x17791d,_0x5d3dbe,_0x54b3c1]):await _0x18e104['executeQuery']('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27failed\x27,\x20completed_at\x20=\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20$1,\x20progress\x20=\x20$2,\x20error_message\x20=\x20$3,\x20error_stack\x20=\x20$4\x20WHERE\x20id\x20=\x20$5',[_0x14b92d,_0x41fe01||0x0,_0x17791d,_0x5d3dbe,_0x54b3c1]);}catch(_0x17c17b){logger['warn']({'event':_0xb0f51d[_0x636134(0xe7)],'historyId':_0x54b3c1,'error':_0x17c17b['message']},'Failed\x20to\x20update\x20job\x20history\x20(failed):\x20'+_0x17c17b[_0x636134(0xfd)]);}}async[a0_0x2b1e5f(0x89)](_0x3d5943,_0x1c6758){const _0x42edd9=a0_0x2b1e5f,_0xaf06b5={'OGuUo':_0x42edd9(0xef)},_0x139bcc=this[_0x42edd9(0xae)]();if(!_0x139bcc)return;const _0x3b7c15=this['getDbType']();try{if(_0x3b7c15===_0xaf06b5[_0x42edd9(0x16a)])await _0x139bcc[_0x42edd9(0x184)](_0x42edd9(0x10e),[_0x1c6758,_0x3d5943]);else _0x3b7c15===_0x42edd9(0xdf)?await _0x139bcc['executeQuery'](_0x42edd9(0x11c),[_0x1c6758,_0x3d5943]):await _0x139bcc['executeQuery']('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',[_0x1c6758,_0x3d5943]);}catch(_0x488144){}}async[a0_0x2b1e5f(0x1a4)](_0x34c27d,_0x590316,_0x2d6b8a,_0x591245){const _0x1a45cd=a0_0x2b1e5f,_0x372673={'HrzNJ':function(_0x5e36a8,_0x55449d){return _0x5e36a8===_0x55449d;},'CksEi':'success','dvOTn':_0x1a45cd(0x17a),'tbiIt':_0x1a45cd(0x182),'NkqZD':_0x1a45cd(0xef),'xpMdJ':_0x1a45cd(0x107)},_0x540453=this['getDbUtils']();if(!_0x540453)return;const _0x4f46dc=this[_0x1a45cd(0x17d)](),_0x2fd7bd=_0x372673[_0x1a45cd(0x157)](_0x590316,_0x372673['CksEi'])?_0x372673['dvOTn']:_0x372673['tbiIt'];try{if(_0x4f46dc===_0x372673[_0x1a45cd(0x8b)])await _0x540453[_0x1a45cd(0x184)]('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'+_0x2fd7bd+'\x20=\x20'+_0x2fd7bd+_0x1a45cd(0xd1),[_0x590316,_0x2d6b8a,_0x591245,_0x34c27d]);else _0x4f46dc==='mysql'?await _0x540453[_0x1a45cd(0x184)]('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'+_0x2fd7bd+'\x20=\x20'+_0x2fd7bd+'\x20+\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20?\x20WHERE\x20job_name\x20=\x20?',[_0x590316,_0x2d6b8a,_0x591245,_0x34c27d]):await _0x540453[_0x1a45cd(0x184)]('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'+_0x2fd7bd+_0x1a45cd(0x14f)+_0x2fd7bd+_0x1a45cd(0x147),[_0x590316,_0x2d6b8a,_0x591245,_0x34c27d]);}catch(_0x2cd2dd){logger[_0x1a45cd(0x172)]({'event':_0x372673[_0x1a45cd(0x170)],'jobName':_0x34c27d,'error':_0x2cd2dd[_0x1a45cd(0xfd)]},_0x1a45cd(0x118)+_0x2cd2dd['message']);}}async['getNextRunFromBullMQ'](_0x15d422){const _0x5c41cd=a0_0x2b1e5f,_0x5f0e62=this[_0x5c41cd(0xca)][_0x15d422];if(!_0x5f0e62||_0x5f0e62['type']!==_0x5c41cd(0x176)||_0x5f0e62['enabled']===![])return null;const _0x3ca14c=this['queues'][_0x5f0e62['queue']||'default'];if(!_0x3ca14c)return null;try{if(typeof _0x3ca14c['getJobSchedulers']===_0x5c41cd(0x174)){const _0x1cedf7=await _0x3ca14c['getJobSchedulers'](0x0,0x64),_0x5db2f1=_0x1cedf7[_0x5c41cd(0x111)](_0x177c08=>_0x177c08[_0x5c41cd(0x180)]===_0x15d422);return _0x5db2f1?.['next']?new Date(_0x5db2f1[_0x5c41cd(0x124)]):null;}}catch(_0x1548cf){}return null;}async['setAllJobsOffline'](){const _0x14fe29=a0_0x2b1e5f,_0x24cc0e={'ihPLe':_0x14fe29(0xef)},_0x562d98=this[_0x14fe29(0xae)]();if(!_0x562d98)return;const _0x1d36d4=this[_0x14fe29(0x17d)]();try{if(_0x1d36d4===_0x24cc0e[_0x14fe29(0x199)])await _0x562d98['executeQuery'](_0x14fe29(0x195));else _0x1d36d4==='mysql'?await _0x562d98['executeQuery'](_0x14fe29(0x19d)):await _0x562d98['executeQuery']('UPDATE\x20job_registry\x20SET\x20status\x20=\x20\x27offline\x27,\x20next_run_at\x20=\x20NULL,\x20updated_at\x20=\x20NOW()');}catch(_0x5d94e3){logger[_0x14fe29(0x172)]({'event':'job_registry_offline_error','error':_0x5d94e3[_0x14fe29(0xfd)]},_0x14fe29(0xb4)+_0x5d94e3[_0x14fe29(0xfd)]);}}[a0_0x2b1e5f(0xae)](){const _0x222f3c=a0_0x2b1e5f,_0xb6dba8={'KUNNC':_0x222f3c(0x114),'aparx':function(_0xb2f0e6,_0x1af647){return _0xb2f0e6===_0x1af647;},'FWWHX':'oracle','LDyVw':function(_0x2c06a2,_0x19ca7a){return _0x2c06a2(_0x19ca7a);},'Nffzc':'../../utils/db-oracle','foaBo':'db_oracle_unavailable','dTrLm':'Oracle\x20DB\x20module\x20not\x20available','kdrUY':'mysql','UtvhD':_0x222f3c(0x15c),'jmQfW':'db_mysql_unavailable','biRkl':_0x222f3c(0x10a),'WCwiC':_0x222f3c(0x162)},_0xf3f60f=(process['env']['DB_TYPE']||_0xb6dba8['KUNNC'])['toLowerCase']();if(_0xb6dba8['aparx'](_0xf3f60f,_0xb6dba8['FWWHX']))try{const _0x3bb0bf=_0xb6dba8['LDyVw'](require,_0xb6dba8[_0x222f3c(0xcc)]);return{'executeQuery':(_0x4e20ca,_0x5bbeac)=>_0x3bb0bf['executeQuery'](_0x4e20ca,_0x5bbeac),'executeTransaction':_0x195824=>_0x3bb0bf['executeTransaction'](_0x195824),'getPool':()=>_0x3bb0bf[_0x222f3c(0x15f)]()};}catch(_0x345ac7){return logger[_0x222f3c(0x172)]({'event':_0xb6dba8['foaBo']},_0xb6dba8[_0x222f3c(0x96)]),null;}if(_0xb6dba8[_0x222f3c(0x78)](_0xf3f60f,_0xb6dba8[_0x222f3c(0x8a)]))try{const _0x42a5c3=require(_0xb6dba8['UtvhD']);return{'executeQuery':(_0x4f33bf,_0x2f4cca)=>_0x42a5c3['executeQuery'](_0x4f33bf,_0x2f4cca),'executeTransaction':_0x1118ee=>_0x42a5c3['executeTransaction'](_0x1118ee),'getPool':()=>_0x42a5c3[_0x222f3c(0x15f)]()};}catch(_0x1da89d){return logger['warn']({'event':_0xb6dba8['jmQfW']},'MySQL\x20DB\x20module\x20not\x20available'),null;}try{const _0x2c08f3=_0xb6dba8['LDyVw'](require,_0xb6dba8['biRkl']);return{'executeQuery':_0x2c08f3['executeQuery'],'executeTransaction':_0x2c08f3[_0x222f3c(0x74)],'getPool':_0x2c08f3['getPool']};}catch(_0x4b5fe4){return logger['warn']({'event':'db_pg_unavailable'},_0xb6dba8[_0x222f3c(0x18a)]),null;}}[a0_0x2b1e5f(0x91)](){const _0x275fc6=a0_0x2b1e5f;try{const _0x30aebe=require(_0x275fc6(0xb1));return _0x30aebe[_0x275fc6(0x165)]?_0x30aebe[_0x275fc6(0x165)]():_0x30aebe;}catch(_0x350e17){return null;}}['getKafkaService'](){const _0x38132a=a0_0x2b1e5f,_0x3931d9={'lDhPZ':function(_0x538d52,_0x588908){return _0x538d52===_0x588908;},'PKOGi':function(_0x21c564,_0xff76cc){return _0x21c564(_0xff76cc);},'ZrKfp':'../../services/kafkaService'};try{if(_0x3931d9[_0x38132a(0x17e)](process['env'][_0x38132a(0x110)],_0x38132a(0xaa))){const _0x2f6ace=_0x3931d9[_0x38132a(0x17b)](require,_0x3931d9['ZrKfp']);return _0x2f6ace['getInstance']?_0x2f6ace[_0x38132a(0x193)]():_0x2f6ace;}}catch(_0x1c8cd6){}return null;}['getCacheManager'](){const _0x2a59c4={'WWiAs':function(_0xed87fc,_0x11368d){return _0xed87fc(_0x11368d);}};try{return _0x2a59c4['WWiAs'](require,'../../utils/cache-manager');}catch(_0x28f622){return null;}}async['dispatch'](_0x3c4358,_0x44771f={}){const _0x3d93ff=a0_0x2b1e5f,_0x388bbf={'opFNN':_0x3d93ff(0x190),'wVAtO':'exponential'},_0x116197=this[_0x3d93ff(0xca)][_0x3c4358];if(!_0x116197)throw new Error(_0x3d93ff(0xda)+_0x3c4358);const _0x11707b=this[_0x3d93ff(0x16e)][_0x116197[_0x3d93ff(0x146)]||_0x388bbf['opFNN']],_0x201def=await _0x11707b['add'](_0x3c4358,{..._0x44771f,'handler':_0x116197[_0x3d93ff(0xa9)],'triggeredBy':_0x3d93ff(0x12b)},{'attempts':_0x116197['retry']?.[_0x3d93ff(0x10c)]||0x3,'backoff':{'type':_0x116197['retry']?.[_0x3d93ff(0x8f)]||_0x388bbf['wVAtO'],'delay':_0x116197[_0x3d93ff(0x173)]?.['initialDelay']||0x1388},'timeout':_0x116197['timeout']||0x7530});return logger[_0x3d93ff(0x178)]({'event':_0x3d93ff(0xfb),'jobId':_0x201def['id'],'name':_0x3c4358,'triggeredBy':'api'},_0x3d93ff(0x158)+_0x3c4358+'\x20(id:\x20'+_0x201def['id']+')'),{'jobId':_0x201def['id'],'name':_0x3c4358};}async[a0_0x2b1e5f(0xc5)](_0x337c21,_0x3af9e8={},_0x1966fe=0x0){const _0x53977b=a0_0x2b1e5f,_0x2a6430=this[_0x53977b(0xca)][_0x337c21];if(!_0x2a6430)throw new Error(_0x53977b(0xda)+_0x337c21);const _0x216fd9=this[_0x53977b(0x16e)][_0x2a6430[_0x53977b(0x146)]||_0x53977b(0x190)],_0xd9fb43=await _0x216fd9['add'](_0x337c21,{..._0x3af9e8,'handler':_0x2a6430['handler'],'triggeredBy':_0x53977b(0xc3)},{'delay':_0x1966fe,'attempts':_0x2a6430['retry']?.[_0x53977b(0x10c)]||0x3,'backoff':{'type':_0x2a6430[_0x53977b(0x173)]?.[_0x53977b(0x8f)]||_0x53977b(0x8e),'delay':_0x2a6430[_0x53977b(0x173)]?.['initialDelay']||0x1388},'timeout':_0x2a6430[_0x53977b(0x14a)]||0x7530});return logger['info']({'event':_0x53977b(0x159),'jobId':_0xd9fb43['id'],'name':_0x337c21,'delayMs':_0x1966fe},'Job\x20dispatched\x20(delayed\x20'+_0x1966fe+'ms):\x20'+_0x337c21+_0x53977b(0x153)+_0xd9fb43['id']+')'),{'jobId':_0xd9fb43['id'],'name':_0x337c21};}async[a0_0x2b1e5f(0x86)](_0x33b372){const _0x4923cb=a0_0x2b1e5f;for(const _0x39ed84 of Object[_0x4923cb(0x168)](this['queues'])){const _0x1cdec7=await _0x39ed84[_0x4923cb(0x19b)](_0x33b372);if(_0x1cdec7){const _0x33bd55=await _0x1cdec7['getState']();return{'jobId':_0x1cdec7['id'],'name':_0x1cdec7[_0x4923cb(0x180)],'state':_0x33bd55,'progress':_0x1cdec7['progress'],'attemptsMade':_0x1cdec7['attemptsMade'],'failedReason':_0x1cdec7[_0x4923cb(0x156)],'returnvalue':_0x1cdec7['returnvalue'],'data':_0x1cdec7[_0x4923cb(0x1a6)],'timestamps':{'created':_0x1cdec7[_0x4923cb(0x134)],'started':_0x1cdec7[_0x4923cb(0x95)],'completed':_0x1cdec7[_0x4923cb(0x181)]}};}}return null;}['listJobs'](){const _0x954086=a0_0x2b1e5f;return Object[_0x954086(0x168)](this['jobConfigs'])['map'](_0x501467=>({'name':_0x501467['name'],'description':_0x501467['description']||'','type':_0x501467[_0x954086(0x1a1)],'schedule':_0x501467['schedule'],'handler':_0x501467['handler'],'enabled':_0x501467['enabled']!==![],'queue':_0x501467[_0x954086(0x146)]||_0x954086(0x190),'timeout':_0x501467[_0x954086(0x14a)]||0x7530,'retry':_0x501467['retry']||{'maxAttempts':0x3,'backoff':'exponential','initialDelay':0x1388},'metadata':_0x501467['metadata']||{}}));}async['listRunning'](){const _0x58e81c=a0_0x2b1e5f,_0x45c92c={'fjqfU':_0x58e81c(0xd2)},_0x1d35ba=[];for(const [_0x5fc9d3,_0x144f9b]of Object['entries'](this[_0x58e81c(0x16e)])){const _0x37f370=await _0x144f9b[_0x58e81c(0x7d)]([_0x45c92c[_0x58e81c(0x75)]]);for(const _0xe55fe6 of _0x37f370){_0x1d35ba['push']({'jobId':_0xe55fe6['id'],'name':_0xe55fe6[_0x58e81c(0x180)],'queue':_0x5fc9d3,'progress':_0xe55fe6['progress'],'attemptsMade':_0xe55fe6['attemptsMade'],'startedAt':_0xe55fe6['processedOn']});}}return _0x1d35ba;}async[a0_0x2b1e5f(0xf8)](_0x20c38f={}){const _0x4b6e05=a0_0x2b1e5f,_0x4c6053={'Kjbar':function(_0x1a1f44,_0x596e22){return _0x1a1f44-_0x596e22;},'MiGNG':'completed','tRETn':_0x4b6e05(0xf2)},_0x445026=parseInt(_0x20c38f[_0x4b6e05(0x16c)],0xa)||0x1,_0x58b525=Math['min'](parseInt(_0x20c38f[_0x4b6e05(0xcb)],0xa)||0x14,0x64),_0x5d43bf=(_0x445026-0x1)*_0x58b525,_0x1ca993=_0x4c6053[_0x4b6e05(0x139)](_0x5d43bf+_0x58b525,0x1),_0x394302=[];for(const [_0x3ba2a8,_0x45fb28]of Object[_0x4b6e05(0xe2)](this['queues'])){const _0x580235=await _0x45fb28[_0x4b6e05(0x7d)]([_0x4c6053[_0x4b6e05(0x18e)]],_0x5d43bf,_0x1ca993),_0x5daa9f=await _0x45fb28['getJobs']([_0x4c6053[_0x4b6e05(0xa0)]],_0x5d43bf,_0x1ca993);for(const _0x618aac of[..._0x580235,..._0x5daa9f]){const _0x261338=await _0x618aac['getState']();_0x394302[_0x4b6e05(0xac)]({'jobId':_0x618aac['id'],'name':_0x618aac[_0x4b6e05(0x180)],'state':_0x261338,'queue':_0x3ba2a8,'attemptsMade':_0x618aac[_0x4b6e05(0x16b)],'failedReason':_0x618aac['failedReason'],'returnvalue':_0x618aac[_0x4b6e05(0x9f)],'timestamps':{'created':_0x618aac['timestamp'],'started':_0x618aac['processedOn'],'completed':_0x618aac[_0x4b6e05(0x181)]}});}}return _0x394302[_0x4b6e05(0x76)]((_0x4b39a6,_0x2693b4)=>(_0x2693b4['timestamps']['created']||0x0)-(_0x4b39a6[_0x4b6e05(0xd9)][_0x4b6e05(0x138)]||0x0)),{'jobs':_0x394302['slice'](0x0,_0x58b525),'total':_0x394302['length'],'page':_0x445026,'limit':_0x58b525};}async['cancelJob'](_0x596be4){const _0x17141c=a0_0x2b1e5f,_0x22d555={'jJZOn':_0x17141c(0xd2),'sLmBj':_0x17141c(0x196),'BzqJY':_0x17141c(0x100)};for(const _0x45d13b of Object['values'](this[_0x17141c(0x16e)])){const _0xf563c8=await _0x45d13b['getJob'](_0x596be4);if(_0xf563c8){const _0x46ee11=await _0xf563c8['getState']();if(_0x46ee11===_0x22d555[_0x17141c(0x7c)])return await _0xf563c8['moveToFailed'](new Error('Job\x20cancelled\x20via\x20API'),_0x22d555[_0x17141c(0x7b)],!![]),{'success':!![],'message':_0x17141c(0xe1)+_0x596be4+_0x17141c(0xc8)};if(_0x46ee11===_0x22d555[_0x17141c(0x112)]||_0x46ee11===_0x17141c(0x12c))return await _0xf563c8[_0x17141c(0x18d)](),{'success':!![],'message':'Job\x20'+_0x596be4+'\x20removed\x20(was\x20'+_0x46ee11+')'};return{'success':![],'message':_0x17141c(0xe1)+_0x596be4+_0x17141c(0xa5)+_0x46ee11+')'};}}return{'success':![],'message':_0x17141c(0xe1)+_0x596be4+_0x17141c(0xe8)};}async['getHealthStatus'](){const _0x14075d=a0_0x2b1e5f,_0x5fbbe2={'totPp':'delayed','VvVuj':_0x14075d(0xf2),'oNSpc':'waiting'},_0x16c32c={};for(const [_0x5aa191,_0x5c3862]of Object[_0x14075d(0xe2)](this[_0x14075d(0x16e)])){try{const _0xe3900c=await _0x5c3862['getJobCounts'](_0x14075d(0xd2),'completed',_0x5fbbe2[_0x14075d(0x136)],_0x5fbbe2['VvVuj'],_0x14075d(0xd4),_0x5fbbe2[_0x14075d(0x198)]);_0x16c32c[_0x5aa191]=_0xe3900c;}catch(_0x585a91){_0x16c32c[_0x5aa191]={'error':_0x585a91[_0x14075d(0xfd)]};}}const _0xde4638={};for(const [_0x4c66cf,_0x30c57c]of Object[_0x14075d(0xe2)](this['workers'])){_0xde4638[_0x4c66cf]={'running':_0x30c57c['isRunning'](),'paused':_0x30c57c['isPaused']()};}return{'initialized':this['initialized'],'registeredJobs':Object['keys'](this[_0x14075d(0xca)])[_0x14075d(0x16f)],'redisConnections':this['connections']['length'],'queues':_0x16c32c,'workers':_0xde4638};}async[a0_0x2b1e5f(0x161)](_0x3e18b1,_0x1c801b){const _0x4eaeed=a0_0x2b1e5f,_0xdef273={'AEoRp':function(_0x5a1608,_0x3b85bf){return _0x5a1608===_0x3b85bf;},'rUoob':_0x4eaeed(0xa7),'DmJoj':'success','PcNuj':'function','QyoTl':_0x4eaeed(0xea),'qdWbc':'JOB_COMPLETED'},_0x3d14e2=logger['child']({'jobId':_0x3e18b1['id'],'jobName':_0x3e18b1['name']});_0x3d14e2['info']({'event':'job_completed','attemptsMade':_0x3e18b1[_0x4eaeed(0x16b)],'duration':_0x3e18b1[_0x4eaeed(0x181)]?_0x3e18b1['finishedOn']-_0x3e18b1['processedOn']:null},'Job\x20completed:\x20'+_0x3e18b1[_0x4eaeed(0x180)]);const _0x3c1d49=this['activeHistoryIds']['get'](_0x3e18b1['id']);if(_0x3c1d49){if(_0x3c1d49[_0x4eaeed(0x122)])await _0x3c1d49[_0x4eaeed(0x122)];const _0xc49280=_0x3e18b1['finishedOn']&&_0x3e18b1['processedOn']?_0x3e18b1['finishedOn']-_0x3e18b1['processedOn']:null,_0x26498a=_0xdef273['AEoRp'](typeof _0x1c801b,_0xdef273[_0x4eaeed(0x14c)])?_0x1c801b:_0x1c801b?JSON[_0x4eaeed(0x128)](_0x1c801b)['substring'](0x0,0x1f4):null;await this['updateJobHistoryCompleted'](_0x3c1d49[_0x4eaeed(0x148)],_0xc49280,_0x26498a);const _0x1014ef=await this['getNextRunFromBullMQ'](_0x3e18b1['name']);await this[_0x4eaeed(0x1a4)](_0x3e18b1[_0x4eaeed(0x180)],_0xdef273[_0x4eaeed(0x81)],_0xc49280,_0x1014ef),this['activeHistoryIds'][_0x4eaeed(0xbd)](_0x3e18b1['id']);}const _0x35f3a8=getComponentEngine();if(_0x35f3a8&&_0xdef273[_0x4eaeed(0xb7)](typeof _0x35f3a8[_0x4eaeed(0x9b)],_0xdef273['PcNuj'])){const _0x16e4d9={'jobId':_0x3e18b1['id'],'jobName':_0x3e18b1['name'],'result':_0x1c801b,'config':this[_0x4eaeed(0xca)][_0x3e18b1[_0x4eaeed(0x180)]]||{}};_0x35f3a8['executeEventHandlers'](_0xdef273['QyoTl'],_0x16e4d9,![])[_0x4eaeed(0x99)](_0x453e3f=>{const _0x4913ae=_0x4eaeed;_0x3d14e2[_0x4913ae(0x172)]({'event':_0x4913ae(0xaf),'error':_0x453e3f[_0x4913ae(0xfd)]},'onAfterJobComplete\x20handler\x20error\x20(non-blocking)');});}const _0x5d5f08=this[_0x4eaeed(0xec)]();if(_0x5d5f08)try{await _0x5d5f08['publishEvent'](_0x4eaeed(0x7f),_0xdef273['qdWbc'],null,{'jobId':_0x3e18b1['id'],'name':_0x3e18b1['name'],'result':_0x1c801b},{'module':_0x4eaeed(0x149),'endpoint':_0x3e18b1['name']});}catch(_0x166526){_0x3d14e2[_0x4eaeed(0x172)]({'event':'job_kafka_publish_error','error':_0x166526[_0x4eaeed(0xfd)]},_0x4eaeed(0x8d));}}async[a0_0x2b1e5f(0xc2)](_0x3a8ba2,_0x43e27a){const _0x4fc095=a0_0x2b1e5f,_0x32063f={'SbXmG':_0x4fc095(0x19e),'LTcnB':function(_0x3e21de,_0x17605d){return _0x3e21de-_0x17605d;},'zSAMB':function(_0x2b4a07,_0x4c8d62){return _0x2b4a07===_0x4c8d62;},'wmCPA':_0x4fc095(0x152),'QeMrC':_0x4fc095(0x175),'cJNfz':_0x4fc095(0x149),'UHJlx':'Failed\x20to\x20publish\x20JOB_FAILED\x20to\x20Kafka'},_0x4b0e0f=logger[_0x4fc095(0x116)]({'jobId':_0x3a8ba2['id'],'jobName':_0x3a8ba2[_0x4fc095(0x180)]});_0x4b0e0f[_0x4fc095(0x12d)]({'event':'job_failed','attemptsMade':_0x3a8ba2['attemptsMade'],'failedReason':_0x43e27a?.[_0x4fc095(0xfd)],'willRetry':_0x3a8ba2[_0x4fc095(0x16b)]<(this['jobConfigs'][_0x3a8ba2[_0x4fc095(0x180)]]?.[_0x4fc095(0x173)]?.[_0x4fc095(0x10c)]||0x3)},'Job\x20failed:\x20'+_0x3a8ba2['name']+_0x4fc095(0x79)+_0x43e27a?.['message']);const _0x575d9e=this[_0x4fc095(0x97)][_0x4fc095(0x104)](_0x3a8ba2['id']);if(_0x575d9e){if(_0x575d9e[_0x4fc095(0x122)])await _0x575d9e['insertPromise'];const _0x237d8c=_0x3a8ba2[_0x4fc095(0x181)]&&_0x3a8ba2['processedOn']?_0x32063f[_0x4fc095(0xf3)](_0x3a8ba2['finishedOn'],_0x3a8ba2[_0x4fc095(0x95)]):null;await this[_0x4fc095(0x15d)](_0x575d9e[_0x4fc095(0x148)],_0x237d8c,_0x3a8ba2['progress'],_0x43e27a?.[_0x4fc095(0xfd)],_0x43e27a?.[_0x4fc095(0xf4)]);const _0x5d71f8=await this['getNextRunFromBullMQ'](_0x3a8ba2['name']);await this['updateRegistryCounters'](_0x3a8ba2[_0x4fc095(0x180)],'failed',_0x237d8c,_0x5d71f8),this[_0x4fc095(0x97)]['delete'](_0x3a8ba2['id']);}const _0x3ed096=getComponentEngine();if(_0x3ed096&&_0x32063f[_0x4fc095(0xdc)](typeof _0x3ed096['executeEventHandlers'],'function')){const _0x2c4a10={'jobId':_0x3a8ba2['id'],'jobName':_0x3a8ba2[_0x4fc095(0x180)],'error':_0x43e27a?.['message'],'attemptsMade':_0x3a8ba2['attemptsMade'],'config':this['jobConfigs'][_0x3a8ba2[_0x4fc095(0x180)]]||{}};_0x3ed096[_0x4fc095(0x9b)](_0x32063f['wmCPA'],_0x2c4a10,![])[_0x4fc095(0x99)](_0x21d932=>{_0x4b0e0f['warn']({'event':_0x32063f['SbXmG'],'error':_0x21d932['message']},'onAfterJobFailed\x20handler\x20error\x20(non-blocking)');});}const _0x56e071=this[_0x4fc095(0xec)]();if(_0x56e071)try{await _0x56e071[_0x4fc095(0x14e)](_0x4fc095(0xfe),_0x32063f['QeMrC'],null,{'jobId':_0x3a8ba2['id'],'name':_0x3a8ba2['name'],'error':_0x43e27a?.[_0x4fc095(0xfd)],'attemptsMade':_0x3a8ba2[_0x4fc095(0x16b)]},{'module':_0x32063f[_0x4fc095(0x123)],'endpoint':_0x3a8ba2[_0x4fc095(0x180)]});}catch(_0x1f5cdc){_0x4b0e0f['warn']({'event':'job_kafka_publish_error','error':_0x1f5cdc[_0x4fc095(0xfd)]},_0x32063f['UHJlx']);}}[a0_0x2b1e5f(0xb5)](_0x316dfd,_0x2bed0b){const _0x293b97=a0_0x2b1e5f;logger[_0x293b97(0x185)]({'event':_0x293b97(0x19c),'jobId':_0x316dfd['id'],'jobName':_0x316dfd['name'],'progress':_0x2bed0b},'Job\x20progress:\x20'+_0x316dfd[_0x293b97(0x180)]+'\x20—\x20'+_0x2bed0b+'%');}}function a0_0x2911(){const _0x2689d2=['vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNC3vJy2vZCYCSignVBxbSzxrLzf9HDca9ie5pvYGPlaOGicaGicaGicaGigr1CMf0Aw9Ux21Zid0GpYWGChjVz3jLC3mGpsaXmdaSihjLC3vSDf9ZDw1Tyxj5id0GpYbxsevsrsbPzca9id8','A0vnyKq','ig5VDcbMB3vUza','CNvUBMLUzW','B25bzNrLCKPVyKnVBxbSzxrL','Bwv0ywrHDge','z2v0s2fMA2ftzxj2AwnL','B0HMwKq','igPVyIbJB25MAwCOCYKGzNjVBsbWyxLSB2fKl2PVyNmV','B3jHy2XL','DMfSAwq','sw5PDgLHBgL6Aw5NiePVyIbnyw5Hz2vYlI4U','zMfPBgvK','tfrJBKi','C3rHy2S','DfD1Bfe','BwfW','su5trvjuieLove8GAM9Ix3jLz2LZDhj5cIaGicaGicaGicaGkgPVyL9Uyw1LlcbKAxnWBgf5x25HBwuSihr5CguSihnJAgvKDwXLlcbXDwv1zsWGAgfUzgXLCIWGy29UzMLNx2zPBguScIaGicaGicaGicaGihrPBwvVDxqSihjLDhj5x21HEcWGCMv0CNLFyMfJA29MzIWGC3rHDhvZlcbUzxH0x3j1BL9HDcWGy3jLyxrLzf9HDcWGDxbKyxrLzf9HDcKkicaGicaGicaGicbwquXvrvmGkd8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sie5pvYGPlcbot1COksKkicaGicaGicaGicbptIbevvbmsunbveuGs0vzifvqrefurqOGicaGicaGicaGicaGzgLZCgXHEv9Uyw1Lid0GvKfmvuvtkgrPC3bSyxLFBMfTzsKSihr5CguGpsbwquXvrvmODhLWzsKScIaGicaGicaGicaGicbZy2HLzhvSzsa9ifzbtfvfuYHZy2HLzhvSzsKSihf1zxvLid0GvKfmvuvtkhf1zxvLksWkicaGicaGicaGicaGigHHBMrSzxiGpsbwquXvrvmOAgfUzgXLCIKSignVBMzPz19MAwXLid0GvKfmvuvtkgnVBMzPz19MAwXLksWkicaGicaGicaGicaGihrPBwvVDxqGpsbwquXvrvmODgLTzw91DcKSihjLDhj5x21HEca9ifzbtfvfuYHYzxrYEv9TyxGPlaOGicaGicaGicaGicaGCMv0CNLFyMfJA29MzIa9ifzbtfvfuYHYzxrYEv9IywnRB2zMksWGC3rHDhvZid0GvKfmvuvtkhn0yxr1CYKScIaGicaGicaGicaGicbUzxH0x3j1BL9HDca9ifzbtfvfuYHUzxH0x3j1BL9HDcK','z2v0sgLZDg9YEq','DxrMoa','CNDfAwe','AM9Ix2rPC3bHDgnOzwq','Aw5PDgLHBerLBgf5','BwvZC2fNzq','CMvZDgzVCMDLlMPVyNmUzMfPBgvK','uKvesvnFse9tva','D2fPDgLUzW','D29YA2vYCW','yxr0zw1WDa','Aw5PDgLHBgL6zwq','z2v0','t3H4v0u','mtKYy2zhy0zw','AM9Ix3jLz2LZDhj5x2nVDw50zxjFzxjYB3i','sgrqDhe','C2H2zei','lI4VlI4VDxrPBhmVzgi','q09rExK','Bwf4qxr0zw1WDhm','ChjVy2vZC0PVyG','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa6msWGBgfZDf9YDw5FyxqGpsbtwvnusu1fu1rbtvaScIaGicaGicaGicaGDxbKyxrLzf9HDca9ifnzu1rjtuvtvefnucbxsevsrsbQB2jFBMfTzsa9idOY','rM9mueK','s0fgs0fFru5bqKXfra','zMLUza','qNPXsLK','C3vIC3rYAw5N','Cg9ZDgDYzxnXBa','DhjPz2DLCLr5Cgu','y2HPBgq','AM9Ix2vUC3vYzv90ywjSzxnFD2fYBG','rMfPBgvKihrVihvWzgf0zsbQB2iGCMvNAxn0CNKGy291BNrLCNm6ia','C2v0qwXSsM9IC09MzMXPBMu','yuvQAwu','DhjPBq','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa/lcbSyxn0x3j1BL9HDca9ie5pvYGPifDirvjfigPVyL9Uyw1Lid0GpW','rMfPBgvKihrVihjLz2LZDgvYigPVyJOG','B25SAw5L','Aw9YzwrPCW','CMvNAxn0zxjkB2i','m2fIAgvmwG','Aw5Zzxj0uhjVBwLZzq','y0PozNO','BMv4Da','sM9IigHHBMrSzxiGy29TCgXLDgvKoIa','ywXYzwfKEsbLEgLZDhm','AM9Ix3jLzgLZx2nVBM5Ly3rLza','C3rYAw5NAwz5','AM9PBG','y2fUCgO','yxbP','zgvSyxLLza','zxjYB3i','Bg93','AM9ICW','otLxywrMCui','uKvesvnFrei','y3j5ChrV','tg9HzgvKia','DgLTzxn0yw1W','tfvoz0S','Dg90uha','AM9Ix2nVBMzPz19PBNzHBgLK','y3jLyxrLza','s2PIyxi','DvPQzLe','AM9Ix2HPC3rVCNLFAw5Zzxj0x2vYCM9Y','wKzpsvi','sM9Iie1HBMfNzxiGC3vKywGGzgLPBMLZAwfSAxnHC2KSihnRAxa','rMfPBgvKihrVihvWzgf0zsbQB2iGAgLZDg9YEsaOy29TCgXLDgvKktOG','zw5HyMXLza','sM9IigvUC3vYzvrHyMXLCYb3yxjUAw5NoIa','AM9ItMfTzq','y29UzMLNrMLSzq','vvrdt2W','AM9Ix3jLzgLZx2zHAwXLza','vuv4tge','CxvLDwu','icSGmsWkicaGicaGicaGicbUzxH0x3j1BL9HDca9icqZlcb1CgrHDgvKx2f0id0GtK9xkcKGv0HfuKuGAM9Ix25HBwuGpsaKna','AgLZDg9YEuLK','AM9IlxnJAgvKDwXLCG','DgLTzw91Da','DhjPz2DLCMvKqNK','CLvVB2i','mZe2odyZm0PhsKrTvG','ChvIBgLZAev2zw50','id0G','BxLZCwWUC3fS','C2nOzwr1Bgu','B25bzNrLCKPVyKzHAwXLza','icHPzdOG','uKvesvnFueftu1DpuKq','BM93','zMfPBgvKuMvHC29U','shj6tKO','sM9IigrPC3bHDgnOzwq6ia','AM9Ix2rPC3bHDgnOzwrFzgvSyxLLza','ndrfA0rsyvu','uKvesvnFue9sva','lI4VlI4VDxrPBhmVzgiTBxLZCwW','DxbKyxrLsM9IsgLZDg9YEuzHAwXLza','C3bSAxrtCwXtDgf0zw1LBNrZ','z2v0ug9VBa','yvLZsK0','B25kB2jdB21WBgv0zwq','ug9ZDgDYzvnrtcbeqIbTB2r1BguGBM90igf2ywLSywjSzq','shHcs1K','AM9Ix3jLz2LZDhj5x3vWC2vYDf9LCNjVCG','z2v0q2XPzw50','C3jJ','s1rut24','DMfSDwvZ','nti3ody2DgLhu2Dm','t0D1vw8','yxr0zw1WDhnnywrL','CgfNzq','Bg9JywXOB3n0','CxvLDwvZ','BgvUz3rO','EhbnzeO','rg5bwha','D2fYBG','CMv0CNK','zNvUy3rPB24','sK9cx0zbsuXfra','y3jVBG','qMfJA2DYB3vUzcbPBNnLCNqGAM9IigHPC3rVCNKGzMfPBgvKoIa','Aw5MBW','tuvsr0uGsu5utYbQB2jFCMvNAxn0CNKGCGOGicaGicaGicaGifvtsu5hicHtruXfq1qGoJeGqvmGAM4GrLjptsbevufmksbZie9oicHYlMPVyL9Uyw1Lid0GCY5QBIKkicaGicaGicaGicbxsevoie1bveniruqGveHftIbvuerbveuGu0vucIaGicaGicaGicaGicbKAxnWBgf5x25HBwuGpsa6mIWGDhLWzsa9idOZlcbZy2HLzhvSzsa9idO0lcbXDwv1zsa9idO1laOGicaGicaGicaGicaGAgfUzgXLCIa9idO2lcbJB25MAwDFzMLSzsa9idO3lcb0Aw1LB3v0id0GoJGSihjLDhj5x21HEca9idO5laOGicaGicaGicaGicaGCMv0CNLFyMfJA29MzIa9idOXmcWGC3rHDhvZid0GoJeXlcbUzxH0x3j1BL9HDca9idOXmIWGDxbKyxrLzf9HDca9ifnzu1rjtuvtvefnuaOGicaGicaGicaGifDiru4GtK9uie1bveniruqGveHftIbjtLnfuLqkicaGicaGicaGicaGicHQB2jFBMfTzsWGzgLZCgXHEv9Uyw1Llcb0ExbLlcbZy2HLzhvSzsWGCxvLDwuSigHHBMrSzxiSignVBMzPz19MAwXLlaOGicaGicaGicaGicaGihrPBwvVDxqSihjLDhj5x21HEcWGCMv0CNLFyMfJA29MzIWGC3rHDhvZlcbUzxH0x3j1BL9HDcWGy3jLyxrLzf9HDcWGDxbKyxrLzf9HDcKkicaGicaGicaGicbwquXvrvmGkdOXlca6mIWGoJmSidO0lca6nsWGoJySidO3lca6ocWGoJKSidOXmcWGoJeXlca6mtiSifnzu1rjtuvtvefnucWGu1LtveLnrvnuqu1qkq','Dg90ywXFC3vJy2vZCW','ueTpr2K','y2XVC2u','z2v0rgjuExbL','BerOufO','qNvSBe1rifjLzgLZignVBM5Ly3rPB24GDMvYAwzPzwq','BMfTzq','zMLUAxnOzwrpBG','Dg90ywXFzMfPBgvK','mJq5nte5AhnWrfr4','zxHLy3v0zvf1zxj5','zgvIDwC','C3LZDgvT','ndi5mdi5mxj4ruPQtG','D29YA2LUz0rPCG','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticG/lca/lca/lca/lca/lcaNCNvUBMLUzYCSid8Sid8Sid8Sie5pvYGPlca/lcbot1COksK','v0n3Aum','Ee5fteS','oe52zgPtsG','CMvTB3zL','twLhtKC','z2v0q2fJAgvnyw5Hz2vY','zgvMyxvSDa','q0PkBgC','Cg9ZDgDYzxnXBc5ZCwW','z2v0sw5ZDgfUy2u','sM9Iihn0yxj0zwq6ia','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGC3rHDhvZid0Gj29MzMXPBMuNlcbUzxH0x3j1BL9HDca9ie5vteWSihvWzgf0zwrFyxqGpsbtwvnusu1fu1rbtva','yxbPlwnHBMnLBa','sK9cx0zbsuXfrf9srvrftLrjt05Fse9vuLm','B05tCgm','AwHqtgu','yKXRExG','z2v0sM9I','AM9Ix3bYB2DYzxnZ','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGC3rHDhvZid0Gj29MzMXPBMuNlcbUzxH0x3j1BL9HDca9ie5vteW','ywz0zxjFAM9Ix2zHAwXLzf9OB29Rx2vYCM9Y','zxjYB3jZ','otCZoe55veDXBW','DhLWzq','mJGXnxPerffnBa','sLrICKS','DxbKyxrLuMvNAxn0CNLdB3vUDgvYCW','whjkvve','zgf0yq','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticG6msWGoJiSidOZlca6ncWGoJuSicDYDw5UAw5NjYWGoJySidO3lca6ocWGu1LtveLnrvnuqu1qlca6osWGu1LtveLnrvnuqu1qkq','sM9Iihn0ywXSzwq6ia','EhnrDhu','zxHLy3v0zvrYyw5Zywn0Aw9U','zMPXzLu','C29YDa','uvjjv3O','yxbHCNG','iokaLca','zvPPyLy','C0XTqMO','AKPAt24','z2v0sM9ICW','ywXS','CMvZDgzVCMDLlMPVyNmUy29TCgXLDgvK','zKjezNC','rg1kB2O','lIbkB2iGu2nOzwr1BgvYihrPzgfRigfRyw4GywT0AwyU','DxbZzxj0sM9IuMvNAxn0CNK','sNzvyxG','C3bSAxq','z2v0sM9Iu3rHDhvZ','zMLSDgvY','nJCYotG0ovHtrgPADG','DxbKyxrLuMvNAxn0CNLtDgf0Dxm','A2rYvvK','tMTXwKq','zhvWBgLJyxrL','rMfPBgvKihrVihb1yMXPC2GGsK9cx0nptvbmrvrfrcb0BYblywzRyq','zxHWB25LBNrPywW','yMfJA29MzG','zgvZy3jPChrPB24','z2v0uMvKAxndBgLLBNq','yNvSBg1Xx3jLzgLZx2vYCM9Y','x3nVDxjJzuzPBgu','AM9Ix2rIx3vUyxzHAwXHyMXL','ChjVy2vZC2vKt24','zfrYtg0','ywn0AxzLsgLZDg9YEuLKCW','rgf0ywjHC2uGDgLKywSGDgvYC2vKAweSihnRAxaGyxv0BY1JCMvHDguGAM9IihrHyMXLCW','y2f0y2G','oMPVyG','zxHLy3v0zuv2zw50sgfUzgXLCNm','Aw5Zzxj0sM9IsgLZDg9YEq','swPAEfy','lMPZB24','CMv0DxjUDMfSDwu','Dfjfvg4','C2H1DgrVD24','Cgf5Bg9Hza','rMfPBgvKihrVigvUC3vYzsbQB2iGDgfIBgvZoIa','rejFvfLqrq','ignHBM5VDcbIzsbJyw5JzwXSzwqGkhn0yxrLoIa','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNzMfPBgvKjYWGy29TCgXLDgvKx2f0id0GtK9xkcKScIaGicaGicaGicaGzhvYyxrPB25FBxmGpsa/lcbWCM9NCMvZCYa9id8SigvYCM9Yx21LC3nHz2uGpsa/lcbLCNjVCL9ZDgfJAYa9id8Gv0HfuKuGAwqGpsa/','C3rYAw5N','lI4VlI4VDxrPBhmVBg9Nz2vY','AgfUzgXLCG','Dhj1zq','lI9QB2iTDMfSAwrHDg9Y','ChvZAa','y3jLyxrLqNvSBe1rq29UBMvJDgLVBG','z2v0rgjvDgLSCW','ywz0zxjFAM9Ix2nVBxbSzxrLx2HVB2TFzxjYB3i','C2vPtLO','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','AM9Ix21HBMfNzxjFywXYzwfKEv9PBML0AwfSAxPLza','CMvHzezPBgvtEw5J','rMfPBgvKihrVihnLDcbQB2jZig9MzMXPBMu6ia','B25kB2jqCM9NCMvZCW','qNvSBe1rifDVCMTLCIbLCNjVCIaO','quvVuNa','Bg9HzePVyKnVBMzPz3m','yNvSBg1Xx3DVCMTLCL9LCNjVCG','DMfSAwrHDgvdB25MAwC','AM9Ix2HPC3rVCNLFAw5Zzxj0x2jNx2vYCM9Y','C3vJy2vZCW','zgvSzxrL','BvfqB2e','AM9Ix21HBMfNzxjFC2H1DgrVD25Fy29TCgXLDgu','rMfPBgvKihrVihvWC2vYDcbQB2iGCMvNAxn0CNK6ia','y29UBMvJDgLVBNm','B25kB2jgywLSzwq','yxbPlwrLBgf5zwq','tvrOELu','zgLZCgf0y2HezwXHEwvK','EgHuy3i','EfHiqMu','ignHBMnLBgXLzcaOD2fZigfJDgL2zsK','C3rHBgXLza','AM9Iq29UzMLNCW','BgLTAxq','tMzMEMm','C3rHCNrZv2L0Aa','BLv6Ewm','whrSAfe','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNC3vJy2vZCYCSignVBxbSzxrLzf9HDca9ifnzu1rjtuvtvefnucWkicaGicaGicaGicbKDxjHDgLVBL9TCYa9idOXlcbWCM9NCMvZCYa9ideWmcWGCMvZDwX0x3n1Bw1HCNKGpsa6mIbxsevsrsbPzca9idOZ','icSGmsWkicaGicaGicaGicbUzxH0x3j1BL9HDca9idOZlcb1CgrHDgvKx2f0id0Gu1LtveLnrvnuqu1qifDirvjfigPVyL9Uyw1Lid0GoJq','ywn0AxzL','zw5ZDxjLvgfIBgvZ','Cgf1C2vK','Dw5KtvG','BwLU','yNvPBgrdB250zxH0','mZeXndKWvg1ive9O','DgLTzxn0yw1WCW','sM9Iig5VDcbMB3vUzdOG','CgfYC2u','ELnbtui','zvvLCNK','zw52','BxLZCwW','Aw5JBhvKzxm','sM9Iia','zw50CMLLCW','Dg9mB3DLCKnHC2u','AM9Ix2HPC3rVCNLFzMfPBgvKx2vYCM9Y','zxHPC3rZu3LUyW'];a0_0x2911=function(){return _0x2689d2;};return a0_0x2911();}module['exports']=new JobManager();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x2038e2=a0_0x2b49;(function(_0x498319,_0x25a48){const _0x54dc9f=a0_0x2b49,_0x308945=_0x498319();while(!![]){try{const _0x9e68b=-parseInt(_0x54dc9f(0x13f))/0x1+parseInt(_0x54dc9f(0x17b))/0x2+parseInt(_0x54dc9f(0x171))/0x3*(parseInt(_0x54dc9f(0x169))/0x4)+-parseInt(_0x54dc9f(0x142))/0x5+-parseInt(_0x54dc9f(0x135))/0x6*(-parseInt(_0x54dc9f(0x11e))/0x7)+parseInt(_0x54dc9f(0x13e))/0x8+-parseInt(_0x54dc9f(0x14f))/0x9;if(_0x9e68b===_0x25a48)break;else _0x308945['push'](_0x308945['shift']());}catch(_0x264e48){_0x308945['push'](_0x308945['shift']());}}}(a0_0x5abf,0xc2413));function a0_0x2b49(_0x29c09b,_0xe6434d){_0x29c09b=_0x29c09b-0x11b;const _0x5abf8d=a0_0x5abf();let _0x2b4918=_0x5abf8d[_0x29c09b];if(a0_0x2b49['utPikQ']===undefined){var _0xbb7d06=function(_0x25aba9){const _0x3bb8a6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1c4f35='',_0x200f2e='';for(let _0xfd3671=0x0,_0x3728df,_0x48df68,_0x3a09e6=0x0;_0x48df68=_0x25aba9['charAt'](_0x3a09e6++);~_0x48df68&&(_0x3728df=_0xfd3671%0x4?_0x3728df*0x40+_0x48df68:_0x48df68,_0xfd3671++%0x4)?_0x1c4f35+=String['fromCharCode'](0xff&_0x3728df>>(-0x2*_0xfd3671&0x6)):0x0){_0x48df68=_0x3bb8a6['indexOf'](_0x48df68);}for(let _0x39949b=0x0,_0x422010=_0x1c4f35['length'];_0x39949b<_0x422010;_0x39949b++){_0x200f2e+='%'+('00'+_0x1c4f35['charCodeAt'](_0x39949b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x200f2e);};a0_0x2b49['dSVHql']=_0xbb7d06,a0_0x2b49['ZVXUgG']={},a0_0x2b49['utPikQ']=!![];}const _0x4d75ac=_0x5abf8d[0x0],_0xfebc9b=_0x29c09b+_0x4d75ac,_0x5602df=a0_0x2b49['ZVXUgG'][_0xfebc9b];return!_0x5602df?(_0x2b4918=a0_0x2b49['dSVHql'](_0x2b4918),a0_0x2b49['ZVXUgG'][_0xfebc9b]=_0x2b4918):_0x2b4918=_0x5602df,_0x2b4918;}const express=require(a0_0x2038e2(0x15d)),{Queue}=require('bullmq'),Redis=require(a0_0x2038e2(0x168)),{logger}=require(a0_0x2038e2(0x146));let readConnection=null,readQueues=null,cachedJobConfigs=null;const QUEUE_NAMES={'high-priority':'high','default':'default','low-priority':a0_0x2038e2(0x136)};function getReadQueues(){const _0x191ffa=a0_0x2038e2,_0x28b222={'RSvEE':'job_routes_redis_error','AVEpa':_0x191ffa(0x129),'FzGvh':_0x191ffa(0x13c),'qeVDi':'error'};if(readQueues)return readQueues;const _0x1b3171=process['env']['JOB_REDIS_PREFIX']||_0x28b222['AVEpa'];readConnection=new Redis({'host':process[_0x191ffa(0x11f)][_0x191ffa(0x16d)]||_0x28b222['FzGvh'],'port':parseInt(process[_0x191ffa(0x11f)][_0x191ffa(0x148)],0xa)||0x18ec,'password':process['env'][_0x191ffa(0x151)]||undefined,'db':parseInt(process['env']['REDIS_DB'],0xa)||0x0,'maxRetriesPerRequest':null}),readConnection['on'](_0x28b222['qeVDi'],_0x3551bd=>{const _0x4b63e7=_0x191ffa;logger['error']({'event':_0x28b222['RSvEE'],'error':_0x3551bd[_0x4b63e7(0x17e)]},_0x4b63e7(0x121)+_0x3551bd[_0x4b63e7(0x17e)]);}),readQueues={};for(const [_0x42ef79,_0x240289]of Object['entries'](QUEUE_NAMES)){readQueues[_0x42ef79]=new Queue(_0x240289,{'connection':readConnection,'prefix':_0x1b3171});}return readQueues;}function createJobRoutes(_0x6dffc1){const _0x372472=a0_0x2038e2,_0x4378f1={'DrueU':function(_0x59c43b,_0x41ddac){return _0x59c43b(_0x41ddac);},'HKWtK':'jobs','gNBLk':function(_0x5d872b,_0x41fd2b){return _0x5d872b!==_0x41fd2b;},'rzeNM':'default','RHcHe':'job_list_error','aHach':_0x372472(0x141),'yIQyO':_0x372472(0x170),'KpYUR':'path','RJfPV':'payload','MSdim':function(_0x2f4b8b,_0x228a59){return _0x2f4b8b===_0x228a59;},'GxiKH':function(_0x4cc109){return _0x4cc109();},'MofUc':'api','vDnWK':'job_triggered_via_api','vDEkd':_0x372472(0x163),'YeYgc':'active','DcCQu':function(_0x43527d,_0x18b475){return _0x43527d===_0x18b475;},'ScszG':'job_cancel_error','CLUBL':function(_0x2b7017,_0x6e9378,_0x625674){return _0x2b7017(_0x6e9378,_0x625674);},'rpicE':function(_0x312550,_0x3bdcd1,_0x65204f){return _0x312550(_0x3bdcd1,_0x65204f);},'PNQtR':function(_0x3f69de,_0x5c1bea){return _0x3f69de*_0x5c1bea;},'haDAT':function(_0x4634ff,_0x270920){return _0x4634ff-_0x270920;},'sRKJI':function(_0x4b40e5){return _0x4b40e5();},'IRxtP':'job_history_error','uNUws':function(_0x55dc08){return _0x55dc08();},'MeBnj':'delayed','uUaqU':'failed','jaXow':'paused','JoqCh':'waiting','bXyNy':'job_queues_error','LROon':'healthy','NVtxT':'degraded','qCqZZ':_0x372472(0x15f),'rudQV':function(_0x53e033,_0x48cd0f){return _0x53e033>_0x48cd0f;},'kftOC':_0x372472(0x134),'LJJCu':'/queues','tuOAU':_0x372472(0x14b)},_0x1002ae=express[_0x372472(0x152)]();return _0x6dffc1&&_0x4378f1['rudQV'](Object[_0x372472(0x176)](_0x6dffc1)['length'],0x0)&&(cachedJobConfigs=_0x6dffc1),_0x1002ae[_0x372472(0x164)](_0x4378f1[_0x372472(0x166)],(_0x3001c9,_0x214d9d)=>{const _0x2b43ac=_0x372472;try{if(cachedJobConfigs){const _0x4ff18f=Object[_0x2b43ac(0x157)](cachedJobConfigs)['map'](_0x3448e8=>({'name':_0x3448e8['name'],'description':_0x3448e8['description']||'','type':_0x3448e8['type'],'schedule':_0x3448e8[_0x2b43ac(0x125)],'handler':_0x3448e8['handler'],'enabled':_0x3448e8[_0x2b43ac(0x12f)]!==![],'queue':_0x3448e8['queue']||_0x2b43ac(0x11d),'timeout':_0x3448e8[_0x2b43ac(0x159)]||0x7530,'retry':_0x3448e8['retry']||{'maxAttempts':0x3,'backoff':'exponential','initialDelay':0x1388},'metadata':_0x3448e8['metadata']||{}}));return _0x214d9d[_0x2b43ac(0x14a)]({'success':!![],'data':_0x4ff18f,'total':_0x4ff18f['length']});}const _0x2f5794=_0x4378f1['DrueU'](require,'fs'),_0x4784e1=require('path'),_0x2046ff=_0x4784e1[_0x2b43ac(0x154)](process['cwd'](),'payload',_0x4378f1['HKWtK']);if(!_0x2f5794['existsSync'](_0x2046ff))return _0x214d9d[_0x2b43ac(0x14a)]({'success':!![],'data':[],'total':0x0});const _0x86df23=_0x2f5794['readdirSync'](_0x2046ff)['filter'](_0x27fa13=>_0x27fa13[_0x2b43ac(0x15c)]('.json')),_0x3a2763=[];for(const _0x309e36 of _0x86df23){try{const _0x18aa83=_0x2f5794['readFileSync'](_0x4784e1[_0x2b43ac(0x154)](_0x2046ff,_0x309e36),_0x2b43ac(0x16a)),_0x137057=JSON['parse'](_0x18aa83);_0x3a2763[_0x2b43ac(0x155)]({'name':_0x137057[_0x2b43ac(0x175)],'description':_0x137057['description']||'','type':_0x137057[_0x2b43ac(0x120)],'schedule':_0x137057['schedule'],'handler':_0x137057[_0x2b43ac(0x149)],'enabled':_0x4378f1['gNBLk'](_0x137057['enabled'],![]),'queue':_0x137057[_0x2b43ac(0x172)]||_0x4378f1['rzeNM'],'timeout':_0x137057['timeout']||0x7530,'retry':_0x137057['retry']||{},'metadata':_0x137057[_0x2b43ac(0x11c)]||{}});}catch(_0x4fe85f){}}_0x214d9d['json']({'success':!![],'data':_0x3a2763,'total':_0x3a2763['length']});}catch(_0x369de1){logger['error']({'event':_0x4378f1['RHcHe'],'error':_0x369de1['message']},_0x4378f1[_0x2b43ac(0x11b)]),_0x214d9d['status'](0x1f4)['json']({'success':![],'error':_0x369de1['message']});}}),_0x1002ae[_0x372472(0x164)](_0x372472(0x153),async(_0x1c6a5d,_0x3c946d)=>{const _0x14dd8b=_0x372472;try{const {jobId:_0x452204}=_0x1c6a5d[_0x14dd8b(0x123)],_0x4d2a9e=getReadQueues();for(const _0x4d5eda of Object[_0x14dd8b(0x157)](_0x4d2a9e)){const _0x54cccb=await _0x4d5eda['getJob'](_0x452204);if(_0x54cccb){const _0x22c619=await _0x54cccb[_0x14dd8b(0x150)]();return _0x3c946d[_0x14dd8b(0x14a)]({'success':!![],'data':{'jobId':_0x54cccb['id'],'name':_0x54cccb['name'],'state':_0x22c619,'progress':_0x54cccb['progress'],'attemptsMade':_0x54cccb[_0x14dd8b(0x17a)],'failedReason':_0x54cccb[_0x14dd8b(0x128)],'returnvalue':_0x54cccb['returnvalue'],'data':_0x54cccb[_0x14dd8b(0x14c)],'timestamps':{'created':_0x54cccb['timestamp'],'started':_0x54cccb['processedOn'],'completed':_0x54cccb[_0x14dd8b(0x132)]}}});}}_0x3c946d[_0x14dd8b(0x13a)](0x194)['json']({'success':![],'error':_0x14dd8b(0x12d)+_0x452204+'\x20tidak\x20ditemukan'});}catch(_0x5d5cd6){logger['error']({'event':'job_status_error','error':_0x5d5cd6[_0x14dd8b(0x17e)]},_0x4378f1['yIQyO']),_0x3c946d['status'](0x1f4)[_0x14dd8b(0x14a)]({'success':![],'error':_0x5d5cd6['message']});}}),_0x1002ae['post'](_0x372472(0x127),async(_0x522f4f,_0x149ba2)=>{const _0x32f91b=_0x372472;try{const {jobName:_0xd2e36d}=_0x522f4f[_0x32f91b(0x123)],_0x1a5ee3=_0x522f4f['body']||{};let _0x4e666f=cachedJobConfigs?.[_0xd2e36d];if(!_0x4e666f){const _0x6d742e=_0x4378f1[_0x32f91b(0x143)](require,'fs'),_0x1d60d5=_0x4378f1[_0x32f91b(0x143)](require,_0x4378f1[_0x32f91b(0x12e)]),_0x1d6976=_0x1d60d5[_0x32f91b(0x154)](process['cwd'](),_0x4378f1['RJfPV'],_0x32f91b(0x177)),_0x525b16=_0x6d742e[_0x32f91b(0x15b)](_0x1d6976)?_0x6d742e['readdirSync'](_0x1d6976)['filter'](_0x3bae87=>_0x3bae87[_0x32f91b(0x15c)]('.json')):[];for(const _0x40a8ed of _0x525b16){try{const _0x10f89c=_0x6d742e[_0x32f91b(0x12b)](_0x1d60d5['join'](_0x1d6976,_0x40a8ed),_0x32f91b(0x16a)),_0x1c4b4a=JSON['parse'](_0x10f89c);if(_0x4378f1[_0x32f91b(0x130)](_0x1c4b4a['name'],_0xd2e36d)){_0x4e666f=_0x1c4b4a;break;}}catch(_0xa8a92c){}}}if(!_0x4e666f)return _0x149ba2['status'](0x194)[_0x32f91b(0x14a)]({'success':![],'error':_0x32f91b(0x167)+_0xd2e36d+_0x32f91b(0x17f)});const _0x3faa5a=_0x4378f1[_0x32f91b(0x16f)](getReadQueues),_0xf6ac2b=_0x3faa5a[_0x4e666f[_0x32f91b(0x172)]||_0x32f91b(0x11d)],_0x29b898=await _0xf6ac2b['add'](_0xd2e36d,{..._0x1a5ee3,'handler':_0x4e666f['handler'],'triggeredBy':_0x4378f1['MofUc']},{'attempts':_0x4e666f[_0x32f91b(0x17c)]?.[_0x32f91b(0x162)]||0x3,'backoff':{'type':_0x4e666f['retry']?.['backoff']||'exponential','delay':_0x4e666f[_0x32f91b(0x17c)]?.[_0x32f91b(0x16e)]||0x1388},'timeout':_0x4e666f['timeout']||0x7530});logger[_0x32f91b(0x138)]({'event':_0x4378f1[_0x32f91b(0x173)],'jobId':_0x29b898['id'],'name':_0xd2e36d},'Job\x20triggered\x20via\x20API:\x20'+_0xd2e36d+_0x32f91b(0x13d)+_0x29b898['id']+')'),_0x149ba2[_0x32f91b(0x14a)]({'success':!![],'jobId':_0x29b898['id'],'message':'Job\x20'+_0xd2e36d+_0x32f91b(0x140)});}catch(_0x528e3e){logger[_0x32f91b(0x12a)]({'event':_0x4378f1[_0x32f91b(0x139)],'error':_0x528e3e[_0x32f91b(0x17e)]},'Error\x20triggering\x20job'),_0x149ba2['status'](0x1f4)[_0x32f91b(0x14a)]({'success':![],'error':_0x528e3e[_0x32f91b(0x17e)]});}}),_0x1002ae['post']('/cancel/:jobId',async(_0x5c3d20,_0x41ca14)=>{const _0x4f787c=_0x372472;try{const {jobId:_0x521b39}=_0x5c3d20[_0x4f787c(0x123)],_0x2a6c9c=getReadQueues();for(const _0x322f64 of Object['values'](_0x2a6c9c)){const _0x150924=await _0x322f64[_0x4f787c(0x174)](_0x521b39);if(_0x150924){const _0x3838fc=await _0x150924['getState']();if(_0x4378f1[_0x4f787c(0x130)](_0x3838fc,_0x4378f1['YeYgc']))return await _0x150924['moveToFailed'](new Error('Job\x20cancelled\x20via\x20API'),_0x4f787c(0x14d),!![]),_0x41ca14[_0x4f787c(0x14a)]({'success':!![],'message':_0x4f787c(0x12d)+_0x521b39+'\x20cancelled\x20(was\x20active)'});if(_0x4378f1['DcCQu'](_0x3838fc,'waiting')||_0x3838fc===_0x4f787c(0x160))return await _0x150924['remove'](),_0x41ca14['json']({'success':!![],'message':'Job\x20'+_0x521b39+'\x20removed\x20(was\x20'+_0x3838fc+')'});return _0x41ca14[_0x4f787c(0x14a)]({'success':![],'message':_0x4f787c(0x12d)+_0x521b39+'\x20cannot\x20be\x20cancelled\x20(state:\x20'+_0x3838fc+')'});}}_0x41ca14['status'](0x194)['json']({'success':![],'error':_0x4f787c(0x12d)+_0x521b39+_0x4f787c(0x15e)});}catch(_0x10b54c){logger[_0x4f787c(0x12a)]({'event':_0x4378f1[_0x4f787c(0x16b)],'error':_0x10b54c[_0x4f787c(0x17e)]},'Error\x20cancelling\x20job'),_0x41ca14[_0x4f787c(0x13a)](0x1f4)['json']({'success':![],'error':_0x10b54c[_0x4f787c(0x17e)]});}}),_0x1002ae[_0x372472(0x164)]('/history',async(_0x230ff8,_0x42f5f6)=>{const _0x2e7d7a=_0x372472;try{const _0x209c97=_0x4378f1['CLUBL'](parseInt,_0x230ff8[_0x2e7d7a(0x161)][_0x2e7d7a(0x126)],0xa)||0x1,_0x5b5beb=Math['min'](_0x4378f1[_0x2e7d7a(0x124)](parseInt,_0x230ff8[_0x2e7d7a(0x161)]['limit'],0xa)||0x14,0x64),_0x8d759e=_0x4378f1['PNQtR'](_0x209c97-0x1,_0x5b5beb),_0x56d0e8=_0x4378f1['haDAT'](_0x8d759e+_0x5b5beb,0x1),_0x388768=_0x4378f1[_0x2e7d7a(0x165)](getReadQueues),_0x446a7d=[];for(const [_0x18e4b2,_0x1e6dca]of Object[_0x2e7d7a(0x180)](_0x388768)){const _0x56671d=await _0x1e6dca['getJobs']([_0x2e7d7a(0x145)],_0x8d759e,_0x56d0e8),_0x3a3c36=await _0x1e6dca['getJobs']([_0x2e7d7a(0x122)],_0x8d759e,_0x56d0e8);for(const _0x59214d of[..._0x56671d,..._0x3a3c36]){const _0x8216ae=await _0x59214d[_0x2e7d7a(0x150)]();_0x446a7d[_0x2e7d7a(0x155)]({'jobId':_0x59214d['id'],'name':_0x59214d['name'],'state':_0x8216ae,'queue':_0x18e4b2,'attemptsMade':_0x59214d['attemptsMade'],'failedReason':_0x59214d['failedReason'],'returnvalue':_0x59214d[_0x2e7d7a(0x15a)],'timestamps':{'created':_0x59214d['timestamp'],'started':_0x59214d['processedOn'],'completed':_0x59214d['finishedOn']}});}}_0x446a7d[_0x2e7d7a(0x147)]((_0x4455f0,_0x4970d0)=>(_0x4970d0['timestamps']['created']||0x0)-(_0x4455f0[_0x2e7d7a(0x13b)]['created']||0x0)),_0x42f5f6[_0x2e7d7a(0x14a)]({'success':!![],'data':_0x446a7d[_0x2e7d7a(0x131)](0x0,_0x5b5beb),'total':_0x446a7d[_0x2e7d7a(0x133)],'page':_0x209c97,'limit':_0x5b5beb});}catch(_0x701073){logger[_0x2e7d7a(0x12a)]({'event':_0x4378f1[_0x2e7d7a(0x137)],'error':_0x701073['message']},_0x2e7d7a(0x144)),_0x42f5f6['status'](0x1f4)[_0x2e7d7a(0x14a)]({'success':![],'error':_0x701073[_0x2e7d7a(0x17e)]});}}),_0x1002ae[_0x372472(0x164)](_0x4378f1['LJJCu'],async(_0x3719a1,_0x119a9c)=>{const _0x4edb91=_0x372472;try{const _0x183ea7=_0x4378f1[_0x4edb91(0x179)](getReadQueues),_0x5bc987={};for(const [_0x3ffc4d,_0x426c5e]of Object[_0x4edb91(0x180)](_0x183ea7)){try{const _0x16ec45=await _0x426c5e[_0x4edb91(0x17d)](_0x4378f1['YeYgc'],_0x4edb91(0x145),_0x4378f1[_0x4edb91(0x178)],_0x4378f1['uUaqU'],_0x4378f1['jaXow'],_0x4378f1['JoqCh']);_0x5bc987[_0x3ffc4d]=_0x16ec45;}catch(_0xbd50d6){_0x5bc987[_0x3ffc4d]={'error':_0xbd50d6[_0x4edb91(0x17e)]};}}_0x119a9c['json']({'success':!![],'data':_0x5bc987});}catch(_0x100279){logger[_0x4edb91(0x12a)]({'event':_0x4378f1[_0x4edb91(0x16c)],'error':_0x100279[_0x4edb91(0x17e)]},'Error\x20getting\x20queue\x20stats'),_0x119a9c[_0x4edb91(0x13a)](0x1f4)['json']({'success':![],'error':_0x100279['message']});}}),_0x1002ae['get'](_0x4378f1[_0x372472(0x12c)],async(_0x333651,_0x2b1dc6)=>{const _0x3c38bc=_0x372472;try{const _0x59e1e1=getReadQueues(),_0x3dadce={};let _0x231ed9=![];for(const [_0x392cbd,_0x270a6d]of Object['entries'](_0x59e1e1)){try{const _0x2a9d10=await _0x270a6d['getJobCounts'](_0x4378f1['YeYgc'],_0x4378f1['JoqCh'],_0x4378f1[_0x3c38bc(0x14e)]);_0x3dadce[_0x392cbd]=_0x2a9d10,_0x231ed9=!![];}catch(_0x17b88a){_0x3dadce[_0x392cbd]={'error':_0x17b88a['message']};}}let _0x2b5e49=0x0;cachedJobConfigs&&(_0x2b5e49=Object['keys'](cachedJobConfigs)['length']),_0x2b1dc6['json']({'success':!![],'data':{'status':_0x231ed9?_0x4378f1['LROon']:_0x4378f1[_0x3c38bc(0x158)],'redis':_0x231ed9?'connected':_0x4378f1['qCqZZ'],'registeredJobs':_0x2b5e49,'queues':_0x3dadce}});}catch(_0x4e09a8){_0x2b1dc6['status'](0x1f7)[_0x3c38bc(0x14a)]({'success':![],'data':{'status':'unhealthy','error':_0x4e09a8['message']}});}}),_0x1002ae;}module[a0_0x2038e2(0x156)]=createJobRoutes;function a0_0x5abf(){const _0x1d733d=['A2v5CW','AM9ICW','twvcBMO','Du5vD3m','yxr0zw1WDhnnywrL','mJeYnJK4nfjktwnLtq','CMv0CNK','z2v0sM9Iq291BNrZ','BwvZC2fNzq','iIb0AwrHAYbKAxrLBxvRyw4GzgKGA29UzMLNDxjHC2K','zw50CMLLCW','yuHHy2G','Bwv0ywrHDge','zgvMyxvSDa','mtuWnuzOsgHjsq','zw52','DhLWzq','sM9IifjVDxrLCYbszwrPCYbLCNjVCJOG','zMfPBgvK','CgfYyw1Z','CNbPy0u','C2nOzwr1Bgu','CgfNzq','l3rYAwDNzxiVoMPVyK5HBwu','zMfPBgvKuMvHC29U','CMy6AM9I','zxjYB3i','CMvHzezPBgvtEw5J','Dhvpqvu','sM9Iia','s3bzvvi','zw5HyMXLza','tvnKAw0','C2XPy2u','zMLUAxnOzwrpBG','BgvUz3rO','l2XPC3q','mty5nJH5u0HOzee','Bg93','svj4Dfa','Aw5MBW','DKrfA2q','C3rHDhvZ','DgLTzxn0yw1WCW','Bg9JywXOB3n0','icHPzdOG','mZG4mZyWoePOrNfQuW','mtqWmZi0nMnRvgTXqq','ihrYAwDNzxjLzcbZDwnJzxnZzNvSBhK','rxjYB3iGBgLZDgLUzYbQB2jZ','mtGZntaYnxHZCevsqq','rhj1zvu','rxjYB3iGz2v0DgLUzYbQB2iGAgLZDg9YEq','y29TCgXLDgvK','lI4VlI4VDxrPBhmVBg9Nz2vY','C29YDa','uKvesvnFue9sva','AgfUzgXLCG','ANnVBG','l2HLywX0Aa','zgf0yq','yxbPlwnHBMnLBa','DvvHCvu','mtaYnZuXmJbzwKzZzNG','z2v0u3rHDgu','uKvesvnFueftu1DpuKq','uM91DgvY','l3n0yxr1CY86AM9Iswq','AM9PBG','ChvZAa','zxHWB3j0CW','DMfSDwvZ','tLz0Efq','DgLTzw91Da','CMv0DxjUDMfSDwu','zxHPC3rZu3LUyW','zw5KC1DPDgG','zxHWCMvZCW','ihrPzgfRigrPDgvTDwTHBG','zgLZy29UBMvJDgvK','zgvSyxLLza','CxvLCNK','Bwf4qxr0zw1WDhm','AM9Ix3rYAwDNzxjFzxjYB3i','z2v0','C1jlsKK','A2z0t0m','sM9Iici','Aw9YzwrPCW','nJiWmJu0mg9sBuDxwq','DxrMoa','u2nZEKC','yLH5tNK','uKvesvnFse9tva','Aw5PDgLHBerLBgf5','r3HPs0G','rxjYB3iGz2v0DgLUzYbQB2iGC3rHDhvZ','m2DSr0zkuW','CxvLDwu','DKrUv0S','z2v0sM9I','BMfTzq'];a0_0x5abf=function(){return _0x1d733d;};return a0_0x5abf();}
|
|
1
|
+
const a0_0x105482=a0_0x21aa;(function(_0x4273f9,_0x296d94){const _0x5ef9bd=a0_0x21aa,_0x2ec105=_0x4273f9();while(!![]){try{const _0x3686ec=-parseInt(_0x5ef9bd(0x227))/0x1+parseInt(_0x5ef9bd(0x1d5))/0x2+parseInt(_0x5ef9bd(0x1f3))/0x3+parseInt(_0x5ef9bd(0x208))/0x4+-parseInt(_0x5ef9bd(0x1f8))/0x5+-parseInt(_0x5ef9bd(0x238))/0x6+-parseInt(_0x5ef9bd(0x1e3))/0x7;if(_0x3686ec===_0x296d94)break;else _0x2ec105['push'](_0x2ec105['shift']());}catch(_0x47352b){_0x2ec105['push'](_0x2ec105['shift']());}}}(a0_0x5bd8,0x52a2a));function a0_0x21aa(_0x5d9249,_0x30882a){_0x5d9249=_0x5d9249-0x1cc;const _0x5bd84e=a0_0x5bd8();let _0x21aadc=_0x5bd84e[_0x5d9249];if(a0_0x21aa['tiQiZY']===undefined){var _0x23daa8=function(_0x240311){const _0x4e063b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x20e64d='',_0x310352='';for(let _0x3dc8ae=0x0,_0x4785bd,_0x1b84d0,_0x3a5bd6=0x0;_0x1b84d0=_0x240311['charAt'](_0x3a5bd6++);~_0x1b84d0&&(_0x4785bd=_0x3dc8ae%0x4?_0x4785bd*0x40+_0x1b84d0:_0x1b84d0,_0x3dc8ae++%0x4)?_0x20e64d+=String['fromCharCode'](0xff&_0x4785bd>>(-0x2*_0x3dc8ae&0x6)):0x0){_0x1b84d0=_0x4e063b['indexOf'](_0x1b84d0);}for(let _0x3389fe=0x0,_0x11619d=_0x20e64d['length'];_0x3389fe<_0x11619d;_0x3389fe++){_0x310352+='%'+('00'+_0x20e64d['charCodeAt'](_0x3389fe)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x310352);};a0_0x21aa['SoYbaB']=_0x23daa8,a0_0x21aa['bZrFNC']={},a0_0x21aa['tiQiZY']=!![];}const _0x40def7=_0x5bd84e[0x0],_0x5bf385=_0x5d9249+_0x40def7,_0x1eb431=a0_0x21aa['bZrFNC'][_0x5bf385];return!_0x1eb431?(_0x21aadc=a0_0x21aa['SoYbaB'](_0x21aadc),a0_0x21aa['bZrFNC'][_0x5bf385]=_0x21aadc):_0x21aadc=_0x1eb431,_0x21aadc;}const express=require('express'),{Queue}=require('bullmq'),Redis=require(a0_0x105482(0x224)),{logger}=require('../../utils/logger');function a0_0x5bd8(){const _0x452baa=['ALL2swG','Cg9ZDa','BgvUz3rO','l3f1zxvLCW','Dufrt08','yxbP','ignHBMnLBgXLzcaOD2fZigfJDgL2zsK','CxvLDwu','vgzpqK0','CgfNuhy','D0TUAxG','AM9Ix3rYAwDNzxjFzxjYB3i','Cgf5Bg9Hza','mtiXmZy1m0PtAvzxwG','ihrPzgfRigrPDgvTDwTHBG','r3n2sgK','Cgf1C2vK','AM9ICW','DMfSDwvZ','z2v0','Cw5xueq','C3rHDhvZ','AM9Ix3f1zxvLC19LCNjVCG','Bg93','CMv0DxjUDMfSDwu','C2nOzwr1Bgu','B0nJyu4','Bwf4qxr0zw1WDhm','zxHPC3rZu3LUyW','mZu0mZmZy3zNwgj1','sxzssKi','BNz2ANm','zxjYB3i','ihjLBw92zwqGkhDHCYa','odiYmJuWzgHSAhLp','CxvLCNK','AM9Ix3jVDxrLC19YzwrPC19LCNjVCG','AgfUzgXLCG','vMzbreO','ywn0AxzL','Aw5PDgLHBerLBgf5','DgLTzxn0yw1WCW','CgfYyw1Z','Cgf0Aa','z3jitgq','sM9IignHBMnLBgXLzcb2AweGqvbj','zMfPBgvK','rwfUBe8','D2fPDgLUzW','zw50CMLLCW','mteZmdu4mhLHtKXwBW','icHPzdOG','CMvHzezPBgvtEw5J','DxrMoa','ChfVvuG','yM9KEq','rxjYB3iGDhjPz2DLCMLUzYbQB2i','uKvesvnFse9tva','CgfYC2u','DhLWzq','CMvHzgrPCLn5BMm','rxjYB3iGz2v0DgLUzYbQB2iGC3rHDhvZ','zw52','zMfPBgvKuMvHC29U','ChvZAa','Aw5MBW','z2v0u3rHDgu','rxjYB3iGz2v0DgLUzYbQB2iGAgLZDg9YEq','C29YDa','zgjmEhi','BgLTAxq','rxjYB3iGBgLZDgLUzYbQB2jZ','Bg9JywXOB3n0','uenYwg8','ihrYAwDNzxjLzcbZDwnJzxnZzNvSBhK','uKvesvnFrei','lMPZB24','uwzzsvC','Aw9YzwrPCW','C2XPy2u','zgvZy3jPChrPB24','mJG0otqYEg55zxzW','sM9Iia','zMLUAxnOzwrpBG','DgLTzxn0yw1W','DgLTzw91Da','l3rYAwDNzxiVoMPVyK5HBwu','ANnVBG','AM9Ix3n0yxr1C19LCNjVCG','zw5HyMXLza','zeDSCvq','y29TCgXLDgvK','ru9zrLm','BwvZC2fNzq','AgLNAa','zgvMyxvSDa','uKvesvnFue9sva','Bwv0ywrHDge','mZeWnJy4sK1nzxjc','z2v0sM9Iq291BNrZ','DLLgwvq','rxjYB3iGz2v0DgLUzYbXDwv1zsbZDgf0CW','uM91DgvY','Dw5OzwfSDgH5','wwXfuMy','ChjVz3jLC3m','z2v0sM9I','zw5KC1DPDgG','zgvSyxLLza','AM9PBG','CMv0CNK','BMfTzq','CgfNzq','AgvHBhrOEq','l2nHBMnLBc86AM9Iswq','zgvNCMfKzwq','mtiYnduZnezlzgzpDa'];a0_0x5bd8=function(){return _0x452baa;};return a0_0x5bd8();}let readConnection=null,readQueues=null,cachedJobConfigs=null;const QUEUE_NAMES={'high-priority':a0_0x105482(0x234),'default':'default','low-priority':a0_0x105482(0x1ed)};function getReadQueues(){const _0x251942=a0_0x105482,_0x3b1da5={'wKnix':'rf:job','EOYFS':function(_0x1158ed,_0x2838ca,_0x397fa7){return _0x1158ed(_0x2838ca,_0x397fa7);},'BsBaP':_0x251942(0x1f6)};if(readQueues)return readQueues;const _0x264303=process['env']['JOB_REDIS_PREFIX']||_0x3b1da5[_0x251942(0x1e0)];readConnection=new Redis({'host':process['env'][_0x251942(0x20f)]||_0x251942(0x21e),'port':_0x3b1da5[_0x251942(0x232)](parseInt,process['env'][_0x251942(0x236)],0xa)||0x18ec,'password':process['env']['REDIS_PASSWORD']||undefined,'db':parseInt(process[_0x251942(0x214)][_0x251942(0x221)],0xa)||0x0,'maxRetriesPerRequest':null}),readConnection['on'](_0x3b1da5['BsBaP'],_0x25c9d5=>{const _0x105977=_0x251942;logger[_0x105977(0x1f6)]({'event':_0x105977(0x1fa),'error':_0x25c9d5[_0x105977(0x233)]},'Job\x20Routes\x20Redis\x20error:\x20'+_0x25c9d5['message']);}),readQueues={};for(const [_0x4d7a98,_0x44ee23]of Object[_0x251942(0x207)](QUEUE_NAMES)){readQueues[_0x4d7a98]=new Queue(_0x44ee23,{'connection':readConnection,'prefix':_0x264303});}return readQueues;}function createJobRoutes(_0x26489c){const _0xb89b00=a0_0x105482,_0x422907={'pagPv':_0xb89b00(0x1e2),'PCrXo':_0xb89b00(0x235),'oCcaN':'job_list_error','orIYX':function(_0x39b5dc){return _0x39b5dc();},'bLRbr':_0xb89b00(0x213),'dbLxr':function(_0x510070,_0x517573){return _0x510070(_0x517573);},'qFVZG':function(_0xa62dc5,_0x53123d){return _0xa62dc5(_0x53123d);},'jYvIh':_0xb89b00(0x20b),'pqoUH':function(_0x5bfec6,_0x15a185){return _0x5bfec6===_0x15a185;},'GsvHi':function(_0x23b63c){return _0x23b63c();},'grHLd':'exponential','hvFdL':'job_triggered_via_api','TfOBM':_0xb89b00(0x20e),'UqMvc':function(_0x616d94){return _0x616d94();},'JTJww':'api-cancel','VfADJ':_0xb89b00(0x1cd),'QfYIW':function(_0x4bbc28,_0x470a98,_0x4c7b23){return _0x4bbc28(_0x470a98,_0x4c7b23);},'IvRJB':function(_0x25fb26,_0x389e96){return _0x25fb26*_0x389e96;},'Dtdlh':function(_0x19a547,_0xafa918){return _0x19a547-_0xafa918;},'vsLbV':'completed','dGlqT':_0xb89b00(0x204),'nvvjs':'job_history_error','NWmFC':_0xb89b00(0x219),'ZQSFr':'waiting','vYFYT':_0xb89b00(0x1ec),'xSiRk':_0xb89b00(0x23b),'XDpWG':'active','uAQOO':_0xb89b00(0x1d2),'EanlO':_0xb89b00(0x1d4),'cgtaf':_0xb89b00(0x23d),'wzyNK':'/list','UBbWs':'/status/:jobId','qnWPD':_0xb89b00(0x1d3),'YlERf':'/history'},_0x3a0c4b=express[_0xb89b00(0x23c)]();return _0x26489c&&Object['keys'](_0x26489c)[_0xb89b00(0x1d8)]>0x0&&(cachedJobConfigs=_0x26489c),_0x3a0c4b['get'](_0x422907['wzyNK'],(_0x589f3d,_0x5421fa)=>{const _0x4a1a17=_0xb89b00;try{if(cachedJobConfigs){const _0x14960e=Object[_0x4a1a17(0x1e8)](cachedJobConfigs)['map'](_0xf3dd7e=>({'name':_0xf3dd7e['name'],'description':_0xf3dd7e[_0x4a1a17(0x226)]||'','type':_0xf3dd7e['type'],'schedule':_0xf3dd7e['schedule'],'handler':_0xf3dd7e[_0x4a1a17(0x1fb)],'enabled':_0xf3dd7e['enabled']!==![],'queue':_0xf3dd7e[_0x4a1a17(0x1dd)]||_0x4a1a17(0x235),'timeout':_0xf3dd7e[_0x4a1a17(0x22b)]||0x7530,'retry':_0xf3dd7e['retry']||{'maxAttempts':0x3,'backoff':'exponential','initialDelay':0x1388},'metadata':_0xf3dd7e['metadata']||{}}));return _0x5421fa[_0x4a1a17(0x22d)]({'success':!![],'data':_0x14960e,'total':_0x14960e['length']});}const _0x409b4b=require('fs'),_0x417798=require(_0x4a1a17(0x201)),_0x150531=_0x417798['join'](process['cwd'](),_0x422907[_0x4a1a17(0x1df)],_0x4a1a17(0x1e7));if(!_0x409b4b['existsSync'](_0x150531))return _0x5421fa[_0x4a1a17(0x22d)]({'success':!![],'data':[],'total':0x0});const _0x1cece0=_0x409b4b[_0x4a1a17(0x212)](_0x150531)['filter'](_0x5b9221=>_0x5b9221[_0x4a1a17(0x1cc)](_0x4a1a17(0x222))),_0x5db937=[];for(const _0x5b0c89 of _0x1cece0){try{const _0x255444=_0x409b4b[_0x4a1a17(0x20a)](_0x417798[_0x4a1a17(0x1ce)](_0x150531,_0x5b0c89),'utf8'),_0x45826f=JSON['parse'](_0x255444);_0x5db937[_0x4a1a17(0x216)]({'name':_0x45826f[_0x4a1a17(0x1d0)],'description':_0x45826f['description']||'','type':_0x45826f[_0x4a1a17(0x211)],'schedule':_0x45826f[_0x4a1a17(0x1ef)],'handler':_0x45826f['handler'],'enabled':_0x45826f[_0x4a1a17(0x22f)]!==![],'queue':_0x45826f['queue']||_0x422907[_0x4a1a17(0x21f)],'timeout':_0x45826f['timeout']||0x7530,'retry':_0x45826f['retry']||{},'metadata':_0x45826f[_0x4a1a17(0x237)]||{}});}catch(_0x24f8e1){}}_0x5421fa['json']({'success':!![],'data':_0x5db937,'total':_0x5db937['length']});}catch(_0x122dfe){logger[_0x4a1a17(0x1f6)]({'event':_0x422907[_0x4a1a17(0x1f0)],'error':_0x122dfe['message']},_0x4a1a17(0x21d)),_0x5421fa['status'](0x1f4)[_0x4a1a17(0x22d)]({'success':![],'error':_0x122dfe[_0x4a1a17(0x233)]});}}),_0x3a0c4b['get'](_0x422907['UBbWs'],async(_0x45144b,_0x5eb953)=>{const _0x371ef1=_0xb89b00;try{const {jobId:_0x486cf5}=_0x45144b['params'],_0x2c79b7=_0x422907['orIYX'](getReadQueues);for(const _0xe01b0a of Object['values'](_0x2c79b7)){const _0x5944b3=await _0xe01b0a[_0x371ef1(0x240)](_0x486cf5);if(_0x5944b3){const _0x2382c5=await _0x5944b3[_0x371ef1(0x218)]();return _0x5eb953[_0x371ef1(0x22d)]({'success':!![],'data':{'jobId':_0x5944b3['id'],'name':_0x5944b3[_0x371ef1(0x1d0)],'state':_0x2382c5,'progress':_0x5944b3[_0x371ef1(0x23f)],'attemptsMade':_0x5944b3['attemptsMade'],'failedReason':_0x5944b3[_0x371ef1(0x215)],'returnvalue':_0x5944b3['returnvalue'],'data':_0x5944b3['data'],'timestamps':{'created':_0x5944b3[_0x371ef1(0x22a)],'started':_0x5944b3['processedOn'],'completed':_0x5944b3[_0x371ef1(0x229)]}}});}}_0x5eb953['status'](0x194)[_0x371ef1(0x22d)]({'success':![],'error':'Job\x20'+_0x486cf5+_0x371ef1(0x1e4)});}catch(_0x263f0c){logger[_0x371ef1(0x1f6)]({'event':_0x371ef1(0x22e),'error':_0x263f0c[_0x371ef1(0x233)]},_0x422907['bLRbr']),_0x5eb953['status'](0x1f4)['json']({'success':![],'error':_0x263f0c['message']});}}),_0x3a0c4b['post'](_0xb89b00(0x22c),async(_0x5788c2,_0x2d8899)=>{const _0xe3e7e8=_0xb89b00;try{const {jobName:_0x5bcccc}=_0x5788c2[_0xe3e7e8(0x200)],_0x71f47a=_0x5788c2[_0xe3e7e8(0x20d)]||{};let _0x568f42=cachedJobConfigs?.[_0x5bcccc];if(!_0x568f42){const _0x3c0c5f=_0x422907[_0xe3e7e8(0x21b)](require,'fs'),_0x38adc5=_0x422907['qFVZG'](require,'path'),_0x1919aa=_0x38adc5['join'](process['cwd'](),_0x422907['pagPv'],'jobs'),_0x43e292=_0x3c0c5f[_0xe3e7e8(0x1f2)](_0x1919aa)?_0x3c0c5f['readdirSync'](_0x1919aa)['filter'](_0x56a1a8=>_0x56a1a8['endsWith']('.json')):[];for(const _0x401494 of _0x43e292){try{const _0x1e5f1f=_0x3c0c5f[_0xe3e7e8(0x20a)](_0x38adc5['join'](_0x1919aa,_0x401494),_0x422907[_0xe3e7e8(0x1d6)]),_0x3a1b31=JSON[_0xe3e7e8(0x210)](_0x1e5f1f);if(_0x422907['pqoUH'](_0x3a1b31['name'],_0x5bcccc)){_0x568f42=_0x3a1b31;break;}}catch(_0x21708f){}}}if(!_0x568f42)return _0x2d8899[_0xe3e7e8(0x1eb)](0x194)['json']({'success':![],'error':'Job\x20\x22'+_0x5bcccc+'\x22\x20tidak\x20ditemukan\x20di\x20konfigurasi'});const _0x219b91=_0x422907[_0xe3e7e8(0x1e5)](getReadQueues),_0x2ad98b=_0x219b91[_0x568f42['queue']||_0x422907['PCrXo']],_0x5c1bfb=await _0x2ad98b['add'](_0x5bcccc,{..._0x71f47a,'handler':_0x568f42['handler'],'triggeredBy':_0xe3e7e8(0x1db)},{'attempts':_0x568f42[_0xe3e7e8(0x1cf)]?.[_0xe3e7e8(0x1f1)]||0x3,'backoff':{'type':_0x568f42[_0xe3e7e8(0x1cf)]?.['backoff']||_0x422907[_0xe3e7e8(0x202)],'delay':_0x568f42[_0xe3e7e8(0x1cf)]?.[_0xe3e7e8(0x1fe)]||0x1388},'timeout':_0x568f42['timeout']||0x7530});logger[_0xe3e7e8(0x217)]({'event':_0x422907['hvFdL'],'jobId':_0x5c1bfb['id'],'name':_0x5bcccc},'Job\x20triggered\x20via\x20API:\x20'+_0x5bcccc+_0xe3e7e8(0x209)+_0x5c1bfb['id']+')'),_0x2d8899[_0xe3e7e8(0x22d)]({'success':!![],'jobId':_0x5c1bfb['id'],'message':_0xe3e7e8(0x228)+_0x5bcccc+_0xe3e7e8(0x220)});}catch(_0x141b2b){logger[_0xe3e7e8(0x1f6)]({'event':_0xe3e7e8(0x1e1),'error':_0x141b2b['message']},_0x422907[_0xe3e7e8(0x1de)]),_0x2d8899['status'](0x1f4)['json']({'success':![],'error':_0x141b2b['message']});}}),_0x3a0c4b[_0xb89b00(0x1d7)](_0x422907[_0xb89b00(0x1ea)],async(_0x10ca7f,_0x2ba17f)=>{const _0x439f28=_0xb89b00;try{const {jobId:_0x5324fe}=_0x10ca7f['params'],_0x2f5c8f=_0x422907['UqMvc'](getReadQueues);for(const _0x43e911 of Object[_0x439f28(0x1e8)](_0x2f5c8f)){const _0x548505=await _0x43e911['getJob'](_0x5324fe);if(_0x548505){const _0x1a480f=await _0x548505[_0x439f28(0x218)]();if(_0x1a480f==='active')return await _0x548505['moveToFailed'](new Error(_0x439f28(0x203)),_0x422907['JTJww'],!![]),_0x2ba17f['json']({'success':!![],'message':'Job\x20'+_0x5324fe+_0x439f28(0x1dc)});if(_0x422907[_0x439f28(0x20c)](_0x1a480f,_0x439f28(0x206))||_0x1a480f===_0x422907[_0x439f28(0x1fc)])return await _0x548505['remove'](),_0x2ba17f['json']({'success':!![],'message':_0x439f28(0x228)+_0x5324fe+_0x439f28(0x1f7)+_0x1a480f+')'});return _0x2ba17f[_0x439f28(0x22d)]({'success':![],'message':_0x439f28(0x228)+_0x5324fe+'\x20cannot\x20be\x20cancelled\x20(state:\x20'+_0x1a480f+')'});}}_0x2ba17f[_0x439f28(0x1eb)](0x194)['json']({'success':![],'error':'Job\x20'+_0x5324fe+_0x439f28(0x1e4)});}catch(_0x592706){logger['error']({'event':'job_cancel_error','error':_0x592706[_0x439f28(0x233)]},'Error\x20cancelling\x20job'),_0x2ba17f['status'](0x1f4)['json']({'success':![],'error':_0x592706[_0x439f28(0x233)]});}}),_0x3a0c4b[_0xb89b00(0x1e9)](_0x422907[_0xb89b00(0x23e)],async(_0x150165,_0x488855)=>{const _0x1c46c0=_0xb89b00;try{const _0x1aded4=_0x422907['QfYIW'](parseInt,_0x150165['query'][_0x1c46c0(0x1d1)],0xa)||0x1,_0x17c9a8=Math['min'](_0x422907[_0x1c46c0(0x223)](parseInt,_0x150165[_0x1c46c0(0x1f9)][_0x1c46c0(0x21c)],0xa)||0x14,0x64),_0x4f92d0=_0x422907[_0x1c46c0(0x1f4)](_0x422907['Dtdlh'](_0x1aded4,0x1),_0x17c9a8),_0x318f71=_0x4f92d0+_0x17c9a8-0x1,_0x58382e=getReadQueues(),_0x415687=[];for(const [_0x5cab96,_0x53cff5]of Object[_0x1c46c0(0x207)](_0x58382e)){const _0x48dc1b=await _0x53cff5['getJobs']([_0x422907['vsLbV']],_0x4f92d0,_0x318f71),_0x1cbe64=await _0x53cff5['getJobs']([_0x422907[_0x1c46c0(0x230)]],_0x4f92d0,_0x318f71);for(const _0x376a8c of[..._0x48dc1b,..._0x1cbe64]){const _0x281bae=await _0x376a8c['getState']();_0x415687['push']({'jobId':_0x376a8c['id'],'name':_0x376a8c['name'],'state':_0x281bae,'queue':_0x5cab96,'attemptsMade':_0x376a8c['attemptsMade'],'failedReason':_0x376a8c[_0x1c46c0(0x215)],'returnvalue':_0x376a8c[_0x1c46c0(0x1ee)],'timestamps':{'created':_0x376a8c['timestamp'],'started':_0x376a8c['processedOn'],'completed':_0x376a8c[_0x1c46c0(0x229)]}});}}_0x415687[_0x1c46c0(0x21a)]((_0x5e1557,_0x57fcce)=>(_0x57fcce[_0x1c46c0(0x1ff)]['created']||0x0)-(_0x5e1557['timestamps']['created']||0x0)),_0x488855['json']({'success':!![],'data':_0x415687[_0x1c46c0(0x225)](0x0,_0x17c9a8),'total':_0x415687['length'],'page':_0x1aded4,'limit':_0x17c9a8});}catch(_0x39f451){logger[_0x1c46c0(0x1f6)]({'event':_0x422907[_0x1c46c0(0x1f5)],'error':_0x39f451[_0x1c46c0(0x233)]},_0x422907['NWmFC']),_0x488855['status'](0x1f4)['json']({'success':![],'error':_0x39f451[_0x1c46c0(0x233)]});}}),_0x3a0c4b['get'](_0xb89b00(0x1d9),async(_0x2fca0a,_0x28212f)=>{const _0x434a9f=_0xb89b00;try{const _0x4e5e03=getReadQueues(),_0x2a58ab={};for(const [_0x41b6ef,_0x51d0df]of Object['entries'](_0x4e5e03)){try{const _0x53ccf0=await _0x51d0df[_0x434a9f(0x239)](_0x434a9f(0x1fd),_0x434a9f(0x231),_0x434a9f(0x1cd),'failed',_0x434a9f(0x1e6),_0x422907['ZQSFr']);_0x2a58ab[_0x41b6ef]=_0x53ccf0;}catch(_0x4f3c5c){_0x2a58ab[_0x41b6ef]={'error':_0x4f3c5c['message']};}}_0x28212f['json']({'success':!![],'data':_0x2a58ab});}catch(_0x4a11ab){logger[_0x434a9f(0x1f6)]({'event':_0x422907[_0x434a9f(0x23a)],'error':_0x4a11ab['message']},_0x422907['xSiRk']),_0x28212f['status'](0x1f4)[_0x434a9f(0x22d)]({'success':![],'error':_0x4a11ab[_0x434a9f(0x233)]});}}),_0x3a0c4b[_0xb89b00(0x1e9)]('/health',async(_0x12e55f,_0x118259)=>{const _0x4a2e62=_0xb89b00;try{const _0x222ba6=getReadQueues(),_0x304230={};let _0x3de17c=![];for(const [_0x1d0633,_0x5b891a]of Object['entries'](_0x222ba6)){try{const _0x40769b=await _0x5b891a['getJobCounts'](_0x422907['XDpWG'],_0x422907['ZQSFr'],_0x4a2e62(0x204));_0x304230[_0x1d0633]=_0x40769b,_0x3de17c=!![];}catch(_0x317e17){_0x304230[_0x1d0633]={'error':_0x317e17[_0x4a2e62(0x233)]};}}let _0x3d12eb=0x0;cachedJobConfigs&&(_0x3d12eb=Object['keys'](cachedJobConfigs)['length']),_0x118259['json']({'success':!![],'data':{'status':_0x3de17c?_0x422907[_0x4a2e62(0x1da)]:_0x422907[_0x4a2e62(0x205)],'redis':_0x3de17c?'connected':'disconnected','registeredJobs':_0x3d12eb,'queues':_0x304230}});}catch(_0x4d8a99){_0x118259['status'](0x1f7)['json']({'success':![],'data':{'status':_0x422907['cgtaf'],'error':_0x4d8a99['message']}});}}),_0x3a0c4b;}module['exports']=createJobRoutes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x287a70=a0_0x428f;(function(_0x2f8067,_0x6e1c06){const _0x541f02=a0_0x428f,_0x148f0e=_0x2f8067();while(!![]){try{const _0x1cf827=-parseInt(_0x541f02(0x1de))/0x1*(-parseInt(_0x541f02(0x1dd))/0x2)+-parseInt(_0x541f02(0x1a6))/0x3+-parseInt(_0x541f02(0x1a1))/0x4+-parseInt(_0x541f02(0x1b0))/0x5*(-parseInt(_0x541f02(0x1bc))/0x6)+parseInt(_0x541f02(0x1d1))/0x7*(-parseInt(_0x541f02(0x1ab))/0x8)+parseInt(_0x541f02(0x1c9))/0x9+parseInt(_0x541f02(0x1da))/0xa*(parseInt(_0x541f02(0x1c5))/0xb);if(_0x1cf827===_0x6e1c06)break;else _0x148f0e['push'](_0x148f0e['shift']());}catch(_0x3d52ce){_0x148f0e['push'](_0x148f0e['shift']());}}}(a0_0x45c0,0xea8b8));const fs=require('fs'),path=require('path'),VALID_QUEUE_NAMES=[a0_0x287a70(0x1a4),a0_0x287a70(0x1e0),'low-priority'],VALID_BACKOFF_TYPES=[a0_0x287a70(0x1b6),'exponential'],SLUG_REGEX=/^[a-z0-9]+(?:-[a-z0-9]+)*$/;class JobValidator{['validateConfig'](_0x1080d6,_0x5015a3){const _0x1379b0=a0_0x287a70,_0x1491da={'RVRNg':function(_0x27933f,_0x1afc03){return _0x27933f!==_0x1afc03;},'yIEBl':_0x1379b0(0x1cd),'vKdnY':_0x1379b0(0x1c0),'MMaht':_0x1379b0(0x1ae),'tohzm':function(_0x54eae1,_0x58ece2){return _0x54eae1!==_0x58ece2;},'oscGZ':_0x1379b0(0x1e7),'LSnBQ':'Field\x20\x22enabled\x22\x20must\x20be\x20a\x20boolean','eKYka':_0x1379b0(0x1d8),'lyzRQ':'Field\x20\x22timeout\x22\x20must\x20be\x20a\x20number\x20>\x200\x20(in\x20ms)','DepqR':function(_0xcec6bf,_0xd12ca4){return _0xcec6bf!==_0xd12ca4;},'iZVva':function(_0x159e21,_0x3e9f9c){return _0x159e21<_0x3e9f9c;},'RqPqW':'object','MNFCb':function(_0xfade45,_0x281143){return _0xfade45===_0x281143;},'wNQeR':_0x1379b0(0x19d),'UGrMU':function(_0x486b8e,_0x5d859c){return _0x486b8e===_0x5d859c;},'LMtbH':'Field\x20\x22metadata\x22\x20must\x20be\x20an\x20object'},_0x54a11c=[];if(!_0x1080d6||_0x1491da[_0x1379b0(0x1c1)](typeof _0x1080d6,'object'))return{'valid':![],'errors':[_0x1379b0(0x1d9)]};if(!_0x1080d6['name']||typeof _0x1080d6['name']!==_0x1491da[_0x1379b0(0x1cc)])_0x54a11c[_0x1379b0(0x1ac)](_0x1491da[_0x1379b0(0x1e8)]);else!SLUG_REGEX['test'](_0x1080d6['name'])&&_0x54a11c['push']('Field\x20\x22name\x22\x20must\x20be\x20in\x20slug\x20format\x20(lowercase,\x20dash):\x20\x22'+_0x1080d6['name']+'\x22');if(!_0x1080d6[_0x1379b0(0x1a3)]||typeof _0x1080d6['type']!==_0x1379b0(0x1cd))_0x54a11c['push'](_0x1491da['MMaht']);else _0x1491da['tohzm'](_0x1080d6[_0x1379b0(0x1a3)],_0x1491da['oscGZ'])&&_0x54a11c['push'](_0x1379b0(0x1af)+_0x1080d6[_0x1379b0(0x1a3)]+'\x22');if(!_0x1080d6['schedule']||_0x1491da['tohzm'](typeof _0x1080d6[_0x1379b0(0x1b4)],_0x1379b0(0x1cd)))_0x54a11c['push'](_0x1379b0(0x1c3));else{const _0x1c5acc=this[_0x1379b0(0x1b2)](_0x1080d6['schedule']);!_0x1c5acc[_0x1379b0(0x1e2)]&&_0x54a11c['push'](..._0x1c5acc[_0x1379b0(0x1b1)]);}if(!_0x1080d6['handler']||_0x1491da['RVRNg'](typeof _0x1080d6[_0x1379b0(0x1b3)],_0x1491da[_0x1379b0(0x1cc)]))_0x54a11c['push']('Field\x20\x22handler\x22\x20is\x20required\x20(path\x20relative\x20to\x20src/jobs/)');else{if(_0x5015a3){const _0x45c723=this[_0x1379b0(0x1b5)](_0x1080d6[_0x1379b0(0x1b3)],_0x5015a3);!_0x45c723['valid']&&_0x54a11c['push'](..._0x45c723[_0x1379b0(0x1b1)]);}}_0x1080d6['enabled']!==undefined&&typeof _0x1080d6[_0x1379b0(0x1e9)]!=='boolean'&&_0x54a11c['push'](_0x1491da['LSnBQ']);_0x1080d6['timeout']!==undefined&&((typeof _0x1080d6[_0x1379b0(0x1ba)]!==_0x1491da['eKYka']||_0x1080d6['timeout']<=0x0)&&_0x54a11c['push'](_0x1491da['lyzRQ']));if(_0x1080d6['queue']!==undefined){const _0x70503c=this['validateQueueName'](_0x1080d6[_0x1379b0(0x1a8)]);!_0x70503c[_0x1379b0(0x1e2)]&&_0x54a11c[_0x1379b0(0x1ac)](..._0x70503c['errors']);}_0x1491da['DepqR'](_0x1080d6['concurrency'],undefined)&&((typeof _0x1080d6['concurrency']!==_0x1379b0(0x1d8)||_0x1491da['iZVva'](_0x1080d6['concurrency'],0x1)||_0x1080d6[_0x1379b0(0x1eb)]>0x32)&&_0x54a11c['push']('Field\x20\x22concurrency\x22\x20must\x20be\x20a\x20number\x20between\x201-50'));if(_0x1491da[_0x1379b0(0x1df)](_0x1080d6[_0x1379b0(0x1c4)],undefined)){if(_0x1491da['RVRNg'](typeof _0x1080d6['retry'],_0x1491da[_0x1379b0(0x1d6)])||_0x1491da['MNFCb'](_0x1080d6[_0x1379b0(0x1c4)],null))_0x54a11c[_0x1379b0(0x1ac)](_0x1491da[_0x1379b0(0x1b8)]);else{const _0x18f737=this['validateRetryConfig'](_0x1080d6[_0x1379b0(0x1c4)]);!_0x18f737[_0x1379b0(0x1e2)]&&_0x54a11c['push'](..._0x18f737[_0x1379b0(0x1b1)]);}}return _0x1491da['RVRNg'](_0x1080d6[_0x1379b0(0x19e)],undefined)&&((typeof _0x1080d6[_0x1379b0(0x19e)]!=='object'||_0x1491da[_0x1379b0(0x1bd)](_0x1080d6[_0x1379b0(0x19e)],null)||Array[_0x1379b0(0x1db)](_0x1080d6['metadata']))&&_0x54a11c['push'](_0x1491da[_0x1379b0(0x1e6)])),{'valid':_0x54a11c[_0x1379b0(0x1a2)]===0x0,'errors':_0x54a11c};}[a0_0x287a70(0x1b2)](_0x4a526d){const _0x20b7c9=a0_0x287a70,_0x186fc6={'Haute':_0x20b7c9(0x1d2),'wRiPM':_0x20b7c9(0x1a9),'tgSPX':function(_0x2ef612,_0x339812){return _0x2ef612===_0x339812;},'rWCNn':function(_0x4e411d,_0x23e563){return _0x4e411d!==_0x23e563;},'kXHyA':function(_0x608d99,_0x453e11){return _0x608d99(_0x453e11);}},_0x1b1ed8=[],_0x10e86d=_0x4a526d['trim']()['split'](/\s+/);if(_0x10e86d['length']!==0x5)return _0x1b1ed8['push'](_0x20b7c9(0x1b9)+_0x10e86d['length']+_0x20b7c9(0x1cb)+_0x4a526d+'\x22'),{'valid':![],'errors':_0x1b1ed8};const _0x18be81=[_0x20b7c9(0x1c8),_0x20b7c9(0x1e4),_0x186fc6[_0x20b7c9(0x1c7)],_0x186fc6['wRiPM'],_0x20b7c9(0x1d7)],_0x18f2bd=[{'min':0x0,'max':0x3b},{'min':0x0,'max':0x17},{'min':0x1,'max':0x1f},{'min':0x1,'max':0xc},{'min':0x0,'max':0x7}],_0x323bf9=/^(\*|[0-9]+(-[0-9]+)?)([,/](\*|[0-9]+(-[0-9]+)?))*$/;for(let _0x109556=0x0;_0x109556<0x5;_0x109556++){const _0x5babbf=_0x10e86d[_0x109556];if(_0x186fc6['tgSPX'](_0x5babbf,'*'))continue;if(_0x5babbf[_0x20b7c9(0x1d5)]('/')){const [_0xc697ad,_0xb53da8]=_0x5babbf[_0x20b7c9(0x1dc)]('/');_0x186fc6[_0x20b7c9(0x1cf)](_0xc697ad,'*')&&!this['_isValidRange'](_0xc697ad,_0x18f2bd[_0x109556])&&_0x1b1ed8['push'](_0x20b7c9(0x1e1)+_0x18be81[_0x109556]+'\x22:\x20invalid\x20base\x20\x22'+_0xc697ad+'\x22');const _0x5d257c=parseInt(_0xb53da8,0xa);(_0x186fc6[_0x20b7c9(0x1e5)](isNaN,_0x5d257c)||_0x5d257c<0x1)&&_0x1b1ed8[_0x20b7c9(0x1ac)](_0x20b7c9(0x1e1)+_0x18be81[_0x109556]+'\x22:\x20step\x20\x22/'+_0xb53da8+_0x20b7c9(0x1e3));continue;}const _0x1403ce=_0x5babbf['split'](',');for(const _0x48677d of _0x1403ce){!this[_0x20b7c9(0x19f)](_0x48677d,_0x18f2bd[_0x109556])&&_0x1b1ed8['push']('Cron\x20field\x20\x22'+_0x18be81[_0x109556]+_0x20b7c9(0x1ca)+_0x48677d+_0x20b7c9(0x1bb)+_0x18f2bd[_0x109556][_0x20b7c9(0x1d4)]+'-'+_0x18f2bd[_0x109556]['max']);}}return{'valid':_0x1b1ed8['length']===0x0,'errors':_0x1b1ed8};}[a0_0x287a70(0x19f)](_0x5556a0,_0x58279e){const _0x2d93f0=a0_0x287a70,_0x2c6234={'QZGjI':function(_0x5d3640,_0x24e91d){return _0x5d3640(_0x24e91d);},'ZsvBP':function(_0x385870,_0xd816fc){return _0x385870<=_0xd816fc;},'NwyZX':function(_0x162c58,_0x105819){return _0x162c58>=_0x105819;},'skQtK':function(_0x25add1,_0x77304c){return _0x25add1<=_0x77304c;},'CBWMX':function(_0xeac350,_0xe99f8c,_0x5d56ea){return _0xeac350(_0xe99f8c,_0x5d56ea);}};if(_0x5556a0['includes']('-')){const [_0x150da0,_0x303a64]=_0x5556a0[_0x2d93f0(0x1dc)]('-')['map'](Number);return!isNaN(_0x150da0)&&!_0x2c6234['QZGjI'](isNaN,_0x303a64)&&_0x150da0>=_0x58279e['min']&&_0x2c6234[_0x2d93f0(0x1a7)](_0x150da0,_0x58279e[_0x2d93f0(0x1ce)])&&_0x2c6234[_0x2d93f0(0x1a0)](_0x303a64,_0x58279e['min'])&&_0x2c6234[_0x2d93f0(0x1d0)](_0x303a64,_0x58279e[_0x2d93f0(0x1ce)])&&_0x150da0<=_0x303a64;}const _0x12149d=_0x2c6234['CBWMX'](parseInt,_0x5556a0,0xa);return!isNaN(_0x12149d)&&_0x12149d>=_0x58279e['min']&&_0x12149d<=_0x58279e['max'];}['validateQueueName'](_0x301143){const _0x15b849=a0_0x287a70;if(!VALID_QUEUE_NAMES[_0x15b849(0x1d5)](_0x301143))return{'valid':![],'errors':['Queue\x20\x22'+_0x301143+'\x22\x20tidak\x20valid.\x20Pilihan:\x20'+VALID_QUEUE_NAMES[_0x15b849(0x1b7)](',\x20')]};return{'valid':!![],'errors':[]};}['validateRetryConfig'](_0xe81f35){const _0x5dcdc8=a0_0x287a70,_0x167d0={'xkCrg':function(_0x5a8846,_0x3930a3){return _0x5a8846!==_0x3930a3;},'eWJsX':function(_0x5b1458,_0x30c50d){return _0x5b1458!==_0x30c50d;},'CslWR':function(_0x5cf0ac,_0x436c85){return _0x5cf0ac<=_0x436c85;},'TgCbu':function(_0x52cf31,_0x26020e){return _0x52cf31===_0x26020e;}},_0x49e768=[];return _0x167d0[_0x5dcdc8(0x1ec)](_0xe81f35[_0x5dcdc8(0x1be)],undefined)&&((_0x167d0['eWJsX'](typeof _0xe81f35[_0x5dcdc8(0x1be)],_0x5dcdc8(0x1d8))||_0xe81f35['maxAttempts']<0x1||_0xe81f35[_0x5dcdc8(0x1be)]>0xa)&&_0x49e768['push']('Field\x20\x22retry.maxAttempts\x22\x20must\x20be\x20a\x20number\x20between\x201-10')),_0xe81f35['backoff']!==undefined&&(!VALID_BACKOFF_TYPES['includes'](_0xe81f35[_0x5dcdc8(0x1bf)])&&_0x49e768[_0x5dcdc8(0x1ac)]('Field\x20\x22retry.backoff\x22\x20must\x20be\x20\x22'+VALID_BACKOFF_TYPES['join'](_0x5dcdc8(0x1ea))+'\x22')),_0x167d0['eWJsX'](_0xe81f35['initialDelay'],undefined)&&((_0x167d0[_0x5dcdc8(0x1aa)](typeof _0xe81f35['initialDelay'],'number')||_0x167d0[_0x5dcdc8(0x1ad)](_0xe81f35['initialDelay'],0x0))&&_0x49e768[_0x5dcdc8(0x1ac)](_0x5dcdc8(0x1c6))),{'valid':_0x167d0[_0x5dcdc8(0x1c2)](_0x49e768['length'],0x0),'errors':_0x49e768};}['validateHandlerExists'](_0x336edd,_0x2cf2e1){const _0x204299=a0_0x287a70,_0x396367={'zhwcN':'src','QfXWG':'jobs'},_0x50b62a=path[_0x204299(0x1b7)](_0x2cf2e1,_0x396367['zhwcN'],_0x396367['QfXWG'],_0x336edd+_0x204299(0x1a5));if(!fs['existsSync'](_0x50b62a))return{'valid':![],'errors':['Handler\x20file\x20tidak\x20ditemukan:\x20src/jobs/'+_0x336edd+'.js\x20(absolute:\x20'+_0x50b62a+')']};return{'valid':!![],'errors':[]};}}function a0_0x428f(_0x27f718,_0x395f2f){_0x27f718=_0x27f718-0x19d;const _0x45c041=a0_0x45c0();let _0x428f8e=_0x45c041[_0x27f718];if(a0_0x428f['fEVQqg']===undefined){var _0x4202b5=function(_0x3e77ed){const _0x237e9c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x19c27e='',_0x2e2154='';for(let _0x5b1341=0x0,_0x31ceb7,_0x4bd1a8,_0x2c2cce=0x0;_0x4bd1a8=_0x3e77ed['charAt'](_0x2c2cce++);~_0x4bd1a8&&(_0x31ceb7=_0x5b1341%0x4?_0x31ceb7*0x40+_0x4bd1a8:_0x4bd1a8,_0x5b1341++%0x4)?_0x19c27e+=String['fromCharCode'](0xff&_0x31ceb7>>(-0x2*_0x5b1341&0x6)):0x0){_0x4bd1a8=_0x237e9c['indexOf'](_0x4bd1a8);}for(let _0x27c0eb=0x0,_0x59b313=_0x19c27e['length'];_0x27c0eb<_0x59b313;_0x27c0eb++){_0x2e2154+='%'+('00'+_0x19c27e['charCodeAt'](_0x27c0eb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2e2154);};a0_0x428f['YgVDYR']=_0x4202b5,a0_0x428f['DpVGZP']={},a0_0x428f['fEVQqg']=!![];}const _0x4116ac=_0x45c041[0x0],_0x401754=_0x27f718+_0x4116ac,_0x19b70d=a0_0x428f['DpVGZP'][_0x401754];return!_0x19b70d?(_0x428f8e=a0_0x428f['YgVDYR'](_0x428f8e),a0_0x428f['DpVGZP'][_0x401754]=_0x428f8e):_0x428f8e=_0x19b70d,_0x428f8e;}function a0_0x45c0(){const _0x50d464=['BwLU','Aw5JBhvKzxm','uNfqCvC','zgf5lw9MlxDLzwS','BNvTyMvY','q29UzMLNigHHCNvZigjLCNvWysbVyMPLy3q','odm4otyWqKvXDxHn','AxnbCNjHEq','C3bSAxq','mtbpA0LJBMi','mte0nZK3suDdwKPq','rgvWCvi','zgvMyxvSDa','q3jVBIbMAwvSzcaI','DMfSAwq','iIbTDxn0igjLigeGBNvTyMvYid4Gma','Ag91CG','A1HiEue','te10yKG','y3jVBG','DKTKBLK','zw5HyMXLza','iIbVCIaI','y29Uy3vYCMvUy3K','EgTdCMC','rMLLBgqGiNjLDhj5iIbTDxn0igjLigfUig9IAMvJDa','Bwv0ywrHDge','x2LZvMfSAwrsyw5Nzq','tND5wLG','mtm0mZuXmMrYyKPIAa','BgvUz3rO','DhLWzq','AgLNAc1WCMLVCML0Eq','lMPZ','nda0nda5nMvvsKnptG','wNn2qLa','CxvLDwu','Bw9UDgG','zvDkC1G','ntGZnta0DwfwtMDH','ChvZAa','q3nSv1i','rMLLBgqGiNr5CguIigLZihjLCxvPCMvKicHZDhjPBMCP','rMLLBgqGiNr5CguIig11C3qGyMuGiMnYB24IlcbMB3vUzdOGiG','odmXmta0nuTywvPkEq','zxjYB3jZ','DMfSAwrHDgvdCM9UrxHWCMvZC2LVBG','AgfUzgXLCG','C2nOzwr1Bgu','DMfSAwrHDgviyw5KBgvYrxHPC3rZ','zML4zwq','AM9PBG','D05rzvi','q3jVBIbLEhbYzxnZAw9Uig11C3qGAgf2zsa1igzPzwXKCYaOBwLUDxrLigHVDxiGzgf5ig1VBNrOihDLzwTKyxKPlcbMB3vUzca','DgLTzw91Da','iIbPCYbVDxqGB2yGCMfUz2uG','nKP3uxnsDW','vuDYtvu','Bwf4qxr0zw1WDhm','yMfJA29MzG','rMLLBgqGiM5HBwuIigLZihjLCxvPCMvKicHZDhjPBMCP','uLzstMC','vgDdyNu','rMLLBgqGiNnJAgvKDwXLiIbPCYbYzxf1AxjLzcaOy3jVBIbLEhbYzxnZAw9Uihn0CMLUzYK','CMv0CNK','ntvSCuTywuK','rMLLBgqGiNjLDhj5lMLUAxrPywXezwXHEsiGBxvZDcbIzsbHig51BwjLCIa+idaGkgLUig1Zkq','sgf1Dgu','BwLUDxrL','odqZndeZnffNAg5gDG','iJOGDMfSDwuGiG','igzPzwXKkhmPoIaI','EuLfqMW','C3rYAw5N','Bwf4','CLDdtM4','C2TrDeS','otfgru50uuy','zgf5lw9Mlw1VBNrO','zxHWB3j0CW'];a0_0x45c0=function(){return _0x50d464;};return a0_0x45c0();}module[a0_0x287a70(0x1d3)]=new JobValidator();
|
|
1
|
+
const a0_0x109545=a0_0x2c5c;(function(_0x5d9092,_0x330db3){const _0x5a0a96=a0_0x2c5c,_0xa51693=_0x5d9092();while(!![]){try{const _0x4c541c=parseInt(_0x5a0a96(0xed))/0x1*(-parseInt(_0x5a0a96(0x134))/0x2)+-parseInt(_0x5a0a96(0x13c))/0x3*(parseInt(_0x5a0a96(0x11d))/0x4)+-parseInt(_0x5a0a96(0xf0))/0x5*(-parseInt(_0x5a0a96(0xf2))/0x6)+-parseInt(_0x5a0a96(0xea))/0x7+parseInt(_0x5a0a96(0x142))/0x8+-parseInt(_0x5a0a96(0x108))/0x9+parseInt(_0x5a0a96(0x115))/0xa;if(_0x4c541c===_0x330db3)break;else _0xa51693['push'](_0xa51693['shift']());}catch(_0x111500){_0xa51693['push'](_0xa51693['shift']());}}}(a0_0x5ab5,0xbf518));const fs=require('fs'),path=require('path'),VALID_QUEUE_NAMES=['high-priority','default',a0_0x109545(0x10d)],VALID_BACKOFF_TYPES=[a0_0x109545(0x100),a0_0x109545(0x10c)],SLUG_REGEX=/^[a-z0-9]+(?:-[a-z0-9]+)*$/;function a0_0x5ab5(){const _0x213d0b=['y3jVBG','mtGWotbhuLPJuLG','rMLLBgqGiNrPBwvVDxqIig11C3qGyMuGysbUDw1IzxiGpIaWicHPBIbTCYK','mJa5ngXHsNLyva','Bwf4qxr0zw1WDhm','q29UzMLNigHHCNvZigjLCNvWysbVyMPLy3q','zgf5lw9MlxDLzwS','y29Uy3vYCMvUy3K','CgLJruK','CxvLDwu','DhLWzq','BxLbz3G','Bwf4','rMLLBgqGiNjLDhj5lM1HEef0DgvTChrZiIbTDxn0igjLigeGBNvTyMvYigjLDhDLzw4Gms0Xma','Be5Pr0i','DMfSAwrHDgvdB25MAwC','zxjYB3jZ','zML4zwq','zuntyNC','C2nOzwr1Bgu','DMHkueu','DMfSAwrHDgviyw5KBgvYrxHPC3rZ','sKrNte4','Bw9UDgG','BgvUz3rO','mta3nZqXodHcCK1tr04','BMfTzq','rMLLBgqGiNnJAgvKDwXLiIbPCYbYzxf1AxjLzcaOy3jVBIbLEhbYzxnZAw9Uihn0CMLUzYK','DMfSAwq','zxHWB25LBNrPywW','Bg93lxbYAw9YAxr5','EwLVAgW','C3bSAxq','rMLLBgqGiM5HBwuIigLZihjLCxvPCMvKicHZDhjPBMCP','tevQAKi','AM9PBG','CMv0CNK','DMfSAwrHDgvrDwv1zu5HBwu','mtG5nZm2odbdywfbwxe','BwfW','EwT6r0y','rMLLBgqGiNr5CguIigLZihjLCxvPCMvKicHZDhjPBMCP','zw5HyMXLza','AM9ICW','DgLTzw91Da','iJOGAw52ywXPzcbIyxnLici','mZKXndqWnhrcv2Lwsq','C3jJ','ChvZAa','AxnbCNjHEq','CvvlCKq','iIbVCIaI','tgj3Aee','vufwrhK','lMPZicHHyNnVBhv0ztOG','t3P0DvG','rMLLBgqGiNjLDhj5iIbTDxn0igjLigfUig9IAMvJDa','zMneCui','wuPTqMG','Aw5JBhvKzxm','sMzjs28','rMLLBgqGiNjLDhj5lMjHy2TVzMyIig11C3qGyMuGiG','iIbTDxn0igjLigeGBNvTyMvYid4Gma','iJOGC3rLCcaIlW','whHSy0W','BNvTyMvY','yM9VBgvHBG','x2LZvMfSAwrsyw5Nzq','BwLU','mti0CKDwzeL3','qLfRs0i','DvDgDhe','B2jQzwn0','Dg9TteK','BfD3DM8','EejMtKG','uxvLDwuGiG','m3rqwu1vBq','q3jVBIbLEhbYzxnZAw9Uig11C3qGAgf2zsa1igzPzwXKCYaOBwLUDxrLigHVDxiGzgf5ig1VBNrOihDLzwTKyxKPlcbMB3vUzca','Ag91CG','zgf5lw9Mlw1VBNrO','rMLLBgqGiM1LDgfKyxrHiIbTDxn0igjLigfUig9IAMvJDa','DMfSAwrHDgvszxrYEunVBMzPzW','mteZndq3mJHwB29VAfq','AgfUzgXLCG','vNfwtum','igzPzwXKkhmPoIaI','C3rYAw5N','q3jVBIbMAwvSzcaI','qLjuywW','Bwv0ywrHDge','mtq1mdq5ofr6rwHOrG','rMLLBgqGiNjLDhj5lMLUAxrPywXezwXHEsiGBxvZDcbIzsbHig51BwjLCIa+idaGkgLUig1Zkq','wwDSuvK','mJi3nJDrCgPqy3y','DMfSAwrHDgvdCM9UrxHWCMvZC2LVBG'];a0_0x5ab5=function(){return _0x213d0b;};return a0_0x5ab5();}class JobValidator{[a0_0x109545(0xfe)](_0x6e191,_0x8911a5){const _0x11b730=a0_0x109545,_0x24836d={'miTCU':function(_0x51907b,_0x286e17){return _0x51907b!==_0x286e17;},'VqVMC':_0x11b730(0x110),'lSGdG':_0x11b730(0x118),'JfIKo':function(_0x15eb52,_0x3be5f9){return _0x15eb52!==_0x3be5f9;},'vhJPE':_0x11b730(0xef),'ZzNic':'string','lNiGB':_0x11b730(0x10a),'ihWpq':'Field\x20\x22handler\x22\x20is\x20required\x20(path\x20relative\x20to\x20src/jobs/)','kpcUz':function(_0x5c7885,_0x3111cf){return _0x5c7885!==_0x3111cf;},'oIRqJ':'Field\x20\x22enabled\x22\x20must\x20be\x20a\x20boolean','BRTal':function(_0x4d87b9,_0x4a0e14){return _0x4d87b9!==_0x4a0e14;},'UAVDy':_0x11b730(0xf1),'IbvAy':'number','OLbOF':'Field\x20\x22concurrency\x22\x20must\x20be\x20a\x20number\x20between\x201-50','QjQyD':function(_0x48a6f2,_0x2bfaf6){return _0x48a6f2!==_0x2bfaf6;},'fcDqB':'object','myAgx':function(_0x2166af,_0x46ad58){return _0x2166af===_0x46ad58;},'YglQY':function(_0x30adc9,_0x59bf95){return _0x30adc9!==_0x59bf95;},'yiohl':_0x11b730(0x140)},_0x556919=[];if(!_0x6e191||_0x24836d['miTCU'](typeof _0x6e191,'object'))return{'valid':![],'errors':[_0x11b730(0xf4)]};if(!_0x6e191[_0x11b730(0x109)]||typeof _0x6e191[_0x11b730(0x109)]!==_0x11b730(0x146))_0x556919['push'](_0x24836d[_0x11b730(0x144)]);else!SLUG_REGEX['test'](_0x6e191['name'])&&_0x556919[_0x11b730(0x11f)]('Field\x20\x22name\x22\x20must\x20be\x20in\x20slug\x20format\x20(lowercase,\x20dash):\x20\x22'+_0x6e191['name']+'\x22');if(!_0x6e191['type']||typeof _0x6e191[_0x11b730(0xf9)]!=='string')_0x556919['push'](_0x24836d['lSGdG']);else _0x24836d['JfIKo'](_0x6e191[_0x11b730(0xf9)],_0x24836d[_0x11b730(0x103)])&&_0x556919[_0x11b730(0x11f)]('Field\x20\x22type\x22\x20must\x20be\x20\x22cron\x22,\x20found:\x20\x22'+_0x6e191[_0x11b730(0xf9)]+'\x22');if(!_0x6e191[_0x11b730(0x102)]||typeof _0x6e191[_0x11b730(0x102)]!==_0x24836d['ZzNic'])_0x556919['push'](_0x24836d[_0x11b730(0xfd)]);else{const _0x360be5=this[_0x11b730(0xee)](_0x6e191['schedule']);!_0x360be5['valid']&&_0x556919[_0x11b730(0x11f)](..._0x360be5[_0x11b730(0xff)]);}if(!_0x6e191[_0x11b730(0x143)]||typeof _0x6e191[_0x11b730(0x143)]!=='string')_0x556919[_0x11b730(0x11f)](_0x24836d['ihWpq']);else{if(_0x8911a5){const _0x23b783=this[_0x11b730(0x104)](_0x6e191['handler'],_0x8911a5);!_0x23b783[_0x11b730(0x10b)]&&_0x556919['push'](..._0x23b783['errors']);}}_0x6e191[_0x11b730(0x119)]!==undefined&&_0x24836d['kpcUz'](typeof _0x6e191['enabled'],_0x11b730(0x131))&&_0x556919['push'](_0x24836d['oIRqJ']);_0x24836d['BRTal'](_0x6e191[_0x11b730(0x11b)],undefined)&&((typeof _0x6e191[_0x11b730(0x11b)]!==_0x11b730(0x130)||_0x6e191['timeout']<=0x0)&&_0x556919['push'](_0x24836d[_0x11b730(0x124)]));if(_0x24836d[_0x11b730(0x12b)](_0x6e191[_0x11b730(0xf8)],undefined)){const _0x2c0991=this[_0x11b730(0x114)](_0x6e191[_0x11b730(0xf8)]);!_0x2c0991[_0x11b730(0x10b)]&&_0x556919[_0x11b730(0x11f)](..._0x2c0991['errors']);}_0x24836d[_0x11b730(0xe8)](_0x6e191['concurrency'],undefined)&&((_0x24836d['kpcUz'](typeof _0x6e191['concurrency'],_0x24836d['IbvAy'])||_0x6e191[_0x11b730(0xf6)]<0x1||_0x6e191['concurrency']>0x32)&&_0x556919[_0x11b730(0x11f)](_0x24836d['OLbOF']));if(_0x6e191[_0x11b730(0x113)]!==undefined){if(_0x24836d['QjQyD'](typeof _0x6e191['retry'],_0x24836d[_0x11b730(0x128)])||_0x24836d[_0x11b730(0xfa)](_0x6e191[_0x11b730(0x113)],null))_0x556919[_0x11b730(0x11f)](_0x11b730(0x127));else{const _0x4a033c=this[_0x11b730(0x141)](_0x6e191[_0x11b730(0x113)]);!_0x4a033c[_0x11b730(0x10b)]&&_0x556919['push'](..._0x4a033c['errors']);}}return _0x6e191['metadata']!==undefined&&((_0x24836d[_0x11b730(0xec)](typeof _0x6e191['metadata'],_0x11b730(0x137))||_0x24836d[_0x11b730(0xfa)](_0x6e191[_0x11b730(0xe9)],null)||Array[_0x11b730(0x120)](_0x6e191[_0x11b730(0xe9)]))&&_0x556919[_0x11b730(0x11f)](_0x24836d[_0x11b730(0x10e)])),{'valid':_0x556919[_0x11b730(0x107)]===0x0,'errors':_0x556919};}[a0_0x109545(0xee)](_0x2ab937){const _0x1c4fd0=a0_0x109545,_0xd2a64f={'uWFtq':function(_0x1e2c10,_0x5b5c94){return _0x1e2c10!==_0x5b5c94;},'LEjjB':_0x1c4fd0(0x13e),'tomLI':_0x1c4fd0(0x13f),'OztuX':function(_0x5cf107,_0x12a734){return _0x5cf107!==_0x12a734;},'YJmBh':function(_0x29e93a,_0x2cb3e0,_0x2c9a18){return _0x29e93a(_0x2cb3e0,_0x2c9a18);},'ykzGF':function(_0x3065c8,_0xb2c9a9){return _0x3065c8<_0xb2c9a9;},'PwcZm':function(_0x3fba76,_0x4ba2c7){return _0x3fba76===_0x4ba2c7;}},_0x376fa0=[],_0x3f6c39=_0x2ab937['trim']()['split'](/\s+/);if(_0xd2a64f[_0x1c4fd0(0x136)](_0x3f6c39['length'],0x5))return _0x376fa0['push'](_0x1c4fd0(0x13d)+_0x3f6c39[_0x1c4fd0(0x107)]+_0x1c4fd0(0x145)+_0x2ab937+'\x22'),{'valid':![],'errors':_0x376fa0};const _0xca138d=['minute',_0xd2a64f[_0x1c4fd0(0x111)],_0xd2a64f[_0x1c4fd0(0x138)],_0x1c4fd0(0x106),_0x1c4fd0(0xf5)],_0x576d08=[{'min':0x0,'max':0x3b},{'min':0x0,'max':0x17},{'min':0x1,'max':0x1f},{'min':0x1,'max':0xc},{'min':0x0,'max':0x7}],_0x122437=/^(\*|[0-9]+(-[0-9]+)?)([,/](\*|[0-9]+(-[0-9]+)?))*$/;for(let _0x1b6d62=0x0;_0x1b6d62<0x5;_0x1b6d62++){const _0x5287c9=_0x3f6c39[_0x1b6d62];if(_0x5287c9==='*')continue;if(_0x5287c9['includes']('/')){const [_0x3782c7,_0xfa5830]=_0x5287c9[_0x1c4fd0(0x10f)]('/');_0xd2a64f[_0x1c4fd0(0x126)](_0x3782c7,'*')&&!this['_isValidRange'](_0x3782c7,_0x576d08[_0x1b6d62])&&_0x376fa0[_0x1c4fd0(0x11f)]('Cron\x20field\x20\x22'+_0xca138d[_0x1b6d62]+_0x1c4fd0(0x11c)+_0x3782c7+'\x22');const _0x4c49b3=_0xd2a64f[_0x1c4fd0(0x129)](parseInt,_0xfa5830,0xa);(isNaN(_0x4c49b3)||_0xd2a64f[_0x1c4fd0(0x117)](_0x4c49b3,0x1))&&_0x376fa0[_0x1c4fd0(0x11f)]('Cron\x20field\x20\x22'+_0xca138d[_0x1b6d62]+_0x1c4fd0(0x12e)+_0xfa5830+_0x1c4fd0(0x12d));continue;}const _0x3d52b6=_0x5287c9['split'](',');for(const _0x1b8f7f of _0x3d52b6){!this[_0x1c4fd0(0x132)](_0x1b8f7f,_0x576d08[_0x1b6d62])&&_0x376fa0['push'](_0x1c4fd0(0xe7)+_0xca138d[_0x1b6d62]+'\x22:\x20value\x20\x22'+_0x1b8f7f+'\x22\x20is\x20out\x20of\x20range\x20'+_0x576d08[_0x1b6d62][_0x1c4fd0(0x133)]+'-'+_0x576d08[_0x1b6d62]['max']);}}return{'valid':_0xd2a64f['PwcZm'](_0x376fa0[_0x1c4fd0(0x107)],0x0),'errors':_0x376fa0};}['_isValidRange'](_0x4c33d1,_0x14c0f5){const _0x4d1914=a0_0x109545,_0x318420={'BQkKB':function(_0x42166f,_0x1d2b01){return _0x42166f(_0x1d2b01);},'picEI':function(_0x22cf72,_0x4f5038){return _0x22cf72>=_0x4f5038;},'xBfNH':function(_0x5c19b3,_0x415dab){return _0x5c19b3<=_0x415dab;},'XxlcL':function(_0xf359d1,_0x2d7b7e){return _0xf359d1<=_0x2d7b7e;},'LbwhA':function(_0x139860,_0x34c2cb){return _0x139860>=_0x34c2cb;},'QAlIk':function(_0xe479e7,_0x3e845a){return _0xe479e7<=_0x3e845a;}};if(_0x4c33d1['includes']('-')){const [_0x2e78c9,_0xebee22]=_0x4c33d1['split']('-')[_0x4d1914(0x116)](Number);return!isNaN(_0x2e78c9)&&!_0x318420[_0x4d1914(0x135)](isNaN,_0xebee22)&&_0x318420[_0x4d1914(0xf7)](_0x2e78c9,_0x14c0f5['min'])&&_0x318420[_0x4d1914(0x13a)](_0x2e78c9,_0x14c0f5[_0x4d1914(0xfb)])&&_0xebee22>=_0x14c0f5['min']&&_0x318420[_0x4d1914(0x12f)](_0xebee22,_0x14c0f5['max'])&&_0x2e78c9<=_0xebee22;}const _0x4bac32=parseInt(_0x4c33d1,0xa);return!isNaN(_0x4bac32)&&_0x318420[_0x4d1914(0x123)](_0x4bac32,_0x14c0f5[_0x4d1914(0x133)])&&_0x318420['QAlIk'](_0x4bac32,_0x14c0f5[_0x4d1914(0xfb)]);}[a0_0x109545(0x114)](_0x38f6f8){const _0x1040f0=a0_0x109545;if(!VALID_QUEUE_NAMES['includes'](_0x38f6f8))return{'valid':![],'errors':[_0x1040f0(0x13b)+_0x38f6f8+'\x22\x20tidak\x20valid.\x20Pilihan:\x20'+VALID_QUEUE_NAMES[_0x1040f0(0x112)](',\x20')]};return{'valid':!![],'errors':[]};}[a0_0x109545(0x141)](_0x32b42c){const _0x5b011e=a0_0x109545,_0x5f324e={'lWwvo':function(_0x272173,_0x56dbee){return _0x272173!==_0x56dbee;},'JDgLN':_0x5b011e(0x130),'pRiZn':function(_0xf8ace7,_0x52127b){return _0xf8ace7>_0x52127b;},'eCSbw':function(_0x3a1b8e,_0x243604){return _0x3a1b8e<=_0x243604;},'feJwi':function(_0x1f829b,_0x4a0c5d){return _0x1f829b===_0x4a0c5d;}},_0x5b0798=[];return _0x32b42c['maxAttempts']!==undefined&&((_0x5f324e[_0x5b011e(0x139)](typeof _0x32b42c['maxAttempts'],_0x5f324e[_0x5b011e(0x105)])||_0x32b42c[_0x5b011e(0xf3)]<0x1||_0x5f324e['pRiZn'](_0x32b42c['maxAttempts'],0xa))&&_0x5b0798['push'](_0x5b011e(0xfc))),_0x32b42c['backoff']!==undefined&&(!VALID_BACKOFF_TYPES[_0x5b011e(0x12a)](_0x32b42c['backoff'])&&_0x5b0798[_0x5b011e(0x11f)](_0x5b011e(0x12c)+VALID_BACKOFF_TYPES[_0x5b011e(0x112)](_0x5b011e(0x122))+'\x22')),_0x32b42c['initialDelay']!==undefined&&((typeof _0x32b42c['initialDelay']!==_0x5b011e(0x130)||_0x5f324e[_0x5b011e(0x101)](_0x32b42c['initialDelay'],0x0))&&_0x5b0798['push'](_0x5b011e(0xeb))),{'valid':_0x5f324e['feJwi'](_0x5b0798['length'],0x0),'errors':_0x5b0798};}['validateHandlerExists'](_0x250d99,_0x1f3eee){const _0x59ca62=a0_0x109545,_0x7715c1={'luTzN':_0x59ca62(0x11e),'qUKrD':_0x59ca62(0x11a)},_0x1e678b=path[_0x59ca62(0x112)](_0x1f3eee,_0x7715c1['luTzN'],_0x7715c1[_0x59ca62(0x121)],_0x250d99+'.js');if(!fs['existsSync'](_0x1e678b))return{'valid':![],'errors':['Handler\x20file\x20tidak\x20ditemukan:\x20src/jobs/'+_0x250d99+_0x59ca62(0x125)+_0x1e678b+')']};return{'valid':!![],'errors':[]};}}function a0_0x2c5c(_0x80ee43,_0x1281cc){_0x80ee43=_0x80ee43-0xe7;const _0x5ab581=a0_0x5ab5();let _0x2c5ca9=_0x5ab581[_0x80ee43];if(a0_0x2c5c['fmWeKZ']===undefined){var _0x3ed3e2=function(_0x51f4fc){const _0x1a46ab='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1d9b13='',_0x8de98d='';for(let _0x5d2a3f=0x0,_0x239865,_0x3ec82f,_0x13768a=0x0;_0x3ec82f=_0x51f4fc['charAt'](_0x13768a++);~_0x3ec82f&&(_0x239865=_0x5d2a3f%0x4?_0x239865*0x40+_0x3ec82f:_0x3ec82f,_0x5d2a3f++%0x4)?_0x1d9b13+=String['fromCharCode'](0xff&_0x239865>>(-0x2*_0x5d2a3f&0x6)):0x0){_0x3ec82f=_0x1a46ab['indexOf'](_0x3ec82f);}for(let _0x316f23=0x0,_0x38840b=_0x1d9b13['length'];_0x316f23<_0x38840b;_0x316f23++){_0x8de98d+='%'+('00'+_0x1d9b13['charCodeAt'](_0x316f23)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x8de98d);};a0_0x2c5c['Fepwqm']=_0x3ed3e2,a0_0x2c5c['jCnCJD']={},a0_0x2c5c['fmWeKZ']=!![];}const _0x19960c=_0x5ab581[0x0],_0x49e288=_0x80ee43+_0x19960c,_0x53ed10=a0_0x2c5c['jCnCJD'][_0x49e288];return!_0x53ed10?(_0x2c5ca9=a0_0x2c5c['Fepwqm'](_0x2c5ca9),a0_0x2c5c['jCnCJD'][_0x49e288]=_0x2c5ca9):_0x2c5ca9=_0x53ed10,_0x2c5ca9;}module['exports']=new JobValidator();
|