@restforgejs/platform 5.1.21 → 5.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/catalog/dashboard.js +1 -1
- package/generators/cli/catalog/dbschema.js +3 -3
- package/generators/cli/catalog/field-validation.js +1 -1
- package/generators/cli/catalog/query-declarative.js +1 -1
- package/generators/cli/config/clear-default.js +1 -1
- package/generators/cli/config/get-default.js +1 -1
- package/generators/cli/config/list.js +1 -1
- package/generators/cli/config/schema.js +1 -1
- package/generators/cli/config/set-default.js +2 -2
- package/generators/cli/config/template.js +1 -1
- package/generators/cli/dashboard/create.js +7 -7
- package/generators/cli/data/pull.js +12 -12
- package/generators/cli/data/push.js +9 -9
- package/generators/cli/endpoint/create.js +11 -11
- package/generators/cli/endpoint/list.js +3 -3
- package/generators/cli/fast-track.js +7 -7
- package/generators/cli/init.js +2 -2
- package/generators/cli/kafka/consumer-create.js +5 -5
- package/generators/cli/key/generate.js +3 -3
- package/generators/cli/key/list.js +2 -2
- package/generators/cli/key/revoke.js +3 -3
- package/generators/cli/payload/diff.js +3 -3
- package/generators/cli/payload/generate.js +5 -5
- package/generators/cli/payload/sync.js +5 -5
- package/generators/cli/payload/validate.js +3 -3
- package/generators/cli/processor/create.js +7 -7
- package/generators/cli/processor/list.js +3 -3
- package/generators/cli/project/delete.js +2 -2
- package/generators/cli/project/list.js +1 -1
- package/generators/cli/query/validate.js +3 -3
- package/generators/cli/schema/apply.js +13 -13
- package/generators/cli/schema/describe.js +6 -6
- package/generators/cli/schema/diff.js +10 -10
- package/generators/cli/schema/generate-ddl.js +11 -11
- package/generators/cli/schema/init.js +95 -95
- package/generators/cli/schema/introspect.js +8 -8
- package/generators/cli/schema/list.js +6 -6
- package/generators/cli/schema/migrate.js +91 -13
- package/generators/cli/schema/models.js +6 -6
- package/generators/cli/schema/template.js +223 -222
- package/generators/cli/schema/validate.js +6 -6
- package/generators/cli/test/generate.js +6 -6
- package/generators/lib/dbschema-kit/introspect-mapper.js +20 -0
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/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_0xd01213=a0_0x3bbf;(function(_0x3c2e60,_0x28402c){const _0x21ab9b=a0_0x3bbf,_0x46a8cc=_0x3c2e60();while(!![]){try{const _0x274953=-parseInt(_0x21ab9b(0xab))/0x1*(parseInt(_0x21ab9b(0xbe))/0x2)+-parseInt(_0x21ab9b(0xa8))/0x3*(-parseInt(_0x21ab9b(0xcf))/0x4)+parseInt(_0x21ab9b(0xcb))/0x5*(parseInt(_0x21ab9b(0xc7))/0x6)+parseInt(_0x21ab9b(0xc3))/0x7+parseInt(_0x21ab9b(0x82))/0x8+-parseInt(_0x21ab9b(0x7b))/0x9+parseInt(_0x21ab9b(0x94))/0xa;if(_0x274953===_0x28402c)break;else _0x46a8cc['push'](_0x46a8cc['shift']());}catch(_0x57ca20){_0x46a8cc['push'](_0x46a8cc['shift']());}}}(a0_0x2e9b,0x78a43));const {createConnection,createChannel,setupInfrastructure,closeConnection,getConfig}=require('../utils/rabbitmq'),{formatDate}=require(a0_0xd01213(0x97));class RabbitMQService{constructor(){const _0x2656a8=a0_0xd01213,_0x477562={'SCZFI':'0|1|2|4|3','AWDtg':function(_0x161e13){return _0x161e13();}},_0xc4e649=_0x477562['SCZFI'][_0x2656a8(0x96)]('|');let _0x5775cd=0x0;while(!![]){switch(_0xc4e649[_0x5775cd++]){case'0':this[_0x2656a8(0x8c)]=null;continue;case'1':this['channel']=null;continue;case'2':this[_0x2656a8(0x87)]=_0x477562['AWDtg'](getConfig);continue;case'3':this['messageHandlers']=[];continue;case'4':this[_0x2656a8(0x99)]=![];continue;}break;}}async['initialize'](){const _0x552e84=a0_0xd01213,_0x1adf5d={'HmDxb':function(_0x349623,_0x6bd3c8){return _0x349623(_0x6bd3c8);},'XyYDi':function(_0x12af78,_0x13d6f3,_0x42088a){return _0x12af78(_0x13d6f3,_0x42088a);},'ewIWZ':function(_0x413063,_0x2bb8ef){return _0x413063(_0x2bb8ef);},'MiNUN':function(_0x5a7d8e,_0x45ebed){return _0x5a7d8e(_0x45ebed);}};try{return this[_0x552e84(0x8c)]=await createConnection(),this[_0x552e84(0x8f)]=await _0x1adf5d['HmDxb'](createChannel,this['connection']),await this[_0x552e84(0x8f)][_0x552e84(0xc8)](0x1),console['log']('['+_0x1adf5d['ewIWZ'](formatDate,new Date())+']\x20Prefetch\x20diatur\x20ke\x201'),await _0x1adf5d['HmDxb'](setupInfrastructure,this[_0x552e84(0x8f)]),this['isConnected']=!![],this[_0x552e84(0x8c)]['on']('close',()=>{const _0x384fe7=_0x552e84;console['error']('['+_0x1adf5d['HmDxb'](formatDate,new Date())+_0x384fe7(0xb0)),this[_0x384fe7(0x99)]=![],_0x1adf5d[_0x384fe7(0x9c)](setTimeout,()=>this[_0x384fe7(0xd3)](),0x1388);}),!![];}catch(_0x2c724b){return console[_0x552e84(0xaf)]('['+_0x1adf5d[_0x552e84(0xbd)](formatDate,new Date())+']\x20Failed\x20to\x20initialize\x20RabbitMQ:\x20'+_0x2c724b[_0x552e84(0x7c)]),this['isConnected']=![],![];}}async['reconnect'](){const _0x5ad216=a0_0xd01213,_0x569bc1={'EseeD':function(_0x174a9e,_0x41f1a0){return _0x174a9e(_0x41f1a0);}};console[_0x5ad216(0xba)]('['+formatDate(new Date())+']\x20Attempting\x20to\x20reconnect\x20to\x20RabbitMQ...');try{await this[_0x5ad216(0x81)](),this['isConnected']&&(console[_0x5ad216(0xba)]('['+formatDate(new Date())+']\x20Successfully\x20reconnected\x20to\x20RabbitMQ'),await this[_0x5ad216(0x91)]());}catch(_0x48a8d3){console['error']('['+_0x569bc1['EseeD'](formatDate,new Date())+_0x5ad216(0xbf)+_0x48a8d3['message']),setTimeout(()=>this['reconnect'](),0x1388);}}async[a0_0xd01213(0xce)](_0xaf4f4f){const _0x4cde84=a0_0xd01213,_0x222bd3={'PvhiB':function(_0x54c5e9){return _0x54c5e9();},'gLMMP':_0x4cde84(0xc1),'MtOoW':function(_0x569ad7,_0x260f68){return _0x569ad7(_0x260f68);},'cgCPk':'inequivalent\x20arg','CyDUb':function(_0x4150a1,_0x1de0d3){return _0x4150a1(_0x1de0d3);},'oaKsB':function(_0x53a550,_0x2ac5da){return _0x53a550(_0x2ac5da);},'HqEgY':function(_0x38e65a,_0x2c51cc){return _0x38e65a(_0x2c51cc);}};try{!this['isConnected']&&(this['connection']=await _0x222bd3[_0x4cde84(0xd1)](createConnection),this['channel']=await createChannel(this['connection']),this['isConnected']=!![]);const _0x11ea55=process[_0x4cde84(0xbb)][_0x4cde84(0x7f)]||'default',_0x553d1b=_0x11ea55+'-retry-exchange';await this[_0x4cde84(0x8f)][_0x4cde84(0x9d)](_0x553d1b,_0x222bd3[_0x4cde84(0xc9)],{'durable':!![],'autoDelete':![]}),console[_0x4cde84(0xba)]('['+formatDate(new Date())+_0x4cde84(0xb8)+_0x553d1b+'\x20created/ready'),await this['channel']['assertExchange'](_0xaf4f4f[_0x4cde84(0xac)],_0x222bd3['gLMMP'],{'durable':!![],'autoDelete':![]}),console[_0x4cde84(0xba)]('['+formatDate(new Date())+_0x4cde84(0x74)+_0xaf4f4f['exchange']+_0x4cde84(0x98));const _0xaf46a8=_0xaf4f4f['routingKey']+'_retry',_0x269328={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':_0xaf4f4f[_0x4cde84(0xac)],'x-dead-letter-routing-key':_0xaf4f4f['routingKey']}};await this['channel'][_0x4cde84(0xb5)](_0xaf46a8,_0x269328),console[_0x4cde84(0xba)]('['+_0x222bd3['MtOoW'](formatDate,new Date())+_0x4cde84(0xbc)+_0xaf46a8+_0x4cde84(0x98)),await this['channel'][_0x4cde84(0x9a)](_0xaf46a8,_0x553d1b,_0xaf4f4f['routingKey']),console['log']('['+_0x222bd3[_0x4cde84(0xcc)](formatDate,new Date())+']\x20Retry\x20binding\x20for\x20'+_0xaf4f4f[_0x4cde84(0xb7)]+_0x4cde84(0xc2));const _0x2471f4={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x553d1b,'x-dead-letter-routing-key':_0xaf4f4f['routingKey']}};try{const _0x56dcf2=await this['channel'][_0x4cde84(0xb5)](_0xaf4f4f[_0x4cde84(0x77)],_0x2471f4);console[_0x4cde84(0xba)]('['+_0x222bd3['MtOoW'](formatDate,new Date())+']\x20Queue\x20'+_0xaf4f4f[_0x4cde84(0x77)]+'\x20'+(_0x56dcf2[_0x4cde84(0x77)]===_0xaf4f4f['queue']?'created/ready':'found')+'\x20with\x20DLX'),await this['channel'][_0x4cde84(0x9a)](_0xaf4f4f[_0x4cde84(0x77)],_0xaf4f4f['exchange'],_0xaf4f4f[_0x4cde84(0xb7)]),console['log']('['+formatDate(new Date())+']\x20Binding\x20'+_0xaf4f4f['exchange']+_0x4cde84(0x9b)+_0xaf4f4f[_0x4cde84(0x77)]+'\x20('+_0xaf4f4f[_0x4cde84(0xb7)]+')\x20created');}catch(_0x1b0591){if(_0x1b0591['message']['includes'](_0x222bd3['cgCPk'])&&_0x1b0591[_0x4cde84(0x7c)][_0x4cde84(0x76)](_0x4cde84(0xb2))){console['error']('\x0a['+_0x222bd3[_0x4cde84(0xa5)](formatDate,new Date())+_0x4cde84(0x86)+_0xaf4f4f[_0x4cde84(0x77)]+_0x4cde84(0x90)),console['error'](_0x4cde84(0xd2));const _0x4908b3=_0xaf4f4f[_0x4cde84(0xb7)]+'_queue',_0x54585e=await this['channel'][_0x4cde84(0xb5)](_0x4908b3,_0x2471f4);console['log']('['+formatDate(new Date())+_0x4cde84(0xc6)+_0x4908b3+'\x20created\x20with\x20DLX'),await this['channel']['bindQueue'](_0x4908b3,_0xaf4f4f[_0x4cde84(0xac)],_0xaf4f4f['routingKey']),console[_0x4cde84(0xba)]('['+_0x222bd3['oaKsB'](formatDate,new Date())+']\x20Binding\x20'+_0xaf4f4f[_0x4cde84(0xac)]+_0x4cde84(0x9b)+_0x4908b3+'\x20('+_0xaf4f4f[_0x4cde84(0xb7)]+_0x4cde84(0x85)),_0xaf4f4f['queue']=_0x4908b3;}else{console[_0x4cde84(0xaf)]('['+_0x222bd3[_0x4cde84(0x7a)](formatDate,new Date())+']\x20Error\x20creating\x20queue\x20'+_0xaf4f4f[_0x4cde84(0x77)]+':',_0x1b0591['message']);throw _0x1b0591;}}return!![];}catch(_0x46aa2d){return console[_0x4cde84(0xaf)]('['+formatDate(new Date())+_0x4cde84(0xc0)+_0x46aa2d['message']),![];}}async['sendToQueue'](_0x40da2d,_0x31e50a){const _0x1001e3=a0_0xd01213,_0x24880d={'mTsnq':function(_0x36ad5a,_0x157d1f){return _0x36ad5a!==_0x157d1f;},'cKxGg':'application/json','tLuME':function(_0x3c1e42,_0x3c0541){return _0x3c1e42(_0x3c0541);},'cZQSg':'Data\x20sent\x20to\x20queue\x20successfully'};if(!this['isConnected'])try{await this[_0x1001e3(0x81)]();}catch(_0x39fe67){return{'success':![],'message':_0x1001e3(0xc5)+_0x39fe67[_0x1001e3(0x7c)],'data':null};}try{const _0x228263=_0x24880d[_0x1001e3(0x8a)](_0x31e50a['auto_retry'],undefined)?_0x31e50a[_0x1001e3(0xb6)]:![],_0x27f309=_0x31e50a[_0x1001e3(0x78)]||0x3,_0x421749={'rabbitmq':{'exchange':_0x31e50a['exchange'],'queue':_0x31e50a[_0x1001e3(0x77)],'routing_key':_0x31e50a[_0x1001e3(0xb7)],'auto_retry':_0x228263,'max_retries':_0x27f309},'message':_0x40da2d};await this['setupCollectorInfrastructure'](_0x31e50a);const _0x138905=new Date(),_0x27f181={'timestamp':_0x138905['toISOString'](),'content':JSON[_0x1001e3(0x93)](_0x421749)},_0x4e872c=this[_0x1001e3(0x8f)][_0x1001e3(0xa1)](_0x31e50a[_0x1001e3(0xac)],_0x31e50a['routingKey'],Buffer[_0x1001e3(0xa4)](JSON['stringify'](_0x27f181)),{'persistent':!![],'contentType':_0x24880d[_0x1001e3(0xb3)],'timestamp':_0x138905[_0x1001e3(0x8e)](),'messageId':_0x138905[_0x1001e3(0x8e)]()+'-'+Math['random']()[_0x1001e3(0x95)](0x24)['substring'](0x7),'headers':{'x-auto-retry':_0x228263,'x-max-retry':_0x27f309,'x-retry-count':0x0,'x-retry-interval':0x2710}});if(_0x4e872c){console['log']('['+_0x24880d[_0x1001e3(0xa7)](formatDate,_0x138905)+_0x1001e3(0x9f),{'exchange':_0x31e50a[_0x1001e3(0xac)],'routing_key':_0x31e50a['routingKey'],'queue':_0x31e50a['queue'],'sendAt':_0x138905[_0x1001e3(0xa3)]()});const _0x309d42=_0x1001e3(0x79)+_0x138905[_0x1001e3(0x8e)]()+'-'+Math[_0x1001e3(0xa0)]()[_0x1001e3(0x95)](0x24)[_0x1001e3(0x75)](0x7);return{'success':!![],'message':_0x24880d['cZQSg'],'data':{'id':_0x309d42,'queueInfo':{'exchange':_0x31e50a['exchange'],'queue':_0x31e50a['queue'],'routingKey':_0x31e50a['routingKey']}}};}else throw new Error(_0x1001e3(0x88));}catch(_0x1795cf){return console['error']('['+formatDate(new Date())+_0x1001e3(0x83)+_0x1795cf[_0x1001e3(0x7c)]),{'success':![],'message':'Error:\x20'+_0x1795cf['message'],'data':null};}}[a0_0xd01213(0x84)](_0x1e6427){const _0x590a33=a0_0xd01213,_0x4fdc85={'xsvpM':_0x590a33(0xcd),'pMEOZ':function(_0x389d39,_0x2f3bd5){return _0x389d39(_0x2f3bd5);}};typeof _0x1e6427===_0x4fdc85[_0x590a33(0xb9)]?(this[_0x590a33(0xa2)][_0x590a33(0x8d)](_0x1e6427),console['log']('['+_0x4fdc85['pMEOZ'](formatDate,new Date())+_0x590a33(0xaa))):console['error']('['+formatDate(new Date())+']\x20Message\x20handler\x20must\x20be\x20a\x20function');}async[a0_0xd01213(0xa9)](_0x4c42c8){const _0x3b756f=a0_0xd01213,_0x25aba2={'jAoUn':function(_0x4a0ad2,_0x1965c6){return _0x4a0ad2(_0x1965c6);}};if(this[_0x3b756f(0xa2)]['length']===0x0)return console[_0x3b756f(0xae)]('['+formatDate(new Date())+']\x20No\x20handlers\x20registered\x20to\x20process\x20messages'),!![];try{for(const _0x41ed8b of this['messageHandlers']){await _0x41ed8b(_0x4c42c8);}return!![];}catch(_0x5661f2){return console['error']('['+_0x25aba2[_0x3b756f(0x80)](formatDate,new Date())+']\x20Error\x20processing\x20message:\x20'+_0x5661f2[_0x3b756f(0x7c)]),![];}}async[a0_0xd01213(0x91)](){const _0x2d0c57=a0_0xd01213,_0x3c56c5={'zLVSb':function(_0xcebf6,_0x2736fb){return _0xcebf6!==_0x2736fb;},'VOWtv':function(_0x491e36,_0xb3e6be){return _0x491e36(_0xb3e6be);},'muNAv':function(_0x20f46c,_0x2d1cfb){return _0x20f46c(_0x2d1cfb);}};if(!this[_0x2d0c57(0x99)])return console['error']('['+_0x3c56c5[_0x2d0c57(0x89)](formatDate,new Date())+_0x2d0c57(0xc4)),![];try{return console['log']('['+_0x3c56c5[_0x2d0c57(0xd0)](formatDate,new Date())+']\x20Start\x20consuming\x20messages\x20from\x20queue\x20\x22'+this[_0x2d0c57(0x87)][_0x2d0c57(0x77)]+_0x2d0c57(0x7d)),this['channel']['consume'](this['config']['queue'],async _0x2fbd77=>{const _0x1496c7=_0x2d0c57;if(_0x3c56c5[_0x1496c7(0xa6)](_0x2fbd77,null)){const _0x49c255=new Date();let _0x1bbce2;try{_0x1bbce2=JSON[_0x1496c7(0x7e)](_0x2fbd77['content'][_0x1496c7(0x95)]());}catch(_0xed3f23){console['error']('['+_0x3c56c5['VOWtv'](formatDate,_0x49c255)+_0x1496c7(0xb4)+_0xed3f23['message']),console['error']('Message\x20content:\x20'+_0x2fbd77[_0x1496c7(0xca)]['toString']()),this[_0x1496c7(0x8f)]['ack'](_0x2fbd77);return;}const _0x3c1580=_0x2fbd77[_0x1496c7(0xad)]['timestamp']?new Date(_0x2fbd77['properties']['timestamp']):new Date(),_0x55ed19=await this[_0x1496c7(0xa9)](_0x1bbce2);_0x55ed19?(console['log']('['+formatDate(new Date())+']\x20Message\x20processed\x20successfully'),this[_0x1496c7(0x8f)]['ack'](_0x2fbd77)):(console[_0x1496c7(0xaf)]('['+_0x3c56c5['VOWtv'](formatDate,new Date())+_0x1496c7(0x9e)),this[_0x1496c7(0x8f)][_0x1496c7(0xb1)](_0x2fbd77,![],!![])),console[_0x1496c7(0xba)](_0x1496c7(0x8b));}},{'noAck':![]}),!![];}catch(_0x35e585){return console[_0x2d0c57(0xaf)]('['+formatDate(new Date())+']\x20Failed\x20to\x20start\x20consuming:\x20'+_0x35e585[_0x2d0c57(0x7c)]),![];}}async[a0_0xd01213(0x92)](){this['connection']&&(await closeConnection(this['connection']),this['isConnected']=![]);}}function a0_0x3bbf(_0x30f3e2,_0xdf2e0e){_0x30f3e2=_0x30f3e2-0x74;const _0x2e9b88=a0_0x2e9b();let _0x3bbfea=_0x2e9b88[_0x30f3e2];if(a0_0x3bbf['WeEZQZ']===undefined){var _0x1991b8=function(_0x322b92){const _0x505648='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x12be20='',_0x406316='';for(let _0x5a2e77=0x0,_0x4798a4,_0x45c3ab,_0x378026=0x0;_0x45c3ab=_0x322b92['charAt'](_0x378026++);~_0x45c3ab&&(_0x4798a4=_0x5a2e77%0x4?_0x4798a4*0x40+_0x45c3ab:_0x45c3ab,_0x5a2e77++%0x4)?_0x12be20+=String['fromCharCode'](0xff&_0x4798a4>>(-0x2*_0x5a2e77&0x6)):0x0){_0x45c3ab=_0x505648['indexOf'](_0x45c3ab);}for(let _0x301bd0=0x0,_0x24c129=_0x12be20['length'];_0x301bd0<_0x24c129;_0x301bd0++){_0x406316+='%'+('00'+_0x12be20['charCodeAt'](_0x301bd0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x406316);};a0_0x3bbf['KPQySf']=_0x1991b8,a0_0x3bbf['rRAZUz']={},a0_0x3bbf['WeEZQZ']=!![];}const _0x3643a7=_0x2e9b88[0x0],_0x5c18dc=_0x30f3e2+_0x3643a7,_0x39c508=a0_0x3bbf['rRAZUz'][_0x5c18dc];return!_0x39c508?(_0x3bbfea=a0_0x3bbf['KPQySf'](_0x3bbfea),a0_0x3bbf['rRAZUz'][_0x5c18dc]=_0x3bbfea):_0x3bbfea=_0x39c508,_0x3bbfea;}let instance=null;function getInstance(){return!instance&&(instance=new RabbitMQService()),instance;}module['exports']={'getInstance':getInstance};function a0_0x2e9b(){const _0x5f059a=['CMvNAxn0zxjnzxnZywDLsgfUzgXLCG','ksbJCMvHDgvK','xsbfuLjpuJOGuxvLDwuG','y29UzMLN','rMfPBgvKihrVihnLBMqGBwvZC2fNzsb0BYbsywjIAxrnuq','vK9xDhy','BvrZBNe','ls0T','y29UBMvJDgLVBG','ChvZAa','z2v0vgLTzq','y2HHBM5LBa','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','C3rHCNrdB25ZDw1L','y2XVC2u','C3rYAw5NAwz5','otq1mdaYmgLbq091tq','Dg9tDhjPBMC','C3bSAxq','lI4VDxrPBhmVzgf0zuHLBhbLCG','ignYzwf0zwqVCMvHzhK','AxndB25Uzwn0zwq','yMLUzff1zxvL','ic0+ia','whLzrgK','yxnZzxj0rxHJAgfUz2u','xsbgywLSzwqGDg8GChjVy2vZCYbTzxnZywDLlcbYzxf1zxvPBMC','xsbnzxnZywDLihnLBNqGDg8GuMfIyML0tveGC3vJy2vZC2z1BgX5oG','CMfUzg9T','ChvIBgLZAa','BwvZC2fNzuHHBMrSzxjZ','Dg9ju09tDhjPBMC','zNjVBq','q3Levwi','EKXwu2i','DeX1tuu','mti5EM5ODfDm','ChjVy2vZC01LC3nHz2u','xsbnzxnZywDLigHHBMrSzxiGCMvNAxn0zxjLza','ndq4mezbyKHMta','zxHJAgfUz2u','ChjVCgvYDgLLCW','D2fYBG','zxjYB3i','xsblB25LA3nPifjHyMjPDe1rihrLCNb1DhvZ','BMfJAW','Ec1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEq','y0T4r2C','xsbgywLSzwqGDg8GCgfYC2uGBwvZC2fNztOG','yxnZzxj0uxvLDwu','yxv0B19YzxrYEq','CM91DgLUz0TLEq','xsbszxrYEsbLEgnOyw5Nzsa','Ehn2Ce0','Bg9N','zw52','xsbszxrYEsbXDwv1zsa','twLovu4','mZK0EK9MALbs','xsbgywLSzwqGDg8GCMvJB25Uzwn0ihrVifjHyMjPDe1roIa','xsbfCNjVCIbZywf0ihnLDhvWigLUzNjHC3rYDwT0Dxi6ia','zgLYzwn0','ignYzwf0zwq','mtmYnJi3nMPSBerUyG','xsbdyw5UB3qGC3rHCNqGy29UC3vTAw5NoIbUB3qGy29UBMvJDgvKihrVifjHyMjPDe1r','q2fUBM90ignVBM5Ly3qGDg8GuMfIyML0tve6ia','xsbbBhrLCM5HDgL2zsbXDwv1zsa','mZaZode2DxfKCNDr','ChjLzMv0y2G','z0Xntva','y29UDgvUDa','mJvWEM5Kzxq','txrpB1C','zNvUy3rPB24','C2v0DxbdB2XSzwn0B3jjBMzYyxn0CNvJDhvYzq','mZy0odHcvej2r1y','Bxvoqxy','uhzOAui','vhj5Aw5NigfSDgvYBMf0AxzLihf1zxvLig5HBwuUlI4','CMvJB25Uzwn0','xsbfEgnOyw5Nzsa','C3vIC3rYAw5N','Aw5JBhvKzxm','CxvLDwu','Bwf4x3jLDhjPzxm','CxvLDwuT','shffz1K','nty5mti0owzqDgP6Ba','BwvZC2fNzq','iI4UlG','CgfYC2u','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','AKfVvw4','Aw5PDgLHBgL6zq','mtGZmZm3nMrktKTmzW','xsbfCNjVCIbZzw5KAw5NihrVifjHyMjPDe1roIa'];a0_0x2e9b=function(){return _0x5f059a;};return a0_0x2e9b();}
|
|
1
|
+
function a0_0x1181(_0x3b72a9,_0xbc994f){_0x3b72a9=_0x3b72a9-0x162;const _0x118857=a0_0x1188();let _0x118106=_0x118857[_0x3b72a9];if(a0_0x1181['VODQOe']===undefined){var _0x47e254=function(_0x84f4bb){const _0x37e131='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3d317c='',_0x1573e6='';for(let _0x5b03df=0x0,_0x505827,_0x3fa2b0,_0x32dcaa=0x0;_0x3fa2b0=_0x84f4bb['charAt'](_0x32dcaa++);~_0x3fa2b0&&(_0x505827=_0x5b03df%0x4?_0x505827*0x40+_0x3fa2b0:_0x3fa2b0,_0x5b03df++%0x4)?_0x3d317c+=String['fromCharCode'](0xff&_0x505827>>(-0x2*_0x5b03df&0x6)):0x0){_0x3fa2b0=_0x37e131['indexOf'](_0x3fa2b0);}for(let _0x5a1043=0x0,_0x4c12df=_0x3d317c['length'];_0x5a1043<_0x4c12df;_0x5a1043++){_0x1573e6+='%'+('00'+_0x3d317c['charCodeAt'](_0x5a1043)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1573e6);};a0_0x1181['zQYwaz']=_0x47e254,a0_0x1181['vyFFIc']={},a0_0x1181['VODQOe']=!![];}const _0x185127=_0x118857[0x0],_0x397f73=_0x3b72a9+_0x185127,_0x22effb=a0_0x1181['vyFFIc'][_0x397f73];return!_0x22effb?(_0x118106=a0_0x1181['zQYwaz'](_0x118106),a0_0x1181['vyFFIc'][_0x397f73]=_0x118106):_0x118106=_0x22effb,_0x118106;}const a0_0x2bd71f=a0_0x1181;(function(_0x49ec85,_0x258467){const _0x35c1cc=a0_0x1181,_0x3dc214=_0x49ec85();while(!![]){try{const _0x1f0892=-parseInt(_0x35c1cc(0x17a))/0x1+-parseInt(_0x35c1cc(0x18e))/0x2*(parseInt(_0x35c1cc(0x193))/0x3)+-parseInt(_0x35c1cc(0x1a1))/0x4*(-parseInt(_0x35c1cc(0x19b))/0x5)+parseInt(_0x35c1cc(0x17f))/0x6*(parseInt(_0x35c1cc(0x162))/0x7)+-parseInt(_0x35c1cc(0x18b))/0x8+-parseInt(_0x35c1cc(0x170))/0x9+parseInt(_0x35c1cc(0x1aa))/0xa*(parseInt(_0x35c1cc(0x1a6))/0xb);if(_0x1f0892===_0x258467)break;else _0x3dc214['push'](_0x3dc214['shift']());}catch(_0x7900f7){_0x3dc214['push'](_0x3dc214['shift']());}}}(a0_0x1188,0x6d56c));function a0_0x1188(){const _0x810095=['yMLUzff1zxvL','twvZC2fNzsbJB250zw50oIa','y29UBMvJDgLVBG','nZe2mJDMBML0wei','yxnZzxj0uxvLDwu','BMfJAW','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','CMfUzg9T','mte2nda2Axbhr2Tl','tgnAr1O','lI4VDxrPBhmVzgf0zuHLBhbLCG','C2vUzfrVuxvLDwu','y29UzMLN','CMvNAxn0zxjnzxnZywDLsgfUzgXLCG','ksbJCMvHDgvK','lI4VDxrPBhmVCMfIyML0Bxe','zNjVBq','zeHrzMi','BK5Tugu','Aw5JBhvKzxm','nJm3ntGXnKrZy0X5tW','C3rYAw5NAwz5','ihDPDgGGreXy','nte0mfDyzgfjBq','xsbfuLjpuJOGuxvLDwuG','CM91DgLUz0TLEq','rMfPBgvKihrVihnLBMqGBwvZC2fNzsb0BYbsywjIAxrnuq','xsbgywLSzwqGDg8GC3rHCNqGy29UC3vTAw5NoIa','nJy2sNPrqwHU','y29UC3vTzq','yMvZrxe','EKvSzxm','yxbWBgLJyxrPB24VANnVBG','BwvZC2fNzuHHBMrSzxjZ','ChjVy2vZC01LC3nHz2u','CxvLDwu','nJKWnZe1zNb6A3jR','xsbgywLSzwqGDg8GChjVy2vZCYbTzxnZywDLlcbYzxf1zxvPBMC','y29UDgvUDa','xsbdyw5UB3qGC3rHCNqGy29UC3vTAw5NoIbUB3qGy29UBMvJDgvKihrVifjHyMjPDe1r','vhj5Aw5NigfSDgvYBMf0AxzLihf1zxvLig5HBwuUlI4','BeL0svm','nhjTvMnquW','z2v0vgLTzq','xsbfCNjVCIbZzw5KAw5NihrVifjHyMjPDe1roIa','xsbtDwnJzxnZzNvSBhKGCMvJB25Uzwn0zwqGDg8GuMfIyML0tve','yNfMAwW','mZyXouT4yNHxCa','CxvLDwuT','C2v0DxbdB2XSzwn0B3jjBMzYyxn0CNvJDhvYzq','ref4sgG','ntG0nJbmC1nqr0G','BwvZC2fNzq','xsbqCMvMzxrJAcbKAwf0DxiGA2uGmq','yxnZzxj0rxHJAgfUz2u','xsbnzxnZywDLihbYB2nLC3nLzcbZDwnJzxnZzNvSBhK','Awfur0G','D2fYBG','tMzSBgW','zxHJAgfUz2u','xsblB25LA3nPifjHyMjPDe1rihrLCNb1DhvZ','D3P3wLu','zNvUy3rPB24','Aw5PDgLHBgL6zq','xsboBYbOyw5KBgvYCYbYzwDPC3rLCMvKihrVihbYB2nLC3mGBwvZC2fNzxm','BwHdDuO','mJaZwMPKseLx','q2fUBM90ignVBM5Ly3qGDg8GuMfIyML0tve6ia','Bg9N','zxvOy2W','zgLYzwn0','CgD2vgq','BgvUz3rO','xsbbDhrLBxb0Aw5NihrVihjLy29UBMvJDcb0BYbsywjIAxrnus4UlG','y2XVC2u','xsbnzxnZywDLigHHBMrSzxiGCMvNAxn0zxjLza','Bwf4x3jLDhjPzxm','y2HHBM5LBa','ic0+ia','ignYzwf0zwqVCMvHzhK','nJyZmZK5mgP5C01ODa','Cevzru4','zxjYB3i','Dg9tDhjPBMC','ENLivwS','AxndB25Uzwn0zwq','ChjVCgvYDgLLCW'];a0_0x1188=function(){return _0x810095;};return a0_0x1188();}const {createConnection,createChannel,setupInfrastructure,closeConnection,getConfig}=require(a0_0x2bd71f(0x186)),{formatDate}=require(a0_0x2bd71f(0x181));class RabbitMQService{constructor(){const _0x2c9f33=a0_0x2bd71f,_0x31b67e={'nNmPe':function(_0x37b709){return _0x37b709();}};this['connection']=null,this['channel']=null,this['config']=_0x31b67e[_0x2c9f33(0x189)](getConfig),this['isConnected']=![],this[_0x2c9f33(0x198)]=[];}async[a0_0x2bd71f(0x1b6)](){const _0x1deea4=a0_0x2bd71f,_0x505263={'sQDld':function(_0x4ddba2,_0x129414){return _0x4ddba2(_0x129414);},'besEq':function(_0x141179,_0x432bb,_0x1a9407){return _0x141179(_0x432bb,_0x1a9407);},'iaTGH':function(_0x271150,_0x12c8b4){return _0x271150(_0x12c8b4);},'mhCuJ':_0x1deea4(0x16a),'qlXRS':function(_0x5644c0,_0xe1c988){return _0x5644c0(_0xe1c988);}};try{return this[_0x1deea4(0x179)]=await createConnection(),this['channel']=await _0x505263[_0x1deea4(0x1af)](createChannel,this['connection']),await this[_0x1deea4(0x16d)]['prefetch'](0x1),console[_0x1deea4(0x164)]('['+formatDate(new Date())+_0x1deea4(0x1ac)),await setupInfrastructure(this['channel']),this[_0x1deea4(0x175)]=!![],this[_0x1deea4(0x179)]['on'](_0x505263[_0x1deea4(0x1b8)],()=>{const _0x4fa3e7=_0x1deea4;console['error']('['+_0x505263['sQDld'](formatDate,new Date())+_0x4fa3e7(0x1b3)),this[_0x4fa3e7(0x175)]=![],_0x505263[_0x4fa3e7(0x195)](setTimeout,()=>this['reconnect'](),0x1388);}),!![];}catch(_0x30f3cf){return console['error']('['+_0x505263['qlXRS'](formatDate,new Date())+']\x20Failed\x20to\x20initialize\x20RabbitMQ:\x20'+_0x30f3cf['message']),this[_0x1deea4(0x175)]=![],![];}}async['reconnect'](){const _0x19e6f0=a0_0x2bd71f,_0x3d2596={'xHHWZ':function(_0x1b440b,_0x1820c3){return _0x1b440b(_0x1820c3);},'DAxHh':function(_0x28a394,_0x5e8ec9){return _0x28a394(_0x5e8ec9);},'LcZGZ':function(_0x4898c6,_0x2f5a13,_0x5d83c6){return _0x4898c6(_0x2f5a13,_0x5d83c6);}};console[_0x19e6f0(0x164)]('['+_0x3d2596['xHHWZ'](formatDate,new Date())+_0x19e6f0(0x169));try{await this['initialize'](),this[_0x19e6f0(0x175)]&&(console[_0x19e6f0(0x164)]('['+formatDate(new Date())+_0x19e6f0(0x1a4)),await this['startConsume']());}catch(_0x324d88){console['error']('['+_0x3d2596[_0x19e6f0(0x1a9)](formatDate,new Date())+']\x20Failed\x20to\x20reconnect\x20to\x20RabbitMQ:\x20'+_0x324d88['message']),_0x3d2596[_0x19e6f0(0x180)](setTimeout,()=>this['reconnect'](),0x1388);}}async[a0_0x2bd71f(0x1a8)](_0x7ae3e9){const _0x514245=a0_0x2bd71f,_0x346597={'lItIS':function(_0x2d6e87){return _0x2d6e87();},'mvcde':'direct','pEYEN':function(_0x2da463,_0x1070f7){return _0x2da463(_0x1070f7);},'UHPJy':function(_0x58b9e4,_0x2a03cf){return _0x58b9e4(_0x2a03cf);},'pgvTd':function(_0x3affa6,_0x23b0d6){return _0x3affa6(_0x23b0d6);},'zyHUk':'created/ready','wzwZU':'x-dead-letter-routing-key'};try{!this[_0x514245(0x175)]&&(this['connection']=await _0x346597[_0x514245(0x1a0)](createConnection),this['channel']=await createChannel(this[_0x514245(0x179)]),this[_0x514245(0x175)]=!![]);const _0x229939=process['env']['RESTFORGE_PROJECT_NAME']||'default',_0x50d426=_0x229939+'-retry-exchange';await this[_0x514245(0x16d)][_0x514245(0x1ad)](_0x50d426,_0x346597['mvcde'],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x346597[_0x514245(0x171)](formatDate,new Date())+']\x20Retry\x20exchange\x20'+_0x50d426+_0x514245(0x16f)),await this['channel'][_0x514245(0x1ad)](_0x7ae3e9[_0x514245(0x1b2)],_0x514245(0x166),{'durable':!![],'autoDelete':![]}),console['log']('['+_0x346597['UHPJy'](formatDate,new Date())+']\x20Exchange\x20'+_0x7ae3e9['exchange']+_0x514245(0x16f));const _0x31b811=_0x7ae3e9['routingKey']+'_retry',_0x2329bf={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':_0x7ae3e9[_0x514245(0x1b2)],'x-dead-letter-routing-key':_0x7ae3e9[_0x514245(0x190)]}};await this[_0x514245(0x16d)][_0x514245(0x17b)](_0x31b811,_0x2329bf),console['log']('['+formatDate(new Date())+']\x20Retry\x20queue\x20'+_0x31b811+_0x514245(0x16f)),await this['channel'][_0x514245(0x177)](_0x31b811,_0x50d426,_0x7ae3e9['routingKey']),console[_0x514245(0x164)]('['+formatDate(new Date())+']\x20Retry\x20binding\x20for\x20'+_0x7ae3e9['routingKey']+'\x20created');const _0x139b06={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x50d426,'x-dead-letter-routing-key':_0x7ae3e9[_0x514245(0x190)]}};try{const _0x42d7a6=await this[_0x514245(0x16d)]['assertQueue'](_0x7ae3e9[_0x514245(0x19a)],_0x139b06);console['log']('['+_0x346597[_0x514245(0x167)](formatDate,new Date())+']\x20Queue\x20'+_0x7ae3e9['queue']+'\x20'+(_0x42d7a6['queue']===_0x7ae3e9[_0x514245(0x19a)]?_0x346597[_0x514245(0x174)]:'found')+_0x514245(0x18d)),await this['channel'][_0x514245(0x177)](_0x7ae3e9['queue'],_0x7ae3e9['exchange'],_0x7ae3e9[_0x514245(0x190)]),console['log']('['+_0x346597['pgvTd'](formatDate,new Date())+']\x20Binding\x20'+_0x7ae3e9[_0x514245(0x1b2)]+_0x514245(0x16e)+_0x7ae3e9[_0x514245(0x19a)]+'\x20('+_0x7ae3e9[_0x514245(0x190)]+_0x514245(0x185));}catch(_0x2c2f25){if(_0x2c2f25[_0x514245(0x1ab)][_0x514245(0x18a)]('inequivalent\x20arg')&&_0x2c2f25['message']['includes'](_0x346597[_0x514245(0x1b4)])){console[_0x514245(0x172)]('\x0a['+_0x346597[_0x514245(0x167)](formatDate,new Date())+_0x514245(0x18f)+_0x7ae3e9['queue']+_0x514245(0x17d)),console['error'](_0x514245(0x19f));const _0x6df1b2=_0x7ae3e9['routingKey']+'_queue',_0x5f30c9=await this['channel'][_0x514245(0x17b)](_0x6df1b2,_0x139b06);console[_0x514245(0x164)]('['+formatDate(new Date())+']\x20Alternative\x20queue\x20'+_0x6df1b2+'\x20created\x20with\x20DLX'),await this['channel']['bindQueue'](_0x6df1b2,_0x7ae3e9[_0x514245(0x1b2)],_0x7ae3e9['routingKey']),console[_0x514245(0x164)]('['+formatDate(new Date())+']\x20Binding\x20'+_0x7ae3e9['exchange']+_0x514245(0x16e)+_0x6df1b2+'\x20('+_0x7ae3e9['routingKey']+_0x514245(0x185)),_0x7ae3e9[_0x514245(0x19a)]=_0x6df1b2;}else{console[_0x514245(0x172)]('['+_0x346597['pgvTd'](formatDate,new Date())+']\x20Error\x20creating\x20queue\x20'+_0x7ae3e9['queue']+':',_0x2c2f25['message']);throw _0x2c2f25;}}return!![];}catch(_0x476e1d){return console[_0x514245(0x172)]('['+formatDate(new Date())+']\x20Error\x20saat\x20setup\x20infrastruktur:\x20'+_0x476e1d[_0x514245(0x1ab)]),![];}}async[a0_0x2bd71f(0x182)](_0x11cd45,_0x3945d4){const _0xbbfb9d=a0_0x2bd71f,_0x49932e={'zEles':function(_0x3229fb,_0x4ce59b){return _0x3229fb!==_0x4ce59b;},'pDZVQ':_0xbbfb9d(0x197),'nPDkF':_0xbbfb9d(0x191)};if(!this[_0xbbfb9d(0x175)])try{await this['initialize']();}catch(_0x4ede91){return{'success':![],'message':_0xbbfb9d(0x163)+_0x4ede91['message'],'data':null};}try{const _0x6cd361=_0x49932e[_0xbbfb9d(0x196)](_0x3945d4['auto_retry'],undefined)?_0x3945d4['auto_retry']:![],_0x589ca7=_0x3945d4[_0xbbfb9d(0x16c)]||0x3,_0x5e8664={'rabbitmq':{'exchange':_0x3945d4['exchange'],'queue':_0x3945d4['queue'],'routing_key':_0x3945d4[_0xbbfb9d(0x190)],'auto_retry':_0x6cd361,'max_retries':_0x589ca7},'message':_0x11cd45};await this[_0xbbfb9d(0x1a8)](_0x3945d4);const _0x270313=new Date(),_0x1a9b30={'timestamp':_0x270313['toISOString'](),'content':JSON[_0xbbfb9d(0x18c)](_0x5e8664)},_0x6403db=this['channel']['publish'](_0x3945d4[_0xbbfb9d(0x1b2)],_0x3945d4['routingKey'],Buffer[_0xbbfb9d(0x187)](JSON[_0xbbfb9d(0x18c)](_0x1a9b30)),{'persistent':!![],'contentType':_0x49932e['pDZVQ'],'timestamp':_0x270313[_0xbbfb9d(0x1a2)](),'messageId':_0x270313[_0xbbfb9d(0x1a2)]()+'-'+Math[_0xbbfb9d(0x17e)]()[_0xbbfb9d(0x173)](0x24)['substring'](0x7),'headers':{'x-auto-retry':_0x6cd361,'x-max-retry':_0x589ca7,'x-retry-count':0x0,'x-retry-interval':0x2710}});if(_0x6403db){console['log']('['+formatDate(_0x270313)+']\x20Message\x20sent\x20to\x20RabbitMQ\x20successfully:',{'exchange':_0x3945d4['exchange'],'routing_key':_0x3945d4[_0xbbfb9d(0x190)],'queue':_0x3945d4['queue'],'sendAt':_0x270313['toISOString']()});const _0x273b20=_0xbbfb9d(0x1a7)+_0x270313['getTime']()+'-'+Math['random']()[_0xbbfb9d(0x173)](0x24)['substring'](0x7);return{'success':!![],'message':'Data\x20sent\x20to\x20queue\x20successfully','data':{'id':_0x273b20,'queueInfo':{'exchange':_0x3945d4[_0xbbfb9d(0x1b2)],'queue':_0x3945d4[_0xbbfb9d(0x19a)],'routingKey':_0x3945d4[_0xbbfb9d(0x190)]}}};}else throw new Error(_0x49932e['nPDkF']);}catch(_0x2d982f){return console[_0xbbfb9d(0x172)]('['+formatDate(new Date())+_0xbbfb9d(0x1a3)+_0x2d982f[_0xbbfb9d(0x1ab)]),{'success':![],'message':'Error:\x20'+_0x2d982f[_0xbbfb9d(0x1ab)],'data':null};}}[a0_0x2bd71f(0x184)](_0x287c89){const _0x5c52e1=a0_0x2bd71f,_0x4dd1f7={'euhcl':function(_0x187f21,_0x4f74bb){return _0x187f21(_0x4f74bb);}};typeof _0x287c89===_0x5c52e1(0x1b5)?(this[_0x5c52e1(0x198)]['push'](_0x287c89),console[_0x5c52e1(0x164)]('['+_0x4dd1f7[_0x5c52e1(0x165)](formatDate,new Date())+_0x5c52e1(0x16b))):console[_0x5c52e1(0x172)]('['+formatDate(new Date())+']\x20Message\x20handler\x20must\x20be\x20a\x20function');}async[a0_0x2bd71f(0x199)](_0x4fc4eb){const _0x54911e=a0_0x2bd71f,_0x5d16eb={'dmAtB':function(_0x35ddb5,_0x47e250){return _0x35ddb5(_0x47e250);}};if(this['messageHandlers'][_0x54911e(0x168)]===0x0)return console[_0x54911e(0x1b0)]('['+formatDate(new Date())+_0x54911e(0x1b7)),!![];try{for(const _0x4776d0 of this[_0x54911e(0x198)]){await _0x5d16eb['dmAtB'](_0x4776d0,_0x4fc4eb);}return!![];}catch(_0x116ca4){return console[_0x54911e(0x172)]('['+formatDate(new Date())+']\x20Error\x20processing\x20message:\x20'+_0x116ca4[_0x54911e(0x1ab)]),![];}}async['startConsume'](){const _0x1485dc=a0_0x2bd71f,_0x32e3fc={'dHQfb':function(_0x7441cb,_0x524f4e){return _0x7441cb!==_0x524f4e;},'ibfHu':function(_0x396b79,_0x567dbf){return _0x396b79(_0x567dbf);},'Nflll':function(_0x42f45b,_0xffc3d1){return _0x42f45b(_0xffc3d1);},'bqfil':function(_0x539b1a,_0x435a24){return _0x539b1a(_0x435a24);}};if(!this[_0x1485dc(0x175)])return console[_0x1485dc(0x172)]('['+_0x32e3fc['ibfHu'](formatDate,new Date())+_0x1485dc(0x19e)),![];try{return console[_0x1485dc(0x164)]('['+formatDate(new Date())+']\x20Start\x20consuming\x20messages\x20from\x20queue\x20\x22'+this[_0x1485dc(0x183)]['queue']+'\x22...'),this[_0x1485dc(0x16d)][_0x1485dc(0x194)](this[_0x1485dc(0x183)][_0x1485dc(0x19a)],async _0x57ca87=>{const _0x2f75fb=_0x1485dc;if(_0x32e3fc[_0x2f75fb(0x188)](_0x57ca87,null)){const _0x1cf212=new Date();let _0x3f5856;try{_0x3f5856=JSON['parse'](_0x57ca87['content']['toString']());}catch(_0x5d91d8){console[_0x2f75fb(0x172)]('['+_0x32e3fc['ibfHu'](formatDate,_0x1cf212)+']\x20Failed\x20to\x20parse\x20message:\x20'+_0x5d91d8['message']),console[_0x2f75fb(0x172)](_0x2f75fb(0x178)+_0x57ca87[_0x2f75fb(0x19d)][_0x2f75fb(0x173)]()),this['channel']['ack'](_0x57ca87);return;}const _0x109740=_0x57ca87[_0x2f75fb(0x176)]['timestamp']?new Date(_0x57ca87['properties']['timestamp']):new Date(),_0x335d81=await this[_0x2f75fb(0x199)](_0x3f5856);_0x335d81?(console['log']('['+_0x32e3fc[_0x2f75fb(0x1b1)](formatDate,new Date())+_0x2f75fb(0x1ae)),this['channel']['ack'](_0x57ca87)):(console['error']('['+formatDate(new Date())+_0x2f75fb(0x19c)),this['channel'][_0x2f75fb(0x17c)](_0x57ca87,![],!![])),console['log']('---');}},{'noAck':![]}),!![];}catch(_0x1e5aac){return console['error']('['+_0x32e3fc[_0x1485dc(0x1a5)](formatDate,new Date())+_0x1485dc(0x192)+_0x1e5aac['message']),![];}}async['close'](){const _0xa8a71d=a0_0x2bd71f,_0x1a7e60={'vQiLi':function(_0x4e80cb,_0x30b022){return _0x4e80cb(_0x30b022);}};this[_0xa8a71d(0x179)]&&(await _0x1a7e60['vQiLi'](closeConnection,this[_0xa8a71d(0x179)]),this['isConnected']=![]);}}let instance=null;function getInstance(){return!instance&&(instance=new RabbitMQService()),instance;}module['exports']={'getInstance':getInstance};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x29f8c7=a0_0x5a34;function a0_0x5a34(_0x5e1d5c,_0x13edbb){_0x5e1d5c=_0x5e1d5c-0x1e4;const _0x384427=a0_0x3844();let _0x5a34c4=_0x384427[_0x5e1d5c];if(a0_0x5a34['LfRmvu']===undefined){var _0x19ba38=function(_0x433632){const _0x38017a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4a7581='',_0x9c6df1='';for(let _0x4c4bfc=0x0,_0x323010,_0x49c4e3,_0x48b4b5=0x0;_0x49c4e3=_0x433632['charAt'](_0x48b4b5++);~_0x49c4e3&&(_0x323010=_0x4c4bfc%0x4?_0x323010*0x40+_0x49c4e3:_0x49c4e3,_0x4c4bfc++%0x4)?_0x4a7581+=String['fromCharCode'](0xff&_0x323010>>(-0x2*_0x4c4bfc&0x6)):0x0){_0x49c4e3=_0x38017a['indexOf'](_0x49c4e3);}for(let _0x3be503=0x0,_0x19daae=_0x4a7581['length'];_0x3be503<_0x19daae;_0x3be503++){_0x9c6df1+='%'+('00'+_0x4a7581['charCodeAt'](_0x3be503)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x9c6df1);};a0_0x5a34['XZBjCI']=_0x19ba38,a0_0x5a34['iYrFjL']={},a0_0x5a34['LfRmvu']=!![];}const _0x5c8ccc=_0x384427[0x0],_0x243d5f=_0x5e1d5c+_0x5c8ccc,_0x375769=a0_0x5a34['iYrFjL'][_0x243d5f];return!_0x375769?(_0x5a34c4=a0_0x5a34['XZBjCI'](_0x5a34c4),a0_0x5a34['iYrFjL'][_0x243d5f]=_0x5a34c4):_0x5a34c4=_0x375769,_0x5a34c4;}(function(_0x568672,_0x4a235a){const _0x4469d2=a0_0x5a34,_0xbd3a27=_0x568672();while(!![]){try{const _0x554d99=parseInt(_0x4469d2(0x26d))/0x1+parseInt(_0x4469d2(0x1f4))/0x2*(parseInt(_0x4469d2(0x22a))/0x3)+-parseInt(_0x4469d2(0x2b7))/0x4+-parseInt(_0x4469d2(0x303))/0x5+parseInt(_0x4469d2(0x28d))/0x6+-parseInt(_0x4469d2(0x2a5))/0x7*(parseInt(_0x4469d2(0x2d7))/0x8)+parseInt(_0x4469d2(0x279))/0x9*(-parseInt(_0x4469d2(0x2f7))/0xa);if(_0x554d99===_0x4a235a)break;else _0xbd3a27['push'](_0xbd3a27['shift']());}catch(_0x5c34f7){_0xbd3a27['push'](_0xbd3a27['shift']());}}}(a0_0x3844,0x6d684));const {Queue,Worker}=require('bullmq'),Redis=require(a0_0x29f8c7(0x280)),crypto=require('crypto'),{v7:uuidv7}=require(a0_0x29f8c7(0x290)),fs=require('fs'),path=require(a0_0x29f8c7(0x2e6)),{logger}=require(a0_0x29f8c7(0x20d)),jobValidator=require(a0_0x29f8c7(0x2c4));let componentEngine=null;function a0_0x3844(){const _0x337048=['whv0seq','su5HCgm','ChjVy2vZC2vKt24','AM9Ix2HPC3rVCNLFy29TCgXLDgvFzxjYB3i','C2nOzwr1Bgu','AM9Ix2nVBMzPz19PBNzHBgLK','ihjLBw92zwqGkhDHCYa','CxvLDwu','B25kB2jdB21WBgv0zwq','mZa0mZq0ChbKBwjx','AM9Ix2vUC3vYzv90ywjSzxnFD2fYBG','z1bkEgC','sM9Iie1HBMfNzxiGC3vKywGGzgLPBMLZAwfSAxnHC2KSihnRAxa','wxPzywO','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticG/lca/lca/lca/lca/lcaNCNvUBMLUzYCSid8Sid8Sid8Sie5pvYGPlca/lcbot1COksK','Aw5Zzxj0uhjVBwLZzq','yxbKz3m','C3rHy2S','z2v0q2XPzw50','wLDvqMy','C3rHBgXLza','EePMsMe','lI9QB2iTDMfSAwrHDg9Y','rMfPBgvKihrVigvUC3vYzsbQB2iGDgfIBgvZoIa','C3bSAxrtCwXtDgf0zw1LBNrZ','DhjPz2DLCMvKqNK','whvtvLG','sM9Iihn0yxj0zwq6ia','zMfPBgvKuMvHC29U','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsaKmsWGBgfZDf9YDw5FyxqGpsbot1COksWkicaGicaGicaGicb1CgrHDgvKx2f0id0GtK9xkcKGv0HfuKuGAM9Ix25HBwuGpsaKmG','DhLWzq','sNHKDxa','C2H1DgrVD24','AMvhrMO','sM9IihbYB2DYzxnZoIa','Aw5JBhvKzxm','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa/lcbSyxn0x3j1BL9HDca9ie5pvYGPifDirvjfigPVyL9Uyw1Lid0GpW','v2L2EeO','ELDyr2q','uKvesvnFue9sva','AM9Ix3jLz2LZDgvYx2zHAwXLza','odbkBKDMs2W','sK9cx0nptKnvuLjftKnz','z2v0rgjvDgLSCW','B25bzNrLCKPVyKnVBxbSzxrL','zgf0yq','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGC3rHDhvZid0Gj29MzMXPBMuNlcbUzxH0x3j1BL9HDca9ie5vteWSihvWzgf0zwrFyxqGpsbot1COkq','AM9Ix3rHyMXLC19LBNn1CMvK','C3vJy2vZCW','CxvPDa','B3jHy2XL','Efrlv1O','CMvHzezPBgvtEw5J','zxHLy3v0zuv2zw50sgfUzgXLCNm','txLtuuWGreiGBw9KDwXLig5VDcbHDMfPBgfIBgu','ywrK','Cgf0Aa','ChvIBgLZAev2zw50','wfHIufm','zw5HyMXLza','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','CMvHzgrPCLn5BMm','z2v0u3rHDgu','AMvPA1G','DgLTzw91Da','AM9Ix21HBMfNzxjFCMvHzhK','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGC3rHDhvZid0Gj29MzMXPBMuNlcbUzxH0x3j1BL9HDca9ie5vteWSihvWzgf0zwrFyxqGpsbtwvnusu1fu1rbtva','BgLTAxq','DhjPBq','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNC3vJy2vZCYCSignVBxbSzxrLzf9HDca9ie5pvYGPlaOGicaGicaGicaGigr1CMf0Aw9Ux21Zid0GpYWGChjVz3jLC3mGpsaXmdaSihjLC3vSDf9ZDw1Tyxj5id0GpYbxsevsrsbPzca9id8','ywn0AxzL','AM9Ix2THzMTHx3b1yMXPC2HFzxjYB3i','AM9Ix2HPC3rVCNLFAw5Zzxj0x2jNx2vYCM9Y','mtKWnJbnEejqwKO','AM9Ix3jLz2LZDhj5x29MzMXPBMvFzxjYB3i','AM9Ix3n0ywXSzwq','swLRAwG','z2v0','DgLTzxn0yw1WCW','zxPks1i','zw5KC1DPDgG','D2fYBG','ruTeyKO','z2v0sw5ZDgfUy2u','B25SAw5L','ntK4odu1DuHzv0z4','tKnvD3K','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticGKmsWGjdiSicqZlcaKncWGjduSicDYDw5UAw5NjYWGjdySicq3lcaKocWGtK9xkcKSicq5lcbot1COksK','Cgf1C2u','AM9Ix2vUC3vYzv90ywjSzxnFzxjYB3i','y3jVBL9YzwDPC3rLCMvK','DxrMoa','AeHjte8','AM9Ix2nVBMzPz3nFBg9HzgvK','Bg93','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa6msWGBgfZDf9YDw5FyxqGpsbtwvnusu1fu1rbtvaScIaGicaGicaGicaGDxbKyxrLzf9HDca9ifnzu1rjtuvtvefnucbxsevsrsbQB2jFBMfTzsa9idOY','Dw5RBM93BG','AM9ItMfTzq','B25kB2jgywLSzwq','Bwf4qxr0zw1WDhm','zNDUBfi','qNvSBe1rifjLzgLZignVBM5Ly3rPB24GDMvYAwzPzwq','sM9IigvUC3vYzvrHyMXLCYb3yxjUAw5NoIa','zMLSDgvY','yNvSBg1Xx3jLzgLZx2vYCM9Y','AhHOvhG','Aw5PDgLHBgL6zq','AM9Ix21HBMfNzxjFywXYzwfKEv9PBML0AwfSAxPLza','sM9IigrPC3bHDgnOzwq6ia','ig5VDcbMB3vUza','rMfPBgvKihrVihjLz2LZDgvYigPVyJOG','AM9Iq29UzMLNCW','tg9HzgvKia','yxbPlwnHBMnLBa','DxbKyxrLsM9IsgLZDg9YEuzHAwXLza','B1Dctvm','EuLtwhC','AM9ICW','Dg9mB3DLCKnHC2u','lI4VlI4VDxrPBhmVzgi','B25bzNrLCKPVyKzHAwXLzcbOyw5KBgvYigvYCM9YicHUB24TyMXVy2TPBMCP','qNvSBe1rifjLzgLZignVBM5Ly3rPB24GzxjYB3i6ia','zgvZy3jPChrPB24','whjtyuy','yNvPBgrdB250zxH0','ChjVz3jLC3m','yNvSBg1XsM9Iswq','z2v0ug9VBa','u0f5CK4','vgLKywSGywrHigPVyIbJB25MAwCGzgL0zw11A2fUigrPihbHEwXVywqVAM9ICY8UiePVyIbnyw5Hz2vYigfRDgLMihrHBNbHignYB24U','z2r1CeO','EfLIweC','sM9Iig1VBML0B3jPBMCGDgfIBgvZigvUC3vYzwqGka','AM9Ix2HPC3rVCNLFzMfPBgvKx2vYCM9Y','AgLNAa','AM9IlxnJAgvKDwXLCG','ywXYzwfKEsbLEgLZDhm','rvrbBxC','Awrtv0K','mtmYnZiWnLriruHOvW','D29YA2vYCW','z2v0q2fJAgvnyw5Hz2vY','DxbKyxrLuMvNAxn0CNLdB3vUDgvYCW','uefJChu','ANHxvw0','y3jVBG','zw52','lMPZB24','s25etKe','y2HPBgq','zxjYB3i','y29sz0C','zgjFCgDFDw5HDMfPBgfIBgu','su5trvjuieLove8GAM9Ix3jLz2LZDhj5cIaGicaGicaGicaGkgPVyL9Uyw1LlcbKAxnWBgf5x25HBwuSihr5CguSihnJAgvKDwXLlcbXDwv1zsWGAgfUzgXLCIWGy29UzMLNx2zPBguScIaGicaGicaGicaGihrPBwvVDxqSihjLDhj5x21HEcWGCMv0CNLFyMfJA29MzIWGC3rHDhvZlcbUzxH0x3j1BL9HDcWGy3jLyxrLzf9HDcWGDxbKyxrLzf9HDcKkicaGicaGicaGicbwquXvrvmGkd8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sie5pvYGPlcbot1COksKkicaGicaGicaGicbptIbevvbmsunbveuGs0vzifvqrefurqOGicaGicaGicaGicaGzgLZCgXHEv9Uyw1Lid0GvKfmvuvtkgrPC3bSyxLFBMfTzsKSihr5CguGpsbwquXvrvmODhLWzsKScIaGicaGicaGicaGicbZy2HLzhvSzsa9ifzbtfvfuYHZy2HLzhvSzsKSihf1zxvLid0GvKfmvuvtkhf1zxvLksWkicaGicaGicaGicaGigHHBMrSzxiGpsbwquXvrvmOAgfUzgXLCIKSignVBMzPz19MAwXLid0GvKfmvuvtkgnVBMzPz19MAwXLksWkicaGicaGicaGicaGihrPBwvVDxqGpsbwquXvrvmODgLTzw91DcKSihjLDhj5x21HEca9ifzbtfvfuYHYzxrYEv9TyxGPlaOGicaGicaGicaGicaGCMv0CNLFyMfJA29MzIa9ifzbtfvfuYHYzxrYEv9IywnRB2zMksWGC3rHDhvZid0GvKfmvuvtkhn0yxr1CYKScIaGicaGicaGicaGicbUzxH0x3j1BL9HDca9ifzbtfvfuYHUzxH0x3j1BL9HDcK','sK9cx0zbsuXfrf9srvrftLrjt05Fse9vuLm','zxHPC3rZu3LUyW','BwfW','Aw5MBW','uwn3t20','tejwzhG','AM9Ix3nXBf9UB3rFzM91BMq','z2v0sM9ICW','y29TCg9Uzw50rw5NAw5L','C3rHCNrZv2L0Aa','lI4VlI4VDxrPBhmVBg9Nz2vY','y2fUy2vSsM9I','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa6msWGBgfZDf9KDxjHDgLVBL9TCYa9idOYlaOGicaGicaGicaGia','lI4VlI4VDxrPBhmVzgiTBxLZCwW','AM9Ix2nVBMzPz19WyxjZzv9LCNjVCG','uurtC0y','AM9Ix21HBMfNzxjFC2H1DgrVD25FC3rHCNq','EejjCuy','DMfSAwrHDgvdB25MAwC','AxnsDw5UAw5N','zgvSyxLLza','BMP6u2m','yxbP','AMnxyLC','C2T6q00','zLHZsgO','wNj3EKq','C3vIC3rYAw5N','zxHWB25LBNrPywW','igPVyIHZksbYzwDPC3rLCMvKlca','DhjPz2DLCLr5Cgu','qKf1Cw4','z2v0rgjuExbL','r3jwq2K','C3LZDgvT','swzhsvq','rejFvfLqrsaN','AM9Ix2rPC3bHDgnOzwrFzgvSyxLLza','C2v0qwXSsM9IC09MzMXPBMu','m3bLB29eCq','rwTsELe','Bg9HzePVyKnVBMzPz3m','C0z0rwq','x3nVDxjJzuzPBgu','B2zMBgLUzq','Dxnpsgu','EhvKy0y','zMLUAxnOzwrpBG','CgfYC2u','AM9PBG','y2f0y2G','BwLU','BM93','DMfSDwvZ','B25bzNrLCKPVyKnVBxbSzxrLigHHBMrSzxiGzxjYB3iGkg5VBI1IBg9JA2LUzYK','BxLZCwWUC3fS','tujcD1i','wNfoqLe','lI4VlI4VC2vYDMLJzxmVA2fMA2ftzxj2AwnL','AM9Ix3f1zxvLC19JCMvHDgvK','CgLK','AM9Ix25Vx2nVBMzPz3m','id0G','B3jHltaWotu1','CxvLDwvZ','z2v0sM9Iu2nOzwr1BgvYCW','icHPzdOG','rM9SzgvYihbHEwXVywqVAM9ICY8GDgLKywSGzgL0zw11A2fU','rMfPBgvKihrVigLUC2vYDcbQB2iGAgLZDg9YEtOG','ywXS','sM9Iia','qvDdugi','yxr0zw1WDhnnywrL','zxHLy3v0zvf1zxj5','qMfJA2DYB3vUzcbPBNnLCNqGAM9IigHPC3rVCNKGzMfPBgvKoIa','CMv0CNK','CgfNzq','Aw5PDgLHBgL6zwq','z2v0tMv4Dfj1BKzYB21cDwXStve','B25kB2jqCM9NCMvZCW','tMfkt04','wgLVyvm','AM9Ix2HPC3rVCNLFAw5Zzxj0x2vYCM9Y','s2vqDxi','DMfSAwq','Aw5PDgLHBerLBgf5','zgLZCgf0y2G','BxLZCwW','BMv4Da','wuHyqw8','zxjYB3jZ','DxbKyxrLsM9IsgLZDg9YEunVBxbSzxrLza','AgfUzgXLCNm','uK15AfK','BgvUz3rO','t3jHy2XLiercig1VzhvSzsbUB3qGyxzHAwXHyMXL','C3bSAxq','D29YA2LUz0rPCG','ifjLzgLZignVBM5Ly3rPB25Z','BMfTzq','ALzqC3y','C3fSlxnJCMLWDhm','Cg9ZDgDYzxnXBa','sM9IigHHBMrSzxiGy29TCgXLDgvKoIa','Bw92zvrVrMfPBgvK','y29UBMvJDgLVBNm','nJa0mZb3AKrpCwK','uvzhzeG','sM9IigzHAwXLzdOG','ChvZAa','z2v0s2fMA2ftzxj2AwnL','m3W3Fdf8mhW0Fdz8nxWY','CxP3EMG','zw50CMLLCW','uKvesvnFueftu1DpuKq','Au5qwKe','AgfUzgXLCG','AM9Ix2zHAwXLza','otaWuMj3zuLQ','y3jLyxrLqNvSBe1rq29UBMvJDgLVBG','ChjVy2vZC0PVyG','sM9IignHBMnLBgXLzcb2AweGqvbj','ywn0AxzLsgLZDg9YEuLKCW','Dg90ywXFzMfPBgvK','yxbPlwrLBgf5zwq','Aw9YzwrPCW','DgLTzxn0yw1W','tNn3zgK','EKL1zwy','AM9Ix3jLz2LZDhj5x2nVDw50zxjFzxjYB3i','ExHUqMK','rMfPBgvKihrVihbHCNnLigPVyIbJB25MAwC6ia','y29TCgXLDgvK','sK9cx01bwf9tvefmtevex0npvu5u','wK1Ktwq','zgvMyxvSDa','AM9Ix3bYB2DYzxnZ','zNvUy3rPB24','mZa5odC5nMvdA3HczG','CMvNAxn0zxjkB2i','CMv0DxjUDMfSDwu','DxvPza','AM9Ix2nVBMzPz19KAxjFBwLZC2LUzW','zgvSzxrL','sM9wEuO','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNzMfPBgvKjYWGy29TCgXLDgvKx2f0id0GtK9xkcKScIaGicaGicaGicaGzhvYyxrPB25FBxmGpsaKmsWGChjVz3jLC3mGpsaKmIWGzxjYB3jFBwvZC2fNzsa9icqZlcbLCNjVCL9ZDgfJAYa9icq0ifDirvjfigLKid0Gjdu','u3zIzLu','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNzMfPBgvKjYWGy29TCgXLDgvKx2f0id0Gu1LtveLnrvnuqu1qlaOGicaGicaGicaGigr1CMf0Aw9Ux21Zid0GoJeSihbYB2DYzxnZid0GoJiSigvYCM9Yx21LC3nHz2uGpsa6mYWGzxjYB3jFC3rHy2SGpsa6ncbxsevsrsbPzca9idO1','mYbcDwXStveGuxvLDwvZignYzwf0zwqGkgHPz2GSigrLzMf1BhqSigXVDYK','rMfPBgvKihrVihnLDcbQB2jZig9MzMXPBMu6ia','Au9ZrLq','iokaLca','ALfbtfK','BwvZC2fNzq','yMf1ufK','u1fmihnJCMLWDcb0AwrHAYbKAxrLBxvRyw46ia','zhvWBgLJyxrL','zMfPBgvK','qNvSBe1rifDVCMTLCIbLCNjVCIaO','rMfPBgvKihrVihb1yMXPC2GGsK9cx0nptvbmrvrfrcb0BYblywzRyq','AM9Ix3jLzgLZx2zHAwXLza','AgLZDg9YEuLK','mJG0mtm3uNb6qu5w','CMvZDgzVCMDLlMPVyNmUzMfPBgvK','B25czwzVCMvkB2jfEgvJDxrL','rMfPBgvKihrVihvWC2vYDcbQB2iGCMvNAxn0CNK6ia','BxmPoIa','D2fPDgLUzW','icSGmsWkicaGicaGicaGicbUzxH0x3j1BL9HDca9idOZlcb1CgrHDgvKx2f0id0Gu1LtveLnrvnuqu1qifDirvjfigPVyL9Uyw1Lid0GoJq','AvPnsgy','Bwv0ywrHDge'];a0_0x3844=function(){return _0x337048;};return a0_0x3844();}function getComponentEngine(){const _0x3b2246=a0_0x29f8c7,_0x3edf51={'PaJKH':function(_0x52c1d0,_0x134777){return _0x52c1d0(_0x134777);},'YpfuH':'../../utils/component-engine'};if(!componentEngine)try{const _0x492b18=_0x3edf51['PaJKH'](require,_0x3edf51['YpfuH']);componentEngine=_0x492b18[_0x3b2246(0x20b)]||_0x492b18;}catch(_0x2ec7dd){}return componentEngine;}class JobManager{constructor(){const _0x1446f1=a0_0x29f8c7,_0x5860a8=_0x1446f1(0x272)[_0x1446f1(0x263)]('|');let _0x3a9e7a=0x0;while(!![]){switch(_0x5860a8[_0x3a9e7a++]){case'0':this['handlers']={};continue;case'1':this['jobConfigs']={};continue;case'2':this['activeHistoryIds']=new Map();continue;case'3':this['queues']={};continue;case'4':this[_0x1446f1(0x26c)]=[];continue;case'5':this[_0x1446f1(0x264)]=process['cwd']();continue;case'6':this['initialized']=![];continue;case'7':this['workers']={};continue;}break;}}[a0_0x29f8c7(0x27a)](){const _0x1b8ffe=a0_0x29f8c7,_0x351823={'Iikih':function(_0x407b45,_0x5a56b1,_0x1aea5d){return _0x407b45(_0x5a56b1,_0x1aea5d);},'kommV':_0x1b8ffe(0x1ff)},_0x26a2fb=new Redis({'host':process['env']['REDIS_HOST']||'localhost','port':parseInt(process['env'][_0x1b8ffe(0x2d5)],0xa)||0x18ec,'password':process[_0x1b8ffe(0x1fb)][_0x1b8ffe(0x275)]||undefined,'db':_0x351823[_0x1b8ffe(0x2fa)](parseInt,process['env']['REDIS_DB'],0xa)||0x0,'maxRetriesPerRequest':null,'retryStrategy'(_0x23fda4){const _0x187eec=_0x1b8ffe,_0x48e0d6=Math[_0x187eec(0x236)](_0x23fda4*0x32,0x7d0);return _0x48e0d6;}});return _0x26a2fb['on'](_0x351823['kommV'],_0xa025e5=>{const _0x55f432=_0x1b8ffe;logger['error']({'event':_0x55f432(0x316),'error':_0xa025e5[_0x55f432(0x29c)]},_0x55f432(0x327)+_0xa025e5[_0x55f432(0x29c)]);}),this['connections'][_0x1b8ffe(0x270)](_0x26a2fb),_0x26a2fb;}async[a0_0x29f8c7(0x318)](){const _0x3b84ff=a0_0x29f8c7,_0x49112c={'XrSaF':_0x3b84ff(0x2a3),'ZzuzR':_0x3b84ff(0x307),'UiSgi':function(_0x28cb77,_0x4d83f2){return _0x28cb77===_0x4d83f2;},'hHILO':_0x3b84ff(0x240),'vmDXw':_0x3b84ff(0x1ea),'bauPY':'default','SvbfU':function(_0x475ca1,_0x4e686d,_0x27cbaa){return _0x475ca1(_0x4e686d,_0x27cbaa);},'oWBMS':function(_0x493adb,_0x4f0710){return _0x493adb*_0x4f0710;},'LLLTr':_0x3b84ff(0x1ef),'YzYaj':_0x3b84ff(0x297),'wcCGO':function(_0x2995b5,_0x1b73d4,_0x153352){return _0x2995b5(_0x1b73d4,_0x153352);},'hxhTx':function(_0x484ab6,_0x5c24c9,_0x5ca83a){return _0x484ab6(_0x5c24c9,_0x5ca83a);},'iZMHf':_0x3b84ff(0x287),'bkuoL':'progress','QDSsF':_0x3b84ff(0x2c2),'fXsHj':'error','coRgG':_0x3b84ff(0x2d6)};if(this[_0x3b84ff(0x250)]){logger['warn']({'event':_0x3b84ff(0x319)},_0x3b84ff(0x2ba));return;}logger[_0x3b84ff(0x206)]({'event':'job_manager_init_start'},'Initializing\x20Job\x20Manager...');const _0x162b4e=this[_0x3b84ff(0x27a)]();try{await _0x162b4e['ping'](),logger[_0x3b84ff(0x206)]({'event':'job_redis_connected'},_0x3b84ff(0x313));}catch(_0x474d44){logger[_0x3b84ff(0x1ff)]({'event':_0x49112c[_0x3b84ff(0x1e4)],'error':_0x474d44['message']},'Redis\x20connection\x20failed:\x20'+_0x474d44[_0x3b84ff(0x29c)]+'.\x20Job\x20Scheduler\x20tidak\x20akan\x20aktif.');try{await _0x162b4e['quit']();}catch(_0x14306a){}this['connections']=this['connections'][_0x3b84ff(0x315)](_0x41383e=>_0x41383e!==_0x162b4e);return;}try{await _0x162b4e[_0x3b84ff(0x2df)]();}catch(_0x3e1b33){}this[_0x3b84ff(0x26c)]=this['connections']['filter'](_0x4909b5=>_0x4909b5!==_0x162b4e);try{await this['ensureTables']();}catch(_0x491eaf){logger['warn']({'event':_0x49112c['ZzuzR'],'error':_0x491eaf['message']},_0x3b84ff(0x2c5)+_0x491eaf['message']+'.\x20DB\x20monitoring\x20disabled.');}const _0x41812e=this[_0x3b84ff(0x22c)]();_0x49112c['UiSgi'](_0x41812e['length'],0x0)&&logger['info']({'event':_0x49112c[_0x3b84ff(0x30a)]},_0x49112c['vmDXw']);const _0x2a7d04=[];for(const _0x53d40d of _0x41812e){const _0x51340a=jobValidator[_0x3b84ff(0x215)](_0x53d40d,this['workingDir']);_0x51340a[_0x3b84ff(0x257)]?_0x2a7d04['push'](_0x53d40d):logger[_0x3b84ff(0x1ff)]({'event':_0x3b84ff(0x2b3),'name':_0x53d40d['name']||_0x3b84ff(0x30e),'errors':_0x51340a['errors']},'Job\x20config\x20invalid:\x20'+(_0x53d40d[_0x3b84ff(0x266)]||'unknown')+'\x20—\x20'+_0x51340a[_0x3b84ff(0x25d)][_0x3b84ff(0x234)](';\x20'));}const _0x2af53e=process[_0x3b84ff(0x1fb)]['RESTFORGE_PROJECT_NAME']||_0x49112c[_0x3b84ff(0x29d)],_0x44fcaa=process[_0x3b84ff(0x1fb)]['JOB_REDIS_PREFIX']||'rf:'+_0x2af53e+':job',_0x1ecb85=_0x49112c['SvbfU'](parseInt,process['env']['JOB_RETENTION_HOURS'],0xa)||0x48,_0x3e37e0=_0x49112c[_0x3b84ff(0x295)](parseInt,process['env'][_0x3b84ff(0x203)],0xa)||0xa8,_0x3ba013={'removeOnComplete':{'age':_0x49112c[_0x3b84ff(0x321)](_0x1ecb85,0xe10)},'removeOnFail':{'age':_0x3e37e0*0xe10}},_0x2d38cd={'high-priority':_0x49112c['LLLTr'],'default':_0x3b84ff(0x28a),'low-priority':_0x3b84ff(0x30c)};for(const [_0x50baad,_0x34ac38]of Object['entries'](_0x2d38cd)){this[_0x3b84ff(0x243)][_0x50baad]=new Queue(_0x34ac38,{'connection':this[_0x3b84ff(0x27a)](),'prefix':_0x44fcaa,'defaultJobOptions':_0x3ba013});}logger['info']({'event':_0x3b84ff(0x23e),'count':0x3},_0x49112c[_0x3b84ff(0x2bb)]);const _0x2ef479=_0x49112c['wcCGO'](parseInt,process[_0x3b84ff(0x1fb)][_0x3b84ff(0x2d8)],0xa)||0x5,_0x386ff5=parseInt(process['env']['JOB_STALLED_INTERVAL'],0xa)||0x7530,_0x3e9e80=_0x49112c[_0x3b84ff(0x317)](parseInt,process['env'][_0x3b84ff(0x288)],0xa)||0x2;for(const [_0x57a146,_0x5447e4]of Object[_0x3b84ff(0x274)](_0x2d38cd)){const _0x372839=new Worker(_0x5447e4,async _0x351f44=>this['processJob'](_0x351f44),{'connection':this[_0x3b84ff(0x27a)](),'prefix':_0x44fcaa,'concurrency':_0x2ef479,'stalledInterval':_0x386ff5,'maxStalledCount':_0x3e9e80});_0x372839['on'](_0x49112c[_0x3b84ff(0x2ac)],(_0x517d67,_0x1ac0b0)=>this['onJobCompleted'](_0x517d67,_0x1ac0b0)),_0x372839['on']('failed',(_0x5ea6da,_0x4fc099)=>this[_0x3b84ff(0x310)](_0x5ea6da,_0x4fc099)),_0x372839['on'](_0x49112c['bkuoL'],(_0x1c40d8,_0x53c9c6)=>this['onJobProgress'](_0x1c40d8,_0x53c9c6)),_0x372839['on'](_0x49112c[_0x3b84ff(0x212)],_0x334177=>{const _0x5db223=_0x3b84ff;logger['warn']({'event':_0x5db223(0x2f9),'jobId':_0x334177},'Job\x20stalled:\x20'+_0x334177);}),_0x372839['on'](_0x49112c[_0x3b84ff(0x21c)],_0x1e3933=>{const _0x47e282=_0x3b84ff;logger[_0x47e282(0x1ff)]({'event':'bullmq_worker_error','queue':_0x57a146,'error':_0x1e3933['message']},_0x47e282(0x2a1)+_0x57a146+'):\x20'+_0x1e3933['message']);}),this['workers'][_0x57a146]=_0x372839;}logger['info']({'event':'job_workers_created','count':0x3,'concurrency':_0x2ef479},'3\x20BullMQ\x20Workers\x20created\x20(concurrency:\x20'+_0x2ef479+')');let _0x4d3fd1=0x0;for(const _0x158e96 of _0x2a7d04){try{await this[_0x3b84ff(0x28e)](_0x158e96),_0x4d3fd1++;}catch(_0xab56b4){logger['error']({'event':_0x49112c[_0x3b84ff(0x200)],'name':_0x158e96[_0x3b84ff(0x266)],'error':_0xab56b4[_0x3b84ff(0x29c)]},_0x3b84ff(0x31c)+_0x158e96['name']+'\x20—\x20'+_0xab56b4[_0x3b84ff(0x29c)]);}}this['initialized']=!![];const _0x210d76=this[_0x3b84ff(0x26c)]['length'];logger[_0x3b84ff(0x206)]({'event':_0x3b84ff(0x2ef),'registeredJobs':_0x4d3fd1,'totalConfigs':_0x2a7d04['length'],'redisConnections':_0x210d76},'Job\x20Manager\x20ready:\x20'+_0x4d3fd1+_0x3b84ff(0x220)+_0x210d76+_0x3b84ff(0x265));}async[a0_0x29f8c7(0x2ce)](){const _0xa03b01=a0_0x29f8c7,_0x4baefc={'XXbPS':function(_0x102b92,_0x133a72,_0x3f865b){return _0x102b92(_0x133a72,_0x3f865b);},'iHhvV':_0xa03b01(0x213),'zWXGd':function(_0x5540be,_0x4daadc){return _0x5540be-_0x4daadc;},'KktXr':'active','QcwOm':function(_0x37acbb,_0x3b66e6){return _0x37acbb===_0x3b66e6;},'ETAmw':'job_manager_shutdown_complete','iUOOn':'Job\x20Manager\x20shutdown\x20complete'};if(!this['initialized'])return;const _0x51cec1=_0x4baefc[_0xa03b01(0x2e8)](parseInt,process[_0xa03b01(0x1fb)]['JOB_SHUTDOWN_TIMEOUT'],0xa)||0x2710;logger[_0xa03b01(0x206)]({'event':_0x4baefc['iHhvV'],'timeoutMs':_0x51cec1},'Job\x20Manager\x20shutting\x20down\x20(timeout:\x20'+_0x51cec1+'ms)...');const _0x2826cc=Object[_0xa03b01(0x238)](this[_0xa03b01(0x1f5)])[_0xa03b01(0x205)](async _0x24e121=>{const _0x16deea=_0xa03b01;try{await _0x24e121[_0x16deea(0x306)]();}catch(_0x2decc9){}});await Promise[_0xa03b01(0x248)](_0x2826cc);const _0x3ef2b2=Date['now']();while(_0x4baefc[_0xa03b01(0x2d4)](Date[_0xa03b01(0x237)](),_0x3ef2b2)<_0x51cec1){let _0x443e98=0x0;for(const _0x47d445 of Object['values'](this[_0xa03b01(0x243)])){try{const _0x22f26a=await _0x47d445['getJobCounts'](_0x4baefc['KktXr']);_0x443e98+=_0x22f26a[_0xa03b01(0x2f4)]||0x0;}catch(_0x37bd92){}}if(_0x4baefc[_0xa03b01(0x207)](_0x443e98,0x0))break;await new Promise(_0x1bc461=>setTimeout(_0x1bc461,0x1f4));}const _0x4fb94d=Object[_0xa03b01(0x238)](this['workers'])[_0xa03b01(0x205)](async _0x2ad83e=>{try{await _0x2ad83e['close']();}catch(_0x598d45){}});await Promise[_0xa03b01(0x248)](_0x4fb94d);const _0x14dad1=Object['values'](this['queues'])['map'](async _0x4b3b17=>{try{await _0x4b3b17['close']();}catch(_0x1f1819){}});await Promise[_0xa03b01(0x248)](_0x14dad1);for(const _0x235825 of this['connections']){try{await _0x235825[_0xa03b01(0x2df)]();}catch(_0x15e51d){}}this[_0xa03b01(0x243)]={},this['workers']={},this['connections']=[],await this['setAllJobsOffline'](),this[_0xa03b01(0x27d)]['clear'](),this[_0xa03b01(0x250)]=![],logger['info']({'event':_0x4baefc[_0xa03b01(0x1f2)]},_0x4baefc['iUOOn']);}['loadJobConfigs'](){const _0x3f4ad6=a0_0x29f8c7,_0x3af2de={'xudcF':'payload','jeGFj':_0x3f4ad6(0x246),'yxnBi':_0x3f4ad6(0x30b)},_0xb7015d=path[_0x3f4ad6(0x234)](this['workingDir'],_0x3af2de[_0x3f4ad6(0x231)],_0x3f4ad6(0x323));if(!fs[_0x3f4ad6(0x204)](_0xb7015d))return logger[_0x3f4ad6(0x206)]({'event':_0x3f4ad6(0x291),'path':_0xb7015d},_0x3af2de[_0x3f4ad6(0x2cf)]),[];const _0x56d183=fs[_0x3f4ad6(0x2eb)](_0xb7015d)['filter'](_0x5eba14=>_0x5eba14[_0x3f4ad6(0x2fe)](_0x3f4ad6(0x1fc))),_0x89d222=[];for(const _0x5a8b96 of _0x56d183){const _0x3fa94f=path['join'](_0xb7015d,_0x5a8b96);try{const _0x41e6f1=fs[_0x3f4ad6(0x2e2)](_0x3fa94f,_0x3f4ad6(0x309)),_0x50bc16=JSON[_0x3f4ad6(0x233)](_0x41e6f1);_0x50bc16[_0x3f4ad6(0x22e)]=_0x5a8b96,_0x89d222['push'](_0x50bc16);}catch(_0x3b8000){logger[_0x3f4ad6(0x1ff)]({'event':_0x3f4ad6(0x211),'file':_0x5a8b96,'error':_0x3b8000[_0x3f4ad6(0x29c)]},_0x3f4ad6(0x286)+_0x5a8b96+_0x3f4ad6(0x29a)+_0x3b8000['message']);}}return logger['info']({'event':_0x3af2de[_0x3f4ad6(0x285)],'count':_0x89d222[_0x3f4ad6(0x261)]},_0x3f4ad6(0x31e)+_0x89d222[_0x3f4ad6(0x261)]+'\x20job\x20config(s)\x20from\x20payload/jobs/'),_0x89d222;}async['registerJob'](_0x28d0f7){const _0x1e67d1=a0_0x29f8c7,_0x389608={'xBIqF':'src','PAcpu':_0x1e67d1(0x323),'ZWUBf':_0x1e67d1(0x1fa),'idSWI':'exponential','LBVdx':_0x1e67d1(0x308),'zIuef':_0x1e67d1(0x28a),'skzCM':'online','lyfUu':_0x1e67d1(0x22f),'kuvix':function(_0x2c2704,_0x39e10a){return _0x2c2704===_0x39e10a;}},_0x1957d6=path['join'](this[_0x1e67d1(0x264)],_0x389608[_0x1e67d1(0x214)],_0x389608[_0x1e67d1(0x1f8)],_0x28d0f7['handler']+'.js');this[_0x1e67d1(0x25f)][_0x28d0f7[_0x1e67d1(0x266)]]=require(_0x1957d6),this['jobConfigs'][_0x28d0f7['name']]=_0x28d0f7;if(_0x28d0f7[_0x1e67d1(0x2cc)]===_0x389608[_0x1e67d1(0x2c1)]&&_0x28d0f7[_0x1e67d1(0x2e9)]!==![]){const _0x3c4bb0=this[_0x1e67d1(0x243)][_0x28d0f7[_0x1e67d1(0x2b5)]||'default'];await _0x3c4bb0['upsertJobScheduler'](_0x28d0f7[_0x1e67d1(0x266)],{'pattern':_0x28d0f7['schedule'],'tz':_0x28d0f7['timezone']||undefined},{'name':_0x28d0f7['name'],'data':{'handler':_0x28d0f7[_0x1e67d1(0x277)],'triggeredBy':_0x389608['ZWUBf'],'metadata':_0x28d0f7[_0x1e67d1(0x2ad)]||{}},'opts':{'attempts':_0x28d0f7['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0x28d0f7['retry']?.['backoff']||_0x389608[_0x1e67d1(0x1f3)],'delay':_0x28d0f7[_0x1e67d1(0x24e)]?.[_0x1e67d1(0x258)]||0x1388},'timeout':_0x28d0f7[_0x1e67d1(0x2ee)]||0x7530}}),logger['info']({'event':_0x389608[_0x1e67d1(0x208)],'name':_0x28d0f7['name'],'schedule':_0x28d0f7['schedule'],'queue':_0x28d0f7[_0x1e67d1(0x2b5)]||_0x389608[_0x1e67d1(0x283)]},'Cron\x20registered:\x20'+_0x28d0f7['name']+'\x20['+_0x28d0f7['schedule']+']');}const _0x2f9af3=_0x28d0f7[_0x1e67d1(0x2cc)]===_0x1e67d1(0x1fa)&&_0x28d0f7[_0x1e67d1(0x2e9)]!==![]?_0x389608['skzCM']:_0x389608['lyfUu'];let _0xc1342b=null;_0x389608['kuvix'](_0x2f9af3,_0x389608[_0x1e67d1(0x21b)])&&(_0xc1342b=await this[_0x1e67d1(0x251)](_0x28d0f7['name'])),await this['upsertJobRegistry'](_0x28d0f7,_0x2f9af3,_0xc1342b);}async[a0_0x29f8c7(0x27b)](_0x1770dd){const _0x215a5f=a0_0x29f8c7,_0x1f95f4={'Nswdi':function(_0x4f811e){return _0x4f811e();},'njzSc':_0x215a5f(0x30e),'XioaS':_0x215a5f(0x27f),'xYbXG':function(_0x31695e,_0x5cb729){return _0x31695e===_0x5cb729;},'JoVyJ':_0x215a5f(0x219),'ezJKR':'manual','MIIts':'cron','ZrwzD':_0x215a5f(0x225),'xTKWZ':_0x215a5f(0x28a),'OLaQe':function(_0x57e0f0,_0x13cede){return _0x57e0f0+_0x13cede;},'NCUwy':function(_0x16c059,_0x59c52b){return _0x16c059(_0x59c52b);}},_0x2df6e0=this['jobConfigs'][_0x1770dd[_0x215a5f(0x266)]],_0xd1a052=this['handlers'][_0x1770dd['name']];if(!_0xd1a052)throw new Error('Handler\x20not\x20found\x20for\x20job:\x20'+_0x1770dd['name']);const _0x6b53b2=logger[_0x215a5f(0x1fe)]({'jobId':_0x1770dd['id'],'jobName':_0x1770dd['name']});_0x6b53b2['info']({'event':'job_started','attempt':_0x1770dd['attemptsMade']+0x1,'triggeredBy':_0x1770dd[_0x215a5f(0x2db)]?.['triggeredBy']||'unknown'},_0x215a5f(0x2c9)+_0x1770dd['name']+'\x20(attempt\x20'+(_0x1770dd['attemptsMade']+0x1)+')');const _0x24b8df=_0x1f95f4[_0x215a5f(0x282)](uuidv7),_0x38c91d=_0x1770dd[_0x215a5f(0x2db)]?.['triggeredBy']||_0x1f95f4[_0x215a5f(0x218)],_0x4ca9d3=this['insertJobHistory']({'id':_0x24b8df,'jobName':_0x1770dd[_0x215a5f(0x266)],'bullmqJobId':_0x1770dd['id'],'triggerType':_0x38c91d===_0x1f95f4[_0x215a5f(0x254)]?_0x215a5f(0x217):_0x1f95f4[_0x215a5f(0x1ec)](_0x38c91d,_0x1f95f4[_0x215a5f(0x293)])?_0x1f95f4[_0x215a5f(0x2fd)]:'cron','triggeredBy':_0x38c91d===_0x1f95f4['MIIts']?_0x1f95f4[_0x215a5f(0x21d)]:_0x38c91d,'queue':_0x2df6e0?.['queue']||_0x1f95f4[_0x215a5f(0x2e1)],'attempt':_0x1f95f4['OLaQe'](_0x1770dd[_0x215a5f(0x24b)],0x1),'configFile':_0x2df6e0?.['_sourceFile']||null})[_0x215a5f(0x235)](_0x59d0c4=>{const _0x2ce9db=_0x215a5f;_0x6b53b2['warn']({'event':_0x2ce9db(0x2f6),'error':_0x59d0c4[_0x2ce9db(0x29c)]},_0x2ce9db(0x24d)+_0x59d0c4[_0x2ce9db(0x29c)]);});this['activeHistoryIds']['set'](_0x1770dd['id'],{'historyId':_0x24b8df,'insertPromise':_0x4ca9d3});const _0x2f1afd=this[_0x215a5f(0x1e5)](_0x1770dd,_0x2df6e0,_0x6b53b2),_0xdad134=getComponentEngine();if(_0xdad134&&_0x1f95f4['xYbXG'](typeof _0xdad134[_0x215a5f(0x2e3)],_0x215a5f(0x28c))){const _0x2a9aba=await _0xdad134['executeEventHandlers'](_0x215a5f(0x2a7),_0x2f1afd,!![]);if(!_0x2a9aba[_0x215a5f(0x2de)])throw new Error('Job\x20cancelled\x20by\x20onBeforeJobExecute:\x20'+_0x2a9aba[_0x215a5f(0x1ff)]);}const _0x46ebd3=await _0x1f95f4[_0x215a5f(0x304)](_0xd1a052,_0x2f1afd);return _0x6b53b2[_0x215a5f(0x206)]({'event':'job_handler_done','result':_0x46ebd3},_0x215a5f(0x26a)+_0x1770dd['name']),_0x46ebd3;}['buildContext'](_0x5aae6a,_0xac9a9e,_0x429736){const _0x5f5aa5=a0_0x29f8c7,_0x2fc423={'jrcfF':'JOB_EVENT','EdYyR':function(_0x3ab7ff,_0x257f93){return _0x3ab7ff+_0x257f93;},'BAuqn':function(_0x4ec58c,_0x4a0a23){return _0x4ec58c||_0x4a0a23;}};return{'jobId':_0x5aae6a['id'],'jobName':_0x5aae6a['name'],'attempt':_0x2fc423['EdYyR'](_0x5aae6a[_0x5f5aa5(0x24b)],0x1),'maxAttempts':_0xac9a9e?.['retry']?.['maxAttempts']||0x3,'payload':_0x5aae6a['data']||{},'config':_0x2fc423[_0x5f5aa5(0x222)](_0xac9a9e,{}),'db':this[_0x5f5aa5(0x2d9)](),'redis':this['getRedisClient'](),'logger':_0x429736,'kafka':this['getKafkaService'](),'cache':this['getCacheManager'](),'updateProgress':async _0x7ea0e8=>{await _0x5aae6a['updateProgress'](_0x7ea0e8);},'emit':async(_0x500411,_0x33a497)=>{const _0x1fb682=_0x5f5aa5,_0x47d7c4=this[_0x1fb682(0x271)]();_0x47d7c4&&await _0x47d7c4['publishEvent'](_0x500411,_0x2fc423['jrcfF'],null,_0x33a497,{'module':'job-scheduler','endpoint':_0x5aae6a[_0x1fb682(0x266)]});},'job':_0x5aae6a};}['getDbType'](){const _0x2e4095=a0_0x29f8c7;return(process['env']['DB_TYPE']||_0x2e4095(0x269))[_0x2e4095(0x324)]();}async['ensureTables'](){const _0x28cca2=a0_0x29f8c7,_0x56cddf={'NaJON':'Database\x20tidak\x20tersedia,\x20skip\x20auto-create\x20job\x20tables','cEeoC':'oracle.sql','jVPsv':_0x28cca2(0x23a),'gdupJ':'job_db_type_unsupported','XutHD':_0x28cca2(0x1f1),'cFqFQ':_0x28cca2(0x29f),'AWCPb':_0x28cca2(0x2dd)},_0x21ea54=this[_0x28cca2(0x2d9)]();if(!_0x21ea54){logger[_0x28cca2(0x2ff)]({'event':'job_db_unavailable'},_0x56cddf[_0x28cca2(0x253)]);return;}const _0x4ef3df=this['getDbType'](),_0x1b1afc={'postgresql':'postgresql.sql','oracle':_0x56cddf['cEeoC'],'mysql':_0x56cddf[_0x28cca2(0x267)]},_0x31a206=_0x1b1afc[_0x4ef3df];if(!_0x31a206){logger[_0x28cca2(0x2ff)]({'event':_0x56cddf[_0x28cca2(0x1eb)],'dbType':_0x4ef3df},_0x28cca2(0x227)+_0x4ef3df+'\x27\x20tidak\x20didukung\x20untuk\x20job\x20monitoring\x20tables');return;}const _0x7c9a97=path[_0x28cca2(0x234)](__dirname,_0x28cca2(0x268),_0x31a206);if(!fs[_0x28cca2(0x204)](_0x7c9a97)){logger['warn']({'event':_0x28cca2(0x209),'path':_0x7c9a97},_0x28cca2(0x29e)+_0x7c9a97);return;}const _0x4056f2=fs[_0x28cca2(0x2e2)](_0x7c9a97,'utf8'),_0x5727ed=this[_0x28cca2(0x2c6)](_0x4056f2,_0x4ef3df);let _0x3a2908=0x0;for(const _0x546463 of _0x5727ed){try{await _0x21ea54['executeQuery'](_0x546463),_0x3a2908++;}catch(_0x3df01e){const _0x6c3c1a=(_0x3df01e[_0x28cca2(0x29c)]||'')['toLowerCase'](),_0xdcda3b=_0x6c3c1a[_0x28cca2(0x2d1)](_0x56cddf[_0x28cca2(0x2ae)])||_0x6c3c1a[_0x28cca2(0x2d1)](_0x28cca2(0x242))||_0x6c3c1a[_0x28cca2(0x2d1)](_0x56cddf['cFqFQ']);!_0xdcda3b&&logger['warn']({'event':_0x28cca2(0x2b8),'error':_0x3df01e['message']},_0x28cca2(0x314)+_0x3df01e[_0x28cca2(0x29c)]);}}logger['info']({'event':_0x56cddf[_0x28cca2(0x24a)],'dbType':_0x4ef3df,'executed':_0x3a2908},_0x28cca2(0x1ed)+_0x4ef3df+')');}['splitSqlStatements'](_0x1b12ed,_0x42691e){const _0x38e740=a0_0x29f8c7,_0xb1dd5c={'jkngh':function(_0x3faf62,_0x11aa60){return _0x3faf62>_0x11aa60;},'sFtEd':function(_0x586ffc,_0x20149b){return _0x586ffc===_0x20149b;}};let _0x279df0;return _0xb1dd5c[_0x38e740(0x22d)](_0x42691e,'oracle')?_0x279df0=_0x1b12ed['split'](/\n\/\s*(?:\n|$)/):_0x279df0=_0x1b12ed[_0x38e740(0x263)](/;\s*(?:\n|$)/),_0x279df0['map'](_0x4870c0=>_0x4870c0['trim']())[_0x38e740(0x315)](_0x2d7a49=>{const _0x5eda6e=_0x38e740;if(_0x2d7a49['length']===0x0)return![];const _0x4fb627=_0x2d7a49[_0x5eda6e(0x263)]('\x0a')['filter'](_0x3db35a=>!_0x3db35a[_0x5eda6e(0x2f2)]()[_0x5eda6e(0x20c)]('--')&&_0x3db35a['trim']()['length']>0x0);return _0xb1dd5c['jkngh'](_0x4fb627['length'],0x0);});}async['upsertJobRegistry'](_0x34ec7d,_0x2e598a=a0_0x29f8c7(0x302),_0x5e18f=null){const _0x59f520=a0_0x29f8c7,_0x439494={'zyRUD':'cron','ZMdMd':_0x59f520(0x28a),'Jxdup':function(_0x486499,_0xcccc27){return _0x486499===_0xcccc27;},'fWSuW':function(_0x18ff2b,_0x5c7a7b){return _0x18ff2b===_0x5c7a7b;},'fIsqM':'job_registry_upsert_error'},_0x16c845=this[_0x59f520(0x2d9)]();if(!_0x16c845)return;const _0x1aacc8=this['getDbType'](),_0x45dce7=[_0x34ec7d['name'],_0x34ec7d[_0x59f520(0x328)]||_0x34ec7d['name'],_0x34ec7d['type']||_0x439494['zyRUD'],_0x34ec7d[_0x59f520(0x2b2)]||null,_0x34ec7d['queue']||_0x439494[_0x59f520(0x289)],_0x34ec7d['handler'],_0x34ec7d[_0x59f520(0x22e)]||'',_0x34ec7d['timeout']||0x7530,_0x34ec7d[_0x59f520(0x24e)]?.['maxAttempts']||0x3,_0x34ec7d[_0x59f520(0x24e)]?.['backoff']||'exponential',_0x2e598a,_0x5e18f];try{if(_0x439494[_0x59f520(0x2cd)](_0x1aacc8,'oracle'))await _0x16c845[_0x59f520(0x24c)]('MERGE\x20INTO\x20job_registry\x20r\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20USING\x20(SELECT\x20:1\x20AS\x20jn\x20FROM\x20DUAL)\x20s\x20ON\x20(r.job_name\x20=\x20s.jn)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHEN\x20MATCHED\x20THEN\x20UPDATE\x20SET\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display_name\x20=\x20:2,\x20type\x20=\x20:3,\x20schedule\x20=\x20:4,\x20queue\x20=\x20:5,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20handler\x20=\x20:6,\x20config_file\x20=\x20:7,\x20timeout\x20=\x20:8,\x20retry_max\x20=\x20:9,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20retry_backoff\x20=\x20:10,\x20status\x20=\x20:11,\x20next_run_at\x20=\x20:12,\x20updated_at\x20=\x20SYSTIMESTAMP\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHEN\x20NOT\x20MATCHED\x20THEN\x20INSERT\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(job_name,\x20display_name,\x20type,\x20schedule,\x20queue,\x20handler,\x20config_file,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout,\x20retry_max,\x20retry_backoff,\x20status,\x20next_run_at,\x20created_at,\x20updated_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(:1,\x20:2,\x20:3,\x20:4,\x20:5,\x20:6,\x20:7,\x20:8,\x20:9,\x20:10,\x20:11,\x20:12,\x20SYSTIMESTAMP,\x20SYSTIMESTAMP)',_0x45dce7);else _0x439494['fWSuW'](_0x1aacc8,'mysql')?await _0x16c845['executeQuery'](_0x59f520(0x202),_0x45dce7):await _0x16c845['executeQuery']('INSERT\x20INTO\x20job_registry\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(job_name,\x20display_name,\x20type,\x20schedule,\x20queue,\x20handler,\x20config_file,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout,\x20retry_max,\x20retry_backoff,\x20status,\x20next_run_at,\x20created_at,\x20updated_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20($1,\x20$2,\x20$3,\x20$4,\x20$5,\x20$6,\x20$7,\x20$8,\x20$9,\x20$10,\x20$11,\x20$12,\x20NOW(),\x20NOW())\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20CONFLICT\x20(job_name)\x20DO\x20UPDATE\x20SET\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display_name\x20=\x20EXCLUDED.display_name,\x20type\x20=\x20EXCLUDED.type,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20schedule\x20=\x20EXCLUDED.schedule,\x20queue\x20=\x20EXCLUDED.queue,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20handler\x20=\x20EXCLUDED.handler,\x20config_file\x20=\x20EXCLUDED.config_file,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout\x20=\x20EXCLUDED.timeout,\x20retry_max\x20=\x20EXCLUDED.retry_max,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20retry_backoff\x20=\x20EXCLUDED.retry_backoff,\x20status\x20=\x20EXCLUDED.status,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20EXCLUDED.next_run_at,\x20updated_at\x20=\x20NOW()',_0x45dce7);}catch(_0x9beb90){logger[_0x59f520(0x2ff)]({'event':_0x439494['fIsqM'],'name':_0x34ec7d[_0x59f520(0x266)],'error':_0x9beb90[_0x59f520(0x29c)]},_0x59f520(0x2a8)+_0x34ec7d[_0x59f520(0x266)]+'\x20—\x20'+_0x9beb90['message']);}}async['insertJobHistory'](_0x27ebef){const _0x5d4aa0=a0_0x29f8c7,_0x3156c5={'RMyhY':'cron','VrBEG':_0x5d4aa0(0x28a),'KePur':function(_0x570e32,_0x2a1709){return _0x570e32===_0x2a1709;},'INapc':_0x5d4aa0(0x255)},_0x2e7e36=this['getDbUtils']();if(!_0x2e7e36)return;const _0x2d2a54=this['getDbType'](),_0x158e97=[_0x27ebef['id'],_0x27ebef[_0x5d4aa0(0x30f)],_0x27ebef[_0x5d4aa0(0x1e7)]||null,_0x27ebef[_0x5d4aa0(0x221)]||_0x3156c5[_0x5d4aa0(0x260)],_0x27ebef[_0x5d4aa0(0x2c7)]||_0x5d4aa0(0x225),_0x27ebef['queue']||_0x3156c5['VrBEG'],_0x27ebef['attempt']||0x1,_0x27ebef['configFile']||null,process[_0x5d4aa0(0x23f)]];try{if(_0x3156c5['KePur'](_0x2d2a54,_0x5d4aa0(0x2e0)))await _0x2e7e36[_0x5d4aa0(0x24c)]('INSERT\x20INTO\x20job_history\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(id,\x20job_name,\x20bullmq_job_id,\x20trigger_type,\x20triggered_by,\x20status,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20queue,\x20attempt,\x20config_file,\x20started_at,\x20worker_pid,\x20created_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(:1,\x20:2,\x20:3,\x20:4,\x20:5,\x20\x27running\x27,\x20:6,\x20:7,\x20:8,\x20SYSTIMESTAMP,\x20:9,\x20SYSTIMESTAMP)',_0x158e97);else _0x3156c5[_0x5d4aa0(0x256)](_0x2d2a54,_0x5d4aa0(0x25a))?await _0x2e7e36[_0x5d4aa0(0x24c)](_0x5d4aa0(0x2bc),_0x158e97):await _0x2e7e36['executeQuery'](_0x5d4aa0(0x305),_0x158e97);await this['updateRegistryStatus'](_0x27ebef[_0x5d4aa0(0x30f)],'running');}catch(_0x77602c){logger[_0x5d4aa0(0x2ff)]({'event':_0x3156c5[_0x5d4aa0(0x2af)],'jobName':_0x27ebef[_0x5d4aa0(0x30f)],'error':_0x77602c['message']},_0x5d4aa0(0x247)+_0x77602c['message']);}}async[a0_0x29f8c7(0x25e)](_0x443fc1,_0x4568ff,_0x5dbc83){const _0x59037f=a0_0x29f8c7,_0x56a30e={'QNQfU':function(_0x2b3dbe,_0x14cf20){return _0x2b3dbe(_0x14cf20);},'jxWUm':'oracle','MfcIX':function(_0x2f86b1,_0x86c238){return _0x2f86b1===_0x86c238;},'EKDbJ':'mysql'},_0x210ffd=this['getDbUtils']();if(!_0x210ffd)return;const _0x2079d6=this[_0x59037f(0x223)](),_0x220fc2=_0x5dbc83?_0x56a30e['QNQfU'](String,_0x5dbc83)[_0x59037f(0x21e)](0x0,0x1f4):null;try{if(_0x2079d6===_0x56a30e[_0x59037f(0x1f9)])await _0x210ffd['executeQuery']('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27success\x27,\x20completed_at\x20=\x20SYSTIMESTAMP,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20:1,\x20progress\x20=\x20100,\x20result_summary\x20=\x20:2\x20WHERE\x20id\x20=\x20:3',[_0x4568ff,_0x220fc2,_0x443fc1]);else _0x56a30e['MfcIX'](_0x2079d6,_0x56a30e[_0x59037f(0x300)])?await _0x210ffd['executeQuery'](_0x59037f(0x2f3),[_0x4568ff,_0x220fc2,_0x443fc1]):await _0x210ffd['executeQuery']('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27success\x27,\x20completed_at\x20=\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20$1,\x20progress\x20=\x20100,\x20result_summary\x20=\x20$2\x20WHERE\x20id\x20=\x20$3',[_0x4568ff,_0x220fc2,_0x443fc1]);}catch(_0x4af16e){logger[_0x59037f(0x2ff)]({'event':_0x59037f(0x2b1),'historyId':_0x443fc1,'error':_0x4af16e['message']},'Failed\x20to\x20update\x20job\x20history\x20(completed):\x20'+_0x4af16e['message']);}}async['updateJobHistoryFailed'](_0x2c42b0,_0x108723,_0xc6d1e6,_0x46655d,_0x4fa2c7){const _0x4631ea=a0_0x29f8c7,_0x2d921b={'WivxJ':function(_0x52301a,_0x379d65){return _0x52301a(_0x379d65);},'fwnlR':function(_0x3cf5e5,_0x32b1cc){return _0x3cf5e5||_0x32b1cc;},'ZqNBQ':function(_0x43afe7,_0x499d27){return _0x43afe7||_0x499d27;}},_0x53d712=this['getDbUtils']();if(!_0x53d712)return;const _0x4b7e5b=this['getDbType'](),_0x10f23a=_0x46655d?String(_0x46655d)[_0x4631ea(0x21e)](0x0,0x3e8):null,_0xe7be9e=_0x4fa2c7?_0x2d921b[_0x4631ea(0x2d3)](String,_0x4fa2c7)[_0x4631ea(0x21e)](0x0,0xfa0):null;try{if(_0x4b7e5b==='oracle')await _0x53d712[_0x4631ea(0x24c)](_0x4631ea(0x296),[_0x108723,_0x2d921b[_0x4631ea(0x312)](_0xc6d1e6,0x0),_0x10f23a,_0xe7be9e,_0x2c42b0]);else _0x4b7e5b==='mysql'?await _0x53d712['executeQuery']('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27failed\x27,\x20completed_at\x20=\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20?,\x20progress\x20=\x20?,\x20error_message\x20=\x20?,\x20error_stack\x20=\x20?\x20WHERE\x20id\x20=\x20?',[_0x108723,_0xc6d1e6||0x0,_0x10f23a,_0xe7be9e,_0x2c42b0]):await _0x53d712[_0x4631ea(0x24c)](_0x4631ea(0x294),[_0x108723,_0x2d921b[_0x4631ea(0x23c)](_0xc6d1e6,0x0),_0x10f23a,_0xe7be9e,_0x2c42b0]);}catch(_0x5ddb5d){logger['warn']({'event':_0x4631ea(0x1ee),'historyId':_0x2c42b0,'error':_0x5ddb5d[_0x4631ea(0x29c)]},'Failed\x20to\x20update\x20job\x20history\x20(failed):\x20'+_0x5ddb5d['message']);}}async['updateRegistryStatus'](_0x360210,_0x2a564d){const _0x2c69cb=a0_0x29f8c7,_0x48e6d8={'jQALY':function(_0x516bfe,_0x39ac8c){return _0x516bfe===_0x39ac8c;}},_0x526239=this[_0x2c69cb(0x2d9)]();if(!_0x526239)return;const _0x5c4b99=this[_0x2c69cb(0x223)]();try{if(_0x5c4b99==='oracle')await _0x526239['executeQuery'](_0x2c69cb(0x30d),[_0x2a564d,_0x360210]);else _0x48e6d8[_0x2c69cb(0x29b)](_0x5c4b99,_0x2c69cb(0x25a))?await _0x526239['executeQuery'](_0x2c69cb(0x2d2),[_0x2a564d,_0x360210]):await _0x526239[_0x2c69cb(0x24c)](_0x2c69cb(0x2cb),[_0x2a564d,_0x360210]);}catch(_0x18c4ab){}}async['updateRegistryCounters'](_0x4865f9,_0x1df513,_0x246a8c,_0x4ef4e8){const _0x51fbc8=a0_0x29f8c7,_0x1ff45c={'pjfSz':function(_0x21e602,_0x5c4c03){return _0x21e602===_0x5c4c03;},'OPawd':function(_0x4d3ab3,_0x43139e){return _0x4d3ab3===_0x43139e;},'iOsFT':_0x51fbc8(0x284)},_0x1c932f=this[_0x51fbc8(0x2d9)]();if(!_0x1c932f)return;const _0x3d0c2b=this['getDbType'](),_0x4b5ad5=_0x1ff45c['pjfSz'](_0x1df513,'success')?'total_success':_0x51fbc8(0x27e);try{if(_0x3d0c2b===_0x51fbc8(0x2e0))await _0x1c932f['executeQuery'](_0x51fbc8(0x20f)+_0x4b5ad5+'\x20=\x20'+_0x4b5ad5+_0x51fbc8(0x2ab),[_0x1df513,_0x246a8c,_0x4ef4e8,_0x4865f9]);else _0x1ff45c['OPawd'](_0x3d0c2b,'mysql')?await _0x1c932f['executeQuery']('UPDATE\x20job_registry\x20SET\x20last_status\x20=\x20?,\x20last_duration_ms\x20=\x20?,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x4b5ad5+'\x20=\x20'+_0x4b5ad5+'\x20+\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20?\x20WHERE\x20job_name\x20=\x20?',[_0x1df513,_0x246a8c,_0x4ef4e8,_0x4865f9]):await _0x1c932f[_0x51fbc8(0x24c)]('UPDATE\x20job_registry\x20SET\x20last_status\x20=\x20$1,\x20last_duration_ms\x20=\x20$2,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x4b5ad5+_0x51fbc8(0x241)+_0x4b5ad5+'\x20+\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20$3,\x20updated_at\x20=\x20NOW()\x20WHERE\x20job_name\x20=\x20$4',[_0x1df513,_0x246a8c,_0x4ef4e8,_0x4865f9]);}catch(_0x55f77c){logger[_0x51fbc8(0x2ff)]({'event':_0x1ff45c[_0x51fbc8(0x299)],'jobName':_0x4865f9,'error':_0x55f77c[_0x51fbc8(0x29c)]},'Failed\x20to\x20update\x20job\x20registry\x20counters:\x20'+_0x55f77c['message']);}}async['getNextRunFromBullMQ'](_0x20084b){const _0x2ca884=a0_0x29f8c7,_0x11bc1b={'FvLId':function(_0x2c44e8,_0x1f589a){return _0x2c44e8!==_0x1f589a;},'yISXw':function(_0x2951f1,_0xdeb146){return _0x2951f1===_0xdeb146;},'rJCsw':_0x2ca884(0x28c)},_0x1fa158=this['jobConfigs'][_0x20084b];if(!_0x1fa158||_0x11bc1b['FvLId'](_0x1fa158['type'],_0x2ca884(0x1fa))||_0x1fa158['enabled']===![])return null;const _0x52b4bf=this['queues'][_0x1fa158[_0x2ca884(0x2b5)]||'default'];if(!_0x52b4bf)return null;try{if(_0x11bc1b[_0x2ca884(0x322)](typeof _0x52b4bf[_0x2ca884(0x244)],_0x11bc1b['rJCsw'])){const _0x162bed=await _0x52b4bf[_0x2ca884(0x244)](0x0,0x64),_0x4deee8=_0x162bed['find'](_0x2e3db1=>_0x2e3db1['name']===_0x20084b);return _0x4deee8?.['next']?new Date(_0x4deee8[_0x2ca884(0x25b)]):null;}}catch(_0x388a41){}return null;}async[a0_0x29f8c7(0x229)](){const _0x38918d=a0_0x29f8c7,_0x1b5ec7={'eSitR':function(_0x561a56,_0x3051cb){return _0x561a56===_0x3051cb;}},_0xc0e82a=this['getDbUtils']();if(!_0xc0e82a)return;const _0x2dad9d=this[_0x38918d(0x223)]();try{if(_0x1b5ec7['eSitR'](_0x2dad9d,'oracle'))await _0xc0e82a[_0x38918d(0x24c)](_0x38918d(0x2f0));else _0x2dad9d==='mysql'?await _0xc0e82a['executeQuery']('UPDATE\x20job_registry\x20SET\x20status\x20=\x20\x27offline\x27,\x20next_run_at\x20=\x20NULL'):await _0xc0e82a[_0x38918d(0x24c)](_0x38918d(0x2dc));}catch(_0x39c687){logger[_0x38918d(0x2ff)]({'event':_0x38918d(0x2f8),'error':_0x39c687[_0x38918d(0x29c)]},_0x38918d(0x298)+_0x39c687[_0x38918d(0x29c)]);}}[a0_0x29f8c7(0x2d9)](){const _0x2d201b=a0_0x29f8c7,_0x1e9f19={'EkRzQ':function(_0x4e95ca,_0x3e3d86){return _0x4e95ca===_0x3e3d86;},'FXONA':function(_0x486173,_0x51f427){return _0x486173(_0x51f427);},'SAyrN':'../../utils/db-oracle','jcWbW':function(_0x1b7ec3,_0x269ad5){return _0x1b7ec3===_0x269ad5;},'KnDNA':_0x2d201b(0x210),'PNQpi':'db_mysql_unavailable','jeikX':_0x2d201b(0x2e4),'XuSVX':_0x2d201b(0x325)},_0x14aaa3=(process['env']['DB_TYPE']||'postgresql')[_0x2d201b(0x324)]();if(_0x1e9f19[_0x2d201b(0x22b)](_0x14aaa3,_0x2d201b(0x2e0)))try{const _0x36b7ce=_0x1e9f19['FXONA'](require,_0x1e9f19[_0x2d201b(0x1e9)]);return{'executeQuery':(_0x3d1376,_0x1757f8)=>_0x36b7ce['executeQuery'](_0x3d1376,_0x1757f8),'executeTransaction':_0x4cae9a=>_0x36b7ce['executeTransaction'](_0x4cae9a),'getPool':()=>_0x36b7ce[_0x2d201b(0x1e8)]()};}catch(_0x64a58d){return logger['warn']({'event':'db_oracle_unavailable'},_0x2d201b(0x262)),null;}if(_0x1e9f19[_0x2d201b(0x21a)](_0x14aaa3,_0x2d201b(0x25a)))try{const _0x36e97c=require(_0x1e9f19[_0x2d201b(0x1fd)]);return{'executeQuery':(_0x26d07a,_0xbee8df)=>_0x36e97c['executeQuery'](_0x26d07a,_0xbee8df),'executeTransaction':_0x4395b3=>_0x36e97c['executeTransaction'](_0x4395b3),'getPool':()=>_0x36e97c[_0x2d201b(0x1e8)]()};}catch(_0x3ed254){return logger[_0x2d201b(0x2ff)]({'event':_0x1e9f19['PNQpi']},_0x1e9f19[_0x2d201b(0x2ed)]),null;}try{const _0x3295ef=require(_0x1e9f19[_0x2d201b(0x2c8)]);return{'executeQuery':_0x3295ef['executeQuery'],'executeTransaction':_0x3295ef['executeTransaction'],'getPool':_0x3295ef[_0x2d201b(0x1e8)]};}catch(_0x13c4d5){return logger['warn']({'event':_0x2d201b(0x201)},'PostgreSQL\x20DB\x20module\x20not\x20available'),null;}}['getRedisClient'](){const _0x417f33=a0_0x29f8c7,_0x5ed099={'yOWiT':_0x417f33(0x2ea)};try{const _0x3672e9=require(_0x5ed099['yOWiT']);return _0x3672e9[_0x417f33(0x2c0)]?_0x3672e9['getClient']():_0x3672e9;}catch(_0x5c6c83){return null;}}[a0_0x29f8c7(0x271)](){const _0xb13629=a0_0x29f8c7,_0x3526d4={'ezqhR':'true','UBLkh':function(_0x7d1f1c,_0xd42da9){return _0x7d1f1c(_0xd42da9);},'IfGIT':_0xb13629(0x23d)};try{if(process['env']['KAFKA_ENABLED']===_0x3526d4['ezqhR']){const _0x4b8d08=_0x3526d4['UBLkh'](require,_0x3526d4[_0xb13629(0x226)]);return _0x4b8d08[_0xb13629(0x301)]?_0x4b8d08['getInstance']():_0x4b8d08;}}catch(_0x184228){}return null;}[a0_0x29f8c7(0x1f6)](){const _0x492024={'RPVcu':function(_0xd4e1b,_0x2eecf9){return _0xd4e1b(_0x2eecf9);}};try{return _0x492024['RPVcu'](require,'../../utils/cache-manager');}catch(_0x1b1ceb){return null;}}async[a0_0x29f8c7(0x259)](_0x3a637b,_0x3adec8={}){const _0x2e6f8f=a0_0x29f8c7,_0x10dffa={'iNPZA':_0x2e6f8f(0x21f),'yQdHV':_0x2e6f8f(0x219)},_0x1c4bf6=this['jobConfigs'][_0x3a637b];if(!_0x1c4bf6)throw new Error('Job\x20not\x20found:\x20'+_0x3a637b);const _0x3b486b=this[_0x2e6f8f(0x243)][_0x1c4bf6[_0x2e6f8f(0x2b5)]||_0x2e6f8f(0x28a)],_0xf5fc20=await _0x3b486b['add'](_0x3a637b,{..._0x3adec8,'handler':_0x1c4bf6['handler'],'triggeredBy':'api'},{'attempts':_0x1c4bf6[_0x2e6f8f(0x24e)]?.['maxAttempts']||0x3,'backoff':{'type':_0x1c4bf6[_0x2e6f8f(0x24e)]?.['backoff']||_0x10dffa[_0x2e6f8f(0x276)],'delay':_0x1c4bf6['retry']?.['initialDelay']||0x1388},'timeout':_0x1c4bf6[_0x2e6f8f(0x2ee)]||0x7530});return logger[_0x2e6f8f(0x206)]({'event':'job_dispatched','jobId':_0xf5fc20['id'],'name':_0x3a637b,'triggeredBy':_0x10dffa['yQdHV']},_0x2e6f8f(0x31a)+_0x3a637b+'\x20(id:\x20'+_0xf5fc20['id']+')'),{'jobId':_0xf5fc20['id'],'name':_0x3a637b};}async['dispatchDelayed'](_0xf3b82d,_0xbcf958={},_0xd7c493=0x0){const _0x3bf2ac=a0_0x29f8c7,_0x2db8bc={'qzwzh':_0x3bf2ac(0x228)},_0x2716d8=this['jobConfigs'][_0xf3b82d];if(!_0x2716d8)throw new Error('Job\x20not\x20found:\x20'+_0xf3b82d);const _0xe21ea9=this['queues'][_0x2716d8[_0x3bf2ac(0x2b5)]||'default'],_0x428f3f=await _0xe21ea9[_0x3bf2ac(0x2e5)](_0xf3b82d,{..._0xbcf958,'handler':_0x2716d8['handler'],'triggeredBy':'api-delayed'},{'delay':_0xd7c493,'attempts':_0x2716d8['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0x2716d8[_0x3bf2ac(0x24e)]?.['backoff']||_0x3bf2ac(0x21f),'delay':_0x2716d8[_0x3bf2ac(0x24e)]?.['initialDelay']||0x1388},'timeout':_0x2716d8[_0x3bf2ac(0x2ee)]||0x7530});return logger[_0x3bf2ac(0x206)]({'event':_0x2db8bc[_0x3bf2ac(0x273)],'jobId':_0x428f3f['id'],'name':_0xf3b82d,'delayMs':_0xd7c493},'Job\x20dispatched\x20(delayed\x20'+_0xd7c493+_0x3bf2ac(0x2a9)+_0xf3b82d+_0x3bf2ac(0x245)+_0x428f3f['id']+')'),{'jobId':_0x428f3f['id'],'name':_0xf3b82d};}async['getJobStatus'](_0x4bca16){const _0x10e61f=a0_0x29f8c7;for(const _0x19d567 of Object[_0x10e61f(0x238)](this[_0x10e61f(0x243)])){const _0x321483=await _0x19d567['getJob'](_0x4bca16);if(_0x321483){const _0x167d6a=await _0x321483[_0x10e61f(0x2ec)]();return{'jobId':_0x321483['id'],'name':_0x321483[_0x10e61f(0x266)],'state':_0x167d6a,'progress':_0x321483[_0x10e61f(0x1e6)],'attemptsMade':_0x321483['attemptsMade'],'failedReason':_0x321483[_0x10e61f(0x2ca)],'returnvalue':_0x321483[_0x10e61f(0x28f)],'data':_0x321483[_0x10e61f(0x2db)],'timestamps':{'created':_0x321483[_0x10e61f(0x281)],'started':_0x321483['processedOn'],'completed':_0x321483[_0x10e61f(0x232)]}};}}return null;}['listJobs'](){const _0x267a73=a0_0x29f8c7;return Object[_0x267a73(0x238)](this['jobConfigs'])['map'](_0x581239=>({'name':_0x581239['name'],'description':_0x581239[_0x267a73(0x328)]||'','type':_0x581239[_0x267a73(0x2cc)],'schedule':_0x581239['schedule'],'handler':_0x581239['handler'],'enabled':_0x581239['enabled']!==![],'queue':_0x581239[_0x267a73(0x2b5)]||'default','timeout':_0x581239['timeout']||0x7530,'retry':_0x581239['retry']||{'maxAttempts':0x3,'backoff':'exponential','initialDelay':0x1388},'metadata':_0x581239[_0x267a73(0x2ad)]||{}}));}async['listRunning'](){const _0x37dc1a=a0_0x29f8c7,_0x1fb3eb=[];for(const [_0x402019,_0x7a8eda]of Object[_0x37dc1a(0x274)](this['queues'])){const _0x104f1d=await _0x7a8eda['getJobs']([_0x37dc1a(0x2f4)]);for(const _0x367887 of _0x104f1d){_0x1fb3eb['push']({'jobId':_0x367887['id'],'name':_0x367887[_0x37dc1a(0x266)],'queue':_0x402019,'progress':_0x367887[_0x37dc1a(0x1e6)],'attemptsMade':_0x367887['attemptsMade'],'startedAt':_0x367887['processedOn']});}}return _0x1fb3eb;}async['getHistory'](_0x1c72c5={}){const _0x3aab8f=a0_0x29f8c7,_0x45c33a={'drUGc':function(_0x1d5cd5,_0x506b0d,_0x1f74bf){return _0x1d5cd5(_0x506b0d,_0x1f74bf);},'INECf':_0x3aab8f(0x287),'gPJxg':_0x3aab8f(0x2a0)},_0x2d5a08=_0x45c33a['drUGc'](parseInt,_0x1c72c5[_0x3aab8f(0x24f)],0xa)||0x1,_0x261c8e=Math[_0x3aab8f(0x236)](parseInt(_0x1c72c5[_0x3aab8f(0x2f1)],0xa)||0x14,0x64),_0x5516b6=(_0x2d5a08-0x1)*_0x261c8e,_0x30d5dc=_0x5516b6+_0x261c8e-0x1,_0x4c377e=[];for(const [_0x149ff6,_0x1f1536]of Object['entries'](this['queues'])){const _0x4151aa=await _0x1f1536[_0x3aab8f(0x20a)]([_0x45c33a['INECf']],_0x5516b6,_0x30d5dc),_0x244fb5=await _0x1f1536['getJobs']([_0x45c33a[_0x3aab8f(0x2b9)]],_0x5516b6,_0x30d5dc);for(const _0x4519e3 of[..._0x4151aa,..._0x244fb5]){const _0x35a07f=await _0x4519e3['getState']();_0x4c377e['push']({'jobId':_0x4519e3['id'],'name':_0x4519e3[_0x3aab8f(0x266)],'state':_0x35a07f,'queue':_0x149ff6,'attemptsMade':_0x4519e3[_0x3aab8f(0x24b)],'failedReason':_0x4519e3['failedReason'],'returnvalue':_0x4519e3['returnvalue'],'timestamps':{'created':_0x4519e3[_0x3aab8f(0x281)],'started':_0x4519e3['processedOn'],'completed':_0x4519e3['finishedOn']}});}}return _0x4c377e['sort']((_0x197824,_0x3f2bb2)=>(_0x3f2bb2[_0x3aab8f(0x2fc)]['created']||0x0)-(_0x197824[_0x3aab8f(0x2fc)]['created']||0x0)),{'jobs':_0x4c377e['slice'](0x0,_0x261c8e),'total':_0x4c377e['length'],'page':_0x2d5a08,'limit':_0x261c8e};}async[a0_0x29f8c7(0x20e)](_0x12dd3f){const _0x223745=a0_0x29f8c7,_0x1382f6={'zKITv':function(_0x3b9fd8,_0x11a9cd){return _0x3b9fd8===_0x11a9cd;},'ldivL':_0x223745(0x27c),'SQgVf':_0x223745(0x31f)};for(const _0x98ba47 of Object[_0x223745(0x238)](this['queues'])){const _0x458834=await _0x98ba47['getJob'](_0x12dd3f);if(_0x458834){const _0x820c47=await _0x458834[_0x223745(0x2ec)]();if(_0x1382f6['zKITv'](_0x820c47,'active'))return await _0x458834[_0x223745(0x26b)](new Error(_0x1382f6['ldivL']),_0x1382f6['SQgVf'],!![]),{'success':!![],'message':_0x223745(0x249)+_0x12dd3f+'\x20cancelled\x20(was\x20active)'};if(_0x820c47==='waiting'||_0x820c47===_0x223745(0x217))return await _0x458834['remove'](),{'success':!![],'message':_0x223745(0x249)+_0x12dd3f+_0x223745(0x2b4)+_0x820c47+')'};return{'success':![],'message':'Job\x20'+_0x12dd3f+'\x20cannot\x20be\x20cancelled\x20(state:\x20'+_0x820c47+')'};}}return{'success':![],'message':_0x223745(0x249)+_0x12dd3f+_0x223745(0x31b)};}async['getHealthStatus'](){const _0x46c5df=a0_0x29f8c7,_0x5b0b68={'usOHe':_0x46c5df(0x2f4),'QVGdH':_0x46c5df(0x217),'OAcIC':'paused','zhcfg':_0x46c5df(0x2aa)},_0x3e078f={};for(const [_0x16f7f1,_0x3ac498]of Object['entries'](this[_0x46c5df(0x243)])){try{const _0x449e60=await _0x3ac498['getJobCounts'](_0x5b0b68[_0x46c5df(0x230)],_0x46c5df(0x287),_0x5b0b68[_0x46c5df(0x26e)],'failed',_0x5b0b68['OAcIC'],_0x5b0b68['zhcfg']);_0x3e078f[_0x16f7f1]=_0x449e60;}catch(_0x768024){_0x3e078f[_0x16f7f1]={'error':_0x768024[_0x46c5df(0x29c)]};}}const _0x1c33a9={};for(const [_0x2cb94d,_0x2c08c5]of Object['entries'](this[_0x46c5df(0x1f5)])){_0x1c33a9[_0x2cb94d]={'running':_0x2c08c5[_0x46c5df(0x216)](),'paused':_0x2c08c5['isPaused']()};}return{'initialized':this[_0x46c5df(0x250)],'registeredJobs':Object['keys'](this['jobConfigs'])['length'],'redisConnections':this['connections']['length'],'queues':_0x3e078f,'workers':_0x1c33a9};}async[a0_0x29f8c7(0x2b6)](_0x181cc8,_0x67a4d9){const _0x550a8f=a0_0x29f8c7,_0x793cd0={'apdgs':'after_job_complete_hook_error','XNGsP':_0x550a8f(0x239),'Peaoz':'job_completed','MBBwR':function(_0x459f4f,_0x18a043){return _0x459f4f-_0x18a043;},'iyTBX':function(_0x4093b8,_0x362ab2){return _0x4093b8===_0x362ab2;},'xJfJa':'string','GrVCi':_0x550a8f(0x2de),'xQMIU':function(_0x4a5c51){return _0x4a5c51();},'NzLzI':_0x550a8f(0x28c),'IhkCc':'JOB_COMPLETED','YHXAo':_0x550a8f(0x2f5)},_0x3f887c=logger['child']({'jobId':_0x181cc8['id'],'jobName':_0x181cc8[_0x550a8f(0x266)]});_0x3f887c['info']({'event':_0x793cd0['Peaoz'],'attemptsMade':_0x181cc8['attemptsMade'],'duration':_0x181cc8[_0x550a8f(0x232)]?_0x793cd0[_0x550a8f(0x23b)](_0x181cc8[_0x550a8f(0x232)],_0x181cc8[_0x550a8f(0x2b0)]):null},'Job\x20completed:\x20'+_0x181cc8['name']);const _0x31807c=this[_0x550a8f(0x27d)][_0x550a8f(0x2fb)](_0x181cc8['id']);if(_0x31807c){if(_0x31807c['insertPromise'])await _0x31807c[_0x550a8f(0x2bd)];const _0x333d22=_0x181cc8['finishedOn']&&_0x181cc8['processedOn']?_0x181cc8['finishedOn']-_0x181cc8['processedOn']:null,_0x4a7b7b=_0x793cd0['iyTBX'](typeof _0x67a4d9,_0x793cd0[_0x550a8f(0x2c3)])?_0x67a4d9:_0x67a4d9?JSON['stringify'](_0x67a4d9)[_0x550a8f(0x21e)](0x0,0x1f4):null;await this['updateJobHistoryCompleted'](_0x31807c[_0x550a8f(0x2a4)],_0x333d22,_0x4a7b7b);const _0x1228ab=await this[_0x550a8f(0x251)](_0x181cc8[_0x550a8f(0x266)]);await this[_0x550a8f(0x1f7)](_0x181cc8[_0x550a8f(0x266)],_0x793cd0[_0x550a8f(0x224)],_0x333d22,_0x1228ab),this[_0x550a8f(0x27d)][_0x550a8f(0x292)](_0x181cc8['id']);}const _0x6b998e=_0x793cd0['xQMIU'](getComponentEngine);if(_0x6b998e&&typeof _0x6b998e['executeEventHandlers']===_0x793cd0['NzLzI']){const _0x5464f1={'jobId':_0x181cc8['id'],'jobName':_0x181cc8['name'],'result':_0x67a4d9,'config':this['jobConfigs'][_0x181cc8[_0x550a8f(0x266)]]||{}};_0x6b998e['executeEventHandlers'](_0x550a8f(0x2da),_0x5464f1,![])['catch'](_0x3ff22d=>{const _0x3100df=_0x550a8f;_0x3f887c['warn']({'event':_0x793cd0[_0x3100df(0x2be)],'error':_0x3ff22d[_0x3100df(0x29c)]},_0x793cd0['XNGsP']);});}const _0x236975=this['getKafkaService']();if(_0x236975)try{await _0x236975[_0x550a8f(0x2e7)]('restforge.jobs.completed',_0x793cd0['IhkCc'],null,{'jobId':_0x181cc8['id'],'name':_0x181cc8[_0x550a8f(0x266)],'result':_0x67a4d9},{'module':_0x550a8f(0x1f0),'endpoint':_0x181cc8[_0x550a8f(0x266)]});}catch(_0x5cc213){_0x3f887c['warn']({'event':_0x793cd0[_0x550a8f(0x25c)],'error':_0x5cc213[_0x550a8f(0x29c)]},_0x550a8f(0x2a2));}}async['onJobFailed'](_0x3875f6,_0x585fac){const _0x3efd64=a0_0x29f8c7,_0x478eab={'EWZzb':_0x3efd64(0x28c),'rGlnp':'onAfterJobFailed','VlPwb':'JOB_FAILED','IuPMB':_0x3efd64(0x2f5),'rsvKH':'Failed\x20to\x20publish\x20JOB_FAILED\x20to\x20Kafka'},_0x54fd3d=logger[_0x3efd64(0x1fe)]({'jobId':_0x3875f6['id'],'jobName':_0x3875f6['name']});_0x54fd3d[_0x3efd64(0x1ff)]({'event':_0x3efd64(0x278),'attemptsMade':_0x3875f6[_0x3efd64(0x24b)],'failedReason':_0x585fac?.['message'],'willRetry':_0x3875f6[_0x3efd64(0x24b)]<(this[_0x3efd64(0x31d)][_0x3875f6[_0x3efd64(0x266)]]?.['retry']?.[_0x3efd64(0x311)]||0x3)},_0x3efd64(0x26f)+_0x3875f6[_0x3efd64(0x266)]+_0x3efd64(0x29a)+_0x585fac?.['message']);const _0x26241a=this['activeHistoryIds']['get'](_0x3875f6['id']);if(_0x26241a){if(_0x26241a[_0x3efd64(0x2bd)])await _0x26241a[_0x3efd64(0x2bd)];const _0x48b541=_0x3875f6['finishedOn']&&_0x3875f6['processedOn']?_0x3875f6['finishedOn']-_0x3875f6[_0x3efd64(0x2b0)]:null;await this[_0x3efd64(0x320)](_0x26241a[_0x3efd64(0x2a4)],_0x48b541,_0x3875f6[_0x3efd64(0x1e6)],_0x585fac?.['message'],_0x585fac?.[_0x3efd64(0x2bf)]);const _0x575c21=await this['getNextRunFromBullMQ'](_0x3875f6['name']);await this[_0x3efd64(0x1f7)](_0x3875f6[_0x3efd64(0x266)],_0x3efd64(0x2a0),_0x48b541,_0x575c21),this[_0x3efd64(0x27d)][_0x3efd64(0x292)](_0x3875f6['id']);}const _0x497d28=getComponentEngine();if(_0x497d28&&typeof _0x497d28['executeEventHandlers']===_0x478eab['EWZzb']){const _0x1c648c={'jobId':_0x3875f6['id'],'jobName':_0x3875f6['name'],'error':_0x585fac?.[_0x3efd64(0x29c)],'attemptsMade':_0x3875f6['attemptsMade'],'config':this[_0x3efd64(0x31d)][_0x3875f6['name']]||{}};_0x497d28['executeEventHandlers'](_0x478eab['rGlnp'],_0x1c648c,![])['catch'](_0x534d90=>{const _0x1516a9=_0x3efd64;_0x54fd3d['warn']({'event':'after_job_failed_hook_error','error':_0x534d90[_0x1516a9(0x29c)]},_0x1516a9(0x326));});}const _0x25104a=this[_0x3efd64(0x271)]();if(_0x25104a)try{await _0x25104a['publishEvent'](_0x3efd64(0x2a6),_0x478eab['VlPwb'],null,{'jobId':_0x3875f6['id'],'name':_0x3875f6['name'],'error':_0x585fac?.[_0x3efd64(0x29c)],'attemptsMade':_0x3875f6[_0x3efd64(0x24b)]},{'module':_0x3efd64(0x1f0),'endpoint':_0x3875f6[_0x3efd64(0x266)]});}catch(_0x20440f){_0x54fd3d['warn']({'event':_0x478eab['IuPMB'],'error':_0x20440f[_0x3efd64(0x29c)]},_0x478eab['rsvKH']);}}[a0_0x29f8c7(0x252)](_0x5062ad,_0x2b8b90){const _0x3fbdb1=a0_0x29f8c7,_0x5385ed={'OsqyT':_0x3fbdb1(0x28b)};logger['debug']({'event':_0x5385ed['OsqyT'],'jobId':_0x5062ad['id'],'jobName':_0x5062ad['name'],'progress':_0x2b8b90},_0x3fbdb1(0x2d0)+_0x5062ad[_0x3fbdb1(0x266)]+'\x20—\x20'+_0x2b8b90+'%');}}module['exports']=new JobManager();
|
|
1
|
+
function a0_0x6636(){const _0x5614ad=['DMfSAwq','Bgnhy1C','zw5KC1DPDgG','yxbPlwnHBMnLBa','AxnqyxvZzwq','DMfSAwrHDgvdB25MAwC','wLnfrNG','s2X3Bwm','AMTkqwm','ELfNzNy','su5trvjuieLove8GAM9Ix3jLz2LZDhj5cIaGicaGicaGicaGkgPVyL9Uyw1LlcbKAxnWBgf5x25HBwuSihr5CguSihnJAgvKDwXLlcbXDwv1zsWGAgfUzgXLCIWGy29UzMLNx2zPBguScIaGicaGicaGicaGihrPBwvVDxqSihjLDhj5x21HEcWGCMv0CNLFyMfJA29MzIWGC3rHDhvZlcbUzxH0x3j1BL9HDcWGy3jLyxrLzf9HDcWGDxbKyxrLzf9HDcKkicaGicaGicaGicbwquXvrvmGkd8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sie5pvYGPlcbot1COksKkicaGicaGicaGicbptIbevvbmsunbveuGs0vzifvqrefurqOGicaGicaGicaGicaGzgLZCgXHEv9Uyw1Lid0GvKfmvuvtkgrPC3bSyxLFBMfTzsKSihr5CguGpsbwquXvrvmODhLWzsKScIaGicaGicaGicaGicbZy2HLzhvSzsa9ifzbtfvfuYHZy2HLzhvSzsKSihf1zxvLid0GvKfmvuvtkhf1zxvLksWkicaGicaGicaGicaGigHHBMrSzxiGpsbwquXvrvmOAgfUzgXLCIKSignVBMzPz19MAwXLid0GvKfmvuvtkgnVBMzPz19MAwXLksWkicaGicaGicaGicaGihrPBwvVDxqGpsbwquXvrvmODgLTzw91DcKSihjLDhj5x21HEca9ifzbtfvfuYHYzxrYEv9TyxGPlaOGicaGicaGicaGicaGCMv0CNLFyMfJA29MzIa9ifzbtfvfuYHYzxrYEv9IywnRB2zMksWGC3rHDhvZid0GvKfmvuvtkhn0yxr1CYKScIaGicaGicaGicaGicbUzxH0x3j1BL9HDca9ifzbtfvfuYHUzxH0x3j1BL9HDcK','u1fmihnJCMLWDcb0AwrHAYbKAxrLBxvRyw46ia','AgfUzgXLCG','yxr0zw1WDa','BwfW','mJq0mJq4nezsrgDrwG','DhjPz2DLCLr5Cgu','BxryqvG','zhvWBgLJyxrL','Bw5rr2O','AM9ItMfTzq','z2v0rgjuExbL','AM9Ix2vUC3vYzv90ywjSzxnFzxjYB3i','su5trvjuieLove8GAM9Ix3jLz2LZDhj5cIaGicaGicaGicaGkgPVyL9Uyw1LlcbKAxnWBgf5x25HBwuSihr5CguSihnJAgvKDwXLlcbXDwv1zsWGAgfUzgXLCIWGy29UzMLNx2zPBguScIaGicaGicaGicaGihrPBwvVDxqSihjLDhj5x21HEcWGCMv0CNLFyMfJA29MzIWGC3rHDhvZlcbUzxH0x3j1BL9HDcWGy3jLyxrLzf9HDcWGDxbKyxrLzf9HDcKkicaGicaGicaGicbwquXvrvmGkcqXlcaKmIWGjdmSicq0lcaKnsWGjdySicq3lcaKocWGjdKSicqXmcWGjdeXlcaKmtiSie5pvYGPlcbot1COksKkicaGicaGicaGicbptIbdt05gteLdvcaOAM9Ix25HBwuPierpifvqrefursbtrvqkicaGicaGicaGicaGigrPC3bSyxLFBMfTzsa9ievyq0XvrevelMrPC3bSyxLFBMfTzsWGDhLWzsa9ievyq0XvrevelNr5CguScIaGicaGicaGicaGicbZy2HLzhvSzsa9ievyq0XvrevelNnJAgvKDwXLlcbXDwv1zsa9ievyq0XvrevelNf1zxvLlaOGicaGicaGicaGicaGAgfUzgXLCIa9ievyq0XvrevelMHHBMrSzxiSignVBMzPz19MAwXLid0GrvHdtfveruqUy29UzMLNx2zPBguScIaGicaGicaGicaGicb0Aw1LB3v0id0GrvHdtfveruqUDgLTzw91DcWGCMv0CNLFBwf4id0GrvHdtfveruqUCMv0CNLFBwf4laOGicaGicaGicaGicaGCMv0CNLFyMfJA29MzIa9ievyq0XvrevelNjLDhj5x2jHy2TVzMySihn0yxr1CYa9ievyq0XvrevelNn0yxr1CYWkicaGicaGicaGicaGig5LEhrFCNvUx2f0id0GrvHdtfveruqUBMv4Df9YDw5FyxqSihvWzgf0zwrFyxqGpsbot1COkq','ywn0AxzL','Dg9mB3DLCKnHC2u','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNzMfPBgvKjYWGy29TCgXLDgvKx2f0id0GtK9xkcKScIaGicaGicaGicaGzhvYyxrPB25FBxmGpsaKmsWGChjVz3jLC3mGpsaKmIWGzxjYB3jFBwvZC2fNzsa9icqZlcbLCNjVCL9ZDgfJAYa9icq0ifDirvjfigLKid0Gjdu','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticG6msWGoJiSidOZlca6ncWGoJuSicDYDw5UAw5NjYWGoJySidO3lca6ocWGu1LtveLnrvnuqu1qlca6osWGu1LtveLnrvnuqu1qkq','wvzyywi','zgvIDwC','AM9Ix2rPC3bHDgnOzwq','BxmPlI4U','AM9Ix3nXBf9UB3rFzM91BMq','C3vIC3rYAw5N','zxHLy3v0zvf1zxj5','z2v0q2fJAgvnyw5Hz2vY','id0G','y29UBMvJDgLVBNm','y3DK','CMvZDgzVCMDLlMPVyNmUy29TCgXLDgvK','C3bSAxq','Cg9ZDgDYzxnXBa','tKvcrvu','AeLivxC','AM9Ix3jLz2LZDgvYx2zHAwXLza','sM9Iie1HBMfNzxiGCMvHzhK6ia','ChvIBgLZAev2zw50','sM9Iie1HBMfNzxiGC2H1DhrPBMCGzg93BIaODgLTzw91DdOG','v2foAvu','mJbpExH4vhG','B1ffsNC','Cgf1C2u','B0fHAxu','mZaXrMjiBhfV','ntm5mtCWmM9tqNzVBW','sK9cx0zbsuXfrf9srvrftLrjt05Fse9vuLm','sK9cx1jfvevoveLptL9it1vsuW','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa/lcbSyxn0x2r1CMf0Aw9Ux21Zid0GpYWkicaGicaGicaGica','vKj3EK0','AgrwtMm','sM9Iig5VDcbMB3vUzdOG','txzxtxe','C3fSlxnJCMLWDhm','sgfUzgXLCIbUB3qGzM91BMqGzM9YigPVyJOG','BwvZC2fNzq','DhjPBq','z2v0uMvKAxndBgLLBNq','qNvSBe1rifDVCMTLCIbLCNjVCIaO','lIbkB2iGu2nOzwr1BgvYihrPzgfRigfRyw4GywT0AwyU','rMfPBgvKihrVihbHCNnLigPVyIbJB25MAwC6ia','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGC3rHDhvZid0Gj29MzMXPBMuNlcbUzxH0x3j1BL9HDca9ie5vteWSihvWzgf0zwrFyxqGpsbtwvnusu1fu1rbtva','zw5ZDxjLvgfIBgvZ','nJe3AKvywwn3','DgLTzw91Da','AM9Ix25Vx2nVBMzPz3m','BM93','tg9HzgvKia','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNC3vJy2vZCYCSignVBxbSzxrLzf9HDca9ie5pvYGPlaOGicaGicaGicaGigr1CMf0Aw9Ux21Zid0GjdeSihbYB2DYzxnZid0GmtaWlcbYzxn1BhrFC3vTBwfYEsa9icqYifDirvjfigLKid0Gjdm','lMPZ','vgLKywSGywrHigPVyIbJB25MAwCGzgL0zw11A2fUigrPihbHEwXVywqVAM9ICY8UiePVyIbnyw5Hz2vYigfRDgLMihrHBNbHignYB24U','yNvSBg1XsM9Iswq','z2v0q2XPzw50','C2H1DgrVD24','sM9IignVBMzPzYbPBNzHBgLKoIa','ignHBMnLBgXLzcaOD2fZigfJDgL2zsK','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGC3rHDhvZid0Gj29MzMXPBMuNlcbUzxH0x3j1BL9HDca9ie5vteWSihvWzgf0zwrFyxqGpsbot1COkq','C2v0qwXSsM9IC09MzMXPBMu','s2fZtgO','icSGmsWkicaGicaGicaGicbUzxH0x3j1BL9HDca9idOZlcb1CgrHDgvKx2f0id0Gu1LtveLnrvnuqu1qifDirvjfigPVyL9Uyw1Lid0GoJq','lI9QB2iTDMfSAwrHDg9Y','y3j5ChrV','q3jVBIbYzwDPC3rLCMvKoIa','ywn0AxzLsgLZDg9YEuLKCW','AgLNAa','zMfPBgvKuMvHC29U','zxjYB3jZ','nZqYnZrRuLLIDvK','s0fgs0fFru5bqKXfra','AM9Ix2vUC3vYzv90ywjSzxnFD2fYBG','lI4VlI4VC2vYDMLJzxmVA2fMA2ftzxj2AwnL','A0rrDhC','lI4VlI4VDxrPBhmVy2fJAguTBwfUywDLCG','C2XPy2u','mtaYodrqq2jXEhq','mJm1t01Lze1h','zxHWB3j0CW','AgfUzgXLCNm','CMvNAxn0zxjkB2i','z2v0rgjvDgLSCW','DxbKyxrLuMvNAxn0CNLtDgf0Dxm','ug9ZDgDYzvnrtcbeqIbTB2r1BguGBM90igf2ywLSywjSzq','Cg9ZDgDYzxnXBc5ZCwW','DxbZzxj0sM9Iu2nOzwr1BgvY','AM9Ix2HPC3rVCNLFy29TCgXLDgvFzxjYB3i','CgLK','AxrjshC','q3fvyuW','ifjLzgLZignVBM5Ly3rPB25Z','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa6msWGBgfZDf9KDxjHDgLVBL9TCYa9idOYlaOGicaGicaGicaGia','zg56q1G','sxj5q2O','y3jVBG','B25SAw5L','Aw5Zzxj0sM9IsgLZDg9YEq','ywrjzeq','tfjou0e','uKvesvnFse9tva','rejFvfLqrsaN','zNvUy3rPB24','CMvHzezPBgvtEw5J','zMLUza','qwHxwwu','sM9Iia','sg5yuva','sM9Iie1HBMfNzxiGC2H1DgrVD24Gy29TCgXLDgu','r2PLuMq','B2zMBgLUzq','CgfNzq','zgf0yq','CMvZDgzVCMDLlMPVyNmUzMfPBgvK','rMfPBgvKihrVihb1yMXPC2GGsK9cx0nptvbmrvrfrcb0BYblywzRyq','Bg93','yxLbqM8','CMvTB3zL','D2fPDgLUzW','Dhj1zq','sw5PDgLHBgL6Aw5NiePVyIbnyw5Hz2vYlI4U','sM9IigzHAwXLzdOG','zgvSyxLLza','CxvLDwu','y2HPBgq','CgfYC2u','C3rHBgXLza','C29YDa','AM9Ix2HHBMrSzxjFzg9Uzq','C3rYAw5N','qNvSBe1rifjLzgLZignVBM5Ly3rPB24GzxjYB3i6ia','zgvMyxvSDa','yKvLyvC','BMfTzq','x3nVDxjJzuzPBgu','Aw5PDgLHBgL6zwq','BxLZCwW','vuDouhi','wxv6yNi','suftC3K','sK9cx1nuquXmrurFsu5urvjwquW','Aw5PDgLHBerLBgf5','yMf0yMq','uwfmr0W','zMLSDgvY','lI4VlI4VDxrPBhmVzgiTBxLZCwW','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','uKvesvnFrei','y2f0y2G','t1fTBLu','z2v0u3rHDgu','yMjpquu','B3jHy2XLlNnXBa','CxvLDwvZ','CeHcqxm','y21cCxm','DgLTzxn0yw1W','ywz0zxjFAM9Ix2nVBxbSzxrLx2HVB2TFzxjYB3i','C3rYAw5NAwz5','BgvUz3rO','B25kB2jqCM9NCMvZCW','Bg9HzePVyKnVBMzPz3m','D2fYBG','icSGmsWkicaGicaGicaGicbUzxH0x3j1BL9HDca9id8Gv0HfuKuGAM9Ix25HBwuGpsa/','Aurtt0q','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa/lcbSyxn0x3j1BL9HDca9ie5pvYGPifDirvjfigPVyL9Uyw1Lid0GpW','rKP0z04','AM9Ix2THzMTHx3b1yMXPC2HFzxjYB3i','sK9cx0nptKnvuLjftKnz','zMfPBgvK','DxbKyxrLuMvNAxn0CNLdB3vUDgvYCW','CvHqC3K','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsaKmsWGBgfZDf9KDxjHDgLVBL9TCYa9icqYlaOGicaGicaGicaGia','icHPzdOG','qLb2DM8','rMfPBgvKihrVihvWzgf0zsbQB2iGCMvNAxn0CNKGy291BNrLCNm6ia','y3jLyxrLqNvSBe1rq29UBMvJDgLVBG','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsaKmsWGBgfZDf9YDw5FyxqGpsbot1COksWkicaGicaGicaGicb1CgrHDgvKx2f0id0GtK9xkcKGv0HfuKuGAM9Ix25HBwuGpsaKmG','yLPID00','BMv4Da','CxzKweG','mtiWohDLDvr6tG','y2XVC2u','DMfSDwvZ','Aw5JBhvKzxm','BwLU','DhLWzq','yNvSBg1X','t1v6rva','yMfJA29MzG','q25fsKW','AM9ICW','AM9Iq29UzMLNCW','qLH5Bg0','ChvZAa','DKz3Efu','yvDzCfu','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa6msWGBgfZDf9YDw5FyxqGpsbtwvnusu1fu1rbtvaScIaGicaGicaGicaGDxbKyxrLzf9HDca9ifnzu1rjtuvtvefnucbxsevsrsbQB2jFBMfTzsa9idOY','tgrkAwK','rKrUD3O','C0Hhtve','BLjHsee','Bwf4qxr0zw1WDhm','zw50CMLLCW','zw52','D0Hitey','AM9Ix21HBMfNzxjFC2H1DgrVD25FC3rHCNq','zMLUAxnOzwrpBG','zxHLy3v0zvrYyw5Zywn0Aw9U','CKDYAgO','ihjLBw92zwqGkhDHCYa','Cgf0Aa','ChjVy2vZC2vKt24','AM9PBG','CMv0CNK','AgLZDg9YEuLK','DxrMoa','sM9IignHBMnLBgXLzcb2AweGqvbj','igPVyIbJB25MAwCOCYKGzNjVBsbWyxLSB2fKl2PVyNmV','y29TCgXLDgvK','Aw5MBW','rMfPBgvKihrVihjLz2LZDgvYigPVyJOG','yxbP','ChjVy2vZC0PVyG','BezLAeK','B25bzNrLCKPVyKzHAwXLza','uNb0u3e','zxHLy3v0zuv2zw50sgfUzgXLCNm','yxr0zw1WDhnnywrL','B25bzNrLCKPVyKnVBxbSzxrLigHHBMrSzxiGzxjYB3iGkg5VBI1IBg9JA2LUzYK','Dw5RBM93BG','AM9Ix2nVBMzPz19PBNzHBgLK','rKPfrw0','zNvODhK','u2zhC0G','CxvPDa','zgvZy3jPChrPB24','EfvNCvi','y2XLyxi','mtq3nZu5nM5tweDfAG','qMfJA2DYB3vUzcbPBNnLCNqGAM9IigHPC3rVCNKGzMfPBgvKoIa','r3b3A0G','z2v0sgvHBhrOu3rHDhvZ','zxjYB3i','z2v0sM9ICW','zw5HyMXLza','CMnLyMu','DxbKyxrLuhjVz3jLC3m','tg1Mzgm','ywXS','iokaLca','yNvSBg1Xx3jLzgLZx2vYCM9Y','yw1drue','B3jHy2XL','CvfVsue','D29YA2vYCW','sM9IigrPC3bHDgnOzwq6ia','uKvesvnFue9sva','B25kB2jgywLSzwq','qNvSBe1rifjLzgLZignVBM5Ly3rPB24GDMvYAwzPzwq','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticG/lca/lca/lca/lca/lcaNCNvUBMLUzYCSid8Sid8Sid8Sie5pvYGPlca/lcbot1COksK','z2v0s2fMA2ftzxj2AwnL','ofntsufmrW','DxbKyxrLsM9IsgLZDg9YEuzHAwXLza','AM9Ix3DVCMTLCNnFy3jLyxrLza','Bg9JywXOB3n0','BxLZCwWUC3fS','DxvPza','y0Tnvxa','mJm4oty3mtzTAeH0zxu','C3bSAxrtCwXtDgf0zw1LBNrZ','z2v0tMv4Dfj1BKzYB21cDwXStve','rejFvfLqrq','AM9IlxnJAgvKDwXLCG','DhjPz2DLCMvKqNK','lIbeqIbTB25PDg9YAw5NigrPC2fIBgvKlG','EKPPD2q','AM9Ix2rPC3bHDgnOzwrFzgvSyxLLza','lI4VlI4VDxrPBhmVBg9Nz2vY','CMv0DxjUDMfSDwu','DgLTzxn0yw1WCW','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq'];a0_0x6636=function(){return _0x5614ad;};return a0_0x6636();}const a0_0x4f8384=a0_0x2747;(function(_0x22900b,_0xedbc99){const _0x2d8484=a0_0x2747,_0x2c1e91=_0x22900b();while(!![]){try{const _0x54e4be=-parseInt(_0x2d8484(0x2c7))/0x1*(parseInt(_0x2d8484(0x21a))/0x2)+parseInt(_0x2d8484(0x254))/0x3+-parseInt(_0x2d8484(0x2e6))/0x4*(parseInt(_0x2d8484(0x2e7))/0x5)+parseInt(_0x2d8484(0x2df))/0x6*(-parseInt(_0x2d8484(0x2b4))/0x7)+parseInt(_0x2d8484(0x26b))/0x8*(-parseInt(_0x2d8484(0x2b5))/0x9)+-parseInt(_0x2d8484(0x2b0))/0xa*(parseInt(_0x2d8484(0x28e))/0xb)+parseInt(_0x2d8484(0x272))/0xc;if(_0x54e4be===_0xedbc99)break;else _0x2c1e91['push'](_0x2c1e91['shift']());}catch(_0x126e02){_0x2c1e91['push'](_0x2c1e91['shift']());}}}(a0_0x6636,0x654ed));function a0_0x2747(_0x264b66,_0x4095e2){_0x264b66=_0x264b66-0x1e0;const _0x6636df=a0_0x6636();let _0x2747c4=_0x6636df[_0x264b66];if(a0_0x2747['kTzxQS']===undefined){var _0x1a1b16=function(_0xaeb4cb){const _0x3d7ea3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x139221='',_0x26b6c7='';for(let _0x5557b0=0x0,_0x42f6b3,_0x2eab77,_0x55a217=0x0;_0x2eab77=_0xaeb4cb['charAt'](_0x55a217++);~_0x2eab77&&(_0x42f6b3=_0x5557b0%0x4?_0x42f6b3*0x40+_0x2eab77:_0x2eab77,_0x5557b0++%0x4)?_0x139221+=String['fromCharCode'](0xff&_0x42f6b3>>(-0x2*_0x5557b0&0x6)):0x0){_0x2eab77=_0x3d7ea3['indexOf'](_0x2eab77);}for(let _0x50d7da=0x0,_0xe916da=_0x139221['length'];_0x50d7da<_0xe916da;_0x50d7da++){_0x26b6c7+='%'+('00'+_0x139221['charCodeAt'](_0x50d7da)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x26b6c7);};a0_0x2747['ssabTD']=_0x1a1b16,a0_0x2747['BFeKTE']={},a0_0x2747['kTzxQS']=!![];}const _0x2c7ae1=_0x6636df[0x0],_0x439864=_0x264b66+_0x2c7ae1,_0x5dad38=a0_0x2747['BFeKTE'][_0x439864];return!_0x5dad38?(_0x2747c4=a0_0x2747['ssabTD'](_0x2747c4),a0_0x2747['BFeKTE'][_0x439864]=_0x2747c4):_0x2747c4=_0x5dad38,_0x2747c4;}const {Queue,Worker}=require(a0_0x4f8384(0x220)),Redis=require('ioredis'),crypto=require(a0_0x4f8384(0x2d9)),{v7:uuidv7}=require(a0_0x4f8384(0x270)),fs=require('fs'),path=require(a0_0x4f8384(0x238)),{logger}=require(a0_0x4f8384(0x27b)),jobValidator=require(a0_0x4f8384(0x2d8));let componentEngine=null;function getComponentEngine(){const _0x11fbaa={'vbWnw':'../../utils/component-engine'};if(!componentEngine)try{const _0x3bfbbd=require(_0x11fbaa['vbWnw']);componentEngine=_0x3bfbbd['componentEngine']||_0x3bfbbd;}catch(_0x23b6d9){}return componentEngine;}class JobManager{constructor(){const _0x6c92e5=a0_0x4f8384;this['queues']={},this[_0x6c92e5(0x264)]={},this['jobConfigs']={},this['handlers']={},this[_0x6c92e5(0x2a4)]=[],this['initialized']=![],this['workingDir']=process[_0x6c92e5(0x2a5)](),this[_0x6c92e5(0x2db)]=new Map();}['createBullMQConnection'](){const _0x18363a=a0_0x4f8384,_0x320cbf={'ExDwX':_0x18363a(0x260),'sHGMQ':function(_0xff8fcf,_0x1404ab,_0x383a91){return _0xff8fcf(_0x1404ab,_0x383a91);},'kDQtw':function(_0x2152fd,_0x5d9bfe,_0x323b8e){return _0x2152fd(_0x5d9bfe,_0x323b8e);},'JzBQz':_0x18363a(0x258)},_0x2f8515=new Redis({'host':process['env'][_0x18363a(0x2fd)]||_0x18363a(0x26e),'port':_0x320cbf[_0x18363a(0x22d)](parseInt,process[_0x18363a(0x231)][_0x18363a(0x266)],0xa)||0x18ec,'password':process['env']['REDIS_PASSWORD']||undefined,'db':_0x320cbf[_0x18363a(0x2e3)](parseInt,process['env'][_0x18363a(0x1f8)],0xa)||0x0,'maxRetriesPerRequest':null,'retryStrategy'(_0x4e5e20){const _0x1210dd=_0x18363a,_0x575f72=Math[_0x1210dd(0x21e)](_0x4e5e20*0x32,0x7d0);return _0x575f72;}});return _0x2f8515['on'](_0x320cbf['JzBQz'],_0x5c1a6f=>{const _0x5303b8=_0x18363a;logger[_0x5303b8(0x258)]({'event':_0x320cbf['ExDwX'],'error':_0x5c1a6f['message']},_0x5303b8(0x1e7)+_0x5c1a6f['message']);}),this[_0x18363a(0x2a4)]['push'](_0x2f8515),_0x2f8515;}async['initialize'](){const _0x81ce1a=a0_0x4f8384,_0xb40784={'dnzCX':'job_manager_already_initialized','wHHLF':'Job\x20Manager\x20sudah\x20diinisialisasi,\x20skip','BPvvo':_0x81ce1a(0x311),'zJiwd':_0x81ce1a(0x2c9),'NgWdZ':_0x81ce1a(0x24c),'bbOAE':_0x81ce1a(0x24b),'qXPsy':function(_0x5bcf30,_0x350f83){return _0x5bcf30*_0x350f83;},'BXylm':'3\x20BullMQ\x20Queues\x20created\x20(high,\x20default,\x20low)','mnQGj':function(_0x2695fc,_0x21bba1,_0x459f6d){return _0x2695fc(_0x21bba1,_0x459f6d);},'IryCj':'completed','amCEA':'failed','FkmjA':_0x81ce1a(0x1e3),'CnEJL':_0x81ce1a(0x258),'ZSEFx':'job_manager_ready'};if(this[_0x81ce1a(0x1ec)]){logger['warn']({'event':_0xb40784[_0x81ce1a(0x2f6)]},_0xb40784[_0x81ce1a(0x232)]);return;}logger[_0x81ce1a(0x241)]({'event':'job_manager_init_start'},_0xb40784[_0x81ce1a(0x213)]);const _0x1c7f78=this[_0x81ce1a(0x215)]();try{await _0x1c7f78['ping'](),logger['info']({'event':'job_redis_connected'},_0x81ce1a(0x268));}catch(_0x1e695f){logger['error']({'event':'job_redis_failed','error':_0x1e695f['message']},'Redis\x20connection\x20failed:\x20'+_0x1e695f[_0x81ce1a(0x2bf)]+_0x81ce1a(0x2c3));try{await _0x1c7f78['quit']();}catch(_0x29efe7){}this[_0x81ce1a(0x2a4)]=this['connections'][_0x81ce1a(0x1f5)](_0x256416=>_0x256416!==_0x1c7f78);return;}try{await _0x1c7f78['quit']();}catch(_0x32ae3c){}this[_0x81ce1a(0x2a4)]=this['connections']['filter'](_0x507708=>_0x507708!==_0x1c7f78);try{await this[_0x81ce1a(0x2c6)]();}catch(_0x2da46c){logger[_0x81ce1a(0x207)]({'event':_0x81ce1a(0x295),'error':_0x2da46c[_0x81ce1a(0x2bf)]},'Failed\x20to\x20ensure\x20job\x20tables:\x20'+_0x2da46c['message']+_0x81ce1a(0x278));}const _0x5177be=this['loadJobConfigs']();_0x5177be[_0x81ce1a(0x204)]===0x0&&logger['info']({'event':_0xb40784[_0x81ce1a(0x279)]},_0x81ce1a(0x2ce));const _0x3e4c7a=[];for(const _0x133413 of _0x5177be){const _0xfa2a0e=jobValidator[_0x81ce1a(0x284)](_0x133413,this['workingDir']);_0xfa2a0e[_0x81ce1a(0x27f)]?_0x3e4c7a['push'](_0x133413):logger[_0x81ce1a(0x258)]({'event':_0xb40784['NgWdZ'],'name':_0x133413['name']||_0xb40784[_0x81ce1a(0x1fc)],'errors':_0xfa2a0e['errors']},_0x81ce1a(0x2d2)+(_0x133413[_0x81ce1a(0x1ea)]||_0xb40784['bbOAE'])+'\x20—\x20'+_0xfa2a0e[_0x81ce1a(0x2de)]['join'](';\x20'));}const _0x26757b=process[_0x81ce1a(0x231)][_0x81ce1a(0x27e)]||'default',_0xd7d543=process[_0x81ce1a(0x231)]['JOB_REDIS_PREFIX']||'rf:'+_0x26757b+':job',_0x149d19=parseInt(process['env'][_0x81ce1a(0x2b7)],0xa)||0x48,_0x1e201d=parseInt(process['env'][_0x81ce1a(0x2b6)],0xa)||0xa8,_0x54eccc={'removeOnComplete':{'age':_0xb40784[_0x81ce1a(0x210)](_0x149d19,0xe10)},'removeOnFail':{'age':_0xb40784[_0x81ce1a(0x210)](_0x1e201d,0xe10)}},_0x1475ee={'high-priority':_0x81ce1a(0x2dc),'default':_0x81ce1a(0x1e8),'low-priority':_0x81ce1a(0x30c)};for(const [_0x40d5c5,_0x1c64db]of Object[_0x81ce1a(0x230)](_0x1475ee)){this[_0x81ce1a(0x1fe)][_0x40d5c5]=new Queue(_0x1c64db,{'connection':this[_0x81ce1a(0x215)](),'prefix':_0xd7d543,'defaultJobOptions':_0x54eccc});}logger['info']({'event':'job_queues_created','count':0x3},_0xb40784[_0x81ce1a(0x226)]);const _0x197fdf=parseInt(process[_0x81ce1a(0x231)][_0x81ce1a(0x20d)],0xa)||0x5,_0x25eed9=parseInt(process[_0x81ce1a(0x231)][_0x81ce1a(0x1f1)],0xa)||0x7530,_0x4f88b1=_0xb40784[_0x81ce1a(0x292)](parseInt,process[_0x81ce1a(0x231)]['JOB_MAX_STALLED_COUNT'],0xa)||0x2;for(const [_0x2075f6,_0x536b16]of Object['entries'](_0x1475ee)){const _0x23d739=new Worker(_0x536b16,async _0x4a81b0=>this['processJob'](_0x4a81b0),{'connection':this[_0x81ce1a(0x215)](),'prefix':_0xd7d543,'concurrency':_0x197fdf,'stalledInterval':_0x25eed9,'maxStalledCount':_0x4f88b1});_0x23d739['on'](_0xb40784[_0x81ce1a(0x2f7)],(_0x292702,_0x5f2447)=>this['onJobCompleted'](_0x292702,_0x5f2447)),_0x23d739['on'](_0xb40784[_0x81ce1a(0x261)],(_0x57baec,_0x52e3f1)=>this[_0x81ce1a(0x267)](_0x57baec,_0x52e3f1)),_0x23d739['on']('progress',(_0x5edf38,_0x50ca81)=>this['onJobProgress'](_0x5edf38,_0x50ca81)),_0x23d739['on'](_0xb40784['FkmjA'],_0x31387a=>{logger['warn']({'event':'job_stalled','jobId':_0x31387a},'Job\x20stalled:\x20'+_0x31387a);}),_0x23d739['on'](_0xb40784[_0x81ce1a(0x223)],_0x25d40d=>{const _0x103b53=_0x81ce1a;logger['error']({'event':'bullmq_worker_error','queue':_0x2075f6,'error':_0x25d40d['message']},_0x103b53(0x2c2)+_0x2075f6+'):\x20'+_0x25d40d['message']);}),this[_0x81ce1a(0x264)][_0x2075f6]=_0x23d739;}logger[_0x81ce1a(0x241)]({'event':_0x81ce1a(0x26d),'count':0x3,'concurrency':_0x197fdf},'3\x20BullMQ\x20Workers\x20created\x20(concurrency:\x20'+_0x197fdf+')');let _0x392a24=0x0;for(const _0x27b614 of _0x3e4c7a){try{await this[_0x81ce1a(0x2ea)](_0x27b614),_0x392a24++;}catch(_0x298a23){logger[_0x81ce1a(0x258)]({'event':_0x81ce1a(0x2ab),'name':_0x27b614['name'],'error':_0x298a23[_0x81ce1a(0x2bf)]},_0x81ce1a(0x242)+_0x27b614['name']+'\x20—\x20'+_0x298a23['message']);}}this[_0x81ce1a(0x1ec)]=!![];const _0x4adbf3=this['connections']['length'];logger[_0x81ce1a(0x241)]({'event':_0xb40784[_0x81ce1a(0x285)],'registeredJobs':_0x392a24,'totalConfigs':_0x3e4c7a['length'],'redisConnections':_0x4adbf3},_0x81ce1a(0x2ac)+_0x392a24+'\x20job(s)\x20registered,\x20'+_0x4adbf3+_0x81ce1a(0x2f4));}async[a0_0x4f8384(0x2d1)](){const _0x374612=a0_0x4f8384,_0x5c5837={'cmBqs':_0x374612(0x233),'Yuzbr':function(_0x4c9e92,_0x103193){return _0x4c9e92-_0x103193;},'KaEWB':function(_0x230d04,_0x304788){return _0x230d04===_0x304788;}};if(!this[_0x374612(0x1ec)])return;const _0x1ae966=parseInt(process[_0x374612(0x231)]['JOB_SHUTDOWN_TIMEOUT'],0xa)||0x2710;logger[_0x374612(0x241)]({'event':_0x5c5837[_0x374612(0x200)],'timeoutMs':_0x1ae966},_0x374612(0x2ae)+_0x1ae966+_0x374612(0x29e));const _0x44d6e2=Object['values'](this[_0x374612(0x264)])[_0x374612(0x28d)](async _0x4ceea7=>{const _0x1abe15=_0x374612;try{await _0x4ceea7[_0x1abe15(0x2b2)]();}catch(_0x5eb287){}});await Promise[_0x374612(0x25e)](_0x44d6e2);const _0x77e5e0=Date[_0x374612(0x2ca)]();while(_0x5c5837[_0x374612(0x1ef)](Date[_0x374612(0x2ca)](),_0x77e5e0)<_0x1ae966){let _0x5577b6=0x0;for(const _0x4ff21b of Object[_0x374612(0x21c)](this[_0x374612(0x1fe)])){try{const _0x165358=await _0x4ff21b['getJobCounts']('active');_0x5577b6+=_0x165358['active']||0x0;}catch(_0x19aeeb){}}if(_0x5c5837['KaEWB'](_0x5577b6,0x0))break;await new Promise(_0x5961fb=>setTimeout(_0x5961fb,0x1f4));}const _0x480fa9=Object[_0x374612(0x21c)](this[_0x374612(0x264)])['map'](async _0x3ff7a0=>{try{await _0x3ff7a0['close']();}catch(_0x55f4fa){}});await Promise['all'](_0x480fa9);const _0x523f0f=Object['values'](this['queues'])[_0x374612(0x28d)](async _0x2891c4=>{const _0x1fdcab=_0x374612;try{await _0x2891c4[_0x1fdcab(0x21b)]();}catch(_0x58459e){}});await Promise['all'](_0x523f0f);for(const _0x4ae692 of this['connections']){try{await _0x4ae692[_0x374612(0x250)]();}catch(_0x3eb464){}}this[_0x374612(0x1fe)]={},this[_0x374612(0x264)]={},this['connections']=[],await this['setAllJobsOffline'](),this['activeHistoryIds'][_0x374612(0x253)](),this['initialized']=![],logger[_0x374612(0x241)]({'event':'job_manager_shutdown_complete'},_0x374612(0x305));}[a0_0x4f8384(0x206)](){const _0x4bb600=a0_0x4f8384,_0x4a3188={'kcGWo':'payload','UGNPr':'Folder\x20payload/jobs/\x20tidak\x20ditemukan','xhoQA':_0x4bb600(0x23d),'eilKt':'job_config_parse_error'},_0x518024=path['join'](this['workingDir'],_0x4a3188['kcGWo'],_0x4bb600(0x224));if(!fs['existsSync'](_0x518024))return logger[_0x4bb600(0x241)]({'event':'job_config_dir_missing','path':_0x518024},_0x4a3188[_0x4bb600(0x1ee)]),[];const _0x59979c=fs['readdirSync'](_0x518024)[_0x4bb600(0x1f5)](_0x4f3eaf=>_0x4f3eaf[_0x4bb600(0x281)]('.json')),_0x2b9a8f=[];for(const _0x3c10bf of _0x59979c){const _0x5ce9c9=path[_0x4bb600(0x23a)](_0x518024,_0x3c10bf);try{const _0x989daa=fs['readFileSync'](_0x5ce9c9,_0x4a3188['xhoQA']),_0xfc232c=JSON[_0x4bb600(0x1e2)](_0x989daa);_0xfc232c['_sourceFile']=_0x3c10bf,_0x2b9a8f['push'](_0xfc232c);}catch(_0x49f6bb){logger[_0x4bb600(0x258)]({'event':_0x4a3188['eilKt'],'file':_0x3c10bf,'error':_0x49f6bb[_0x4bb600(0x2bf)]},_0x4bb600(0x2c4)+_0x3c10bf+_0x4bb600(0x25f)+_0x49f6bb[_0x4bb600(0x2bf)]);}}return logger[_0x4bb600(0x241)]({'event':'job_configs_loaded','count':_0x2b9a8f[_0x4bb600(0x204)]},_0x4bb600(0x2cb)+_0x2b9a8f[_0x4bb600(0x204)]+_0x4bb600(0x23f)),_0x2b9a8f;}async[a0_0x4f8384(0x2ea)](_0x11f0ba){const _0x3cd0b1=a0_0x4f8384,_0x35dd88={'gzzjn':'src','HnXQP':'jobs','gxQeO':function(_0x505277,_0x5eb795){return _0x505277===_0x5eb795;},'LRNSA':'cron','ITwpO':function(_0x521153,_0x52558d){return _0x521153!==_0x52558d;},'iddTP':_0x3cd0b1(0x1e8),'lcGcW':'cron_registered','batbd':_0x3cd0b1(0x307),'qvdXH':function(_0x51f460,_0x22a50c){return _0x51f460===_0x22a50c;},'FJEEm':_0x3cd0b1(0x2f9)},_0x518ce6=path[_0x3cd0b1(0x23a)](this['workingDir'],_0x35dd88['gzzjn'],_0x35dd88[_0x3cd0b1(0x304)],_0x11f0ba['handler']+_0x3cd0b1(0x2cd));this[_0x3cd0b1(0x2e9)][_0x11f0ba[_0x3cd0b1(0x1ea)]]=require(_0x518ce6),this[_0x3cd0b1(0x225)][_0x11f0ba['name']]=_0x11f0ba;if(_0x35dd88['gxQeO'](_0x11f0ba[_0x3cd0b1(0x21f)],_0x35dd88['LRNSA'])&&_0x35dd88['ITwpO'](_0x11f0ba['enabled'],![])){const _0x123d4d=this['queues'][_0x11f0ba['queue']||_0x35dd88['iddTP']];await _0x123d4d[_0x3cd0b1(0x2ef)](_0x11f0ba['name'],{'pattern':_0x11f0ba['schedule'],'tz':_0x11f0ba['timezone']||undefined},{'name':_0x11f0ba['name'],'data':{'handler':_0x11f0ba[_0x3cd0b1(0x28b)],'triggeredBy':_0x3cd0b1(0x2f8),'metadata':_0x11f0ba['metadata']||{}},'opts':{'attempts':_0x11f0ba[_0x3cd0b1(0x23b)]?.[_0x3cd0b1(0x22f)]||0x3,'backoff':{'type':_0x11f0ba['retry']?.[_0x3cd0b1(0x222)]||'exponential','delay':_0x11f0ba[_0x3cd0b1(0x23b)]?.[_0x3cd0b1(0x1f2)]||0x1388},'timeout':_0x11f0ba['timeout']||0x7530}}),logger[_0x3cd0b1(0x241)]({'event':_0x35dd88[_0x3cd0b1(0x280)],'name':_0x11f0ba[_0x3cd0b1(0x1ea)],'schedule':_0x11f0ba['schedule'],'queue':_0x11f0ba[_0x3cd0b1(0x1e0)]||_0x35dd88['iddTP']},_0x3cd0b1(0x2da)+_0x11f0ba['name']+'\x20['+_0x11f0ba['schedule']+']');}const _0x25d65d=_0x35dd88['gxQeO'](_0x11f0ba['type'],_0x35dd88[_0x3cd0b1(0x2fc)])&&_0x35dd88['ITwpO'](_0x11f0ba[_0x3cd0b1(0x25a)],![])?_0x3cd0b1(0x2f9):_0x35dd88[_0x3cd0b1(0x1f3)];let _0x5d7e64=null;_0x35dd88[_0x3cd0b1(0x219)](_0x25d65d,_0x35dd88[_0x3cd0b1(0x24d)])&&(_0x5d7e64=await this[_0x3cd0b1(0x274)](_0x11f0ba['name'])),await this['upsertJobRegistry'](_0x11f0ba,_0x25d65d,_0x5d7e64);}async[a0_0x4f8384(0x244)](_0x143018){const _0x484f54=a0_0x4f8384,_0x192ad9={'kdBcI':'job_history_insert_bg_error','rGrhj':'job_started','MvWMq':function(_0x172292,_0x3f8774){return _0x172292+_0x3f8774;},'vFwxU':_0x484f54(0x24b),'Klwmc':function(_0x38e34c,_0x231b85){return _0x38e34c===_0x231b85;},'OQmnU':'manual','MDLsu':'system','acDwg':_0x484f54(0x1e8),'fakQB':function(_0xf95a57){return _0xf95a57();},'jkJAc':'onBeforeJobExecute'},_0x2baccf=this[_0x484f54(0x225)][_0x143018['name']],_0x26b83e=this[_0x484f54(0x2e9)][_0x143018[_0x484f54(0x1ea)]];if(!_0x26b83e)throw new Error(_0x484f54(0x2be)+_0x143018['name']);const _0x3fe3d3=logger[_0x484f54(0x1e1)]({'jobId':_0x143018['id'],'jobName':_0x143018[_0x484f54(0x1ea)]});_0x3fe3d3['info']({'event':_0x192ad9[_0x484f54(0x236)],'attempt':_0x192ad9[_0x484f54(0x2bc)](_0x143018['attemptsMade'],0x1),'triggeredBy':_0x143018['data']?.['triggeredBy']||_0x192ad9[_0x484f54(0x228)]},'Job\x20started:\x20'+_0x143018[_0x484f54(0x1ea)]+'\x20(attempt\x20'+(_0x143018[_0x484f54(0x249)]+0x1)+')');const _0x1a03fd=uuidv7(),_0x441c39=_0x143018['data']?.[_0x484f54(0x277)]||_0x484f54(0x24b),_0x5465d3=this[_0x484f54(0x2fa)]({'id':_0x1a03fd,'jobName':_0x143018['name'],'bullmqJobId':_0x143018['id'],'triggerType':_0x192ad9[_0x484f54(0x286)](_0x441c39,'api-delayed')?'delayed':_0x192ad9[_0x484f54(0x286)](_0x441c39,'api')?_0x192ad9[_0x484f54(0x1fa)]:_0x484f54(0x2f8),'triggeredBy':_0x441c39===_0x484f54(0x2f8)?_0x192ad9['MDLsu']:_0x441c39,'queue':_0x2baccf?.['queue']||_0x192ad9['acDwg'],'attempt':_0x192ad9['MvWMq'](_0x143018['attemptsMade'],0x1),'configFile':_0x2baccf?.[_0x484f54(0x1eb)]||null})[_0x484f54(0x1f9)](_0x3703e7=>{const _0x59c26d=_0x484f54;_0x3fe3d3[_0x59c26d(0x207)]({'event':_0x192ad9['kdBcI'],'error':_0x3703e7[_0x59c26d(0x2bf)]},_0x59c26d(0x255)+_0x3703e7[_0x59c26d(0x2bf)]);});this[_0x484f54(0x2db)]['set'](_0x143018['id'],{'historyId':_0x1a03fd,'insertPromise':_0x5465d3});const _0x4ee09b=this['buildContext'](_0x143018,_0x2baccf,_0x3fe3d3),_0x41da04=_0x192ad9['fakQB'](getComponentEngine);if(_0x41da04&&typeof _0x41da04[_0x484f54(0x248)]==='function'){const _0x5d1c55=await _0x41da04[_0x484f54(0x248)](_0x192ad9[_0x484f54(0x287)],_0x4ee09b,!![]);if(!_0x5d1c55['success'])throw new Error('Job\x20cancelled\x20by\x20onBeforeJobExecute:\x20'+_0x5d1c55['error']);}const _0x396017=await _0x26b83e(_0x4ee09b);return _0x3fe3d3['info']({'event':_0x484f54(0x1e5),'result':_0x396017},'Job\x20handler\x20completed:\x20'+_0x143018['name']),_0x396017;}['buildContext'](_0x5790d2,_0x5b429d,_0x184908){const _0x1b0730=a0_0x4f8384,_0x175107={'pHBAs':'JOB_EVENT','AZGQZ':_0x1b0730(0x276)};return{'jobId':_0x5790d2['id'],'jobName':_0x5790d2['name'],'attempt':_0x5790d2['attemptsMade']+0x1,'maxAttempts':_0x5b429d?.['retry']?.[_0x1b0730(0x22f)]||0x3,'payload':_0x5790d2[_0x1b0730(0x309)]||{},'config':_0x5b429d||{},'db':this['getDbUtils'](),'redis':this[_0x1b0730(0x2c1)](),'logger':_0x184908,'kafka':this['getKafkaService'](),'cache':this[_0x1b0730(0x2a2)](),'updateProgress':async _0x204b92=>{const _0x224f7b=_0x1b0730;await _0x5790d2[_0x224f7b(0x25c)](_0x204b92);},'emit':async(_0x377a32,_0x55bbe9)=>{const _0x2b2ba2=_0x1b0730,_0x1b48d3=this[_0x2b2ba2(0x26a)]();_0x1b48d3&&await _0x1b48d3['publishEvent'](_0x377a32,_0x175107[_0x2b2ba2(0x1ff)],null,_0x55bbe9,{'module':_0x175107['AZGQZ'],'endpoint':_0x5790d2[_0x2b2ba2(0x1ea)]});},'job':_0x5790d2};}[a0_0x4f8384(0x294)](){const _0x4a4417=a0_0x4f8384;return(process['env'][_0x4a4417(0x275)]||_0x4a4417(0x2a8))['toLowerCase']();}async[a0_0x4f8384(0x2c6)](){const _0x557082=a0_0x4f8384,_0x28edda={'CRiFz':_0x557082(0x1fd),'cDAjF':'job_db_type_unsupported','fuhty':_0x557082(0x2bd),'bYmzd':_0x557082(0x29f),'qQoIA':'utf8','OUzEP':_0x557082(0x291),'WvpbP':_0x557082(0x2e1),'jRKNW':'job_tables_ensured'},_0x466dfb=this[_0x557082(0x2eb)]();if(!_0x466dfb){logger['warn']({'event':'job_db_unavailable'},'Database\x20tidak\x20tersedia,\x20skip\x20auto-create\x20job\x20tables');return;}const _0x51e3fd=this[_0x557082(0x294)](),_0x2593de={'postgresql':_0x557082(0x2ee),'oracle':_0x28edda['CRiFz'],'mysql':_0x557082(0x26f)},_0x1d5bad=_0x2593de[_0x51e3fd];if(!_0x1d5bad){logger['warn']({'event':_0x28edda['cDAjF'],'dbType':_0x51e3fd},_0x557082(0x2fe)+_0x51e3fd+'\x27\x20tidak\x20didukung\x20untuk\x20job\x20monitoring\x20tables');return;}const _0x1b89a1=path['join'](__dirname,_0x28edda[_0x557082(0x24e)],_0x1d5bad);if(!fs['existsSync'](_0x1b89a1)){logger[_0x557082(0x207)]({'event':_0x28edda['bYmzd'],'path':_0x1b89a1},_0x557082(0x28a)+_0x1b89a1);return;}const _0x5b8666=fs[_0x557082(0x300)](_0x1b89a1,_0x28edda[_0x557082(0x263)]),_0x427af8=this[_0x557082(0x273)](_0x5b8666,_0x51e3fd);let _0x4e0143=0x0;for(const _0x35844d of _0x427af8){try{await _0x466dfb['executeQuery'](_0x35844d),_0x4e0143++;}catch(_0x4626c8){const _0x3b9f67=(_0x4626c8['message']||'')[_0x557082(0x298)](),_0x7c9314=_0x3b9f67[_0x557082(0x21d)]('already\x20exists')||_0x3b9f67['includes']('ora-00955')||_0x3b9f67[_0x557082(0x21d)](_0x28edda[_0x557082(0x221)]);!_0x7c9314&&logger[_0x557082(0x207)]({'event':_0x28edda['WvpbP'],'error':_0x4626c8['message']},'Job\x20ensureTables\x20warning:\x20'+_0x4626c8['message']);}}logger[_0x557082(0x241)]({'event':_0x28edda['jRKNW'],'dbType':_0x51e3fd,'executed':_0x4e0143},'Job\x20monitoring\x20tables\x20ensured\x20('+_0x51e3fd+')');}['splitSqlStatements'](_0x4ff3b8,_0x308937){const _0x597a68=a0_0x4f8384,_0x373aa4={'bZbwM':function(_0xd4256,_0x55748b){return _0xd4256===_0x55748b;},'CqUaL':function(_0x24fad5,_0x22d288){return _0x24fad5>_0x22d288;},'WixFK':'oracle'};let _0x2d4480;return _0x373aa4[_0x597a68(0x217)](_0x308937,_0x373aa4['WixFK'])?_0x2d4480=_0x4ff3b8[_0x597a68(0x2a7)](/\n\/\s*(?:\n|$)/):_0x2d4480=_0x4ff3b8[_0x597a68(0x2a7)](/;\s*(?:\n|$)/),_0x2d4480[_0x597a68(0x28d)](_0x51e6eb=>_0x51e6eb[_0x597a68(0x2c0)]())['filter'](_0x45c63f=>{const _0x1cf00a=_0x597a68;if(_0x373aa4['bZbwM'](_0x45c63f[_0x1cf00a(0x204)],0x0))return![];const _0x4944a7=_0x45c63f['split']('\x0a')[_0x1cf00a(0x1f5)](_0xa68a1b=>!_0xa68a1b['trim']()['startsWith']('--')&&_0xa68a1b[_0x1cf00a(0x2c0)]()['length']>0x0);return _0x373aa4[_0x1cf00a(0x2f3)](_0x4944a7['length'],0x0);});}async['upsertJobRegistry'](_0x4566c9,_0x2aa424='online',_0x558b86=null){const _0x299f86=a0_0x4f8384,_0x33e649={'MWIiJ':'cron','bgUAm':function(_0x1308c2,_0x3c2184){return _0x1308c2===_0x3c2184;}},_0xcd0697=this[_0x299f86(0x2eb)]();if(!_0xcd0697)return;const _0x64bb5c=this['getDbType'](),_0x1f677b=[_0x4566c9['name'],_0x4566c9['description']||_0x4566c9[_0x299f86(0x1ea)],_0x4566c9[_0x299f86(0x21f)]||_0x33e649['MWIiJ'],_0x4566c9['schedule']||null,_0x4566c9['queue']||_0x299f86(0x1e8),_0x4566c9['handler'],_0x4566c9['_sourceFile']||'',_0x4566c9[_0x299f86(0x2c8)]||0x7530,_0x4566c9['retry']?.[_0x299f86(0x22f)]||0x3,_0x4566c9[_0x299f86(0x23b)]?.[_0x299f86(0x222)]||'exponential',_0x2aa424,_0x558b86];try{if(_0x64bb5c==='oracle')await _0xcd0697[_0x299f86(0x2a1)]('MERGE\x20INTO\x20job_registry\x20r\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20USING\x20(SELECT\x20:1\x20AS\x20jn\x20FROM\x20DUAL)\x20s\x20ON\x20(r.job_name\x20=\x20s.jn)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHEN\x20MATCHED\x20THEN\x20UPDATE\x20SET\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display_name\x20=\x20:2,\x20type\x20=\x20:3,\x20schedule\x20=\x20:4,\x20queue\x20=\x20:5,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20handler\x20=\x20:6,\x20config_file\x20=\x20:7,\x20timeout\x20=\x20:8,\x20retry_max\x20=\x20:9,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20retry_backoff\x20=\x20:10,\x20status\x20=\x20:11,\x20next_run_at\x20=\x20:12,\x20updated_at\x20=\x20SYSTIMESTAMP\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHEN\x20NOT\x20MATCHED\x20THEN\x20INSERT\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(job_name,\x20display_name,\x20type,\x20schedule,\x20queue,\x20handler,\x20config_file,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout,\x20retry_max,\x20retry_backoff,\x20status,\x20next_run_at,\x20created_at,\x20updated_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(:1,\x20:2,\x20:3,\x20:4,\x20:5,\x20:6,\x20:7,\x20:8,\x20:9,\x20:10,\x20:11,\x20:12,\x20SYSTIMESTAMP,\x20SYSTIMESTAMP)',_0x1f677b);else _0x33e649['bgUAm'](_0x64bb5c,_0x299f86(0x1ed))?await _0xcd0697[_0x299f86(0x2a1)](_0x299f86(0x289),_0x1f677b):await _0xcd0697['executeQuery'](_0x299f86(0x296),_0x1f677b);}catch(_0xbaf14b){logger[_0x299f86(0x207)]({'event':'job_registry_upsert_error','name':_0x4566c9['name'],'error':_0xbaf14b['message']},'Failed\x20to\x20upsert\x20job\x20registry:\x20'+_0x4566c9['name']+'\x20—\x20'+_0xbaf14b[_0x299f86(0x2bf)]);}}async['insertJobHistory'](_0x137e29){const _0x170e6f=a0_0x4f8384,_0xde007a={'gSErB':'system','OIuTL':'default','iFBqn':function(_0x5880a9,_0x79d51){return _0x5880a9===_0x79d51;},'oAaiu':'oracle','fcsSG':_0x170e6f(0x1ed)},_0x577ea0=this[_0x170e6f(0x2eb)]();if(!_0x577ea0)return;const _0x38b3b7=this[_0x170e6f(0x294)](),_0x4c4a2f=[_0x137e29['id'],_0x137e29[_0x170e6f(0x293)],_0x137e29[_0x170e6f(0x2cf)]||null,_0x137e29[_0x170e6f(0x28f)]||'cron',_0x137e29[_0x170e6f(0x277)]||_0xde007a['gSErB'],_0x137e29['queue']||_0xde007a['OIuTL'],_0x137e29[_0x170e6f(0x28c)]||0x1,_0x137e29['configFile']||null,process[_0x170e6f(0x2f1)]];try{if(_0xde007a['iFBqn'](_0x38b3b7,_0xde007a[_0x170e6f(0x2b3)]))await _0x577ea0[_0x170e6f(0x2a1)](_0x170e6f(0x29a),_0x4c4a2f);else _0x38b3b7===_0xde007a['fcsSG']?await _0x577ea0[_0x170e6f(0x2a1)](_0x170e6f(0x269),_0x4c4a2f):await _0x577ea0[_0x170e6f(0x2a1)]('INSERT\x20INTO\x20job_history\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(id,\x20job_name,\x20bullmq_job_id,\x20trigger_type,\x20triggered_by,\x20status,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20queue,\x20attempt,\x20config_file,\x20started_at,\x20worker_pid,\x20created_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20($1,\x20$2,\x20$3,\x20$4,\x20$5,\x20\x27running\x27,\x20$6,\x20$7,\x20$8,\x20NOW(),\x20$9,\x20NOW())',_0x4c4a2f);await this[_0x170e6f(0x2ec)](_0x137e29['jobName'],'running');}catch(_0x2e3055){logger[_0x170e6f(0x207)]({'event':'job_history_insert_error','jobName':_0x137e29['jobName'],'error':_0x2e3055[_0x170e6f(0x2bf)]},'Failed\x20to\x20insert\x20job\x20history:\x20'+_0x2e3055['message']);}}async['updateJobHistoryCompleted'](_0xb9d145,_0x3e1fa9,_0x4543f3){const _0xc90dbf=a0_0x4f8384,_0x4f3397={'FSTou':function(_0x3680d4,_0x5aea87){return _0x3680d4(_0x5aea87);},'NEBEU':function(_0x174726,_0x58d6ce){return _0x174726===_0x58d6ce;},'rcebe':'oracle','kVMmQ':'mysql','xqqPi':_0xc90dbf(0x2f0)},_0x404e9c=this['getDbUtils']();if(!_0x404e9c)return;const _0x1358b0=this[_0xc90dbf(0x294)](),_0x5aa13b=_0x4543f3?_0x4f3397['FSTou'](String,_0x4543f3)[_0xc90dbf(0x2a0)](0x0,0x1f4):null;try{if(_0x4f3397[_0xc90dbf(0x2a9)](_0x1358b0,_0x4f3397[_0xc90dbf(0x25b)]))await _0x404e9c[_0xc90dbf(0x2a1)]('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27success\x27,\x20completed_at\x20=\x20SYSTIMESTAMP,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20:1,\x20progress\x20=\x20100,\x20result_summary\x20=\x20:2\x20WHERE\x20id\x20=\x20:3',[_0x3e1fa9,_0x5aa13b,_0xb9d145]);else _0x1358b0===_0x4f3397['kVMmQ']?await _0x404e9c['executeQuery']('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27success\x27,\x20completed_at\x20=\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20?,\x20progress\x20=\x20100,\x20result_summary\x20=\x20?\x20WHERE\x20id\x20=\x20?',[_0x3e1fa9,_0x5aa13b,_0xb9d145]):await _0x404e9c['executeQuery'](_0xc90dbf(0x2cc),[_0x3e1fa9,_0x5aa13b,_0xb9d145]);}catch(_0x3b137c){logger['warn']({'event':_0x4f3397['xqqPi'],'historyId':_0xb9d145,'error':_0x3b137c[_0xc90dbf(0x2bf)]},'Failed\x20to\x20update\x20job\x20history\x20(completed):\x20'+_0x3b137c['message']);}}async[a0_0x4f8384(0x26c)](_0x1989fa,_0x29fa98,_0x102e7f,_0x249e92,_0x41f43b){const _0x20a513=a0_0x4f8384,_0x29a8a3={'IVgYG':function(_0x167b92,_0x1c81cc){return _0x167b92(_0x1c81cc);},'XEixz':function(_0x298860,_0x2e8533){return _0x298860===_0x2e8533;},'VBwzM':'oracle','avZLL':function(_0x11ff6a,_0x5d1711){return _0x11ff6a||_0x5d1711;},'itIHw':function(_0xa440a1,_0x31d855){return _0xa440a1===_0x31d855;},'JhiOI':'job_history_failed_error'},_0x5f5d2a=this['getDbUtils']();if(!_0x5f5d2a)return;const _0x4ea6f4=this[_0x20a513(0x294)](),_0x10c60b=_0x249e92?String(_0x249e92)['substring'](0x0,0x3e8):null,_0x136c4c=_0x41f43b?_0x29a8a3['IVgYG'](String,_0x41f43b)['substring'](0x0,0xfa0):null;try{if(_0x29a8a3['XEixz'](_0x4ea6f4,_0x29a8a3[_0x20a513(0x2b9)]))await _0x5f5d2a['executeQuery']('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27failed\x27,\x20completed_at\x20=\x20SYSTIMESTAMP,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20:1,\x20progress\x20=\x20:2,\x20error_message\x20=\x20:3,\x20error_stack\x20=\x20:4\x20WHERE\x20id\x20=\x20:5',[_0x29fa98,_0x29a8a3['avZLL'](_0x102e7f,0x0),_0x10c60b,_0x136c4c,_0x1989fa]);else _0x29a8a3[_0x20a513(0x2f2)](_0x4ea6f4,_0x20a513(0x1ed))?await _0x5f5d2a['executeQuery']('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27failed\x27,\x20completed_at\x20=\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20?,\x20progress\x20=\x20?,\x20error_message\x20=\x20?,\x20error_stack\x20=\x20?\x20WHERE\x20id\x20=\x20?',[_0x29fa98,_0x29a8a3['avZLL'](_0x102e7f,0x0),_0x10c60b,_0x136c4c,_0x1989fa]):await _0x5f5d2a[_0x20a513(0x2a1)](_0x20a513(0x299),[_0x29fa98,_0x29a8a3['avZLL'](_0x102e7f,0x0),_0x10c60b,_0x136c4c,_0x1989fa]);}catch(_0x53c51b){logger[_0x20a513(0x207)]({'event':_0x29a8a3['JhiOI'],'historyId':_0x1989fa,'error':_0x53c51b['message']},'Failed\x20to\x20update\x20job\x20history\x20(failed):\x20'+_0x53c51b[_0x20a513(0x2bf)]);}}async['updateRegistryStatus'](_0x18f9a9,_0x430d58){const _0x2d38ec=a0_0x4f8384,_0x28d6e1={'adIdD':'mysql'},_0x3e4477=this[_0x2d38ec(0x2eb)]();if(!_0x3e4477)return;const _0x351ff7=this['getDbType']();try{if(_0x351ff7==='oracle')await _0x3e4477['executeQuery'](_0x2d38ec(0x22a),[_0x430d58,_0x18f9a9]);else _0x351ff7===_0x28d6e1[_0x2d38ec(0x2fb)]?await _0x3e4477[_0x2d38ec(0x2a1)](_0x2d38ec(0x20a),[_0x430d58,_0x18f9a9]):await _0x3e4477['executeQuery'](_0x2d38ec(0x216),[_0x430d58,_0x18f9a9]);}catch(_0x298524){}}async[a0_0x4f8384(0x20f)](_0x255094,_0x51c041,_0xeba272,_0x5ba982){const _0x3b5a0d=a0_0x4f8384,_0x5dc544={'oQEJw':function(_0x2db993,_0x2ca6c8){return _0x2db993===_0x2ca6c8;},'hIHUw':'success','JkwZK':'mysql'},_0x588e62=this[_0x3b5a0d(0x2eb)]();if(!_0x588e62)return;const _0x6b3191=this[_0x3b5a0d(0x294)](),_0x469503=_0x5dc544['oQEJw'](_0x51c041,_0x5dc544[_0x3b5a0d(0x2aa)])?'total_success':'total_failed';try{if(_0x6b3191==='oracle')await _0x588e62[_0x3b5a0d(0x2a1)](_0x3b5a0d(0x2f5)+_0x469503+'\x20=\x20'+_0x469503+_0x3b5a0d(0x2d7),[_0x51c041,_0xeba272,_0x5ba982,_0x255094]);else _0x5dc544[_0x3b5a0d(0x2b1)](_0x6b3191,_0x5dc544['JkwZK'])?await _0x588e62['executeQuery'](_0x3b5a0d(0x2b8)+_0x469503+_0x3b5a0d(0x2a3)+_0x469503+_0x3b5a0d(0x208),[_0x51c041,_0xeba272,_0x5ba982,_0x255094]):await _0x588e62['executeQuery'](_0x3b5a0d(0x211)+_0x469503+'\x20=\x20'+_0x469503+'\x20+\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20$3,\x20updated_at\x20=\x20NOW()\x20WHERE\x20job_name\x20=\x20$4',[_0x51c041,_0xeba272,_0x5ba982,_0x255094]);}catch(_0x16dc39){logger['warn']({'event':'job_registry_counter_error','jobName':_0x255094,'error':_0x16dc39['message']},_0x3b5a0d(0x214)+_0x16dc39[_0x3b5a0d(0x2bf)]);}}async['getNextRunFromBullMQ'](_0xfb1f7a){const _0xa44f49=a0_0x4f8384,_0x1632fd={'SgNBE':'cron'},_0x3d30a8=this['jobConfigs'][_0xfb1f7a];if(!_0x3d30a8||_0x3d30a8['type']!==_0x1632fd['SgNBE']||_0x3d30a8['enabled']===![])return null;const _0xcac42a=this['queues'][_0x3d30a8['queue']||_0xa44f49(0x1e8)];if(!_0xcac42a)return null;try{if(typeof _0xcac42a['getJobSchedulers']==='function'){const _0x57b382=await _0xcac42a['getJobSchedulers'](0x0,0x64),_0x23fa55=_0x57b382[_0xa44f49(0x301)](_0x156384=>_0x156384['name']===_0xfb1f7a);return _0x23fa55?.['next']?new Date(_0x23fa55[_0xa44f49(0x218)]):null;}}catch(_0x44c80d){}return null;}async[a0_0x4f8384(0x2d5)](){const _0x3e4e8b=a0_0x4f8384,_0x50e2cb={'ZAJTD':function(_0x46a754,_0x291baa){return _0x46a754===_0x291baa;},'FDnwz':function(_0x276cf6,_0x337449){return _0x276cf6===_0x337449;},'TkBLp':'job_registry_offline_error'},_0x3e77ec=this['getDbUtils']();if(!_0x3e77ec)return;const _0x2d132e=this[_0x3e4e8b(0x294)]();try{if(_0x50e2cb['ZAJTD'](_0x2d132e,'oracle'))await _0x3e77ec['executeQuery'](_0x3e4e8b(0x2c5));else _0x50e2cb[_0x3e4e8b(0x22c)](_0x2d132e,_0x3e4e8b(0x1ed))?await _0x3e77ec[_0x3e4e8b(0x2a1)]('UPDATE\x20job_registry\x20SET\x20status\x20=\x20\x27offline\x27,\x20next_run_at\x20=\x20NULL'):await _0x3e77ec['executeQuery'](_0x3e4e8b(0x2d4));}catch(_0xfef4b4){logger['warn']({'event':_0x50e2cb['TkBLp'],'error':_0xfef4b4[_0x3e4e8b(0x2bf)]},'Failed\x20to\x20set\x20jobs\x20offline:\x20'+_0xfef4b4[_0x3e4e8b(0x2bf)]);}}['getDbUtils'](){const _0x3fed23=a0_0x4f8384,_0x473cb7={'LdJii':function(_0xdf4989,_0x522c79){return _0xdf4989===_0x522c79;},'FJtgN':_0x3fed23(0x262),'nRaHA':'db_oracle_unavailable','bEeaW':'mysql','tqZog':'MySQL\x20DB\x20module\x20not\x20available','SfGsH':_0x3fed23(0x2ed)},_0x207adb=(process[_0x3fed23(0x231)][_0x3fed23(0x275)]||_0x3fed23(0x2a8))['toLowerCase']();if(_0x473cb7[_0x3fed23(0x22b)](_0x207adb,_0x473cb7[_0x3fed23(0x20b)]))try{const _0x176bb0=require('../../utils/db-oracle');return{'executeQuery':(_0x56c157,_0x5ba810)=>_0x176bb0['executeQuery'](_0x56c157,_0x5ba810),'executeTransaction':_0x20ba62=>_0x176bb0[_0x3fed23(0x235)](_0x20ba62),'getPool':()=>_0x176bb0['getPool']()};}catch(_0x24a4ef){return logger[_0x3fed23(0x207)]({'event':_0x473cb7[_0x3fed23(0x22e)]},'Oracle\x20DB\x20module\x20not\x20available'),null;}if(_0x207adb===_0x473cb7[_0x3fed23(0x1e9)])try{const _0x30ad45=require(_0x3fed23(0x1f6));return{'executeQuery':(_0x32f33b,_0xc3043a)=>_0x30ad45['executeQuery'](_0x32f33b,_0xc3043a),'executeTransaction':_0x3ef9ab=>_0x30ad45[_0x3fed23(0x235)](_0x3ef9ab),'getPool':()=>_0x30ad45['getPool']()};}catch(_0x27a2ac){return logger['warn']({'event':'db_mysql_unavailable'},_0x473cb7['tqZog']),null;}try{const _0x2fe2fb=require('../../utils/db');return{'executeQuery':_0x2fe2fb[_0x3fed23(0x2a1)],'executeTransaction':_0x2fe2fb['executeTransaction'],'getPool':_0x2fe2fb['getPool']};}catch(_0x1828b0){return logger[_0x3fed23(0x207)]({'event':'db_pg_unavailable'},_0x473cb7[_0x3fed23(0x24f)]),null;}}['getRedisClient'](){const _0x15188e=a0_0x4f8384;try{const _0x341930=require(_0x15188e(0x1f7));return _0x341930[_0x15188e(0x2d0)]?_0x341930['getClient']():_0x341930;}catch(_0x10374f){return null;}}['getKafkaService'](){const _0x1a2c91=a0_0x4f8384,_0x28251f={'zKtAq':function(_0xcf08d5,_0x1b1c7f){return _0xcf08d5===_0x1b1c7f;},'trXgW':function(_0x45a7cd,_0x103772){return _0x45a7cd(_0x103772);}};try{if(_0x28251f['zKtAq'](process[_0x1a2c91(0x231)][_0x1a2c91(0x2e0)],_0x1a2c91(0x310))){const _0x2f335a=_0x28251f['trXgW'](require,_0x1a2c91(0x2e2));return _0x2f335a['getInstance']?_0x2f335a['getInstance']():_0x2f335a;}}catch(_0x452ac8){}return null;}['getCacheManager'](){const _0x2300a8=a0_0x4f8384,_0x4161a1={'AhWYe':_0x2300a8(0x2e4)};try{return require(_0x4161a1[_0x2300a8(0x302)]);}catch(_0x597c65){return null;}}async['dispatch'](_0x4c7c6f,_0x2e0764={}){const _0x23943b=a0_0x4f8384,_0x3dd393={'hdVNc':_0x23943b(0x29d),'GpwkH':_0x23943b(0x243)},_0x359025=this[_0x23943b(0x225)][_0x4c7c6f];if(!_0x359025)throw new Error('Job\x20not\x20found:\x20'+_0x4c7c6f);const _0x5a29ca=this[_0x23943b(0x1fe)][_0x359025['queue']||'default'],_0x1b7ad1=await _0x5a29ca['add'](_0x4c7c6f,{..._0x2e0764,'handler':_0x359025[_0x23943b(0x28b)],'triggeredBy':'api'},{'attempts':_0x359025[_0x23943b(0x23b)]?.['maxAttempts']||0x3,'backoff':{'type':_0x359025[_0x23943b(0x23b)]?.['backoff']||'exponential','delay':_0x359025[_0x23943b(0x23b)]?.['initialDelay']||0x1388},'timeout':_0x359025[_0x23943b(0x2c8)]||0x7530});return logger[_0x23943b(0x241)]({'event':_0x3dd393[_0x23943b(0x2ba)],'jobId':_0x1b7ad1['id'],'name':_0x4c7c6f,'triggeredBy':_0x3dd393[_0x23943b(0x256)]},_0x23943b(0x265)+_0x4c7c6f+'\x20(id:\x20'+_0x1b7ad1['id']+')'),{'jobId':_0x1b7ad1['id'],'name':_0x4c7c6f};}async['dispatchDelayed'](_0x44ddc7,_0x27c080={},_0x3453ad=0x0){const _0x19bc1a=a0_0x4f8384,_0x5cfe98={'ayABo':_0x19bc1a(0x1e8),'iDSOD':'api-delayed','nsXPB':_0x19bc1a(0x27a)},_0xebe3ab=this['jobConfigs'][_0x44ddc7];if(!_0xebe3ab)throw new Error(_0x19bc1a(0x2bb)+_0x44ddc7);const _0x1866aa=this[_0x19bc1a(0x1fe)][_0xebe3ab[_0x19bc1a(0x1e0)]||_0x5cfe98[_0x19bc1a(0x30d)]],_0x3958f2=await _0x1866aa['add'](_0x44ddc7,{..._0x27c080,'handler':_0xebe3ab['handler'],'triggeredBy':_0x5cfe98[_0x19bc1a(0x209)]},{'delay':_0x3453ad,'attempts':_0xebe3ab['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0xebe3ab['retry']?.['backoff']||'exponential','delay':_0xebe3ab[_0x19bc1a(0x23b)]?.[_0x19bc1a(0x1f2)]||0x1388},'timeout':_0xebe3ab['timeout']||0x7530});return logger['info']({'event':_0x5cfe98['nsXPB'],'jobId':_0x3958f2['id'],'name':_0x44ddc7,'delayMs':_0x3453ad},'Job\x20dispatched\x20(delayed\x20'+_0x3453ad+'ms):\x20'+_0x44ddc7+_0x19bc1a(0x212)+_0x3958f2['id']+')'),{'jobId':_0x3958f2['id'],'name':_0x44ddc7};}async['getJobStatus'](_0x51e6fe){const _0x2d1e7f=a0_0x4f8384;for(const _0x38148f of Object['values'](this[_0x2d1e7f(0x1fe)])){const _0x5a2426=await _0x38148f['getJob'](_0x51e6fe);if(_0x5a2426){const _0x3fe903=await _0x5a2426['getState']();return{'jobId':_0x5a2426['id'],'name':_0x5a2426[_0x2d1e7f(0x1ea)],'state':_0x3fe903,'progress':_0x5a2426['progress'],'attemptsMade':_0x5a2426['attemptsMade'],'failedReason':_0x5a2426[_0x2d1e7f(0x2dd)],'returnvalue':_0x5a2426[_0x2d1e7f(0x27c)],'data':_0x5a2426[_0x2d1e7f(0x309)],'timestamps':{'created':_0x5a2426['timestamp'],'started':_0x5a2426[_0x2d1e7f(0x239)],'completed':_0x5a2426[_0x2d1e7f(0x234)]}};}}return null;}['listJobs'](){const _0x5e4cea=a0_0x4f8384;return Object[_0x5e4cea(0x21c)](this['jobConfigs'])[_0x5e4cea(0x28d)](_0x4c92b8=>({'name':_0x4c92b8[_0x5e4cea(0x1ea)],'description':_0x4c92b8[_0x5e4cea(0x251)]||'','type':_0x4c92b8[_0x5e4cea(0x21f)],'schedule':_0x4c92b8['schedule'],'handler':_0x4c92b8[_0x5e4cea(0x28b)],'enabled':_0x4c92b8[_0x5e4cea(0x25a)]!==![],'queue':_0x4c92b8[_0x5e4cea(0x1e0)]||_0x5e4cea(0x1e8),'timeout':_0x4c92b8[_0x5e4cea(0x2c8)]||0x7530,'retry':_0x4c92b8[_0x5e4cea(0x23b)]||{'maxAttempts':0x3,'backoff':'exponential','initialDelay':0x1388},'metadata':_0x4c92b8['metadata']||{}}));}async['listRunning'](){const _0x3904a4=a0_0x4f8384,_0xf48ffb={'KgwRd':_0x3904a4(0x297)},_0x5de359=[];for(const [_0xa2a952,_0x2a8dc5]of Object['entries'](this['queues'])){const _0x35170a=await _0x2a8dc5[_0x3904a4(0x259)]([_0xf48ffb['KgwRd']]);for(const _0x3ce0c6 of _0x35170a){_0x5de359[_0x3904a4(0x227)]({'jobId':_0x3ce0c6['id'],'name':_0x3ce0c6['name'],'queue':_0xa2a952,'progress':_0x3ce0c6['progress'],'attemptsMade':_0x3ce0c6[_0x3904a4(0x249)],'startedAt':_0x3ce0c6[_0x3904a4(0x239)]});}}return _0x5de359;}async['getHistory'](_0x481122={}){const _0x6ddec5=a0_0x4f8384,_0x94544b={'FACDq':function(_0x19a5bc,_0x2e1a2b,_0x5601ec){return _0x19a5bc(_0x2e1a2b,_0x5601ec);},'sOlHM':function(_0x41195a,_0xc78273){return _0x41195a+_0xc78273;},'aWYpU':_0x6ddec5(0x20e)},_0x28c65c=parseInt(_0x481122[_0x6ddec5(0x308)],0xa)||0x1,_0x5d52ec=Math[_0x6ddec5(0x21e)](_0x94544b['FACDq'](parseInt,_0x481122['limit'],0xa)||0x14,0x64),_0x220010=(_0x28c65c-0x1)*_0x5d52ec,_0x7ff7ab=_0x94544b['sOlHM'](_0x220010,_0x5d52ec)-0x1,_0x10ece9=[];for(const [_0x37faed,_0xbe8a88]of Object['entries'](this['queues'])){const _0x2d4120=await _0xbe8a88[_0x6ddec5(0x259)]([_0x6ddec5(0x240)],_0x220010,_0x7ff7ab),_0xf0b63f=await _0xbe8a88['getJobs']([_0x94544b[_0x6ddec5(0x229)]],_0x220010,_0x7ff7ab);for(const _0x1a79bb of[..._0x2d4120,..._0xf0b63f]){const _0x4437e3=await _0x1a79bb[_0x6ddec5(0x1fb)]();_0x10ece9['push']({'jobId':_0x1a79bb['id'],'name':_0x1a79bb['name'],'state':_0x4437e3,'queue':_0x37faed,'attemptsMade':_0x1a79bb[_0x6ddec5(0x249)],'failedReason':_0x1a79bb[_0x6ddec5(0x2dd)],'returnvalue':_0x1a79bb[_0x6ddec5(0x27c)],'timestamps':{'created':_0x1a79bb[_0x6ddec5(0x201)],'started':_0x1a79bb[_0x6ddec5(0x239)],'completed':_0x1a79bb['finishedOn']}});}}return _0x10ece9[_0x6ddec5(0x1e4)]((_0x59abdc,_0x35a062)=>(_0x35a062[_0x6ddec5(0x27d)]['created']||0x0)-(_0x59abdc['timestamps']['created']||0x0)),{'jobs':_0x10ece9[_0x6ddec5(0x2e5)](0x0,_0x5d52ec),'total':_0x10ece9[_0x6ddec5(0x204)],'page':_0x28c65c,'limit':_0x5d52ec};}async['cancelJob'](_0x378e5f){const _0x35f599=a0_0x4f8384,_0x153ebe={'XOnux':_0x35f599(0x297),'tVVwz':_0x35f599(0x23e),'xUgqR':_0x35f599(0x282),'YVXab':function(_0x31eba6,_0x26bf4e){return _0x31eba6===_0x26bf4e;},'OuiDQ':'delayed'};for(const _0x107197 of Object[_0x35f599(0x21c)](this['queues'])){const _0x2e7260=await _0x107197['getJob'](_0x378e5f);if(_0x2e7260){const _0x3c7ebe=await _0x2e7260[_0x35f599(0x1fb)]();if(_0x3c7ebe===_0x153ebe['XOnux'])return await _0x2e7260['moveToFailed'](new Error(_0x153ebe['tVVwz']),_0x153ebe[_0x35f599(0x252)],!![]),{'success':!![],'message':'Job\x20'+_0x378e5f+_0x35f599(0x2d3)};if(_0x153ebe[_0x35f599(0x29b)](_0x3c7ebe,_0x35f599(0x30f))||_0x3c7ebe===_0x153ebe['OuiDQ'])return await _0x2e7260[_0x35f599(0x30e)](),{'success':!![],'message':_0x35f599(0x303)+_0x378e5f+_0x35f599(0x237)+_0x3c7ebe+')'};return{'success':![],'message':'Job\x20'+_0x378e5f+'\x20cannot\x20be\x20cancelled\x20(state:\x20'+_0x3c7ebe+')'};}}return{'success':![],'message':'Job\x20'+_0x378e5f+'\x20not\x20found'};}async[a0_0x4f8384(0x257)](){const _0x1df287=a0_0x4f8384,_0x11f13e={'mtXAX':_0x1df287(0x297),'GjeRd':'paused','HMPfc':'waiting'},_0x56a435={};for(const [_0x8360be,_0x485de7]of Object['entries'](this[_0x1df287(0x1fe)])){try{const _0x52dbb0=await _0x485de7['getJobCounts'](_0x11f13e[_0x1df287(0x290)],_0x1df287(0x240),_0x1df287(0x313),'failed',_0x11f13e[_0x1df287(0x306)],_0x11f13e['HMPfc']);_0x56a435[_0x8360be]=_0x52dbb0;}catch(_0x43e84c){_0x56a435[_0x8360be]={'error':_0x43e84c[_0x1df287(0x2bf)]};}}const _0x150df6={};for(const [_0x35fe87,_0x475a13]of Object['entries'](this['workers'])){_0x150df6[_0x35fe87]={'running':_0x475a13['isRunning'](),'paused':_0x475a13[_0x1df287(0x283)]()};}return{'initialized':this['initialized'],'registeredJobs':Object['keys'](this['jobConfigs'])[_0x1df287(0x204)],'redisConnections':this['connections']['length'],'queues':_0x56a435,'workers':_0x150df6};}async['onJobCompleted'](_0x1563e7,_0x58b1f5){const _0x30521c=a0_0x4f8384,_0x328f26={'xVLGB':_0x30521c(0x202),'IASsy':'job_completed','zQgfv':function(_0x5159a2,_0x116635){return _0x5159a2-_0x116635;},'yJFyf':function(_0x4ed1d9,_0x425f27){return _0x4ed1d9===_0x425f27;},'Lmfdc':'success','RptSq':function(_0xaa1860){return _0xaa1860();},'lYmbt':'onAfterJobComplete','cKMUp':_0x30521c(0x276),'CFrNY':_0x30521c(0x30b)},_0x15a3a7=logger['child']({'jobId':_0x1563e7['id'],'jobName':_0x1563e7['name']});_0x15a3a7[_0x30521c(0x241)]({'event':_0x328f26[_0x30521c(0x1f0)],'attemptsMade':_0x1563e7['attemptsMade'],'duration':_0x1563e7[_0x30521c(0x234)]?_0x1563e7['finishedOn']-_0x1563e7['processedOn']:null},'Job\x20completed:\x20'+_0x1563e7[_0x30521c(0x1ea)]);const _0x1eb2f7=this[_0x30521c(0x2db)]['get'](_0x1563e7['id']);if(_0x1eb2f7){if(_0x1eb2f7['insertPromise'])await _0x1eb2f7['insertPromise'];const _0x3134c2=_0x1563e7['finishedOn']&&_0x1563e7['processedOn']?_0x328f26[_0x30521c(0x288)](_0x1563e7[_0x30521c(0x234)],_0x1563e7[_0x30521c(0x239)]):null,_0x9eaf70=_0x328f26['yJFyf'](typeof _0x58b1f5,_0x30521c(0x1e6))?_0x58b1f5:_0x58b1f5?JSON[_0x30521c(0x203)](_0x58b1f5)[_0x30521c(0x2a0)](0x0,0x1f4):null;await this['updateJobHistoryCompleted'](_0x1eb2f7[_0x30521c(0x23c)],_0x3134c2,_0x9eaf70);const _0x42e393=await this['getNextRunFromBullMQ'](_0x1563e7[_0x30521c(0x1ea)]);await this[_0x30521c(0x20f)](_0x1563e7['name'],_0x328f26[_0x30521c(0x25d)],_0x3134c2,_0x42e393),this[_0x30521c(0x2db)]['delete'](_0x1563e7['id']);}const _0x1bb60f=_0x328f26[_0x30521c(0x247)](getComponentEngine);if(_0x1bb60f&&_0x328f26['yJFyf'](typeof _0x1bb60f[_0x30521c(0x248)],'function')){const _0x35949d={'jobId':_0x1563e7['id'],'jobName':_0x1563e7['name'],'result':_0x58b1f5,'config':this['jobConfigs'][_0x1563e7[_0x30521c(0x1ea)]]||{}};_0x1bb60f[_0x30521c(0x248)](_0x328f26['lYmbt'],_0x35949d,![])[_0x30521c(0x1f9)](_0x457c1b=>{const _0x434309=_0x30521c;_0x15a3a7[_0x434309(0x207)]({'event':_0x328f26['xVLGB'],'error':_0x457c1b[_0x434309(0x2bf)]},_0x434309(0x24a));});}const _0x339660=this['getKafkaService']();if(_0x339660)try{await _0x339660[_0x30521c(0x2ad)](_0x30521c(0x2a6),'JOB_COMPLETED',null,{'jobId':_0x1563e7['id'],'name':_0x1563e7['name'],'result':_0x58b1f5},{'module':_0x328f26[_0x30521c(0x271)],'endpoint':_0x1563e7[_0x30521c(0x1ea)]});}catch(_0x10e3e1){_0x15a3a7[_0x30521c(0x207)]({'event':'job_kafka_publish_error','error':_0x10e3e1['message']},_0x328f26['CFrNY']);}}async['onJobFailed'](_0x31c84d,_0x1efc7a){const _0x512c85=a0_0x4f8384,_0x3714f5={'ucIAv':function(_0x4931fb,_0x2e0d13){return _0x4931fb<_0x2e0d13;},'WaNiU':function(_0x2b4291,_0x7b1ac0){return _0x2b4291-_0x7b1ac0;},'bxRTU':function(_0xe7875,_0x3f54db){return _0xe7875===_0x3f54db;},'KasLj':_0x512c85(0x246),'QaLGL':'JOB_FAILED','lFehI':_0x512c85(0x20c)},_0xdf5fcf=logger[_0x512c85(0x1e1)]({'jobId':_0x31c84d['id'],'jobName':_0x31c84d[_0x512c85(0x1ea)]});_0xdf5fcf[_0x512c85(0x258)]({'event':'job_failed','attemptsMade':_0x31c84d['attemptsMade'],'failedReason':_0x1efc7a?.[_0x512c85(0x2bf)],'willRetry':_0x3714f5['ucIAv'](_0x31c84d['attemptsMade'],this['jobConfigs'][_0x31c84d['name']]?.[_0x512c85(0x23b)]?.[_0x512c85(0x22f)]||0x3)},_0x512c85(0x312)+_0x31c84d[_0x512c85(0x1ea)]+_0x512c85(0x25f)+_0x1efc7a?.[_0x512c85(0x2bf)]);const _0x550d55=this['activeHistoryIds']['get'](_0x31c84d['id']);if(_0x550d55){if(_0x550d55['insertPromise'])await _0x550d55['insertPromise'];const _0x47a2a1=_0x31c84d['finishedOn']&&_0x31c84d[_0x512c85(0x239)]?_0x3714f5[_0x512c85(0x2af)](_0x31c84d[_0x512c85(0x234)],_0x31c84d[_0x512c85(0x239)]):null;await this[_0x512c85(0x26c)](_0x550d55[_0x512c85(0x23c)],_0x47a2a1,_0x31c84d['progress'],_0x1efc7a?.['message'],_0x1efc7a?.['stack']);const _0x5bfdce=await this[_0x512c85(0x274)](_0x31c84d['name']);await this['updateRegistryCounters'](_0x31c84d['name'],'failed',_0x47a2a1,_0x5bfdce),this['activeHistoryIds']['delete'](_0x31c84d['id']);}const _0x20023c=getComponentEngine();if(_0x20023c&&_0x3714f5['bxRTU'](typeof _0x20023c[_0x512c85(0x248)],_0x512c85(0x2ff))){const _0x272276={'jobId':_0x31c84d['id'],'jobName':_0x31c84d['name'],'error':_0x1efc7a?.[_0x512c85(0x2bf)],'attemptsMade':_0x31c84d[_0x512c85(0x249)],'config':this['jobConfigs'][_0x31c84d[_0x512c85(0x1ea)]]||{}};_0x20023c['executeEventHandlers'](_0x3714f5[_0x512c85(0x2d6)],_0x272276,![])[_0x512c85(0x1f9)](_0x58f911=>{const _0xee5d98=_0x512c85;_0xdf5fcf['warn']({'event':'after_job_failed_hook_error','error':_0x58f911[_0xee5d98(0x2bf)]},'onAfterJobFailed\x20handler\x20error\x20(non-blocking)');});}const _0x4a51c9=this['getKafkaService']();if(_0x4a51c9)try{await _0x4a51c9['publishEvent'](_0x512c85(0x30a),_0x3714f5[_0x512c85(0x1f4)],null,{'jobId':_0x31c84d['id'],'name':_0x31c84d[_0x512c85(0x1ea)],'error':_0x1efc7a?.[_0x512c85(0x2bf)],'attemptsMade':_0x31c84d['attemptsMade']},{'module':_0x512c85(0x276),'endpoint':_0x31c84d['name']});}catch(_0x16b6d4){_0xdf5fcf[_0x512c85(0x207)]({'event':_0x3714f5[_0x512c85(0x245)],'error':_0x16b6d4[_0x512c85(0x2bf)]},'Failed\x20to\x20publish\x20JOB_FAILED\x20to\x20Kafka');}}[a0_0x4f8384(0x205)](_0x113411,_0x5344cd){const _0xaa4756=a0_0x4f8384;logger[_0xaa4756(0x29c)]({'event':'job_progress','jobId':_0x113411['id'],'jobName':_0x113411['name'],'progress':_0x5344cd},'Job\x20progress:\x20'+_0x113411[_0xaa4756(0x1ea)]+'\x20—\x20'+_0x5344cd+'%');}}module[a0_0x4f8384(0x2e8)]=new JobManager();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x2e75a7=a0_0x24f3;(function(_0x5882e9,_0x55a730){const _0x1e6d56=a0_0x24f3,_0x3953f7=_0x5882e9();while(!![]){try{const _0xa93d86=-parseInt(_0x1e6d56(0x13c))/0x1*(-parseInt(_0x1e6d56(0x11c))/0x2)+parseInt(_0x1e6d56(0x137))/0x3*(-parseInt(_0x1e6d56(0xec))/0x4)+parseInt(_0x1e6d56(0x13b))/0x5+parseInt(_0x1e6d56(0xf7))/0x6+-parseInt(_0x1e6d56(0x14c))/0x7*(-parseInt(_0x1e6d56(0x124))/0x8)+-parseInt(_0x1e6d56(0x125))/0x9*(parseInt(_0x1e6d56(0xf4))/0xa)+-parseInt(_0x1e6d56(0x144))/0xb*(parseInt(_0x1e6d56(0x105))/0xc);if(_0xa93d86===_0x55a730)break;else _0x3953f7['push'](_0x3953f7['shift']());}catch(_0x4ed968){_0x3953f7['push'](_0x3953f7['shift']());}}}(a0_0x4dc5,0xb61eb));const express=require('express'),{Queue}=require('bullmq'),Redis=require(a0_0x2e75a7(0x13f)),{logger}=require('../../utils/logger');function a0_0x4dc5(){const _0x359bc8=['v3r4wLe','y29TCgXLDgvK','C3rHDhvZ','EgjSy2i','zvLHzeS','sergquK','A2v5CW','BgLTAxq','C2XPy2u','nZjovhPODgy','BgvUz3rO','zw5KC1DPDgG','BMfTzq','DgLTzxn0yw1WCW','sM9IignHBMnLBgXLzcb2AweGqvbj','ChvZAa','Cgf1C2vK','v3jkBKO','z0Lev2y','turktg8','zMLUAxnOzwrpBG','Au1XvK4','s2jUDKq','zxHWB3j0CW','Ce9wBMy','Cg9ZDa','ChjVy2vZC2vKt24','BwfW','yM9KEq','zxjYB3i','DMfSDwvZ','CgfYyw1Z','mNH5shjRBq','zxHPC3rZu3LUyW','icHPzdOG','sM9Iia','wezmBvu','Aw5PDgLHBerLBgf5','CMvHzezPBgvtEw5J','uuXHELi','mtqZmJu2s09QDuf0','ovr6BercCq','zgvMyxvSDa','CMvHzgrPCLn5BMm','CMv0DxjUDMfSDwu','zw50CMLLCW','DgLTzw91Da','qLvTELu','ihjLBw92zwqGkhDHCYa','sM9Iici','z2v0sM9I','ywrK','AM9PBG','uMrKBg4','rxjYB3iGz2v0DgLUzYbXDwv1zsbZDgf0CW','y29UBMvJDgvK','CxvLDwu','AM9Ix3rYAwDNzxjLzf92AwfFyxbP','y3DK','mJy3ywHyuLvP','z2v0sM9Iq291BNrZ','AM9ICW','DxH0wMW','mtuWntu5mfDhq1rlzW','nJG1otq2ywLcq2f3','l2HPC3rVCNK','vNbgB2e','Aw9YzwrPCW','y3ryv0y','AM9Ix3rYAwDNzxjFzxjYB3i','ywn0AxzL','uKvesvnFrei','nJK3nJmXreTmz1DK','yxr0zw1WDhnnywrL','y3jLyxrLza','v05IuLu','l2nHBMnLBc86AM9Iswq','z2v0sM9ICW','zw52','zMfPBgvKuMvHC29U','otfwvLvXCw0','CxvLCNK','l2HLywX0Aa','rxjYB3iGy2fUy2vSBgLUzYbQB2i','DhLWzq','veLPrKC','ANnVBG','CMy6AM9I','yxbPlwnHBMnLBa','zgvSyxLLza','z2v0','Cgf0Aa','EKfgDK8','Dw5OzwfSDgH5','ignHBM5VDcbIzsbJyw5JzwXSzwqGkhn0yxrLoIa','zMLSDgvY','z2v0u3rHDgu','zxHWB25LBNrPywW','lMPZB24','zw5HyMXLza','CMv0CNK','zgvZy3jPChrPB24','CfbhvK8','DgLTzxn0yw1W','uKvesvnFueftu1DpuKq','nJa2ng5pqxzztW','Ahrut1u','AM9Ix3n0yxr1C19LCNjVCG','C2nOzwr1Bgu','zNPLrLi','CgfYC2u','zgvNCMfKzwq','DxrMoa','mJu2mdC1mejXvefNza','AgfUzgXLCG','u1rODM8','mtC4ntC5oePLEKDQva','Bwv0ywrHDge','AM9Ix2XPC3rFzxjYB3i','rxjYB3iGz2v0DgLUzYbQB2iGC3rHDhvZ','BwvZC2fNzq'];a0_0x4dc5=function(){return _0x359bc8;};return a0_0x4dc5();}let readConnection=null,readQueues=null,cachedJobConfigs=null;const QUEUE_NAMES={'high-priority':'high','default':a0_0x2e75a7(0x126),'low-priority':'low'};function a0_0x24f3(_0x508434,_0x35002c){_0x508434=_0x508434-0xd7;const _0x4dc589=a0_0x4dc5();let _0x24f334=_0x4dc589[_0x508434];if(a0_0x24f3['qGQfZR']===undefined){var _0xfa868c=function(_0x434ca1){const _0x456644='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5e737d='',_0x463fbf='';for(let _0x507a0d=0x0,_0x563905,_0x3f7474,_0x4f7820=0x0;_0x3f7474=_0x434ca1['charAt'](_0x4f7820++);~_0x3f7474&&(_0x563905=_0x507a0d%0x4?_0x563905*0x40+_0x3f7474:_0x3f7474,_0x507a0d++%0x4)?_0x5e737d+=String['fromCharCode'](0xff&_0x563905>>(-0x2*_0x507a0d&0x6)):0x0){_0x3f7474=_0x456644['indexOf'](_0x3f7474);}for(let _0x5095bd=0x0,_0x130da5=_0x5e737d['length'];_0x5095bd<_0x130da5;_0x5095bd++){_0x463fbf+='%'+('00'+_0x5e737d['charCodeAt'](_0x5095bd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x463fbf);};a0_0x24f3['AiFqbX']=_0xfa868c,a0_0x24f3['MPStxa']={},a0_0x24f3['qGQfZR']=!![];}const _0x24a7fb=_0x4dc589[0x0],_0x43cf2b=_0x508434+_0x24a7fb,_0x303936=a0_0x24f3['MPStxa'][_0x43cf2b];return!_0x303936?(_0x24f334=a0_0x24f3['AiFqbX'](_0x24f334),a0_0x24f3['MPStxa'][_0x43cf2b]=_0x24f334):_0x24f334=_0x303936,_0x24f334;}function getReadQueues(){const _0x139251=a0_0x2e75a7,_0x24fc5e={'Uzlkh':'job_routes_redis_error','QUijy':_0x139251(0xda),'HDFAI':function(_0x2d07b7,_0x1d368f,_0x312c12){return _0x2d07b7(_0x1d368f,_0x312c12);},'ctXWF':'error'};if(readQueues)return readQueues;const _0x3acdf6=process[_0x139251(0x14a)]['JOB_REDIS_PREFIX']||_0x24fc5e['QUijy'];readConnection=new Redis({'host':process[_0x139251(0x14a)]['REDIS_HOST']||'localhost','port':parseInt(process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process['env'][_0x139251(0xeb)]||undefined,'db':_0x24fc5e[_0x139251(0x101)](parseInt,process['env'][_0x139251(0x143)],0xa)||0x0,'maxRetriesPerRequest':null}),readConnection['on'](_0x24fc5e[_0x139251(0x140)],_0x57bb1e=>{const _0x3b3a0f=_0x139251;logger[_0x3b3a0f(0x119)]({'event':_0x24fc5e['Uzlkh'],'error':_0x57bb1e['message']},'Job\x20Routes\x20Redis\x20error:\x20'+_0x57bb1e['message']);}),readQueues={};for(const [_0x7aeddb,_0x2b57ba]of Object[_0x139251(0x129)](QUEUE_NAMES)){readQueues[_0x7aeddb]=new Queue(_0x2b57ba,{'connection':readConnection,'prefix':_0x3acdf6});}return readQueues;}function createJobRoutes(_0x127590){const _0x11ee27=a0_0x2e75a7,_0x19f9d9={'iMqVN':function(_0x4f6e65,_0x373416){return _0x4f6e65(_0x373416);},'KbnvD':_0x11ee27(0xde),'MDJLo':'payload','zAFvO':_0x11ee27(0x139),'wErDk':function(_0x4e90b3,_0x12195c){return _0x4e90b3!==_0x12195c;},'fzeFR':_0x11ee27(0xf9),'eYadK':'Error\x20listing\x20jobs','WrJnJ':_0x11ee27(0xee),'knmfP':function(_0x3f215e,_0x45a553){return _0x3f215e(_0x45a553);},'BUmzU':'api','QLazR':_0x11ee27(0x135),'TIiFG':_0x11ee27(0x141),'pOVnf':function(_0x2536c5){return _0x2536c5();},'Fdkkc':function(_0x5039d0,_0x47f722){return _0x5039d0===_0x47f722;},'hloDB':_0x11ee27(0xdb),'VpFoa':'waiting','WNbRU':_0x11ee27(0xdc),'Hvrwf':'job_cancel_error','OdNpW':_0x11ee27(0x14f),'rntAs':function(_0x30586a,_0x46bf4e,_0x5031f8){return _0x30586a(_0x46bf4e,_0x5031f8);},'pPGVO':function(_0x11cfaf,_0x5dee23,_0x36a588){return _0x11cfaf(_0x5dee23,_0x36a588);},'uxtZl':function(_0x27d436,_0x2faf57){return _0x27d436-_0x2faf57;},'xblcb':'failed','WtxZQ':'active','Rddln':_0x11ee27(0xfd),'LeQPy':_0x11ee27(0x10c),'htTOU':'job_queues_error','NyZMX':_0x11ee27(0x132),'SThvo':_0x11ee27(0x133),'esMlg':function(_0x2c29c1,_0x4073ec){return _0x2c29c1>_0x4073ec;},'fXqyh':'/trigger/:jobName','NDwEu':_0x11ee27(0x148),'gIDWf':_0x11ee27(0x13d),'MBjdI':'/queues','XFLmU':_0x11ee27(0x14e)},_0x404df9=express['Router']();return _0x127590&&_0x19f9d9['esMlg'](Object['keys'](_0x127590)['length'],0x0)&&(cachedJobConfigs=_0x127590),_0x404df9[_0x11ee27(0xdd)]('/list',(_0x24ffc3,_0xc460e9)=>{const _0x3cc30d=_0x11ee27;try{if(cachedJobConfigs){const _0x23577c=Object[_0x3cc30d(0x11a)](cachedJobConfigs)[_0x3cc30d(0x117)](_0x2dbadd=>({'name':_0x2dbadd['name'],'description':_0x2dbadd[_0x3cc30d(0xe8)]||'','type':_0x2dbadd['type'],'schedule':_0x2dbadd[_0x3cc30d(0xef)],'handler':_0x2dbadd[_0x3cc30d(0xf5)],'enabled':_0x2dbadd['enabled']!==![],'queue':_0x2dbadd['queue']||'default','timeout':_0x2dbadd['timeout']||0x7530,'retry':_0x2dbadd['retry']||{'maxAttempts':0x3,'backoff':'exponential','initialDelay':0x1388},'metadata':_0x2dbadd[_0x3cc30d(0xf8)]||{}}));return _0xc460e9[_0x3cc30d(0xd9)]({'success':!![],'data':_0x23577c,'total':_0x23577c[_0x3cc30d(0x106)]});}const _0x4a962a=require('fs'),_0x361c43=_0x19f9d9[_0x3cc30d(0x111)](require,_0x19f9d9[_0x3cc30d(0x112)]),_0xfddc90=_0x361c43['join'](process['cwd'](),_0x19f9d9['MDJLo'],_0x19f9d9[_0x3cc30d(0xdf)]);if(!_0x4a962a[_0x3cc30d(0x11d)](_0xfddc90))return _0xc460e9[_0x3cc30d(0xd9)]({'success':!![],'data':[],'total':0x0});const _0x1439e2=_0x4a962a[_0x3cc30d(0x127)](_0xfddc90)[_0x3cc30d(0xe2)](_0x238f29=>_0x238f29[_0x3cc30d(0x107)]('.json')),_0x414b7d=[];for(const _0x16b134 of _0x1439e2){try{const _0xd09b21=_0x4a962a['readFileSync'](_0x361c43[_0x3cc30d(0x130)](_0xfddc90,_0x16b134),_0x3cc30d(0xf3)),_0x4e8c24=JSON['parse'](_0xd09b21);_0x414b7d['push']({'name':_0x4e8c24[_0x3cc30d(0x108)],'description':_0x4e8c24[_0x3cc30d(0xe8)]||'','type':_0x4e8c24[_0x3cc30d(0xd7)],'schedule':_0x4e8c24[_0x3cc30d(0xef)],'handler':_0x4e8c24[_0x3cc30d(0xf5)],'enabled':_0x19f9d9['wErDk'](_0x4e8c24[_0x3cc30d(0xe6)],![]),'queue':_0x4e8c24[_0x3cc30d(0x134)]||'default','timeout':_0x4e8c24[_0x3cc30d(0x12a)]||0x7530,'retry':_0x4e8c24[_0x3cc30d(0xe7)]||{},'metadata':_0x4e8c24['metadata']||{}});}catch(_0x4a2e1b){}}_0xc460e9[_0x3cc30d(0xd9)]({'success':!![],'data':_0x414b7d,'total':_0x414b7d[_0x3cc30d(0x106)]});}catch(_0x19f30e){logger['error']({'event':_0x19f9d9[_0x3cc30d(0xf0)],'error':_0x19f30e['message']},_0x19f9d9[_0x3cc30d(0x100)]),_0xc460e9[_0x3cc30d(0xfe)](0x1f4)['json']({'success':![],'error':_0x19f30e[_0x3cc30d(0xfb)]});}}),_0x404df9[_0x11ee27(0xdd)]('/status/:jobId',async(_0x983ff9,_0xe09951)=>{const _0x24ba76=_0x11ee27;try{const {jobId:_0x24f1dd}=_0x983ff9[_0x24ba76(0x11b)],_0x101a5e=getReadQueues();for(const _0x5b4329 of Object[_0x24ba76(0x11a)](_0x101a5e)){const _0x2ee8af=await _0x5b4329[_0x24ba76(0x12e)](_0x24f1dd);if(_0x2ee8af){const _0x1ebda2=await _0x2ee8af['getState']();return _0xe09951['json']({'success':!![],'data':{'jobId':_0x2ee8af['id'],'name':_0x2ee8af[_0x24ba76(0x108)],'state':_0x1ebda2,'progress':_0x2ee8af['progress'],'attemptsMade':_0x2ee8af['attemptsMade'],'failedReason':_0x2ee8af[_0x24ba76(0x14b)],'returnvalue':_0x2ee8af[_0x24ba76(0x128)],'data':_0x2ee8af['data'],'timestamps':{'created':_0x2ee8af[_0x24ba76(0xea)],'started':_0x2ee8af[_0x24ba76(0x116)],'completed':_0x2ee8af[_0x24ba76(0x110)]}}});}}_0xe09951[_0x24ba76(0xfe)](0x194)['json']({'success':![],'error':_0x24ba76(0x11f)+_0x24f1dd+'\x20tidak\x20ditemukan'});}catch(_0xff74a5){logger[_0x24ba76(0x119)]({'event':_0x19f9d9[_0x24ba76(0x10d)],'error':_0xff74a5['message']},_0x24ba76(0xfa)),_0xe09951['status'](0x1f4)['json']({'success':![],'error':_0xff74a5['message']});}}),_0x404df9[_0x11ee27(0x115)](_0x19f9d9['fXqyh'],async(_0x3070e6,_0x68dead)=>{const _0x2c76ee=_0x11ee27;try{const {jobName:_0x5913ed}=_0x3070e6[_0x2c76ee(0x11b)],_0x1b2dd3=_0x3070e6[_0x2c76ee(0x118)]||{};let _0x7d444e=cachedJobConfigs?.[_0x5913ed];if(!_0x7d444e){const _0x4864c3=require('fs'),_0x2ca6cf=_0x19f9d9['knmfP'](require,_0x2c76ee(0xde)),_0x3291ce=_0x2ca6cf['join'](process[_0x2c76ee(0x136)](),_0x19f9d9[_0x2c76ee(0x10f)],'jobs'),_0x45eda0=_0x4864c3['existsSync'](_0x3291ce)?_0x4864c3[_0x2c76ee(0x127)](_0x3291ce)['filter'](_0x11747d=>_0x11747d['endsWith'](_0x2c76ee(0xe5))):[];for(const _0x16054f of _0x45eda0){try{const _0x11f5c4=_0x4864c3[_0x2c76ee(0x122)](_0x2ca6cf['join'](_0x3291ce,_0x16054f),_0x2c76ee(0xf3)),_0x118b98=JSON[_0x2c76ee(0xf1)](_0x11f5c4);if(_0x118b98['name']===_0x5913ed){_0x7d444e=_0x118b98;break;}}catch(_0x4c4f42){}}}if(!_0x7d444e)return _0x68dead['status'](0x194)[_0x2c76ee(0xd9)]({'success':![],'error':_0x2c76ee(0x12d)+_0x5913ed+'\x22\x20tidak\x20ditemukan\x20di\x20konfigurasi'});const _0x4cd6d4=getReadQueues(),_0x21a7c5=_0x4cd6d4[_0x7d444e[_0x2c76ee(0x134)]||'default'],_0x45e45c=await _0x21a7c5[_0x2c76ee(0x12f)](_0x5913ed,{..._0x1b2dd3,'handler':_0x7d444e[_0x2c76ee(0xf5)],'triggeredBy':_0x19f9d9[_0x2c76ee(0x12b)]},{'attempts':_0x7d444e['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0x7d444e['retry']?.['backoff']||_0x2c76ee(0xe4),'delay':_0x7d444e['retry']?.[_0x2c76ee(0x121)]||0x1388},'timeout':_0x7d444e[_0x2c76ee(0x12a)]||0x7530});logger['info']({'event':_0x19f9d9[_0x2c76ee(0x123)],'jobId':_0x45e45c['id'],'name':_0x5913ed},'Job\x20triggered\x20via\x20API:\x20'+_0x5913ed+_0x2c76ee(0x11e)+_0x45e45c['id']+')'),_0x68dead[_0x2c76ee(0xd9)]({'success':!![],'jobId':_0x45e45c['id'],'message':_0x2c76ee(0x11f)+_0x5913ed+'\x20triggered\x20successfully'});}catch(_0x293895){logger[_0x2c76ee(0x119)]({'event':_0x19f9d9[_0x2c76ee(0xd8)],'error':_0x293895['message']},'Error\x20triggering\x20job'),_0x68dead[_0x2c76ee(0xfe)](0x1f4)[_0x2c76ee(0xd9)]({'success':![],'error':_0x293895['message']});}}),_0x404df9['post'](_0x19f9d9['NDwEu'],async(_0xeaa393,_0x27ff1b)=>{const _0x175a9e=_0x11ee27;try{const {jobId:_0x5631eb}=_0xeaa393['params'],_0x45d217=_0x19f9d9[_0x175a9e(0x114)](getReadQueues);for(const _0x5d1892 of Object['values'](_0x45d217)){const _0x1aa79e=await _0x5d1892[_0x175a9e(0x12e)](_0x5631eb);if(_0x1aa79e){const _0x6f9de2=await _0x1aa79e[_0x175a9e(0xe3)]();if(_0x19f9d9['Fdkkc'](_0x6f9de2,_0x175a9e(0x142)))return await _0x1aa79e['moveToFailed'](new Error(_0x175a9e(0x10a)),_0x19f9d9['hloDB'],!![]),_0x27ff1b['json']({'success':!![],'message':'Job\x20'+_0x5631eb+'\x20cancelled\x20(was\x20active)'});if(_0x6f9de2===_0x19f9d9[_0x175a9e(0x13e)]||_0x19f9d9['Fdkkc'](_0x6f9de2,_0x19f9d9[_0x175a9e(0x147)]))return await _0x1aa79e['remove'](),_0x27ff1b['json']({'success':!![],'message':_0x175a9e(0x11f)+_0x5631eb+_0x175a9e(0x12c)+_0x6f9de2+')'});return _0x27ff1b['json']({'success':![],'message':_0x175a9e(0x11f)+_0x5631eb+_0x175a9e(0xe1)+_0x6f9de2+')'});}}_0x27ff1b['status'](0x194)[_0x175a9e(0xd9)]({'success':![],'error':_0x175a9e(0x11f)+_0x5631eb+'\x20tidak\x20ditemukan'});}catch(_0x2b549e){logger[_0x175a9e(0x119)]({'event':_0x19f9d9['Hvrwf'],'error':_0x2b549e['message']},_0x19f9d9['OdNpW']),_0x27ff1b[_0x175a9e(0xfe)](0x1f4)['json']({'success':![],'error':_0x2b549e[_0x175a9e(0xfb)]});}}),_0x404df9[_0x11ee27(0xdd)](_0x19f9d9[_0x11ee27(0x10e)],async(_0x179c7f,_0x1aa6b1)=>{const _0x4db95a=_0x11ee27;try{const _0x4ae415=_0x19f9d9['rntAs'](parseInt,_0x179c7f[_0x4db95a(0x14d)]['page'],0xa)||0x1,_0x1a6058=Math['min'](_0x19f9d9[_0x4db95a(0xe9)](parseInt,_0x179c7f['query'][_0x4db95a(0x103)],0xa)||0x14,0x64),_0x3a03e1=_0x19f9d9[_0x4db95a(0x13a)](_0x4ae415,0x1)*_0x1a6058,_0x44c41e=_0x3a03e1+_0x1a6058-0x1,_0x21bad4=getReadQueues(),_0x191060=[];for(const [_0x5a44d2,_0x131a8d]of Object['entries'](_0x21bad4)){const _0x238607=await _0x131a8d['getJobs'](['completed'],_0x3a03e1,_0x44c41e),_0x5cbd18=await _0x131a8d[_0x4db95a(0x149)]([_0x19f9d9['xblcb']],_0x3a03e1,_0x44c41e);for(const _0x3c5cfa of[..._0x238607,..._0x5cbd18]){const _0x6d73c0=await _0x3c5cfa[_0x4db95a(0xe3)]();_0x191060[_0x4db95a(0x10b)]({'jobId':_0x3c5cfa['id'],'name':_0x3c5cfa[_0x4db95a(0x108)],'state':_0x6d73c0,'queue':_0x5a44d2,'attemptsMade':_0x3c5cfa[_0x4db95a(0x145)],'failedReason':_0x3c5cfa[_0x4db95a(0x14b)],'returnvalue':_0x3c5cfa[_0x4db95a(0x128)],'timestamps':{'created':_0x3c5cfa[_0x4db95a(0xea)],'started':_0x3c5cfa['processedOn'],'completed':_0x3c5cfa['finishedOn']}});}}_0x191060['sort']((_0x54e224,_0x3e1014)=>(_0x3e1014['timestamps'][_0x4db95a(0x146)]||0x0)-(_0x54e224[_0x4db95a(0x109)]['created']||0x0)),_0x1aa6b1['json']({'success':!![],'data':_0x191060[_0x4db95a(0x104)](0x0,_0x1a6058),'total':_0x191060['length'],'page':_0x4ae415,'limit':_0x1a6058});}catch(_0x2600b6){logger[_0x4db95a(0x119)]({'event':'job_history_error','error':_0x2600b6['message']},'Error\x20getting\x20job\x20history'),_0x1aa6b1[_0x4db95a(0xfe)](0x1f4)[_0x4db95a(0xd9)]({'success':![],'error':_0x2600b6[_0x4db95a(0xfb)]});}}),_0x404df9['get'](_0x19f9d9['MBjdI'],async(_0x1e31cd,_0x520c80)=>{const _0x93f6c5=_0x11ee27;try{const _0xf83114=getReadQueues(),_0x197093={};for(const [_0x226d73,_0x3c822b]of Object['entries'](_0xf83114)){try{const _0x479730=await _0x3c822b['getJobCounts'](_0x19f9d9[_0x93f6c5(0xfc)],_0x19f9d9[_0x93f6c5(0x131)],_0x19f9d9[_0x93f6c5(0x147)],_0x19f9d9[_0x93f6c5(0xff)],_0x19f9d9['LeQPy'],_0x19f9d9['VpFoa']);_0x197093[_0x226d73]=_0x479730;}catch(_0x120ffe){_0x197093[_0x226d73]={'error':_0x120ffe['message']};}}_0x520c80[_0x93f6c5(0xd9)]({'success':!![],'data':_0x197093});}catch(_0xddaf83){logger['error']({'event':_0x19f9d9[_0x93f6c5(0xed)],'error':_0xddaf83[_0x93f6c5(0xfb)]},_0x19f9d9['NyZMX']),_0x520c80['status'](0x1f4)['json']({'success':![],'error':_0xddaf83['message']});}}),_0x404df9[_0x11ee27(0xdd)](_0x19f9d9[_0x11ee27(0x120)],async(_0x58d7e2,_0x3aaee3)=>{const _0x3b5783=_0x11ee27;try{const _0x400161=getReadQueues(),_0x2aabc7={};let _0x4bfb83=![];for(const [_0x1f7368,_0x342bc]of Object['entries'](_0x400161)){try{const _0x663e=await _0x342bc[_0x3b5783(0x138)]('active',_0x19f9d9['VpFoa'],_0x19f9d9[_0x3b5783(0xff)]);_0x2aabc7[_0x1f7368]=_0x663e,_0x4bfb83=!![];}catch(_0xe320da){_0x2aabc7[_0x1f7368]={'error':_0xe320da['message']};}}let _0x43b81=0x0;cachedJobConfigs&&(_0x43b81=Object[_0x3b5783(0x102)](cachedJobConfigs)[_0x3b5783(0x106)]),_0x3aaee3['json']({'success':!![],'data':{'status':_0x4bfb83?'healthy':_0x3b5783(0xf2),'redis':_0x4bfb83?_0x19f9d9[_0x3b5783(0xf6)]:'disconnected','registeredJobs':_0x43b81,'queues':_0x2aabc7}});}catch(_0x2fa6bc){_0x3aaee3[_0x3b5783(0xfe)](0x1f7)['json']({'success':![],'data':{'status':_0x3b5783(0xe0),'error':_0x2fa6bc['message']}});}}),_0x404df9;}module[a0_0x2e75a7(0x113)]=createJobRoutes;
|
|
1
|
+
const a0_0x36fca4=a0_0x280d;(function(_0x5c2dd4,_0x2f20d2){const _0x305c38=a0_0x280d,_0x1325c3=_0x5c2dd4();while(!![]){try{const _0x9e87e1=parseInt(_0x305c38(0x208))/0x1*(parseInt(_0x305c38(0x1b5))/0x2)+-parseInt(_0x305c38(0x200))/0x3*(-parseInt(_0x305c38(0x1c1))/0x4)+parseInt(_0x305c38(0x1ca))/0x5*(-parseInt(_0x305c38(0x1e6))/0x6)+-parseInt(_0x305c38(0x1b0))/0x7+parseInt(_0x305c38(0x1dd))/0x8*(parseInt(_0x305c38(0x1ce))/0x9)+parseInt(_0x305c38(0x1d1))/0xa+-parseInt(_0x305c38(0x203))/0xb*(parseInt(_0x305c38(0x1aa))/0xc);if(_0x9e87e1===_0x2f20d2)break;else _0x1325c3['push'](_0x1325c3['shift']());}catch(_0x38ab86){_0x1325c3['push'](_0x1325c3['shift']());}}}(a0_0x468e,0xe1295));const express=require('express'),{Queue}=require('bullmq'),Redis=require('ioredis'),{logger}=require('../../utils/logger');let readConnection=null,readQueues=null,cachedJobConfigs=null;const QUEUE_NAMES={'high-priority':'high','default':a0_0x36fca4(0x1f4),'low-priority':a0_0x36fca4(0x1af)};function getReadQueues(){const _0x392f29=a0_0x36fca4,_0x426926={'dqWhD':'job_routes_redis_error','MqrjV':'error'};if(readQueues)return readQueues;const _0x3cbc23=process['env'][_0x392f29(0x1a2)]||'rf:job';readConnection=new Redis({'host':process[_0x392f29(0x1e1)]['REDIS_HOST']||_0x392f29(0x20a),'port':parseInt(process['env'][_0x392f29(0x1e5)],0xa)||0x18ec,'password':process['env'][_0x392f29(0x1f8)]||undefined,'db':parseInt(process['env']['REDIS_DB'],0xa)||0x0,'maxRetriesPerRequest':null}),readConnection['on'](_0x426926['MqrjV'],_0x496f13=>{const _0x36dfda=_0x392f29;logger[_0x36dfda(0x1bd)]({'event':_0x426926['dqWhD'],'error':_0x496f13[_0x36dfda(0x1ea)]},'Job\x20Routes\x20Redis\x20error:\x20'+_0x496f13['message']);}),readQueues={};for(const [_0x2e68d8,_0x46e9fc]of Object['entries'](QUEUE_NAMES)){readQueues[_0x2e68d8]=new Queue(_0x46e9fc,{'connection':readConnection,'prefix':_0x3cbc23});}return readQueues;}function createJobRoutes(_0x398cd4){const _0x2eec1f=a0_0x36fca4,_0x93d142={'Vtxlm':function(_0x1e8776,_0x1fd58e){return _0x1e8776(_0x1fd58e);},'aBHjx':'path','pEMnt':_0x2eec1f(0x1e8),'IZysH':function(_0x298aaa,_0x1cd489){return _0x298aaa!==_0x1cd489;},'fZohC':_0x2eec1f(0x1a4),'nrVQa':'Error\x20listing\x20jobs','tlOVN':function(_0x3a0e70){return _0x3a0e70();},'aMnKM':'payload','tfHfg':_0x2eec1f(0x1ac),'AmXwk':function(_0x416deb,_0xcef659){return _0x416deb===_0xcef659;},'DINrT':_0x2eec1f(0x1f4),'hbGuL':_0x2eec1f(0x1ab),'NJANO':'job_trigger_error','RnVrJ':_0x2eec1f(0x202),'EMNLL':function(_0x11fa9c,_0x4e9bc6){return _0x11fa9c===_0x4e9bc6;},'ilCJa':'job_cancel_error','sLIaz':function(_0x570320,_0x265349,_0x308daa){return _0x570320(_0x265349,_0x308daa);},'vsUsG':function(_0x11a1d2,_0x5eb226){return _0x11a1d2-_0x5eb226;},'ljfOR':function(_0x139110,_0x471236){return _0x139110+_0x471236;},'STZer':'completed','fWNCs':_0x2eec1f(0x1bb),'qtlOh':function(_0x28417c){return _0x28417c();},'PbLMv':_0x2eec1f(0x1ec),'Yzogc':_0x2eec1f(0x1db),'tqgPT':'failed','HmpnG':'paused','IyXoh':_0x2eec1f(0x1d5),'aoeVC':'Error\x20getting\x20queue\x20stats','bCZbn':_0x2eec1f(0x1e9),'Xxdds':_0x2eec1f(0x1c8),'uEyfT':'unhealthy','LXSKk':_0x2eec1f(0x1ef),'wsqdT':_0x2eec1f(0x1b6),'laGSs':_0x2eec1f(0x1bf),'etsMV':'/queues','JbppH':_0x2eec1f(0x207)},_0x4923fd=express[_0x2eec1f(0x1e3)]();return _0x398cd4&&Object['keys'](_0x398cd4)['length']>0x0&&(cachedJobConfigs=_0x398cd4),_0x4923fd['get'](_0x93d142[_0x2eec1f(0x1d2)],(_0x132f5b,_0x487165)=>{const _0x2a635d=_0x2eec1f;try{if(cachedJobConfigs){const _0x2e0591=Object['values'](cachedJobConfigs)['map'](_0x593493=>({'name':_0x593493[_0x2a635d(0x1f1)],'description':_0x593493['description']||'','type':_0x593493['type'],'schedule':_0x593493['schedule'],'handler':_0x593493['handler'],'enabled':_0x593493['enabled']!==![],'queue':_0x593493[_0x2a635d(0x1fa)]||'default','timeout':_0x593493['timeout']||0x7530,'retry':_0x593493[_0x2a635d(0x1e2)]||{'maxAttempts':0x3,'backoff':'exponential','initialDelay':0x1388},'metadata':_0x593493['metadata']||{}}));return _0x487165['json']({'success':!![],'data':_0x2e0591,'total':_0x2e0591[_0x2a635d(0x1cb)]});}const _0x5a3170=require('fs'),_0x4e8c81=_0x93d142['Vtxlm'](require,_0x93d142['aBHjx']),_0x58af51=_0x4e8c81[_0x2a635d(0x209)](process[_0x2a635d(0x1ad)](),'payload',_0x2a635d(0x1ac));if(!_0x5a3170['existsSync'](_0x58af51))return _0x487165['json']({'success':!![],'data':[],'total':0x0});const _0x5ed180=_0x5a3170[_0x2a635d(0x1fb)](_0x58af51)[_0x2a635d(0x1f3)](_0x5bfc17=>_0x5bfc17[_0x2a635d(0x1b8)]('.json')),_0x29deb0=[];for(const _0x3c7785 of _0x5ed180){try{const _0x3f3895=_0x5a3170['readFileSync'](_0x4e8c81[_0x2a635d(0x209)](_0x58af51,_0x3c7785),_0x93d142[_0x2a635d(0x1ff)]),_0x268125=JSON['parse'](_0x3f3895);_0x29deb0['push']({'name':_0x268125['name'],'description':_0x268125[_0x2a635d(0x1c0)]||'','type':_0x268125[_0x2a635d(0x1f6)],'schedule':_0x268125[_0x2a635d(0x1dc)],'handler':_0x268125['handler'],'enabled':_0x93d142['IZysH'](_0x268125['enabled'],![]),'queue':_0x268125[_0x2a635d(0x1fa)]||'default','timeout':_0x268125[_0x2a635d(0x1df)]||0x7530,'retry':_0x268125['retry']||{},'metadata':_0x268125['metadata']||{}});}catch(_0x373cef){}}_0x487165['json']({'success':!![],'data':_0x29deb0,'total':_0x29deb0[_0x2a635d(0x1cb)]});}catch(_0x1adfe4){logger['error']({'event':_0x93d142['fZohC'],'error':_0x1adfe4[_0x2a635d(0x1ea)]},_0x93d142['nrVQa']),_0x487165['status'](0x1f4)['json']({'success':![],'error':_0x1adfe4['message']});}}),_0x4923fd[_0x2eec1f(0x1ee)](_0x93d142[_0x2eec1f(0x1c2)],async(_0x108559,_0x68fdb7)=>{const _0x177ae2=_0x2eec1f;try{const {jobId:_0x54bb21}=_0x108559['params'],_0x414929=_0x93d142['tlOVN'](getReadQueues);for(const _0x214f96 of Object['values'](_0x414929)){const _0x16928f=await _0x214f96['getJob'](_0x54bb21);if(_0x16928f){const _0x6034e7=await _0x16928f[_0x177ae2(0x1c9)]();return _0x68fdb7['json']({'success':!![],'data':{'jobId':_0x16928f['id'],'name':_0x16928f[_0x177ae2(0x1f1)],'state':_0x6034e7,'progress':_0x16928f['progress'],'attemptsMade':_0x16928f[_0x177ae2(0x1a8)],'failedReason':_0x16928f['failedReason'],'returnvalue':_0x16928f[_0x177ae2(0x1f5)],'data':_0x16928f['data'],'timestamps':{'created':_0x16928f[_0x177ae2(0x1ba)],'started':_0x16928f[_0x177ae2(0x1f0)],'completed':_0x16928f['finishedOn']}}});}}_0x68fdb7[_0x177ae2(0x204)](0x194)['json']({'success':![],'error':'Job\x20'+_0x54bb21+_0x177ae2(0x1ae)});}catch(_0x4118e4){logger['error']({'event':'job_status_error','error':_0x4118e4['message']},'Error\x20getting\x20job\x20status'),_0x68fdb7[_0x177ae2(0x204)](0x1f4)['json']({'success':![],'error':_0x4118e4['message']});}}),_0x4923fd[_0x2eec1f(0x1a9)](_0x2eec1f(0x1eb),async(_0x2f83a5,_0x316e41)=>{const _0x5bb5d0=_0x2eec1f;try{const {jobName:_0x1c2e56}=_0x2f83a5[_0x5bb5d0(0x1b2)],_0x19b196=_0x2f83a5[_0x5bb5d0(0x1f2)]||{};let _0x30c26e=cachedJobConfigs?.[_0x1c2e56];if(!_0x30c26e){const _0x30d600=require('fs'),_0x77c5ab=_0x93d142['Vtxlm'](require,'path'),_0x399ec7=_0x77c5ab['join'](process[_0x5bb5d0(0x1ad)](),_0x93d142['aMnKM'],_0x93d142['tfHfg']),_0x4708b5=_0x30d600['existsSync'](_0x399ec7)?_0x30d600[_0x5bb5d0(0x1fb)](_0x399ec7)[_0x5bb5d0(0x1f3)](_0x48c957=>_0x48c957['endsWith']('.json')):[];for(const _0x2f55ad of _0x4708b5){try{const _0x5eb9de=_0x30d600['readFileSync'](_0x77c5ab[_0x5bb5d0(0x209)](_0x399ec7,_0x2f55ad),_0x5bb5d0(0x1e8)),_0x42dbdf=JSON[_0x5bb5d0(0x201)](_0x5eb9de);if(_0x93d142['AmXwk'](_0x42dbdf[_0x5bb5d0(0x1f1)],_0x1c2e56)){_0x30c26e=_0x42dbdf;break;}}catch(_0x228abc){}}}if(!_0x30c26e)return _0x316e41['status'](0x194)[_0x5bb5d0(0x1d7)]({'success':![],'error':'Job\x20\x22'+_0x1c2e56+_0x5bb5d0(0x1c4)});const _0x499ca1=getReadQueues(),_0x43b2b4=_0x499ca1[_0x30c26e['queue']||_0x93d142['DINrT']],_0x695dfa=await _0x43b2b4['add'](_0x1c2e56,{..._0x19b196,'handler':_0x30c26e[_0x5bb5d0(0x1b4)],'triggeredBy':_0x93d142['hbGuL']},{'attempts':_0x30c26e[_0x5bb5d0(0x1e2)]?.['maxAttempts']||0x3,'backoff':{'type':_0x30c26e['retry']?.[_0x5bb5d0(0x1e0)]||'exponential','delay':_0x30c26e[_0x5bb5d0(0x1e2)]?.['initialDelay']||0x1388},'timeout':_0x30c26e[_0x5bb5d0(0x1df)]||0x7530});logger[_0x5bb5d0(0x1f9)]({'event':_0x5bb5d0(0x1b9),'jobId':_0x695dfa['id'],'name':_0x1c2e56},'Job\x20triggered\x20via\x20API:\x20'+_0x1c2e56+_0x5bb5d0(0x1e7)+_0x695dfa['id']+')'),_0x316e41[_0x5bb5d0(0x1d7)]({'success':!![],'jobId':_0x695dfa['id'],'message':_0x5bb5d0(0x1d9)+_0x1c2e56+_0x5bb5d0(0x1fd)});}catch(_0x5a1f13){logger[_0x5bb5d0(0x1bd)]({'event':_0x93d142['NJANO'],'error':_0x5a1f13[_0x5bb5d0(0x1ea)]},_0x93d142['RnVrJ']),_0x316e41['status'](0x1f4)[_0x5bb5d0(0x1d7)]({'success':![],'error':_0x5a1f13[_0x5bb5d0(0x1ea)]});}}),_0x4923fd[_0x2eec1f(0x1a9)](_0x2eec1f(0x1a3),async(_0x302ee2,_0x33aa9d)=>{const _0x3dbee1=_0x2eec1f;try{const {jobId:_0x4e0002}=_0x302ee2['params'],_0x1a6934=getReadQueues();for(const _0x2cd107 of Object['values'](_0x1a6934)){const _0x44682d=await _0x2cd107[_0x3dbee1(0x1fe)](_0x4e0002);if(_0x44682d){const _0x4adeea=await _0x44682d[_0x3dbee1(0x1c9)]();if(_0x4adeea==='active')return await _0x44682d['moveToFailed'](new Error(_0x3dbee1(0x1c6)),_0x3dbee1(0x1cc),!![]),_0x33aa9d[_0x3dbee1(0x1d7)]({'success':!![],'message':_0x3dbee1(0x1d9)+_0x4e0002+'\x20cancelled\x20(was\x20active)'});if(_0x93d142['EMNLL'](_0x4adeea,'waiting')||_0x4adeea==='delayed')return await _0x44682d[_0x3dbee1(0x1cf)](),_0x33aa9d['json']({'success':!![],'message':'Job\x20'+_0x4e0002+_0x3dbee1(0x1a5)+_0x4adeea+')'});return _0x33aa9d['json']({'success':![],'message':_0x3dbee1(0x1d9)+_0x4e0002+'\x20cannot\x20be\x20cancelled\x20(state:\x20'+_0x4adeea+')'});}}_0x33aa9d[_0x3dbee1(0x204)](0x194)['json']({'success':![],'error':_0x3dbee1(0x1d9)+_0x4e0002+_0x3dbee1(0x1ae)});}catch(_0x263115){logger[_0x3dbee1(0x1bd)]({'event':_0x93d142['ilCJa'],'error':_0x263115['message']},_0x3dbee1(0x1b1)),_0x33aa9d['status'](0x1f4)['json']({'success':![],'error':_0x263115[_0x3dbee1(0x1ea)]});}}),_0x4923fd['get'](_0x93d142['laGSs'],async(_0x52efce,_0xac178f)=>{const _0x2587d1=_0x2eec1f;try{const _0x5cba3a=parseInt(_0x52efce['query'][_0x2587d1(0x1fc)],0xa)||0x1,_0x576817=Math[_0x2587d1(0x1cd)](_0x93d142[_0x2587d1(0x1ed)](parseInt,_0x52efce[_0x2587d1(0x1d0)][_0x2587d1(0x1e4)],0xa)||0x14,0x64),_0x5f5116=_0x93d142[_0x2587d1(0x205)](_0x5cba3a,0x1)*_0x576817,_0x161d86=_0x93d142['ljfOR'](_0x5f5116,_0x576817)-0x1,_0x175d63=getReadQueues(),_0x511aab=[];for(const [_0x3dbca5,_0x351c24]of Object[_0x2587d1(0x1c3)](_0x175d63)){const _0x2a6edb=await _0x351c24[_0x2587d1(0x1d8)]([_0x93d142[_0x2587d1(0x1b3)]],_0x5f5116,_0x161d86),_0x2bcc56=await _0x351c24[_0x2587d1(0x1d8)](['failed'],_0x5f5116,_0x161d86);for(const _0x12544d of[..._0x2a6edb,..._0x2bcc56]){const _0x43cb70=await _0x12544d[_0x2587d1(0x1c9)]();_0x511aab['push']({'jobId':_0x12544d['id'],'name':_0x12544d[_0x2587d1(0x1f1)],'state':_0x43cb70,'queue':_0x3dbca5,'attemptsMade':_0x12544d[_0x2587d1(0x1a8)],'failedReason':_0x12544d['failedReason'],'returnvalue':_0x12544d['returnvalue'],'timestamps':{'created':_0x12544d[_0x2587d1(0x1ba)],'started':_0x12544d['processedOn'],'completed':_0x12544d[_0x2587d1(0x1a7)]}});}}_0x511aab['sort']((_0x5ea8ef,_0x1a42a9)=>(_0x1a42a9['timestamps'][_0x2587d1(0x1a6)]||0x0)-(_0x5ea8ef['timestamps']['created']||0x0)),_0xac178f[_0x2587d1(0x1d7)]({'success':!![],'data':_0x511aab['slice'](0x0,_0x576817),'total':_0x511aab[_0x2587d1(0x1cb)],'page':_0x5cba3a,'limit':_0x576817});}catch(_0x4f7581){logger[_0x2587d1(0x1bd)]({'event':_0x93d142['fWNCs'],'error':_0x4f7581['message']},_0x2587d1(0x1d3)),_0xac178f[_0x2587d1(0x204)](0x1f4)[_0x2587d1(0x1d7)]({'success':![],'error':_0x4f7581[_0x2587d1(0x1ea)]});}}),_0x4923fd['get'](_0x93d142[_0x2eec1f(0x1c5)],async(_0x4a0ffe,_0x17d33c)=>{const _0xb31cdd=_0x2eec1f;try{const _0x345d2b=_0x93d142[_0xb31cdd(0x1d6)](getReadQueues),_0x41aa9e={};for(const [_0x16de77,_0x59bf69]of Object[_0xb31cdd(0x1c3)](_0x345d2b)){try{const _0x2c867b=await _0x59bf69[_0xb31cdd(0x1de)](_0x93d142['PbLMv'],'completed',_0x93d142[_0xb31cdd(0x1d4)],_0x93d142['tqgPT'],_0x93d142[_0xb31cdd(0x1be)],'waiting');_0x41aa9e[_0x16de77]=_0x2c867b;}catch(_0x4f0bee){_0x41aa9e[_0x16de77]={'error':_0x4f0bee[_0xb31cdd(0x1ea)]};}}_0x17d33c[_0xb31cdd(0x1d7)]({'success':!![],'data':_0x41aa9e});}catch(_0x16542e){logger['error']({'event':_0x93d142[_0xb31cdd(0x1c7)],'error':_0x16542e['message']},_0x93d142['aoeVC']),_0x17d33c[_0xb31cdd(0x204)](0x1f4)['json']({'success':![],'error':_0x16542e[_0xb31cdd(0x1ea)]});}}),_0x4923fd['get'](_0x93d142['JbppH'],async(_0x3f7331,_0x1c8485)=>{const _0x2eb37d=_0x2eec1f;try{const _0x380472=getReadQueues(),_0x55fea2={};let _0x569283=![];for(const [_0x5e5d62,_0x132d12]of Object[_0x2eb37d(0x1c3)](_0x380472)){try{const _0x237423=await _0x132d12[_0x2eb37d(0x1de)](_0x93d142['PbLMv'],_0x2eb37d(0x1b7),_0x2eb37d(0x1bc));_0x55fea2[_0x5e5d62]=_0x237423,_0x569283=!![];}catch(_0x71d390){_0x55fea2[_0x5e5d62]={'error':_0x71d390[_0x2eb37d(0x1ea)]};}}let _0x1769cb=0x0;cachedJobConfigs&&(_0x1769cb=Object['keys'](cachedJobConfigs)[_0x2eb37d(0x1cb)]),_0x1c8485[_0x2eb37d(0x1d7)]({'success':!![],'data':{'status':_0x569283?'healthy':'degraded','redis':_0x569283?_0x93d142['bCZbn']:_0x93d142[_0x2eb37d(0x1f7)],'registeredJobs':_0x1769cb,'queues':_0x55fea2}});}catch(_0x493897){_0x1c8485['status'](0x1f7)[_0x2eb37d(0x1d7)]({'success':![],'data':{'status':_0x93d142[_0x2eb37d(0x1da)],'error':_0x493897[_0x2eb37d(0x1ea)]}});}}),_0x4923fd;}function a0_0x280d(_0x365c70,_0x54b85b){_0x365c70=_0x365c70-0x1a2;const _0x468e95=a0_0x468e();let _0x280d8a=_0x468e95[_0x365c70];if(a0_0x280d['VxEQkw']===undefined){var _0x42f93f=function(_0x3676d0){const _0x150b7d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x35640e='',_0x155c32='';for(let _0xa466ad=0x0,_0x35cdac,_0x422b68,_0x16f87e=0x0;_0x422b68=_0x3676d0['charAt'](_0x16f87e++);~_0x422b68&&(_0x35cdac=_0xa466ad%0x4?_0x35cdac*0x40+_0x422b68:_0x422b68,_0xa466ad++%0x4)?_0x35640e+=String['fromCharCode'](0xff&_0x35cdac>>(-0x2*_0xa466ad&0x6)):0x0){_0x422b68=_0x150b7d['indexOf'](_0x422b68);}for(let _0x37333f=0x0,_0x595b29=_0x35640e['length'];_0x37333f<_0x595b29;_0x37333f++){_0x155c32+='%'+('00'+_0x35640e['charCodeAt'](_0x37333f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x155c32);};a0_0x280d['soYMrP']=_0x42f93f,a0_0x280d['ZkzslF']={},a0_0x280d['VxEQkw']=!![];}const _0x6b85f=_0x468e95[0x0],_0x398255=_0x365c70+_0x6b85f,_0x390013=a0_0x280d['ZkzslF'][_0x398255];return!_0x390013?(_0x280d8a=a0_0x280d['soYMrP'](_0x280d8a),a0_0x280d['ZkzslF'][_0x398255]=_0x280d8a):_0x280d8a=_0x390013,_0x280d8a;}function a0_0x468e(){const _0x4b23fb=['rxjYB3iGy2fUy2vSBgLUzYbQB2i','CgfYyw1Z','u1rAzxi','AgfUzgXLCG','mtK1nZqWnfPHA1L2yW','l3n0yxr1CY86AM9Iswq','D2fPDgLUzW','zw5KC1DPDgG','AM9Ix3rYAwDNzxjLzf92AwfFyxbP','DgLTzxn0yw1W','AM9Ix2HPC3rVCNLFzxjYB3i','zMfPBgvK','zxjYB3i','sg1WBKC','l2HPC3rVCNK','zgvZy3jPChrPB24','mJmXnMHZwuztwa','D3nXzfq','zw50CMLLCW','iIb0AwrHAYbKAxrLBxvRyw4GzgKGA29UzMLNDxjHC2K','zxrZtvy','sM9IignHBMnLBgXLzcb2AweGqvbj','sxLyB2G','zgLZy29UBMvJDgvK','z2v0u3rHDgu','nti1ndu1vhn5yLH3','BgvUz3rO','yxbPlwnHBMnLBa','BwLU','mtHHA2zzy1e','CMvTB3zL','CxvLCNK','mtC2otmXotbSBvPru00','tfHts2S','rxjYB3iGz2v0DgLUzYbQB2iGAgLZDg9YEq','wxPVz2m','AM9Ix3f1zxvLC19LCNjVCG','CxrSt2G','ANnVBG','z2v0sM9ICW','sM9Iia','Duv5zLq','zgvSyxLLza','C2nOzwr1Bgu','nda1mty4oefrquPxzG','z2v0sM9Iq291BNrZ','DgLTzw91Da','yMfJA29MzG','zw52','CMv0CNK','uM91DgvY','BgLTAxq','uKvesvnFue9sva','nZjJqMjIug0','icHPzdOG','DxrMoa','y29UBMvJDgvK','BwvZC2fNzq','l3rYAwDNzxiVoMPVyK5HBwu','ywn0AxzL','C0XjyxO','z2v0','l2XPC3q','ChjVy2vZC2vKt24','BMfTzq','yM9KEq','zMLSDgvY','zgvMyxvSDa','CMv0DxjUDMfSDwu','DhLWzq','whHKzhm','uKvesvnFueftu1DpuKq','Aw5MBW','CxvLDwu','CMvHzgrPCLn5BMm','CgfNzq','ihrYAwDNzxjLzcbZDwnJzxnZzNvSBhK','z2v0sM9I','CevnBNq','odmWnhHKtuXYyW','CgfYC2u','rxjYB3iGDhjPz2DLCMLUzYbQB2i','mtf2AwPzz0y','C3rHDhvZ','DNnvC0C','zxHWB3j0CW','l2HLywX0Aa','mvrsuujvtW','AM9PBG','Bg9JywXOB3n0','sK9cx1jfreLtx1bsruzjwa','l2nHBMnLBc86AM9Iswq','AM9Ix2XPC3rFzxjYB3i','ihjLBw92zwqGkhDHCYa','y3jLyxrLza','zMLUAxnOzwrpBG','yxr0zw1WDhnnywrL','Cg9ZDa','mtyWnZCZmdbxBNzwtK0','yxbP','AM9ICW','y3DK','ihrPzgfRigrPDgvTDwTHBG','Bg93','mti4odm0mdLYDwDXz3i'];a0_0x468e=function(){return _0x4b23fb;};return a0_0x468e();}module[a0_0x36fca4(0x206)]=createJobRoutes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x12fc66=a0_0xed7c;(function(_0x3f1062,_0x267eba){const _0x263073=a0_0xed7c,_0x7d44fc=_0x3f1062();while(!![]){try{const _0x2a2dca=parseInt(_0x263073(0xb8))/0x1*(-parseInt(_0x263073(0xb1))/0x2)+-parseInt(_0x263073(0xc9))/0x3+parseInt(_0x263073(0xf9))/0x4+parseInt(_0x263073(0xe1))/0x5*(parseInt(_0x263073(0xdf))/0x6)+parseInt(_0x263073(0xd5))/0x7+parseInt(_0x263073(0xf0))/0x8+-parseInt(_0x263073(0xde))/0x9;if(_0x2a2dca===_0x267eba)break;else _0x7d44fc['push'](_0x7d44fc['shift']());}catch(_0x4f60c6){_0x7d44fc['push'](_0x7d44fc['shift']());}}}(a0_0x3107,0xd85ec));function a0_0x3107(){const _0xf56141=['BwfW','mLnVDxjwuW','DMfSAwrHDgvdCM9UrxHWCMvZC2LVBG','DvbpEgi','CxvLDwu','rMLLBgqGiM5HBwuIig11C3qGyMuGAw4GC2X1zYbMB3jTyxqGkgXVD2vYy2fZzsWGzgfZAcK6ici','C3bSAxq','DhLWzq','mJC4ntm5CejfA1n6','Bg93lxbYAw9YAxr5','AxnbCNjHEq','v3jXCMq','igzPzwXKkhmPoIaI','sgfUzgXLCIbMAwXLihrPzgfRigrPDgvTDwTHBJOGC3jJl2PVyNmV','yMfJA29MzG','zxHWB3j0CW','AM9ICW','ELDjseq','txDnAKe','sfDTwLi','CxPQv28','C3jJ','vM9OsMq','AgfUzgXLCG','DMfSAwrHDgvdB25MAwC','ndqYndG1DuL0Exnm','rMLLBgqGiNr5CguIigLZihjLCxvPCMvKicHZDhjPBMCP','rMLLBgqGiMnVBMn1CNjLBMn5iIbTDxn0igjLigeGBNvTyMvYigjLDhDLzw4Gms01ma','DMfSAwrHDgvszxrYEunVBMzPzW','CKHnsLK','q2rkwwi','y29Uy3vYCMvUy3K','BNvTyMvY','AgLNAc1WCMLVCML0Eq','sMDzuu8','BwLUDxrL','DMfSAwrHDgviyw5KBgvYrxHPC3rZ','nJKXnJC0mM5hq1vXuq','rMLLBgqGiNjLDhj5lMjHy2TVzMyIig11C3qGyMuGiG','rMLLBgqGiM1LDgfKyxrHiIbTDxn0igjLigfUig9IAMvJDa','zgf5lw9MlxDLzwS','BgvUz3rO','iIbVCIaI','CMv0CNK','C3rYAw5N','iIb0AwrHAYb2ywXPzc4GugLSAwHHBJOG','mte1odCXnZzUrhfXuKO','oda2nhj3r1jksa','B2jQzwn0','mtC2nxvTCNDzEa','AMfQqMm','BwLU','Aw5PDgLHBerLBgf5','uunzAuC','ChvZAa','C2DKD3a','zxHPC3rZu3LUyW','zw5HyMXLza','DgLTzw91Da','rhnAzLm','rMLLBgqGiNjLDhj5lM1HEef0DgvTChrZiIbTDxn0igjLigeGBNvTyMvYigjLDhDLzw4Gms0Xma','rMLLBgqGiNnJAgvKDwXLiIbPCYbYzxf1AxjLzcaOy3jVBIbLEhbYzxnZAw9Uihn0CMLUzYK','u1PXzK0','rMLLBgqGiNjLDhj5lMLUAxrPywXezwXHEsiGBxvZDcbIzsbHig51BwjLCIa+idaGkgLUig1Zkq','mZi5nJG3mKLAtefdvG','Aw5JBhvKzxm','iJOGDMfSDwuGiG','BxrQu20','Agrowuu','Bwf4','s2DZEwC','yKf0CvC','rMLLBgqGiNrPBwvVDxqIig11C3qGyMuGysbUDw1IzxiGpIaWicHPBIbTCYK','mJKWmdqXmMLVvLrlAq','Bwv0ywrHDge','AM9PBG','sgnxrxG','x2LZvMfSAwrsyw5Nzq','zgf5lw9Mlw1VBNrO','DMfSAwq','Cvb0ANm','zxjYB3jZ','DMfSAwrHDgvrDwv1zu5HBwu','C2nOzwr1Bgu','zML4zwq','Bwf4qxr0zw1WDhm','BMfTzq'];a0_0x3107=function(){return _0xf56141;};return a0_0x3107();}function a0_0xed7c(_0x285d8d,_0x888e04){_0x285d8d=_0x285d8d-0xa3;const _0x3107b6=a0_0x3107();let _0xed7ce5=_0x3107b6[_0x285d8d];if(a0_0xed7c['VpPdzq']===undefined){var _0x3acf47=function(_0x157476){const _0x1b7552='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x33f628='',_0x568e29='';for(let _0x253aad=0x0,_0x12f660,_0x46421f,_0x1bae1b=0x0;_0x46421f=_0x157476['charAt'](_0x1bae1b++);~_0x46421f&&(_0x12f660=_0x253aad%0x4?_0x12f660*0x40+_0x46421f:_0x46421f,_0x253aad++%0x4)?_0x33f628+=String['fromCharCode'](0xff&_0x12f660>>(-0x2*_0x253aad&0x6)):0x0){_0x46421f=_0x1b7552['indexOf'](_0x46421f);}for(let _0x5d58cb=0x0,_0x275751=_0x33f628['length'];_0x5d58cb<_0x275751;_0x5d58cb++){_0x568e29+='%'+('00'+_0x33f628['charCodeAt'](_0x5d58cb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x568e29);};a0_0xed7c['uJqrWQ']=_0x3acf47,a0_0xed7c['yRLZVU']={},a0_0xed7c['VpPdzq']=!![];}const _0x415e2e=_0x3107b6[0x0],_0x285819=_0x285d8d+_0x415e2e,_0x1dd1e2=a0_0xed7c['yRLZVU'][_0x285819];return!_0x1dd1e2?(_0xed7ce5=a0_0xed7c['uJqrWQ'](_0xed7ce5),a0_0xed7c['yRLZVU'][_0x285819]=_0xed7ce5):_0xed7ce5=_0x1dd1e2,_0xed7ce5;}const fs=require('fs'),path=require('path'),VALID_QUEUE_NAMES=[a0_0x12fc66(0xd1),'default',a0_0x12fc66(0xb9)],VALID_BACKOFF_TYPES=[a0_0x12fc66(0xad),'exponential'],SLUG_REGEX=/^[a-z0-9]+(?:-[a-z0-9]+)*$/;class JobValidator{[a0_0x12fc66(0xc8)](_0x53d027,_0x3a09df){const _0x43280d=a0_0x12fc66,_0x5d5ab0={'SZqfM':function(_0x123555,_0x4a6580){return _0x123555!==_0x4a6580;},'IGaiW':'Config\x20harus\x20berupa\x20object','Wrqrd':_0x43280d(0xdc),'rHMJY':'Field\x20\x22name\x22\x20is\x20required\x20(string)','zAPaV':'cron','UHxRw':_0x43280d(0xed),'Kgsyg':'Field\x20\x22handler\x22\x20is\x20required\x20(path\x20relative\x20to\x20src/jobs/)','DsZfS':function(_0x3f6ad8,_0x5ad496){return _0x3f6ad8!==_0x5ad496;},'QCYiG':'Field\x20\x22enabled\x22\x20must\x20be\x20a\x20boolean','VohJd':function(_0x4a36c2,_0x5e3964){return _0x4a36c2<=_0x5e3964;},'CdJYb':function(_0x5d6761,_0x436cd2){return _0x5d6761!==_0x436cd2;},'hdNYE':function(_0x3451bb,_0x3dda2a){return _0x3451bb!==_0x3dda2a;},'mtjSm':_0x43280d(0xd0),'sgdwp':function(_0xcf8630,_0x2e0d40){return _0xcf8630<_0x2e0d40;},'jajBc':_0x43280d(0xcb),'FdbLQ':function(_0x368de9,_0x58e1db){return _0x368de9===_0x58e1db;}},_0x2e7fa4=[];if(!_0x53d027||_0x5d5ab0['SZqfM'](typeof _0x53d027,'object'))return{'valid':![],'errors':[_0x5d5ab0['IGaiW']]};if(!_0x53d027['name']||_0x5d5ab0['SZqfM'](typeof _0x53d027[_0x43280d(0xaf)],_0x5d5ab0['Wrqrd']))_0x2e7fa4['push'](_0x5d5ab0[_0x43280d(0xcd)]);else!SLUG_REGEX['test'](_0x53d027['name'])&&_0x2e7fa4[_0x43280d(0xe6)](_0x43280d(0xb5)+_0x53d027['name']+'\x22');if(!_0x53d027['type']||typeof _0x53d027['type']!==_0x5d5ab0[_0x43280d(0xbb)])_0x2e7fa4['push'](_0x43280d(0xca));else _0x53d027[_0x43280d(0xb7)]!==_0x5d5ab0['zAPaV']&&_0x2e7fa4['push']('Field\x20\x22type\x22\x20must\x20be\x20\x22cron\x22,\x20found:\x20\x22'+_0x53d027[_0x43280d(0xb7)]+'\x22');if(!_0x53d027['schedule']||typeof _0x53d027[_0x43280d(0xac)]!==_0x5d5ab0['Wrqrd'])_0x2e7fa4['push'](_0x5d5ab0['UHxRw']);else{const _0x3817ed=this[_0x43280d(0xb2)](_0x53d027['schedule']);!_0x3817ed['valid']&&_0x2e7fa4['push'](..._0x3817ed[_0x43280d(0xaa)]);}if(!_0x53d027[_0x43280d(0xc7)]||typeof _0x53d027['handler']!=='string')_0x2e7fa4['push'](_0x5d5ab0[_0x43280d(0xf6)]);else{if(_0x3a09df){const _0x151b7f=this[_0x43280d(0xd4)](_0x53d027['handler'],_0x3a09df);!_0x151b7f[_0x43280d(0xa8)]&&_0x2e7fa4['push'](..._0x151b7f['errors']);}}_0x5d5ab0[_0x43280d(0xee)](_0x53d027['enabled'],undefined)&&_0x5d5ab0[_0x43280d(0xeb)](typeof _0x53d027[_0x43280d(0xe9)],'boolean')&&_0x2e7fa4['push'](_0x5d5ab0[_0x43280d(0xe5)]);_0x53d027[_0x43280d(0xea)]!==undefined&&((typeof _0x53d027[_0x43280d(0xea)]!==_0x43280d(0xd0)||_0x5d5ab0[_0x43280d(0xc6)](_0x53d027[_0x43280d(0xea)],0x0))&&_0x2e7fa4['push'](_0x43280d(0xf8)));if(_0x5d5ab0[_0x43280d(0xce)](_0x53d027[_0x43280d(0xb4)],undefined)){const _0xca7fc3=this[_0x43280d(0xab)](_0x53d027[_0x43280d(0xb4)]);!_0xca7fc3[_0x43280d(0xa8)]&&_0x2e7fa4['push'](..._0xca7fc3['errors']);}_0x5d5ab0['hdNYE'](_0x53d027[_0x43280d(0xcf)],undefined)&&((typeof _0x53d027['concurrency']!==_0x5d5ab0[_0x43280d(0xf3)]||_0x5d5ab0[_0x43280d(0xe7)](_0x53d027['concurrency'],0x1)||_0x53d027[_0x43280d(0xcf)]>0x32)&&_0x2e7fa4[_0x43280d(0xe6)](_0x5d5ab0[_0x43280d(0xe2)]));if(_0x53d027['retry']!==undefined){if(_0x5d5ab0[_0x43280d(0xf4)](typeof _0x53d027[_0x43280d(0xdb)],'object')||_0x5d5ab0['FdbLQ'](_0x53d027['retry'],null))_0x2e7fa4[_0x43280d(0xe6)]('Field\x20\x22retry\x22\x20must\x20be\x20an\x20object');else{const _0x3d5fdf=this[_0x43280d(0xcc)](_0x53d027[_0x43280d(0xdb)]);!_0x3d5fdf[_0x43280d(0xa8)]&&_0x2e7fa4['push'](..._0x3d5fdf[_0x43280d(0xaa)]);}}return _0x53d027['metadata']!==undefined&&((_0x5d5ab0['SZqfM'](typeof _0x53d027['metadata'],_0x43280d(0xe0))||_0x5d5ab0['FdbLQ'](_0x53d027[_0x43280d(0xa3)],null)||Array[_0x43280d(0xba)](_0x53d027[_0x43280d(0xa3)]))&&_0x2e7fa4['push'](_0x43280d(0xd7))),{'valid':_0x2e7fa4['length']===0x0,'errors':_0x2e7fa4};}['validateCronExpression'](_0xe687a8){const _0x3f242c=a0_0x12fc66,_0x430a6e={'mzlSF':function(_0x46072e,_0x5ef6a8){return _0x46072e!==_0x5ef6a8;},'bAtqW':'hour','HWmZR':'month','diahy':function(_0x40a130,_0x26019f){return _0x40a130===_0x26019f;}},_0xe64cc2=[],_0x1cd8ef=_0xe687a8['trim']()['split'](/\s+/);if(_0x430a6e['mzlSF'](_0x1cd8ef['length'],0x5))return _0xe64cc2[_0x3f242c(0xe6)]('Cron\x20expression\x20must\x20have\x205\x20fields\x20(minute\x20hour\x20day\x20month\x20weekday),\x20found\x20'+_0x1cd8ef['length']+_0x3f242c(0xbc)+_0xe687a8+'\x22'),{'valid':![],'errors':_0xe64cc2};const _0x22f731=[_0x3f242c(0xd3),_0x430a6e[_0x3f242c(0xf7)],_0x3f242c(0xa7),_0x430a6e[_0x3f242c(0xc3)],_0x3f242c(0xd8)],_0x5945a0=[{'min':0x0,'max':0x3b},{'min':0x0,'max':0x17},{'min':0x1,'max':0x1f},{'min':0x1,'max':0xc},{'min':0x0,'max':0x7}],_0x52a7b4=/^(\*|[0-9]+(-[0-9]+)?)([,/](\*|[0-9]+(-[0-9]+)?))*$/;for(let _0x209e2d=0x0;_0x209e2d<0x5;_0x209e2d++){const _0x15daa1=_0x1cd8ef[_0x209e2d];if(_0x430a6e['diahy'](_0x15daa1,'*'))continue;if(_0x15daa1['includes']('/')){const [_0x5361b2,_0x5b20fa]=_0x15daa1[_0x3f242c(0xb6)]('/');_0x5361b2!=='*'&&!this[_0x3f242c(0xa6)](_0x5361b2,_0x5945a0[_0x209e2d])&&_0xe64cc2[_0x3f242c(0xe6)]('Cron\x20field\x20\x22'+_0x22f731[_0x209e2d]+'\x22:\x20invalid\x20base\x20\x22'+_0x5361b2+'\x22');const _0x538082=parseInt(_0x5b20fa,0xa);(isNaN(_0x538082)||_0x538082<0x1)&&_0xe64cc2['push']('Cron\x20field\x20\x22'+_0x22f731[_0x209e2d]+'\x22:\x20step\x20\x22/'+_0x5b20fa+'\x22\x20must\x20be\x20a\x20number\x20>\x200');continue;}const _0x2d34b2=_0x15daa1['split'](',');for(const _0x5e7770 of _0x2d34b2){!this['_isValidRange'](_0x5e7770,_0x5945a0[_0x209e2d])&&_0xe64cc2['push']('Cron\x20field\x20\x22'+_0x22f731[_0x209e2d]+_0x3f242c(0xf2)+_0x5e7770+'\x22\x20is\x20out\x20of\x20range\x20'+_0x5945a0[_0x209e2d][_0x3f242c(0xe3)]+'-'+_0x5945a0[_0x209e2d]['max']);}}return{'valid':_0xe64cc2[_0x3f242c(0xd9)]===0x0,'errors':_0xe64cc2};}[a0_0x12fc66(0xa6)](_0x4dacfe,_0x4bebd8){const _0xdb7fdc=a0_0x12fc66,_0x29aab0={'zWIHD':function(_0x376399,_0x41042f){return _0x376399(_0x41042f);},'HcWEx':function(_0xa36f0c,_0x4f1a3f){return _0xa36f0c>=_0x4f1a3f;},'TWUTz':function(_0x457b9b,_0x42ce97){return _0x457b9b<=_0x42ce97;},'rdfDF':function(_0x3d78d3,_0x5003f8,_0x102b5a){return _0x3d78d3(_0x5003f8,_0x102b5a);}};if(_0x4dacfe[_0xdb7fdc(0xf1)]('-')){const [_0x3627d9,_0x3c2ad4]=_0x4dacfe[_0xdb7fdc(0xb6)]('-')[_0xdb7fdc(0xb0)](Number);return!_0x29aab0[_0xdb7fdc(0xc1)](isNaN,_0x3627d9)&&!isNaN(_0x3c2ad4)&&_0x29aab0[_0xdb7fdc(0xa5)](_0x3627d9,_0x4bebd8[_0xdb7fdc(0xe3)])&&_0x3627d9<=_0x4bebd8[_0xdb7fdc(0xf5)]&&_0x29aab0[_0xdb7fdc(0xa5)](_0x3c2ad4,_0x4bebd8[_0xdb7fdc(0xe3)])&&_0x29aab0['TWUTz'](_0x3c2ad4,_0x4bebd8['max'])&&_0x3627d9<=_0x3c2ad4;}const _0x47354d=_0x29aab0['rdfDF'](parseInt,_0x4dacfe,0xa);return!isNaN(_0x47354d)&&_0x47354d>=_0x4bebd8['min']&&_0x29aab0['TWUTz'](_0x47354d,_0x4bebd8[_0xdb7fdc(0xf5)]);}[a0_0x12fc66(0xab)](_0x232847){const _0x56e29b=a0_0x12fc66;if(!VALID_QUEUE_NAMES[_0x56e29b(0xf1)](_0x232847))return{'valid':![],'errors':['Queue\x20\x22'+_0x232847+_0x56e29b(0xdd)+VALID_QUEUE_NAMES[_0x56e29b(0xa4)](',\x20')]};return{'valid':!![],'errors':[]};}['validateRetryConfig'](_0x25bf83){const _0x4ed342=a0_0x12fc66,_0x56e722={'qzjWo':function(_0x48c2fe,_0x163497){return _0x48c2fe!==_0x163497;},'ZnYQU':_0x4ed342(0xd0),'JgYQO':function(_0x342f6a,_0x1c60a0){return _0x342f6a>_0x1c60a0;},'qPtjs':_0x4ed342(0xda),'uPOxb':function(_0x369194,_0x3959fa){return _0x369194!==_0x3959fa;},'MwMjA':function(_0x5e6fe1,_0xb01dd2){return _0x5e6fe1===_0xb01dd2;}},_0x139cd5=[];return _0x56e722[_0x4ed342(0xc4)](_0x25bf83[_0x4ed342(0xae)],undefined)&&((typeof _0x25bf83['maxAttempts']!==_0x56e722['ZnYQU']||_0x25bf83[_0x4ed342(0xae)]<0x1||_0x56e722[_0x4ed342(0xd2)](_0x25bf83[_0x4ed342(0xae)],0xa))&&_0x139cd5['push'](_0x4ed342(0xec))),_0x25bf83['backoff']!==undefined&&(!VALID_BACKOFF_TYPES['includes'](_0x25bf83[_0x4ed342(0xbe)])&&_0x139cd5['push'](_0x4ed342(0xd6)+VALID_BACKOFF_TYPES[_0x4ed342(0xa4)](_0x56e722[_0x4ed342(0xa9)])+'\x22')),_0x25bf83['initialDelay']!==undefined&&((_0x56e722[_0x4ed342(0xb3)](typeof _0x25bf83[_0x4ed342(0xe4)],_0x56e722['ZnYQU'])||_0x25bf83['initialDelay']<=0x0)&&_0x139cd5[_0x4ed342(0xe6)](_0x4ed342(0xef))),{'valid':_0x56e722[_0x4ed342(0xc2)](_0x139cd5[_0x4ed342(0xd9)],0x0),'errors':_0x139cd5};}[a0_0x12fc66(0xd4)](_0x4ef18b,_0x30e03c){const _0x55989d=a0_0x12fc66,_0x1bd53e=path['join'](_0x30e03c,_0x55989d(0xc5),_0x55989d(0xc0),_0x4ef18b+'.js');if(!fs[_0x55989d(0xe8)](_0x1bd53e))return{'valid':![],'errors':[_0x55989d(0xbd)+_0x4ef18b+'.js\x20(absolute:\x20'+_0x1bd53e+')']};return{'valid':!![],'errors':[]};}}module[a0_0x12fc66(0xbf)]=new JobValidator();
|
|
1
|
+
const a0_0x16d82e=a0_0x847c;function a0_0x2485(){const _0x22f2c8=['nde5mZiYzLnfBgzc','s0fprwi','DhjPBq','zxjYB3jZ','DhLWzq','yMfJA29MzG','Bwv0ywrHDge','vuvsyNi','iIbPCYbVDxqGB2yGCMfUz2uG','Bg93lxbYAw9YAxr5','ndy0ntDjsKXxwxm','zxHWB3j0CW','iIb0AwrHAYb2ywXPzc4GugLSAwHHBJOG','vxvlzvq','C3rYAw5N','zxHWB25LBNrPywW','iJOGAw52ywXPzcbIyxnLici','DMfSAwrHDgvszxrYEunVBMzPzW','ChvZAa','vNn5Eu4','rerZqLy','wKzWDhe','C3bSAxq','DMfSAwrHDgvrDwv1zu5HBwu','iIbTDxn0igjLigeGBNvTyMvYid4Gma','BNvTyMvY','nZjbCxDLz3m','rMLLBgqGiNjLDhj5lMjHy2TVzMyIig11C3qGyMuGiG','CMv0CNK','r3LqA24','DfHZtg4','q3jVBIbMAwvSzcaI','vhvuywe','rMLLBgqGiNjLDhj5iIbTDxn0igjLigfUig9IAMvJDa','DMfSAwq','rMLLBgqGiM1LDgfKyxrHiIbTDxn0igjLigfUig9IAMvJDa','BMfTzq','sfz3AhO','C2nOzwr1Bgu','v3PHyuq','wezMrLC','AgLNAc1WCMLVCML0Eq','yuTkExC','DMfSAwrHDgviyw5KBgvYrxHPC3rZ','mtfYyunjA1i','ve14B28','BwLUDxrL','mZa0ndC5C25nwgju','rMLLBgqGiMvUywjSzwqIig11C3qGyMuGysbIB29SzwfU','zgf5lw9MlxDLzwS','y3jVBG','tvjWEhm','iJOGDMfSDwuGiG','rMLLBgqGiNjLDhj5lM1HEef0DgvTChrZiIbTDxn0igjLigeGBNvTyMvYigjLDhDLzw4Gms0Xma','x2LZvMfSAwrsyw5Nzq','iJOGC3rLCcaIlW','zxHVtxa','y29Uy3vYCMvUy3K','rMLLBgqGiMnVBMn1CNjLBMn5iIbTDxn0igjLigeGBNvTyMvYigjLDhDLzw4Gms01ma','C3jJ','rMLLBgqGiNnJAgvKDwXLiIbPCYbYzxf1AxjLzcaOy3jVBIbLEhbYzxnZAw9Uihn0CMLUzYK','otm3mJi1mefqCvvLsq','igzPzwXKkhmPoIaI','nde4ntberxDjAMS','z1vLq3y','mJrktwTJCgu','AM9PBG','zMLqrwK','zML4zwq','Bwf4qxr0zw1WDhm','BgvUz3rO','CxvLDwu','mtKWnJuWmer4rgLzra','zw5HyMXLza','r21RBhO','Bwf4','mJG1ndCXoufzD3DKqG','nLPmy0HtyW','ALrSwhq','Aw5JBhvKzxm','Cgf0Aa','rMLLBgqGiM5HBwuIig11C3qGyMuGAw4GC2X1zYbMB3jTyxqGkgXVD2vYy2fZzsWGzgfZAcK6ici','rMLLBgqGiNr5CguIig11C3qGyMuGiMnYB24IlcbMB3vUzdOGiG','B2jQzwn0','rMLLBgqGiNjLDhj5lMLUAxrPywXezwXHEsiGBxvZDcbIzsbHig51BwjLCIa+idaGkgLUig1Zkq','BwLU'];a0_0x2485=function(){return _0x22f2c8;};return a0_0x2485();}(function(_0x1b2cf9,_0x1d3ff8){const _0x2d1e58=a0_0x847c,_0x354e9d=_0x1b2cf9();while(!![]){try{const _0x24cf47=parseInt(_0x2d1e58(0xd0))/0x1+-parseInt(_0x2d1e58(0xc6))/0x2+parseInt(_0x2d1e58(0xaf))/0x3*(-parseInt(_0x2d1e58(0xb1))/0x4)+-parseInt(_0x2d1e58(0xb8))/0x5+parseInt(_0x2d1e58(0xbd))/0x6*(-parseInt(_0x2d1e58(0xbc))/0x7)+parseInt(_0x2d1e58(0xe0))/0x8*(parseInt(_0x2d1e58(0x9f))/0x9)+parseInt(_0x2d1e58(0xad))/0xa*(parseInt(_0x2d1e58(0x9c))/0xb);if(_0x24cf47===_0x1d3ff8)break;else _0x354e9d['push'](_0x354e9d['shift']());}catch(_0x5b72e8){_0x354e9d['push'](_0x354e9d['shift']());}}}(a0_0x2485,0x32373));const fs=require('fs'),path=require(a0_0x16d82e(0xc0)),VALID_QUEUE_NAMES=[a0_0x16d82e(0x99),'default',a0_0x16d82e(0xcf)],VALID_BACKOFF_TYPES=[a0_0x16d82e(0xb4),a0_0x16d82e(0xd5)],SLUG_REGEX=/^[a-z0-9]+(?:-[a-z0-9]+)*$/;function a0_0x847c(_0xa1bb18,_0x30c3b2){_0xa1bb18=_0xa1bb18-0x95;const _0x248592=a0_0x2485();let _0x847c67=_0x248592[_0xa1bb18];if(a0_0x847c['yXUAKf']===undefined){var _0x320b90=function(_0x44fe69){const _0x2cff58='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x27406c='',_0x49a40a='';for(let _0x40340e=0x0,_0x3ea682,_0x177c73,_0x4826ba=0x0;_0x177c73=_0x44fe69['charAt'](_0x4826ba++);~_0x177c73&&(_0x3ea682=_0x40340e%0x4?_0x3ea682*0x40+_0x177c73:_0x177c73,_0x40340e++%0x4)?_0x27406c+=String['fromCharCode'](0xff&_0x3ea682>>(-0x2*_0x40340e&0x6)):0x0){_0x177c73=_0x2cff58['indexOf'](_0x177c73);}for(let _0x9f5aa1=0x0,_0x1e6032=_0x27406c['length'];_0x9f5aa1<_0x1e6032;_0x9f5aa1++){_0x49a40a+='%'+('00'+_0x27406c['charCodeAt'](_0x9f5aa1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x49a40a);};a0_0x847c['QrUuzH']=_0x320b90,a0_0x847c['qHhYBI']={},a0_0x847c['yXUAKf']=!![];}const _0x40b676=_0x248592[0x0],_0x323ecb=_0xa1bb18+_0x40b676,_0x4610c8=a0_0x847c['qHhYBI'][_0x323ecb];return!_0x4610c8?(_0x847c67=a0_0x847c['QrUuzH'](_0x847c67),a0_0x847c['qHhYBI'][_0x323ecb]=_0x847c67):_0x847c67=_0x4610c8,_0x847c67;}class JobValidator{['validateConfig'](_0x3b2d92,_0x2fbf5f){const _0x15335c=a0_0x16d82e,_0x5895a9={'BNxjx':function(_0xaa5b38,_0x4c8277){return _0xaa5b38!==_0x4c8277;},'GyPkn':'object','XFfFW':'Field\x20\x22name\x22\x20is\x20required\x20(string)','UERbr':function(_0x460dbc,_0x26330c){return _0x460dbc!==_0x26330c;},'wRrsg':_0x15335c(0xd4),'ZAzbt':'Field\x20\x22type\x22\x20is\x20required\x20(string)','UuKeT':function(_0x568cb6,_0x33beb0){return _0x568cb6!==_0x33beb0;},'UTKmB':_0x15335c(0xa0),'bmIUZ':function(_0x5912b3,_0x1368f2){return _0x5912b3!==_0x1368f2;},'NeYWY':function(_0x10c5a6,_0x2964ce){return _0x10c5a6<=_0x2964ce;},'QGWCf':function(_0x3b8a9b,_0xe97305){return _0x3b8a9b!==_0xe97305;},'tXsLn':function(_0x17a933,_0x44eafb){return _0x17a933===_0x44eafb;},'MRpxs':function(_0x62c96b,_0x1ff0de){return _0x62c96b!==_0x1ff0de;},'Jtpjj':function(_0x4c7ac8,_0x46c1f5){return _0x4c7ac8===_0x46c1f5;},'MfuGe':_0x15335c(0xe9)},_0x4a7399=[];if(!_0x3b2d92||_0x5895a9['BNxjx'](typeof _0x3b2d92,_0x5895a9[_0x15335c(0xe3)]))return{'valid':![],'errors':['Config\x20harus\x20berupa\x20object']};if(!_0x3b2d92['name']||typeof _0x3b2d92[_0x15335c(0xea)]!==_0x15335c(0xd4))_0x4a7399['push'](_0x5895a9[_0x15335c(0x98)]);else!SLUG_REGEX['test'](_0x3b2d92[_0x15335c(0xea)])&&_0x4a7399[_0x15335c(0xd8)](_0x15335c(0xc1)+_0x3b2d92[_0x15335c(0xea)]+'\x22');if(!_0x3b2d92['type']||_0x5895a9[_0x15335c(0xcd)](typeof _0x3b2d92[_0x15335c(0xca)],_0x5895a9['wRrsg']))_0x4a7399[_0x15335c(0xd8)](_0x5895a9['ZAzbt']);else _0x3b2d92['type']!==_0x15335c(0xa2)&&_0x4a7399[_0x15335c(0xd8)](_0x15335c(0xc2)+_0x3b2d92['type']+'\x22');if(!_0x3b2d92[_0x15335c(0x96)]||_0x5895a9[_0x15335c(0xd3)](typeof _0x3b2d92[_0x15335c(0x96)],'string'))_0x4a7399['push'](_0x15335c(0xac));else{const _0x48aad8=this['validateCronExpression'](_0x3b2d92['schedule']);!_0x48aad8['valid']&&_0x4a7399['push'](..._0x48aad8['errors']);}if(!_0x3b2d92['handler']||_0x5895a9['BNxjx'](typeof _0x3b2d92['handler'],'string'))_0x4a7399[_0x15335c(0xd8)]('Field\x20\x22handler\x22\x20is\x20required\x20(path\x20relative\x20to\x20src/jobs/)');else{if(_0x2fbf5f){const _0x1ebd3c=this[_0x15335c(0x9b)](_0x3b2d92['handler'],_0x2fbf5f);!_0x1ebd3c['valid']&&_0x4a7399[_0x15335c(0xd8)](..._0x1ebd3c[_0x15335c(0xc9)]);}}_0x5895a9['UuKeT'](_0x3b2d92['enabled'],undefined)&&typeof _0x3b2d92[_0x15335c(0xb9)]!=='boolean'&&_0x4a7399['push'](_0x5895a9['UTKmB']);_0x5895a9['bmIUZ'](_0x3b2d92['timeout'],undefined)&&((typeof _0x3b2d92['timeout']!=='number'||_0x5895a9['NeYWY'](_0x3b2d92['timeout'],0x0))&&_0x4a7399['push']('Field\x20\x22timeout\x22\x20must\x20be\x20a\x20number\x20>\x200\x20(in\x20ms)'));if(_0x3b2d92[_0x15335c(0xb7)]!==undefined){const _0x746d00=this['validateQueueName'](_0x3b2d92['queue']);!_0x746d00[_0x15335c(0xe8)]&&_0x4a7399[_0x15335c(0xd8)](..._0x746d00[_0x15335c(0xc9)]);}_0x3b2d92['concurrency']!==undefined&&((_0x5895a9['QGWCf'](typeof _0x3b2d92['concurrency'],'number')||_0x3b2d92[_0x15335c(0xa9)]<0x1||_0x3b2d92[_0x15335c(0xa9)]>0x32)&&_0x4a7399[_0x15335c(0xd8)](_0x15335c(0xaa)));if(_0x3b2d92['retry']!==undefined){if(typeof _0x3b2d92['retry']!==_0x15335c(0xc3)||_0x5895a9[_0x15335c(0xe4)](_0x3b2d92['retry'],null))_0x4a7399[_0x15335c(0xd8)](_0x15335c(0xe7));else{const _0x32ef03=this[_0x15335c(0xd7)](_0x3b2d92[_0x15335c(0xe2)]);!_0x32ef03[_0x15335c(0xe8)]&&_0x4a7399[_0x15335c(0xd8)](..._0x32ef03['errors']);}}return _0x5895a9[_0x15335c(0xa3)](_0x3b2d92['metadata'],undefined)&&((typeof _0x3b2d92[_0x15335c(0xcc)]!==_0x5895a9[_0x15335c(0xe3)]||_0x5895a9['Jtpjj'](_0x3b2d92[_0x15335c(0xcc)],null)||Array['isArray'](_0x3b2d92[_0x15335c(0xcc)]))&&_0x4a7399['push'](_0x5895a9['MfuGe'])),{'valid':_0x5895a9['Jtpjj'](_0x4a7399['length'],0x0),'errors':_0x4a7399};}['validateCronExpression'](_0x50d138){const _0x1ba9f4=a0_0x16d82e,_0x1e4383={'WzaaD':function(_0x1c2d72,_0x553eb7){return _0x1c2d72!==_0x553eb7;},'exoMp':'day-of-month','LzOjY':'month','TJxpU':function(_0x44bbf9,_0x461b3d){return _0x44bbf9<_0x461b3d;},'TuTaa':function(_0x4a560f,_0x184d2e){return _0x4a560f===_0x184d2e;},'fbbQC':function(_0x5c04d9,_0xce47fa,_0x29a421){return _0x5c04d9(_0xce47fa,_0x29a421);},'HVwhz':function(_0x20eda7,_0xeb4aa7){return _0x20eda7(_0xeb4aa7);},'fiPEi':function(_0x2bb321,_0x2b859f){return _0x2bb321<_0x2b859f;}},_0x21f298=[],_0x5a2458=_0x50d138[_0x1ba9f4(0xc8)]()[_0x1ba9f4(0xdc)](/\s+/);if(_0x1e4383[_0x1ba9f4(0x97)](_0x5a2458[_0x1ba9f4(0xb6)],0x5))return _0x21f298[_0x1ba9f4(0xd8)]('Cron\x20expression\x20must\x20have\x205\x20fields\x20(minute\x20hour\x20day\x20month\x20weekday),\x20found\x20'+_0x5a2458[_0x1ba9f4(0xb6)]+_0x1ba9f4(0xae)+_0x50d138+'\x22'),{'valid':![],'errors':_0x21f298};const _0x5346e7=[_0x1ba9f4(0x9e),'hour',_0x1e4383[_0x1ba9f4(0xa8)],_0x1e4383['LzOjY'],_0x1ba9f4(0xa1)],_0x1a6740=[{'min':0x0,'max':0x3b},{'min':0x0,'max':0x17},{'min':0x1,'max':0x1f},{'min':0x1,'max':0xc},{'min':0x0,'max':0x7}],_0x36a256=/^(\*|[0-9]+(-[0-9]+)?)([,/](\*|[0-9]+(-[0-9]+)?))*$/;for(let _0x447b9a=0x0;_0x1e4383['TJxpU'](_0x447b9a,0x5);_0x447b9a++){const _0x58c5cb=_0x5a2458[_0x447b9a];if(_0x1e4383[_0x1ba9f4(0xe6)](_0x58c5cb,'*'))continue;if(_0x58c5cb['includes']('/')){const [_0x42e814,_0x20340e]=_0x58c5cb[_0x1ba9f4(0xdc)]('/');_0x1e4383['WzaaD'](_0x42e814,'*')&&!this[_0x1ba9f4(0xa6)](_0x42e814,_0x1a6740[_0x447b9a])&&_0x21f298[_0x1ba9f4(0xd8)]('Cron\x20field\x20\x22'+_0x5346e7[_0x447b9a]+_0x1ba9f4(0xd6)+_0x42e814+'\x22');const _0x37bb36=_0x1e4383['fbbQC'](parseInt,_0x20340e,0xa);(_0x1e4383[_0x1ba9f4(0x95)](isNaN,_0x37bb36)||_0x1e4383[_0x1ba9f4(0xb3)](_0x37bb36,0x1))&&_0x21f298[_0x1ba9f4(0xd8)](_0x1ba9f4(0xe5)+_0x5346e7[_0x447b9a]+_0x1ba9f4(0xa7)+_0x20340e+_0x1ba9f4(0xde));continue;}const _0x62ac42=_0x58c5cb['split'](',');for(const _0xfe3445 of _0x62ac42){!this['_isValidRange'](_0xfe3445,_0x1a6740[_0x447b9a])&&_0x21f298[_0x1ba9f4(0xd8)](_0x1ba9f4(0xe5)+_0x5346e7[_0x447b9a]+_0x1ba9f4(0xa4)+_0xfe3445+_0x1ba9f4(0xce)+_0x1a6740[_0x447b9a][_0x1ba9f4(0xc5)]+'-'+_0x1a6740[_0x447b9a][_0x1ba9f4(0xbb)]);}}return{'valid':_0x1e4383[_0x1ba9f4(0xe6)](_0x21f298['length'],0x0),'errors':_0x21f298};}[a0_0x16d82e(0xa6)](_0x20d6b1,_0x42c3f7){const _0x178988=a0_0x16d82e,_0x4d1e97={'jTlXt':function(_0x3585a4,_0xee7356){return _0x3585a4(_0xee7356);},'TMxoo':function(_0xdbeeb4,_0x5f1100){return _0xdbeeb4>=_0x5f1100;},'gUeCv':function(_0xc7e064,_0xc6bca9){return _0xc7e064<=_0xc6bca9;},'KAOEb':function(_0xb224e2,_0x339484){return _0xb224e2<=_0x339484;},'aRJQf':function(_0x5aa83a,_0x8beb64){return _0x5aa83a<=_0x8beb64;}};if(_0x20d6b1[_0x178988(0xbf)]('-')){const [_0x16fa04,_0x4177a7]=_0x20d6b1['split']('-')['map'](Number);return!isNaN(_0x16fa04)&&!_0x4d1e97[_0x178988(0xbe)](isNaN,_0x4177a7)&&_0x4d1e97[_0x178988(0x9d)](_0x16fa04,_0x42c3f7[_0x178988(0xc5)])&&_0x4d1e97[_0x178988(0xb0)](_0x16fa04,_0x42c3f7['max'])&&_0x4177a7>=_0x42c3f7['min']&&_0x4d1e97[_0x178988(0xc7)](_0x4177a7,_0x42c3f7[_0x178988(0xbb)])&&_0x4d1e97['aRJQf'](_0x16fa04,_0x4177a7);}const _0x407864=parseInt(_0x20d6b1,0xa);return!_0x4d1e97[_0x178988(0xbe)](isNaN,_0x407864)&&_0x407864>=_0x42c3f7[_0x178988(0xc5)]&&_0x407864<=_0x42c3f7['max'];}[a0_0x16d82e(0xdd)](_0x3fd89d){const _0x37f4ae=a0_0x16d82e;if(!VALID_QUEUE_NAMES['includes'](_0x3fd89d))return{'valid':![],'errors':['Queue\x20\x22'+_0x3fd89d+_0x37f4ae(0xd2)+VALID_QUEUE_NAMES[_0x37f4ae(0xb2)](',\x20')]};return{'valid':!![],'errors':[]};}['validateRetryConfig'](_0x30d796){const _0x40d276=a0_0x16d82e,_0x5f0cc9={'VsyyN':function(_0x29dfcc,_0x39dad6){return _0x29dfcc!==_0x39dad6;},'tbScn':function(_0x2c9bd9,_0x5c48d6){return _0x2c9bd9>_0x5c48d6;},'aKJyw':_0x40d276(0xa5),'LoGAZ':'\x22\x20or\x20\x22','DDsBV':_0x40d276(0xdf),'mHkrp':function(_0x3a16cd,_0x1e3ed0){return _0x3a16cd<=_0x1e3ed0;},'ZFptq':_0x40d276(0xc4),'Gmklz':function(_0x34f33c,_0xcba9f){return _0x34f33c===_0xcba9f;}},_0x2a6533=[];return _0x5f0cc9['VsyyN'](_0x30d796['maxAttempts'],undefined)&&((_0x5f0cc9[_0x40d276(0xd9)](typeof _0x30d796['maxAttempts'],'number')||_0x30d796['maxAttempts']<0x1||_0x5f0cc9['tbScn'](_0x30d796[_0x40d276(0xb5)],0xa))&&_0x2a6533[_0x40d276(0xd8)](_0x5f0cc9[_0x40d276(0x9a)])),_0x30d796['backoff']!==undefined&&(!VALID_BACKOFF_TYPES['includes'](_0x30d796[_0x40d276(0xcb)])&&_0x2a6533['push'](_0x40d276(0xe1)+VALID_BACKOFF_TYPES['join'](_0x5f0cc9['LoGAZ'])+'\x22')),_0x30d796['initialDelay']!==undefined&&((_0x5f0cc9['VsyyN'](typeof _0x30d796['initialDelay'],_0x5f0cc9[_0x40d276(0xda)])||_0x5f0cc9['mHkrp'](_0x30d796['initialDelay'],0x0))&&_0x2a6533['push'](_0x5f0cc9[_0x40d276(0xdb)])),{'valid':_0x5f0cc9[_0x40d276(0xba)](_0x2a6533['length'],0x0),'errors':_0x2a6533};}['validateHandlerExists'](_0x520148,_0x38f7ff){const _0xfeea8f=a0_0x16d82e,_0x5de2fb=path[_0xfeea8f(0xb2)](_0x38f7ff,_0xfeea8f(0xab),'jobs',_0x520148+'.js');if(!fs['existsSync'](_0x5de2fb))return{'valid':![],'errors':['Handler\x20file\x20tidak\x20ditemukan:\x20src/jobs/'+_0x520148+'.js\x20(absolute:\x20'+_0x5de2fb+')']};return{'valid':!![],'errors':[]};}}module[a0_0x16d82e(0xd1)]=new JobValidator();
|