@restforgejs/platform 5.2.12 → 5.2.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/drift-check-linux +0 -0
- package/bin/sdf-tools-linux +0 -0
- package/bin/sdf-tools.exe +0 -0
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/fast-track.js +8 -9
- package/generators/cli/project/auth.js +209 -0
- package/generators/lib/auth/component-generator.js +58 -0
- package/generators/lib/auth/dependency-checker.js +102 -0
- package/generators/lib/auth/env-injector.js +81 -0
- package/generators/lib/auth/migrate-runner.js +111 -0
- package/generators/lib/auth/prefix.js +22 -0
- package/generators/lib/auth/processor-generator.js +55 -0
- package/generators/lib/auth/sdf-generator.js +102 -0
- package/generators/lib/auth/template-renderer.js +29 -0
- package/generators/lib/auth/templates/processor/login.js.tmpl +152 -0
- package/generators/lib/auth/templates/processor/logout.js.tmpl +58 -0
- package/generators/lib/auth/templates/processor/me.js.tmpl +64 -0
- package/generators/lib/auth/templates/processor/refresh.js.tmpl +134 -0
- package/generators/lib/auth/templates/processor/register.js.tmpl +77 -0
- package/generators/lib/auth/templates/processor/reset-password.js.tmpl +106 -0
- package/generators/lib/auth/templates/rfx_auth-middleware.js.tmpl +79 -0
- package/generators/lib/auth/templates/rfx_auth.js.tmpl +104 -0
- package/generators/lib/dbschema-kit/schema-printer.js +10 -1
- 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_0xc83558=a0_0xbd2f;function a0_0xbd2f(_0x1b7074,_0x54d7eb){_0x1b7074=_0x1b7074-0x8b;const _0x1bfa6b=a0_0x1bfa();let _0xbd2f63=_0x1bfa6b[_0x1b7074];if(a0_0xbd2f['aiqUHR']===undefined){var _0x1d3718=function(_0x41057b){const _0x4c2392='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x791b70='',_0x246cb7='';for(let _0x4ccb6c=0x0,_0x188df0,_0x5a4c33,_0x1884d4=0x0;_0x5a4c33=_0x41057b['charAt'](_0x1884d4++);~_0x5a4c33&&(_0x188df0=_0x4ccb6c%0x4?_0x188df0*0x40+_0x5a4c33:_0x5a4c33,_0x4ccb6c++%0x4)?_0x791b70+=String['fromCharCode'](0xff&_0x188df0>>(-0x2*_0x4ccb6c&0x6)):0x0){_0x5a4c33=_0x4c2392['indexOf'](_0x5a4c33);}for(let _0x7cd597=0x0,_0x36f1da=_0x791b70['length'];_0x7cd597<_0x36f1da;_0x7cd597++){_0x246cb7+='%'+('00'+_0x791b70['charCodeAt'](_0x7cd597)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x246cb7);};a0_0xbd2f['hsJxvK']=_0x1d3718,a0_0xbd2f['JmYGNo']={},a0_0xbd2f['aiqUHR']=!![];}const _0x4ff98b=_0x1bfa6b[0x0],_0x3dda68=_0x1b7074+_0x4ff98b,_0x223e00=a0_0xbd2f['JmYGNo'][_0x3dda68];return!_0x223e00?(_0xbd2f63=a0_0xbd2f['hsJxvK'](_0xbd2f63),a0_0xbd2f['JmYGNo'][_0x3dda68]=_0xbd2f63):_0xbd2f63=_0x223e00,_0xbd2f63;}(function(_0x424f1c,_0x38864c){const _0x42d171=a0_0xbd2f,_0x2b8879=_0x424f1c();while(!![]){try{const _0x29f9c1=parseInt(_0x42d171(0xc0))/0x1*(parseInt(_0x42d171(0xdb))/0x2)+-parseInt(_0x42d171(0xa3))/0x3+parseInt(_0x42d171(0xcc))/0x4+parseInt(_0x42d171(0xb3))/0x5+parseInt(_0x42d171(0x9c))/0x6+-parseInt(_0x42d171(0xcf))/0x7*(-parseInt(_0x42d171(0x8d))/0x8)+-parseInt(_0x42d171(0x9a))/0x9*(parseInt(_0x42d171(0xd2))/0xa);if(_0x29f9c1===_0x38864c)break;else _0x2b8879['push'](_0x2b8879['shift']());}catch(_0x1d2a75){_0x2b8879['push'](_0x2b8879['shift']());}}}(a0_0x1bfa,0xb272e));const {createConnection,createChannel,setupInfrastructure,closeConnection,getConfig}=require('../utils/rabbitmq'),{formatDate}=require(a0_0xc83558(0xce));class RabbitMQService{constructor(){const _0x521728=a0_0xc83558,_0x392db4={'mPYsv':'2|4|0|3|1'},_0x41dee4=_0x392db4[_0x521728(0xda)]['split']('|');let _0x54837c=0x0;while(!![]){switch(_0x41dee4[_0x54837c++]){case'0':this['config']=getConfig();continue;case'1':this['messageHandlers']=[];continue;case'2':this['connection']=null;continue;case'3':this[_0x521728(0xe0)]=![];continue;case'4':this['channel']=null;continue;}break;}}async[a0_0xc83558(0x92)](){const _0x7a4aac=a0_0xc83558,_0x2510f5={'YeXtk':function(_0x167de8,_0x7bc016){return _0x167de8(_0x7bc016);},'NMcrH':function(_0x4d82b6,_0x2e45e9,_0x444123){return _0x4d82b6(_0x2e45e9,_0x444123);},'FhjGv':'4|5|1|3|7|6|0|2','JnkJe':'close','GUxFB':function(_0x402018){return _0x402018();},'WPsME':function(_0x4cd600,_0x50f73d){return _0x4cd600(_0x50f73d);}};try{const _0x39db34=_0x2510f5[_0x7a4aac(0x91)]['split']('|');let _0x1af80f=0x0;while(!![]){switch(_0x39db34[_0x1af80f++]){case'0':this[_0x7a4aac(0xb6)]['on'](_0x2510f5[_0x7a4aac(0xc3)],()=>{const _0x541431=_0x7a4aac;console['error']('['+_0x2510f5['YeXtk'](formatDate,new Date())+']\x20Koneksi\x20RabbitMQ\x20terputus'),this[_0x541431(0xe0)]=![],_0x2510f5[_0x541431(0xca)](setTimeout,()=>this[_0x541431(0xbb)](),0x1388);});continue;case'1':await this['channel'][_0x7a4aac(0xd4)](0x1);continue;case'2':return!![];case'3':console['log']('['+formatDate(new Date())+']\x20Prefetch\x20diatur\x20ke\x201');continue;case'4':this['connection']=await _0x2510f5['GUxFB'](createConnection);continue;case'5':this[_0x7a4aac(0xc2)]=await _0x2510f5['WPsME'](createChannel,this['connection']);continue;case'6':this[_0x7a4aac(0xe0)]=!![];continue;case'7':await setupInfrastructure(this[_0x7a4aac(0xc2)]);continue;}break;}}catch(_0x1c6df7){return console[_0x7a4aac(0xa2)]('['+formatDate(new Date())+']\x20Failed\x20to\x20initialize\x20RabbitMQ:\x20'+_0x1c6df7[_0x7a4aac(0xd6)]),this['isConnected']=![],![];}}async[a0_0xc83558(0xbb)](){const _0x399b29=a0_0xc83558,_0x965507={'DmrOa':function(_0x1b5608,_0x296274){return _0x1b5608(_0x296274);},'vcoeN':function(_0x415e9c,_0x4af14c,_0x1d552c){return _0x415e9c(_0x4af14c,_0x1d552c);}};console[_0x399b29(0xdd)]('['+formatDate(new Date())+']\x20Attempting\x20to\x20reconnect\x20to\x20RabbitMQ...');try{await this[_0x399b29(0x92)](),this['isConnected']&&(console[_0x399b29(0xdd)]('['+formatDate(new Date())+']\x20Successfully\x20reconnected\x20to\x20RabbitMQ'),await this['startConsume']());}catch(_0x5b57c2){console[_0x399b29(0xa2)]('['+_0x965507[_0x399b29(0xa8)](formatDate,new Date())+_0x399b29(0xbe)+_0x5b57c2[_0x399b29(0xd6)]),_0x965507[_0x399b29(0xa9)](setTimeout,()=>this[_0x399b29(0xbb)](),0x1388);}}async['setupCollectorInfrastructure'](_0x4dc43d){const _0xe68655=a0_0xc83558,_0x360665={'kXvNJ':_0xe68655(0xa1),'wwtNc':function(_0x18ca8f,_0x4a7952){return _0x18ca8f(_0x4a7952);},'vYHCd':'direct','EkPeI':function(_0x170846,_0x2867b3){return _0x170846===_0x2867b3;},'qcnUv':_0xe68655(0xa6),'uqcBj':'inequivalent\x20arg','vqyJa':function(_0x269a1d,_0xfaa647){return _0x269a1d(_0xfaa647);}};try{!this['isConnected']&&(this['connection']=await createConnection(),this[_0xe68655(0xc2)]=await createChannel(this['connection']),this['isConnected']=!![]);const _0x16e1f0=process[_0xe68655(0x8c)][_0xe68655(0xc4)]||_0x360665[_0xe68655(0x9e)],_0x5ceea6=_0x16e1f0+'-retry-exchange';await this['channel']['assertExchange'](_0x5ceea6,'direct',{'durable':!![],'autoDelete':![]}),console['log']('['+_0x360665[_0xe68655(0x8f)](formatDate,new Date())+']\x20Retry\x20exchange\x20'+_0x5ceea6+'\x20created/ready'),await this['channel'][_0xe68655(0xcd)](_0x4dc43d[_0xe68655(0xd1)],_0x360665['vYHCd'],{'durable':!![],'autoDelete':![]}),console['log']('['+formatDate(new Date())+_0xe68655(0xae)+_0x4dc43d['exchange']+_0xe68655(0xc5));const _0x9b7c03=_0x4dc43d['routingKey']+'_retry',_0x5b93ec={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':_0x4dc43d['exchange'],'x-dead-letter-routing-key':_0x4dc43d[_0xe68655(0xad)]}};await this[_0xe68655(0xc2)][_0xe68655(0x96)](_0x9b7c03,_0x5b93ec),console[_0xe68655(0xdd)]('['+formatDate(new Date())+']\x20Retry\x20queue\x20'+_0x9b7c03+_0xe68655(0xc5)),await this[_0xe68655(0xc2)]['bindQueue'](_0x9b7c03,_0x5ceea6,_0x4dc43d[_0xe68655(0xad)]),console[_0xe68655(0xdd)]('['+formatDate(new Date())+_0xe68655(0xab)+_0x4dc43d[_0xe68655(0xad)]+'\x20created');const _0x1da9aa={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x5ceea6,'x-dead-letter-routing-key':_0x4dc43d[_0xe68655(0xad)]}};try{const _0x886577=await this[_0xe68655(0xc2)]['assertQueue'](_0x4dc43d['queue'],_0x1da9aa);console[_0xe68655(0xdd)]('['+formatDate(new Date())+']\x20Queue\x20'+_0x4dc43d[_0xe68655(0xbf)]+'\x20'+(_0x360665['EkPeI'](_0x886577[_0xe68655(0xbf)],_0x4dc43d['queue'])?_0x360665['qcnUv']:_0xe68655(0x9b))+_0xe68655(0xb0)),await this['channel']['bindQueue'](_0x4dc43d[_0xe68655(0xbf)],_0x4dc43d[_0xe68655(0xd1)],_0x4dc43d[_0xe68655(0xad)]),console[_0xe68655(0xdd)]('['+formatDate(new Date())+']\x20Binding\x20'+_0x4dc43d['exchange']+_0xe68655(0x9d)+_0x4dc43d['queue']+'\x20('+_0x4dc43d[_0xe68655(0xad)]+')\x20created');}catch(_0x39a411){if(_0x39a411[_0xe68655(0xd6)]['includes'](_0x360665[_0xe68655(0xd0)])&&_0x39a411['message'][_0xe68655(0x9f)](_0xe68655(0x8b))){console[_0xe68655(0xa2)]('\x0a['+formatDate(new Date())+']\x20ERROR:\x20Queue\x20'+_0x4dc43d['queue']+_0xe68655(0x93)),console[_0xe68655(0xa2)]('Trying\x20alternative\x20queue\x20name...');const _0x3e06f4=_0x4dc43d[_0xe68655(0xad)]+_0xe68655(0x98),_0x2ebdd1=await this['channel']['assertQueue'](_0x3e06f4,_0x1da9aa);console['log']('['+_0x360665[_0xe68655(0x8f)](formatDate,new Date())+_0xe68655(0xba)+_0x3e06f4+_0xe68655(0x95)),await this['channel'][_0xe68655(0xdf)](_0x3e06f4,_0x4dc43d[_0xe68655(0xd1)],_0x4dc43d['routingKey']),console[_0xe68655(0xdd)]('['+_0x360665['vqyJa'](formatDate,new Date())+_0xe68655(0xd7)+_0x4dc43d['exchange']+_0xe68655(0x9d)+_0x3e06f4+'\x20('+_0x4dc43d['routingKey']+')\x20created'),_0x4dc43d['queue']=_0x3e06f4;}else{console['error']('['+_0x360665[_0xe68655(0xb7)](formatDate,new Date())+']\x20Error\x20creating\x20queue\x20'+_0x4dc43d['queue']+':',_0x39a411[_0xe68655(0xd6)]);throw _0x39a411;}}return!![];}catch(_0x241d1a){return console['error']('['+formatDate(new Date())+']\x20Error\x20saat\x20setup\x20infrastruktur:\x20'+_0x241d1a['message']),![];}}async['sendToQueue'](_0x2f37d2,_0x474469){const _0x4ae874=a0_0xc83558,_0xc7e4c9={'zwNHx':function(_0xa68836,_0x2e19c5){return _0xa68836!==_0x2e19c5;},'kTmJm':function(_0x1d8130,_0x1fc5a4){return _0x1d8130(_0x1fc5a4);},'oXRKi':'Data\x20sent\x20to\x20queue\x20successfully'};if(!this[_0x4ae874(0xe0)])try{await this['initialize']();}catch(_0x342d1a){return{'success':![],'message':'Cannot\x20connect\x20to\x20RabbitMQ:\x20'+_0x342d1a[_0x4ae874(0xd6)],'data':null};}try{const _0x467db4=_0xc7e4c9['zwNHx'](_0x474469[_0x4ae874(0xa0)],undefined)?_0x474469['auto_retry']:![],_0x52c200=_0x474469['max_retries']||0x3,_0x5a7851={'rabbitmq':{'exchange':_0x474469[_0x4ae874(0xd1)],'queue':_0x474469['queue'],'routing_key':_0x474469['routingKey'],'auto_retry':_0x467db4,'max_retries':_0x52c200},'message':_0x2f37d2};await this['setupCollectorInfrastructure'](_0x474469);const _0x4e080e=new Date(),_0x1210f4={'timestamp':_0x4e080e[_0x4ae874(0xdc)](),'content':JSON['stringify'](_0x5a7851)},_0x4ff9c0=this['channel'][_0x4ae874(0xbd)](_0x474469['exchange'],_0x474469[_0x4ae874(0xad)],Buffer[_0x4ae874(0xb1)](JSON[_0x4ae874(0xb5)](_0x1210f4)),{'persistent':!![],'contentType':_0x4ae874(0xd9),'timestamp':_0x4e080e['getTime'](),'messageId':_0x4e080e[_0x4ae874(0xb9)]()+'-'+Math[_0x4ae874(0xaa)]()['toString'](0x24)['substring'](0x7),'headers':{'x-auto-retry':_0x467db4,'x-max-retry':_0x52c200,'x-retry-count':0x0,'x-retry-interval':0x2710}});if(_0x4ff9c0){console[_0x4ae874(0xdd)]('['+_0xc7e4c9[_0x4ae874(0xc6)](formatDate,_0x4e080e)+_0x4ae874(0xa7),{'exchange':_0x474469['exchange'],'routing_key':_0x474469[_0x4ae874(0xad)],'queue':_0x474469[_0x4ae874(0xbf)],'sendAt':_0x4e080e['toISOString']()});const _0x223727='queue-'+_0x4e080e[_0x4ae874(0xb9)]()+'-'+Math[_0x4ae874(0xaa)]()['toString'](0x24)['substring'](0x7);return{'success':!![],'message':_0xc7e4c9['oXRKi'],'data':{'id':_0x223727,'queueInfo':{'exchange':_0x474469[_0x4ae874(0xd1)],'queue':_0x474469[_0x4ae874(0xbf)],'routingKey':_0x474469['routingKey']}}};}else throw new Error('Failed\x20to\x20send\x20message\x20to\x20RabbitMQ');}catch(_0x4b3101){return console['error']('['+formatDate(new Date())+']\x20Error\x20sending\x20to\x20RabbitMQ:\x20'+_0x4b3101[_0x4ae874(0xd6)]),{'success':![],'message':_0x4ae874(0x90)+_0x4b3101[_0x4ae874(0xd6)],'data':null};}}[a0_0xc83558(0xb2)](_0x268303){const _0x20b23d=a0_0xc83558,_0x362909={'qSqoW':function(_0x1753a9,_0x388d9e){return _0x1753a9===_0x388d9e;},'xKOHd':'function','gTPzy':function(_0x346719,_0x2953ef){return _0x346719(_0x2953ef);},'hOSWp':function(_0x32c24c,_0x10ad64){return _0x32c24c(_0x10ad64);}};_0x362909[_0x20b23d(0xac)](typeof _0x268303,_0x362909['xKOHd'])?(this[_0x20b23d(0xde)][_0x20b23d(0x97)](_0x268303),console['log']('['+_0x362909['gTPzy'](formatDate,new Date())+_0x20b23d(0xb4))):console[_0x20b23d(0xa2)]('['+_0x362909[_0x20b23d(0xaf)](formatDate,new Date())+_0x20b23d(0xbc));}async['processMessage'](_0x3bbff6){const _0x5609c7=a0_0xc83558,_0x4f9b03={'JbeAY':function(_0x129a6c,_0x375b52){return _0x129a6c(_0x375b52);}};if(this['messageHandlers'][_0x5609c7(0xc8)]===0x0)return console[_0x5609c7(0xc7)]('['+formatDate(new Date())+']\x20No\x20handlers\x20registered\x20to\x20process\x20messages'),!![];try{for(const _0x5d9c7a of this['messageHandlers']){await _0x4f9b03['JbeAY'](_0x5d9c7a,_0x3bbff6);}return!![];}catch(_0x41920e){return console[_0x5609c7(0xa2)]('['+formatDate(new Date())+']\x20Error\x20processing\x20message:\x20'+_0x41920e['message']),![];}}async[a0_0xc83558(0x94)](){const _0x4da436=a0_0xc83558,_0x5984f4={'emHBy':function(_0x2fd4ad,_0x5b3eb4){return _0x2fd4ad(_0x5b3eb4);},'DNTJk':function(_0x22983e,_0x4123b4){return _0x22983e(_0x4123b4);}};if(!this[_0x4da436(0xe0)])return console['error']('['+formatDate(new Date())+']\x20Cannot\x20start\x20consuming:\x20not\x20connected\x20to\x20RabbitMQ'),![];try{return console[_0x4da436(0xdd)]('['+formatDate(new Date())+']\x20Start\x20consuming\x20messages\x20from\x20queue\x20\x22'+this[_0x4da436(0x8e)][_0x4da436(0xbf)]+_0x4da436(0xd8)),this[_0x4da436(0xc2)]['consume'](this[_0x4da436(0x8e)][_0x4da436(0xbf)],async _0x35f9b4=>{const _0x9d761=_0x4da436;if(_0x35f9b4!==null){const _0x553ae8=new Date();let _0x5815a6;try{_0x5815a6=JSON['parse'](_0x35f9b4[_0x9d761(0xd5)][_0x9d761(0xa4)]());}catch(_0x100062){console['error']('['+_0x5984f4[_0x9d761(0xb8)](formatDate,_0x553ae8)+_0x9d761(0xc9)+_0x100062[_0x9d761(0xd6)]),console[_0x9d761(0xa2)]('Message\x20content:\x20'+_0x35f9b4[_0x9d761(0xd5)][_0x9d761(0xa4)]()),this['channel']['ack'](_0x35f9b4);return;}const _0x552dff=_0x35f9b4['properties'][_0x9d761(0xc1)]?new Date(_0x35f9b4['properties']['timestamp']):new Date(),_0x3c08db=await this['processMessage'](_0x5815a6);_0x3c08db?(console[_0x9d761(0xdd)]('['+_0x5984f4['DNTJk'](formatDate,new Date())+_0x9d761(0xa5)),this['channel']['ack'](_0x35f9b4)):(console['error']('['+_0x5984f4['emHBy'](formatDate,new Date())+_0x9d761(0xcb)),this[_0x9d761(0xc2)][_0x9d761(0xd3)](_0x35f9b4,![],!![])),console['log']('---');}},{'noAck':![]}),!![];}catch(_0xf9edc8){return console['error']('['+_0x5984f4['emHBy'](formatDate,new Date())+_0x4da436(0x99)+_0xf9edc8[_0x4da436(0xd6)]),![];}}async['close'](){const _0x82e11e=a0_0xc83558;this[_0x82e11e(0xb6)]&&(await closeConnection(this['connection']),this[_0x82e11e(0xe0)]=![]);}}function a0_0x1bfa(){const _0x578e36=['zM91BMq','mZu0nJaXogTXvhjsvq','ic0+ia','A1H2tKO','Aw5JBhvKzxm','yxv0B19YzxrYEq','zgvMyxvSDa','zxjYB3i','mJy0mtmXnhjmAfPusG','Dg9tDhjPBMC','xsbnzxnZywDLihbYB2nLC3nLzcbZDwnJzxnZzNvSBhK','y3jLyxrLzc9YzwfKEq','xsbnzxnZywDLihnLBNqGDg8GuMfIyML0tveGC3vJy2vZC2z1BgX5oG','rg1Yt2e','DMnVzu4','CMfUzg9T','xsbszxrYEsbIAw5KAw5NigzVCIa','CvnXB1C','CM91DgLUz0TLEq','xsbfEgnOyw5Nzsa','Ae9tv3a','ihDPDgGGreXy','zNjVBq','CMvNAxn0zxjnzxnZywDLsgfUzgXLCG','mti5mti0nxfjB1PUqG','xsbnzxnZywDLigHHBMrSzxiGCMvNAxn0zxjLza','C3rYAw5NAwz5','y29UBMvJDgLVBG','DNf5sMe','zw1iqNK','z2v0vgLTzq','xsbbBhrLCM5HDgL2zsbXDwv1zsa','CMvJB25Uzwn0','xsbnzxnZywDLigHHBMrSzxiGBxvZDcbIzsbHigz1BMn0Aw9U','ChvIBgLZAa','xsbgywLSzwqGDg8GCMvJB25Uzwn0ihrVifjHyMjPDe1roIa','CxvLDwu','mte4ndGXyKPiBvfr','DgLTzxn0yw1W','y2HHBM5LBa','sM5RsMu','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','ignYzwf0zwqVCMvHzhK','A1rTsM0','D2fYBG','BgvUz3rO','xsbgywLSzwqGDg8GCgfYC2uGBwvZC2fNztOG','tK1JCKG','xsbgywLSzwqGDg8GChjVy2vZCYbTzxnZywDLlcbYzxf1zxvPBMC','nda3ndK5mMDIsvzjDa','yxnZzxj0rxHJAgfUz2u','lI4VDxrPBhmVzgf0zuHLBhbLCG','mtK1mZDbywjHrxi','DxfJqMO','zxHJAgfUz2u','nZK3ntqWvwrotef2','BMfJAW','ChjLzMv0y2G','y29UDgvUDa','BwvZC2fNzq','xsbcAw5KAw5Nia','iI4UlG','yxbWBgLJyxrPB24VANnVBG','BvbzC3y','mtbyswHste0','Dg9ju09tDhjPBMC','Bg9N','BwvZC2fNzuHHBMrSzxjZ','yMLUzff1zxvL','AxndB25Uzwn0zwq','Ec1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEq','zw52','mtiYnhbjwe1rzq','y29UzMLN','D3D0tMm','rxjYB3i6ia','rMHQr3y','Aw5PDgLHBgL6zq','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','C3rHCNrdB25ZDw1L','ignYzwf0zwqGD2L0AcbetfG','yxnZzxj0uxvLDwu','ChvZAa','x3f1zxvL','xsbgywLSzwqGDg8GC3rHCNqGy29UC3vTAw5NoIa','mtq0vgfhDw10'];a0_0x1bfa=function(){return _0x578e36;};return a0_0x1bfa();}let instance=null;function getInstance(){return!instance&&(instance=new RabbitMQService()),instance;}module['exports']={'getInstance':getInstance};
|
|
1
|
+
const a0_0x30fb07=a0_0x4f63;(function(_0x2df033,_0x29950f){const _0x2908ca=a0_0x4f63,_0x4eec7f=_0x2df033();while(!![]){try{const _0x21a0bf=-parseInt(_0x2908ca(0x1df))/0x1*(parseInt(_0x2908ca(0x1c8))/0x2)+parseInt(_0x2908ca(0x1ba))/0x3*(-parseInt(_0x2908ca(0x202))/0x4)+parseInt(_0x2908ca(0x204))/0x5+parseInt(_0x2908ca(0x1f9))/0x6+-parseInt(_0x2908ca(0x1bc))/0x7+parseInt(_0x2908ca(0x1e9))/0x8*(parseInt(_0x2908ca(0x1db))/0x9)+-parseInt(_0x2908ca(0x1f6))/0xa*(-parseInt(_0x2908ca(0x1b7))/0xb);if(_0x21a0bf===_0x29950f)break;else _0x4eec7f['push'](_0x4eec7f['shift']());}catch(_0x3f3fac){_0x4eec7f['push'](_0x4eec7f['shift']());}}}(a0_0x4198,0xd29f2));const {createConnection,createChannel,setupInfrastructure,closeConnection,getConfig}=require('../utils/rabbitmq'),{formatDate}=require(a0_0x30fb07(0x200));class RabbitMQService{constructor(){const _0x18064f=a0_0x30fb07,_0x4a6127={'SauNc':'2|0|1|4|3','rgebY':function(_0x3a2bf0){return _0x3a2bf0();}},_0x359c03=_0x4a6127[_0x18064f(0x1bd)][_0x18064f(0x1c2)]('|');let _0x2ea3ec=0x0;while(!![]){switch(_0x359c03[_0x2ea3ec++]){case'0':this['channel']=null;continue;case'1':this[_0x18064f(0x20d)]=_0x4a6127[_0x18064f(0x1d1)](getConfig);continue;case'2':this['connection']=null;continue;case'3':this[_0x18064f(0x1cc)]=[];continue;case'4':this[_0x18064f(0x205)]=![];continue;}break;}}async['initialize'](){const _0x892f29=a0_0x30fb07,_0x4407cf={'jOkAB':function(_0x94dd9,_0x3e6ed4){return _0x94dd9(_0x3e6ed4);},'fzidr':function(_0xec741d,_0x20411e,_0x2050aa){return _0xec741d(_0x20411e,_0x2050aa);},'sRfBe':function(_0x1e68ed,_0x34ac1a){return _0x1e68ed(_0x34ac1a);},'zPdmn':function(_0xb463bc){return _0xb463bc();},'kMhNz':function(_0x19c55e,_0x2407c6){return _0x19c55e(_0x2407c6);}};try{const _0x4ec71a=_0x892f29(0x1f3)[_0x892f29(0x1c2)]('|');let _0x582612=0x0;while(!![]){switch(_0x4ec71a[_0x582612++]){case'0':await setupInfrastructure(this[_0x892f29(0x1ff)]);continue;case'1':this['connection']['on']('close',()=>{const _0x1e391e=_0x892f29;console[_0x1e391e(0x1f1)]('['+_0x4407cf['jOkAB'](formatDate,new Date())+_0x1e391e(0x1e1)),this['isConnected']=![],_0x4407cf['fzidr'](setTimeout,()=>this['reconnect'](),0x1388);});continue;case'2':console[_0x892f29(0x1e5)]('['+_0x4407cf['sRfBe'](formatDate,new Date())+']\x20Prefetch\x20diatur\x20ke\x201');continue;case'3':this['isConnected']=!![];continue;case'4':return!![];case'5':this[_0x892f29(0x1ff)]=await createChannel(this[_0x892f29(0x1fd)]);continue;case'6':await this['channel']['prefetch'](0x1);continue;case'7':this['connection']=await _0x4407cf[_0x892f29(0x1c0)](createConnection);continue;}break;}}catch(_0x204f94){return console[_0x892f29(0x1f1)]('['+_0x4407cf[_0x892f29(0x1c1)](formatDate,new Date())+']\x20Failed\x20to\x20initialize\x20RabbitMQ:\x20'+_0x204f94['message']),this[_0x892f29(0x205)]=![],![];}}async[a0_0x30fb07(0x1d6)](){const _0x54ccc3=a0_0x30fb07,_0x42de39={'HWrfO':function(_0x35046d,_0x4a7921){return _0x35046d(_0x4a7921);}};console['log']('['+formatDate(new Date())+_0x54ccc3(0x1ca));try{await this['initialize'](),this[_0x54ccc3(0x205)]&&(console[_0x54ccc3(0x1e5)]('['+_0x42de39[_0x54ccc3(0x1fc)](formatDate,new Date())+_0x54ccc3(0x1d5)),await this['startConsume']());}catch(_0x5e07f1){console['error']('['+formatDate(new Date())+']\x20Failed\x20to\x20reconnect\x20to\x20RabbitMQ:\x20'+_0x5e07f1['message']),setTimeout(()=>this['reconnect'](),0x1388);}}async[a0_0x30fb07(0x20a)](_0x29330d){const _0x32440f=a0_0x30fb07,_0x33454a={'gJgGO':function(_0x42adb0,_0x342b7e){return _0x42adb0(_0x342b7e);},'oAeVx':_0x32440f(0x1fe),'ilbuj':function(_0x9eefa2,_0x186c92){return _0x9eefa2(_0x186c92);},'ZAPdn':function(_0x24b109,_0xa5a95b){return _0x24b109(_0xa5a95b);},'iApZM':_0x32440f(0x1c7),'jtgHS':'x-dead-letter-routing-key'};try{!this[_0x32440f(0x205)]&&(this[_0x32440f(0x1fd)]=await createConnection(),this['channel']=await _0x33454a['gJgGO'](createChannel,this['connection']),this['isConnected']=!![]);const _0x2d626a=process['env'][_0x32440f(0x1e8)]||'default',_0x577b19=_0x2d626a+'-retry-exchange';await this['channel'][_0x32440f(0x1c6)](_0x577b19,'direct',{'durable':!![],'autoDelete':![]}),console[_0x32440f(0x1e5)]('['+formatDate(new Date())+_0x32440f(0x1ee)+_0x577b19+_0x32440f(0x1cb)),await this[_0x32440f(0x1ff)]['assertExchange'](_0x29330d['exchange'],_0x33454a['oAeVx'],{'durable':!![],'autoDelete':![]}),console[_0x32440f(0x1e5)]('['+formatDate(new Date())+']\x20Exchange\x20'+_0x29330d['exchange']+'\x20created/ready');const _0x27d447=_0x29330d[_0x32440f(0x1bf)]+'_retry',_0x1ca166={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':_0x29330d[_0x32440f(0x1f8)],'x-dead-letter-routing-key':_0x29330d[_0x32440f(0x1bf)]}};await this['channel']['assertQueue'](_0x27d447,_0x1ca166),console['log']('['+formatDate(new Date())+_0x32440f(0x1e7)+_0x27d447+'\x20created/ready'),await this[_0x32440f(0x1ff)]['bindQueue'](_0x27d447,_0x577b19,_0x29330d[_0x32440f(0x1bf)]),console[_0x32440f(0x1e5)]('['+_0x33454a[_0x32440f(0x1e3)](formatDate,new Date())+_0x32440f(0x201)+_0x29330d['routingKey']+_0x32440f(0x1dc));const _0x4ea0ea={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x577b19,'x-dead-letter-routing-key':_0x29330d['routingKey']}};try{const _0x5c3e94=await this['channel'][_0x32440f(0x1ea)](_0x29330d[_0x32440f(0x1ef)],_0x4ea0ea);console[_0x32440f(0x1e5)]('['+_0x33454a[_0x32440f(0x1cd)](formatDate,new Date())+']\x20Queue\x20'+_0x29330d[_0x32440f(0x1ef)]+'\x20'+(_0x5c3e94['queue']===_0x29330d['queue']?'created/ready':_0x32440f(0x1d3))+_0x32440f(0x1fb)),await this[_0x32440f(0x1ff)][_0x32440f(0x1c4)](_0x29330d[_0x32440f(0x1ef)],_0x29330d[_0x32440f(0x1f8)],_0x29330d[_0x32440f(0x1bf)]),console[_0x32440f(0x1e5)]('['+_0x33454a['ZAPdn'](formatDate,new Date())+']\x20Binding\x20'+_0x29330d['exchange']+_0x32440f(0x209)+_0x29330d[_0x32440f(0x1ef)]+'\x20('+_0x29330d['routingKey']+_0x32440f(0x1f5));}catch(_0x271805){if(_0x271805['message']['includes'](_0x33454a[_0x32440f(0x1ed)])&&_0x271805['message']['includes'](_0x33454a['jtgHS'])){console[_0x32440f(0x1f1)]('\x0a['+formatDate(new Date())+_0x32440f(0x1cf)+_0x29330d['queue']+_0x32440f(0x1d9)),console[_0x32440f(0x1f1)]('Trying\x20alternative\x20queue\x20name...');const _0x393d16=_0x29330d['routingKey']+'_queue',_0x54c3de=await this['channel'][_0x32440f(0x1ea)](_0x393d16,_0x4ea0ea);console['log']('['+formatDate(new Date())+_0x32440f(0x1d0)+_0x393d16+'\x20created\x20with\x20DLX'),await this['channel']['bindQueue'](_0x393d16,_0x29330d['exchange'],_0x29330d['routingKey']),console['log']('['+_0x33454a[_0x32440f(0x1cd)](formatDate,new Date())+']\x20Binding\x20'+_0x29330d[_0x32440f(0x1f8)]+_0x32440f(0x209)+_0x393d16+'\x20('+_0x29330d[_0x32440f(0x1bf)]+_0x32440f(0x1f5)),_0x29330d['queue']=_0x393d16;}else{console['error']('['+_0x33454a['ilbuj'](formatDate,new Date())+']\x20Error\x20creating\x20queue\x20'+_0x29330d[_0x32440f(0x1ef)]+':',_0x271805[_0x32440f(0x20e)]);throw _0x271805;}}return!![];}catch(_0x1d055b){return console[_0x32440f(0x1f1)]('['+formatDate(new Date())+']\x20Error\x20saat\x20setup\x20infrastruktur:\x20'+_0x1d055b['message']),![];}}async['sendToQueue'](_0x391064,_0x272f1e){const _0xc13d13=a0_0x30fb07,_0xa18037={'kRWga':function(_0x288c41,_0x3b74b6){return _0x288c41(_0x3b74b6);},'wnyqp':_0xc13d13(0x1de),'afYxC':_0xc13d13(0x1bb),'LjQuE':function(_0x37a1c0,_0x3f2fe9){return _0x37a1c0(_0x3f2fe9);}};if(!this['isConnected'])try{await this[_0xc13d13(0x1e0)]();}catch(_0x7aa01a){return{'success':![],'message':'Cannot\x20connect\x20to\x20RabbitMQ:\x20'+_0x7aa01a['message'],'data':null};}try{const _0x1bac07=_0x272f1e[_0xc13d13(0x1e2)]!==undefined?_0x272f1e['auto_retry']:![],_0x5ee4bd=_0x272f1e[_0xc13d13(0x20c)]||0x3,_0x4a2374={'rabbitmq':{'exchange':_0x272f1e['exchange'],'queue':_0x272f1e['queue'],'routing_key':_0x272f1e[_0xc13d13(0x1bf)],'auto_retry':_0x1bac07,'max_retries':_0x5ee4bd},'message':_0x391064};await this[_0xc13d13(0x20a)](_0x272f1e);const _0x1890af=new Date(),_0x118f92={'timestamp':_0x1890af[_0xc13d13(0x1eb)](),'content':JSON[_0xc13d13(0x1d8)](_0x4a2374)},_0x22a355=this['channel'][_0xc13d13(0x1ce)](_0x272f1e[_0xc13d13(0x1f8)],_0x272f1e['routingKey'],Buffer['from'](JSON[_0xc13d13(0x1d8)](_0x118f92)),{'persistent':!![],'contentType':'application/json','timestamp':_0x1890af['getTime'](),'messageId':_0x1890af['getTime']()+'-'+Math[_0xc13d13(0x1f0)]()['toString'](0x24)[_0xc13d13(0x1b6)](0x7),'headers':{'x-auto-retry':_0x1bac07,'x-max-retry':_0x5ee4bd,'x-retry-count':0x0,'x-retry-interval':0x2710}});if(_0x22a355){console[_0xc13d13(0x1e5)]('['+_0xa18037['kRWga'](formatDate,_0x1890af)+_0xc13d13(0x1f2),{'exchange':_0x272f1e[_0xc13d13(0x1f8)],'routing_key':_0x272f1e['routingKey'],'queue':_0x272f1e[_0xc13d13(0x1ef)],'sendAt':_0x1890af['toISOString']()});const _0x19b18b=_0xc13d13(0x1c9)+_0x1890af['getTime']()+'-'+Math[_0xc13d13(0x1f0)]()['toString'](0x24)[_0xc13d13(0x1b6)](0x7);return{'success':!![],'message':_0xa18037[_0xc13d13(0x1b8)],'data':{'id':_0x19b18b,'queueInfo':{'exchange':_0x272f1e['exchange'],'queue':_0x272f1e['queue'],'routingKey':_0x272f1e['routingKey']}}};}else throw new Error(_0xa18037[_0xc13d13(0x1e4)]);}catch(_0x362d2a){return console['error']('['+_0xa18037[_0xc13d13(0x208)](formatDate,new Date())+']\x20Error\x20sending\x20to\x20RabbitMQ:\x20'+_0x362d2a[_0xc13d13(0x20e)]),{'success':![],'message':'Error:\x20'+_0x362d2a['message'],'data':null};}}['registerMessageHandler'](_0xfa132c){const _0x51ce7=a0_0x30fb07,_0x70a843={'cJwkl':_0x51ce7(0x1da),'WgtFk':function(_0x59e5ea,_0x92bb20){return _0x59e5ea(_0x92bb20);}};typeof _0xfa132c===_0x70a843[_0x51ce7(0x1c3)]?(this[_0x51ce7(0x1cc)][_0x51ce7(0x1e6)](_0xfa132c),console[_0x51ce7(0x1e5)]('['+formatDate(new Date())+_0x51ce7(0x20b))):console['error']('['+_0x70a843['WgtFk'](formatDate,new Date())+_0x51ce7(0x1b9));}async['processMessage'](_0x2ed894){const _0x2d2752=a0_0x30fb07,_0x42d082={'lLCwh':function(_0x4f6d4a,_0x8b9e56){return _0x4f6d4a===_0x8b9e56;},'tLKyJ':function(_0x5cdda3,_0x4b392c){return _0x5cdda3(_0x4b392c);}};if(_0x42d082['lLCwh'](this['messageHandlers'][_0x2d2752(0x1fa)],0x0))return console[_0x2d2752(0x1dd)]('['+formatDate(new Date())+']\x20No\x20handlers\x20registered\x20to\x20process\x20messages'),!![];try{for(const _0x2b32f2 of this[_0x2d2752(0x1cc)]){await _0x2b32f2(_0x2ed894);}return!![];}catch(_0x239e61){return console['error']('['+_0x42d082[_0x2d2752(0x1ec)](formatDate,new Date())+_0x2d2752(0x1be)+_0x239e61[_0x2d2752(0x20e)]),![];}}async[a0_0x30fb07(0x1d2)](){const _0x5956d1=a0_0x30fb07,_0x1bcb4d={'dIczQ':function(_0x324d39,_0x4d6598){return _0x324d39(_0x4d6598);},'DybLM':function(_0x5b1751,_0x1f0eb0){return _0x5b1751(_0x1f0eb0);}};if(!this['isConnected'])return console['error']('['+_0x1bcb4d[_0x5956d1(0x1b5)](formatDate,new Date())+_0x5956d1(0x203)),![];try{return console[_0x5956d1(0x1e5)]('['+formatDate(new Date())+_0x5956d1(0x1c5)+this[_0x5956d1(0x20d)][_0x5956d1(0x1ef)]+'\x22...'),this[_0x5956d1(0x1ff)][_0x5956d1(0x1f4)](this['config'][_0x5956d1(0x1ef)],async _0x5f1bf4=>{const _0x5d84f3=_0x5956d1;if(_0x5f1bf4!==null){const _0x1bf46d=new Date();let _0x1f9f93;try{_0x1f9f93=JSON['parse'](_0x5f1bf4['content']['toString']());}catch(_0x3368bd){console['error']('['+_0x1bcb4d[_0x5d84f3(0x1b5)](formatDate,_0x1bf46d)+']\x20Failed\x20to\x20parse\x20message:\x20'+_0x3368bd['message']),console[_0x5d84f3(0x1f1)]('Message\x20content:\x20'+_0x5f1bf4['content'][_0x5d84f3(0x207)]()),this['channel'][_0x5d84f3(0x1d7)](_0x5f1bf4);return;}const _0x5ab9a9=_0x5f1bf4[_0x5d84f3(0x1d4)]['timestamp']?new Date(_0x5f1bf4['properties']['timestamp']):new Date(),_0x2e614b=await this['processMessage'](_0x1f9f93);_0x2e614b?(console[_0x5d84f3(0x1e5)]('['+formatDate(new Date())+']\x20Message\x20processed\x20successfully'),this['channel']['ack'](_0x5f1bf4)):(console['error']('['+formatDate(new Date())+']\x20Failed\x20to\x20process\x20message,\x20requeuing'),this['channel']['nack'](_0x5f1bf4,![],!![])),console['log']('---');}},{'noAck':![]}),!![];}catch(_0x4fb0ec){return console['error']('['+_0x1bcb4d[_0x5956d1(0x1f7)](formatDate,new Date())+']\x20Failed\x20to\x20start\x20consuming:\x20'+_0x4fb0ec['message']),![];}}async[a0_0x30fb07(0x206)](){this['connection']&&(await closeConnection(this['connection']),this['isConnected']=![]);}}let instance=null;function a0_0x4f63(_0x325477,_0x18248d){_0x325477=_0x325477-0x1b5;const _0x419811=a0_0x4198();let _0x4f635a=_0x419811[_0x325477];if(a0_0x4f63['NFfOCv']===undefined){var _0x2556f2=function(_0x4e67af){const _0x6aa3cc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2554e4='',_0x3e57c4='';for(let _0x4a2982=0x0,_0x8ffac,_0x26d158,_0x37d354=0x0;_0x26d158=_0x4e67af['charAt'](_0x37d354++);~_0x26d158&&(_0x8ffac=_0x4a2982%0x4?_0x8ffac*0x40+_0x26d158:_0x26d158,_0x4a2982++%0x4)?_0x2554e4+=String['fromCharCode'](0xff&_0x8ffac>>(-0x2*_0x4a2982&0x6)):0x0){_0x26d158=_0x6aa3cc['indexOf'](_0x26d158);}for(let _0x5c0912=0x0,_0x3a2b9d=_0x2554e4['length'];_0x5c0912<_0x3a2b9d;_0x5c0912++){_0x3e57c4+='%'+('00'+_0x2554e4['charCodeAt'](_0x5c0912)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3e57c4);};a0_0x4f63['sIgeeF']=_0x2556f2,a0_0x4f63['dUmNpp']={},a0_0x4f63['NFfOCv']=!![];}const _0x5778a9=_0x419811[0x0],_0x2db840=_0x325477+_0x5778a9,_0x81af9d=a0_0x4f63['dUmNpp'][_0x2db840];return!_0x81af9d?(_0x4f635a=a0_0x4f63['sIgeeF'](_0x4f635a),a0_0x4f63['dUmNpp'][_0x2db840]=_0x4f635a):_0x4f635a=_0x81af9d,_0x4f635a;}function getInstance(){return!instance&&(instance=new RabbitMQService()),instance;}function a0_0x4198(){const _0x1ea237=['rgf0ysbZzw50ihrVihf1zxvLihn1y2nLC3nMDwXSEq','mJqXotGXsw9lCvzL','Aw5PDgLHBgL6zq','xsblB25LA3nPifjHyMjPDe1rihrLCNb1DhvZ','yxv0B19YzxrYEq','z0PNr08','ywzzEem','Bg9N','ChvZAa','xsbszxrYEsbXDwv1zsa','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','mJrmv1Poq0q','yxnZzxj0uxvLDwu','Dg9ju09tDhjPBMC','DeXlEuO','AufWwK0','xsbszxrYEsbLEgnOyw5Nzsa','CxvLDwu','CMfUzg9T','zxjYB3i','xsbnzxnZywDLihnLBNqGDg8GuMfIyML0tveGC3vJy2vZC2z1BgX5oG','n3W1Fdz8mNWWFdn8mxW0','y29UC3vTzq','ksbJCMvHDgvK','mZeXmZGWqLvkvg5T','rhLIte0','zxHJAgfUz2u','mJe2mdK5mhvAtfPpwG','BgvUz3rO','ihDPDgGGreXy','sfDYzK8','y29UBMvJDgLVBG','zgLYzwn0','y2HHBM5LBa','lI4VDxrPBhmVzgf0zuHLBhbLCG','xsbszxrYEsbIAw5KAw5NigzVCIa','mJKWndiYmfvTyuTHwa','xsbdyw5UB3qGC3rHCNqGy29UC3vTAw5NoIbUB3qGy29UBMvJDgvKihrVifjHyMjPDe1r','ndiWmJKWnuvRz1zwqW','AxndB25Uzwn0zwq','y2XVC2u','Dg9tDhjPBMC','tgPrDuu','ic0+ia','C2v0DxbdB2XSzwn0B3jjBMzYyxn0CNvJDhvYzq','xsbnzxnZywDLigHHBMrSzxiGCMvNAxn0zxjLza','Bwf4x3jLDhjPzxm','y29UzMLN','BwvZC2fNzq','zeLJELe','C3vIC3rYAw5N','ndCZuxDuBgXr','D255Cxa','xsbnzxnZywDLigHHBMrSzxiGBxvZDcbIzsbHigz1BMn0Aw9U','m0PprwH4zq','rMfPBgvKihrVihnLBMqGBwvZC2fNzsb0BYbsywjIAxrnuq','mtaXmtaWnZLmDvPQu20','u2f1tMm','xsbfCNjVCIbWCM9JzxnZAw5Nig1LC3nHz2u6ia','CM91DgLUz0TLEq','ELbKBw4','A01OtNO','C3bSAxq','y0P3A2W','yMLUzff1zxvL','xsbtDgfYDcbJB25ZDw1PBMCGBwvZC2fNzxmGzNjVBsbXDwv1zsaI','yxnZzxj0rxHJAgfUz2u','Aw5LCxvPDMfSzw50igfYzW','mtbiANPJBNq','CxvLDwuT','xsbbDhrLBxb0Aw5NihrVihjLy29UBMvJDcb0BYbsywjIAxrnus4UlG','ignYzwf0zwqVCMvHzhK','BwvZC2fNzuHHBMrSzxjZ','AwXIDwO','ChvIBgLZAa','xsbfuLjpuJOGuxvLDwuG','xsbbBhrLCM5HDgL2zsbXDwv1zsa','CMDLyLK','C3rHCNrdB25ZDw1L','zM91BMq','ChjVCgvYDgLLCW','xsbtDwnJzxnZzNvSBhKGCMvJB25Uzwn0zwqGDg8GuMfIyML0tve','CMvJB25Uzwn0','ywnR','C3rYAw5NAwz5','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','zNvUy3rPB24','nteWotG0owPlEfvgrG','ignYzwf0zwq','D2fYBG'];a0_0x4198=function(){return _0x1ea237;};return a0_0x4198();}module['exports']={'getInstance':getInstance};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x9a44(_0x6daeb0,_0x45be8c){_0x6daeb0=_0x6daeb0-0x194;const _0x52e2a4=a0_0x52e2();let _0x9a44cd=_0x52e2a4[_0x6daeb0];if(a0_0x9a44['ddgZpI']===undefined){var _0x9fd281=function(_0x5dc9be){const _0x1ce3c6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xfabca2='',_0x4e2e19='';for(let _0x4ae7dd=0x0,_0x5c7237,_0x2bd6ea,_0x3d5e43=0x0;_0x2bd6ea=_0x5dc9be['charAt'](_0x3d5e43++);~_0x2bd6ea&&(_0x5c7237=_0x4ae7dd%0x4?_0x5c7237*0x40+_0x2bd6ea:_0x2bd6ea,_0x4ae7dd++%0x4)?_0xfabca2+=String['fromCharCode'](0xff&_0x5c7237>>(-0x2*_0x4ae7dd&0x6)):0x0){_0x2bd6ea=_0x1ce3c6['indexOf'](_0x2bd6ea);}for(let _0x1d42c3=0x0,_0x412880=_0xfabca2['length'];_0x1d42c3<_0x412880;_0x1d42c3++){_0x4e2e19+='%'+('00'+_0xfabca2['charCodeAt'](_0x1d42c3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4e2e19);};a0_0x9a44['SWbqJS']=_0x9fd281,a0_0x9a44['FqXicZ']={},a0_0x9a44['ddgZpI']=!![];}const _0x4dff4f=_0x52e2a4[0x0],_0x3278e9=_0x6daeb0+_0x4dff4f,_0x524388=a0_0x9a44['FqXicZ'][_0x3278e9];return!_0x524388?(_0x9a44cd=a0_0x9a44['SWbqJS'](_0x9a44cd),a0_0x9a44['FqXicZ'][_0x3278e9]=_0x9a44cd):_0x9a44cd=_0x524388,_0x9a44cd;}const a0_0x290a4d=a0_0x9a44;(function(_0x470169,_0x12460a){const _0x73e9e3=a0_0x9a44,_0x4cf8ea=_0x470169();while(!![]){try{const _0x416419=-parseInt(_0x73e9e3(0x20d))/0x1+-parseInt(_0x73e9e3(0x1ce))/0x2+-parseInt(_0x73e9e3(0x20c))/0x3*(parseInt(_0x73e9e3(0x218))/0x4)+-parseInt(_0x73e9e3(0x1b3))/0x5*(parseInt(_0x73e9e3(0x1d6))/0x6)+-parseInt(_0x73e9e3(0x226))/0x7*(-parseInt(_0x73e9e3(0x196))/0x8)+parseInt(_0x73e9e3(0x1fd))/0x9*(-parseInt(_0x73e9e3(0x1a5))/0xa)+parseInt(_0x73e9e3(0x1be))/0xb;if(_0x416419===_0x12460a)break;else _0x4cf8ea['push'](_0x4cf8ea['shift']());}catch(_0x9cd966){_0x4cf8ea['push'](_0x4cf8ea['shift']());}}}(a0_0x52e2,0xda9c8));const {Queue,Worker}=require(a0_0x290a4d(0x1a6)),Redis=require(a0_0x290a4d(0x1ad)),crypto=require(a0_0x290a4d(0x1de)),{v7:uuidv7}=require('uuid'),fs=require('fs'),path=require('path'),{logger}=require(a0_0x290a4d(0x1fa)),jobValidator=require('./job-validator');let componentEngine=null;function a0_0x52e2(){const _0x59d3ef=['ywn0AxzLsgLZDg9YEuLKCW','sKrLEfq','AM9PBG','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGC3rHDhvZid0Gj29MzMXPBMuNlcbUzxH0x3j1BL9HDca9ie5vteW','B3jHltaWotu1','D01jrMq','lI4VlI4VC2vYDMLJzxmVA2fMA2ftzxj2AwnL','C3bSAxq','mJKWALH1s0LK','yNvSBg1X','zgvSzxrL','DgLTzw91Da','CgLK','EMDMqwS','s1HYBMq','u2HHAfe','Aw9YzwrPCW','q0zXthy','CKDlCxy','ihjLBw92zwqGkhDHCYa','C2nOzwr1Bgu','z2v0sM9Iu2nOzwr1BgvYCW','mtiYnteWyxnXthjT','icHPzdOG','z2v0u3rHDgu','zxHLy3v0zvrYyw5Zywn0Aw9U','Aw5PDgLHBgL6zq','z2v0sM9Iu3rHDhvZ','DgLTzxn0yw1W','AgLNAa','Aw5Zzxj0sM9IsgLZDg9YEq','AM9Ix3jLz2LZDhj5x2nVDw50zxjFzxjYB3i','B25bzNrLCKPVyKnVBxbSzxrLigHHBMrSzxiGzxjYB3iGkg5VBI1IBg9JA2LUzYK','mZKWndy3nZD2vKHer2q','B25czwzVCMvkB2jfEgvJDxrL','v01uDgK','rwHKEwq','AM9Ix3jLzgLZx2nVBM5Ly3rLza','zgjFB3jHy2XLx3vUyxzHAwXHyMXL','B25kB2jdB21WBgv0zwq','rK9tv0q','z2v0ug9VBa','zw5HyMXLza','DMfSAwq','B3jHy2XL','lIbkB2iGu2nOzwr1BgvYihrPzgfRigfRyw4GywT0AwyU','yxr0zw1WDa','v2PPDgW','uvrWDKm','mtaXnJiZnLHXCuTvtG','ChvZAa','zNvUy3rPB24','sM9Iig5VDcbMB3vUzdOG','DxrMoa','sM9Iie1HBMfNzxiGC3vKywGGzgLPBMLZAwfSAxnHC2KSihnRAxa','lI4VlI4VDxrPBhmVzgiTB3jHy2XL','EMTTuu4','mJGYy3fPEgzl','Bw92zvrVrMfPBgvK','AKjwCeO','sM9IignVBxbSzxrLzdOG','zefwCw8','BxLZCwW','CgfYC2u','AM9Ix3DVCMTLCNnFy3jLyxrLza','y3j5ChrV','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticGKmsWGjdiSicqZlcaKncWGjduSicDYDw5UAw5NjYWGjdySicq3lcaKocWGtK9xkcKSicq5lcbot1COksK','icSGmsWkicaGicaGicaGicbUzxH0x3j1BL9HDca9idOZlcb1CgrHDgvKx2f0id0Gu1LtveLnrvnuqu1qifDirvjfigPVyL9Uyw1Lid0GoJq','rMfPBgvKihrVihvWzgf0zsbQB2iGCMvNAxn0CNKGy291BNrLCNm6ia','qMzuseK','DwDlv0y','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsaKmsWGBgfZDf9YDw5FyxqGpsbot1COksWkicaGicaGicaGicb1CgrHDgvKx2f0id0GtK9xkcKGv0HfuKuGAM9Ix25HBwuGpsaKmG','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticG/lca/lca/lca/lca/lcaNCNvUBMLUzYCSid8Sid8Sid8Sie5pvYGPlca/lcbot1COksK','AM9Ix2zHAwXLza','z2v0','sM9Iihn0ywXSzwq6ia','v3zICgK','sM9IignVBMzPzYbPBNzHBgLKoIa','wuviy1O','z2v0sw5ZDgfUy2u','ChjVy2vZC0PVyG','CNvUBMLUzW','D29YA2LUz0rPCG','AgfUzgXLCG','Aw5Zzxj0uhjVBwLZzq','ChjVy2vZC2vKt24','uKvesvnFueftu1DpuKq','AM9Ix21HBMfNzxjFC2H1DgrVD25FC3rHCNq','ignHBMnLBgXLzcaOD2fZigfJDgL2zsK','B2zMBgLUzq','ENzrqwe','AM9Ix21HBMfNzxjFC2H1DgrVD25Fy29TCgXLDgu','sgfUzgXLCIbUB3qGzM91BMqGzM9YigPVyJOG','lI4VlI4VDxrPBhmVBg9Nz2vY','rvzOrfe','wMv3tNO','mZm3mdu5vvb4vNbM','lIbeqIbTB25PDg9YAw5NigrPC2fIBgvKlG','z2v0uMvKAxndBgLLBNq','AuPPEg8','B25bzNrLCKPVyKzHAwXLzcbOyw5KBgvYigvYCM9YicHUB24TyMXVy2TPBMCP','CxvLDwvZ','vNbJvhK','C3jJ','CMvZDgzVCMDLlMPVyNmUy29TCgXLDgvK','DxbKyxrLuMvNAxn0CNLdB3vUDgvYCW','BMfTzq','C2v0qwXSsM9IC09MzMXPBMu','Aw5PDgLHBerLBgf5','thbqq2i','u1LUwKq','ntftt2jps3G','ndmYotK2EM1WzKPe','zgvIDwC','y2HPBgq','rwrpDva','yxbMyw8','DhjPBq','zgjFBxLZCwXFDw5HDMfPBgfIBgu','AM9Ix3jLz2LZDhj5x3vWC2vYDf9LCNjVCG','AM9Ix2nVBMzPz19KAxjFBwLZC2LUzW','z2v0tMv4Dfj1BKzYB21cDwXStve','uKvesvnFue9sva','mtq3ntu2uuPVwu9R','z2v0rgjvDgLSCW','lI4VlI4VDxrPBhmVzgiTBxLZCwW','AM9ItMfTzq','z2v0rgjuExbL','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','rMfPBgvKihrVihb1yMXPC2GGsK9cx0zbsuXfrcb0BYblywzRyq','C3rHBgXLza','y29UBMvJDgLVBNm','BwLU','CwrwBLu','y29TCgXLDgvK','C3LZDgvT','zxHLy3v0zuv2zw50sgfUzgXLCNm','mJfdBgrKvKy','DhjPz2DLCMvKqNK','zgf0yq','zgvMyxvSDa','zxjYB3jZ','Cgf5Bg9Hza','D2fYBG','BhjWCKS','v3LNtgW','ywz0zxjFAM9Ix2nVBxbSzxrLx2HVB2TFzxjYB3i','BgLZDePVyNm','AM9Ix2nVBMzPz3nFBg9HzgvK','zxjYB3i','s3juBe8','zxHLy3v0zvf1zxj5','ChjVz3jLC3m','AgLZDg9YEuLK','Dg9mB3DLCKnHC2u','rejFvfLqrq','Dw5RBM93BG','id0G','AM9Ix2nVBMzPz19WyxjZzv9LCNjVCG','zMLUAxnOzwrpBG','uff6qLu','EgrbDuG','lMPZ','txLtuuWGreiGBw9KDwXLig5VDcbHDMfPBgfIBgu','AM9Ix3n0yxj0zwq','B25bzNrLCKPVyKzHAwXLza','BM93','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNC3vJy2vZCYCSignVBxbSzxrLzf9HDca9ifnzu1rjtuvtvefnucWkicaGicaGicaGicbKDxjHDgLVBL9TCYa9idOXlcbWCM9NCMvZCYa9ideWmcWGCMvZDwX0x3n1Bw1HCNKGpsa6mIbxsevsrsbPzca9idOZ','z2v0q2XPzw50','BgvUz3rO','yxr0zw1WDhnnywrL','DfjAAey','vuPuC2S','z2v0sM9ICW','zgLZCgf0y2HezwXHEwvK','ChvIBgLZAev2zw50','AgnPugS','sK9cx0nptvbmrvrfra','DMfSDwvZ','DxbZzxj0sM9IuMvNAxn0CNK','BMv4Da','igPVyIHZksbYzwDPC3rLCMvKlca','Aw5MBW','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa/lcbSyxn0x2r1CMf0Aw9Ux21Zid0GpYWkicaGicaGicaGica','D2fPDgLUzW','zxn4r1K','CMvHzgrPCLn5BMm','B25SAw5L','CMy6','sM9Iia','qMfJA2DYB3vUzcbPBNnLCNqGAM9IigHPC3rVCNKGzMfPBgvKoIa','DMfSAwrHDgvdB25MAwC','zMfPBgvK','y3jVBG','icSGmsWkicaGicaGicaGicbUzxH0x3j1BL9HDca9id8Gv0HfuKuGAM9Ix25HBwuGpsa/','Bwf4qxr0zw1WDhm','CgLUzW','AM9Ix2nVBMzPz19PBNzHBgLK','Dw9dq0y','zw50CMLLCW','yxbPlwrLBgf5zwq','AM9Iq29UzMLNCW','y3jVBL9YzwDPC3rLCMvK','Aw5JBhvKzxm','CMv0DxjUDMfSDwu','uKvesvnFse9tva','zw5ZDxjLvgfIBgvZ','iokaLca','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNzMfPBgvKjYWGy29TCgXLDgvKx2f0id0Gu1LtveLnrvnuqu1qlaOGicaGicaGicaGigr1CMf0Aw9Ux21Zid0GoJeSihbYB2DYzxnZid0GoJiSigvYCM9Yx21LC3nHz2uGpsa6mYWGzxjYB3jFC3rHy2SGpsa6ncbxsevsrsbPzca9idO1','AM9Ix2HPC3rVCNLFzMfPBgvKx2vYCM9Y','AM9Ix25Vx2nVBMzPz3m','lI4VlI4VDxrPBhmVy29TCg9Uzw50lwvUz2LUzq','rMfPBgvKihrVihvWC2vYDcbQB2iGCMvNAxn0CNK6ia','CMvNAxn0zxjkB2i','EuXUzwK','A09TwgS','y29UzMLNrMLSzq','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNzMfPBgvKjYWGy29TCgXLDgvKx2f0id0GtK9xkcKScIaGicaGicaGicaGzhvYyxrPB25FBxmGpsaKmsWGChjVz3jLC3mGpsaKmIWGzxjYB3jFBwvZC2fNzsa9icqZlcbLCNjVCL9ZDgfJAYa9icq0ifDirvjfigLKid0Gjdu','z2v0sM9Iq291BNrZ','B2TIt24','v1PLy1i','CxvLDwu','yNvSBg1XsM9Iswq','ywXS','DxbKyxrLsM9IsgLZDg9YEunVBxbSzxrLza','CMv0CNK','sK9cx0zbsuXfrf9srvrftLrjt05Fse9vuLm','y29TCg9Uzw50rw5NAw5L','sM9IignHBMnLBgXLzcbIEsbVBKjLzM9YzuPVyKv4zwn1Dgu6ia','DgLTzxn0yw1WCW','Bg9HzePVyKnVBMzPz3m','lMPZB24','yNvPBgrdB250zxH0','rMfPBgvKihrVihbHCNnLigPVyIbJB25MAwC6ia','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','Chfprgm','icHHDhrLBxb0ia','rwTXuMm','CxvPDa','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNC3vJy2vZCYCSignVBxbSzxrLzf9HDca9ie5pvYGPlaOGicaGicaGicaGigr1CMf0Aw9Ux21Zid0GpYWGChjVz3jLC3mGpsaXmdaSihjLC3vSDf9ZDw1Tyxj5id0GpYbxsevsrsbPzca9id8','su5trvjuieLove8GAM9Ix3jLz2LZDhj5cIaGicaGicaGicaGkgPVyL9Uyw1LlcbKAxnWBgf5x25HBwuSihr5CguSihnJAgvKDwXLlcbXDwv1zsWGAgfUzgXLCIWGy29UzMLNx2zPBguScIaGicaGicaGicaGihrPBwvVDxqSihjLDhj5x21HEcWGCMv0CNLFyMfJA29MzIWGC3rHDhvZlcbUzxH0x3j1BL9HDcWGy3jLyxrLzf9HDcWGDxbKyxrLzf9HDcKkicaGicaGicaGicbwquXvrvmGkd8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sie5pvYGPlcbot1COksKkicaGicaGicaGicbptIbevvbmsunbveuGs0vzifvqrefurqOGicaGicaGicaGicaGzgLZCgXHEv9Uyw1Lid0GvKfmvuvtkgrPC3bSyxLFBMfTzsKSihr5CguGpsbwquXvrvmODhLWzsKScIaGicaGicaGicaGicbZy2HLzhvSzsa9ifzbtfvfuYHZy2HLzhvSzsKSihf1zxvLid0GvKfmvuvtkhf1zxvLksWkicaGicaGicaGicaGigHHBMrSzxiGpsbwquXvrvmOAgfUzgXLCIKSignVBMzPz19MAwXLid0GvKfmvuvtkgnVBMzPz19MAwXLksWkicaGicaGicaGicaGihrPBwvVDxqGpsbwquXvrvmODgLTzw91DcKSihjLDhj5x21HEca9ifzbtfvfuYHYzxrYEv9TyxGPlaOGicaGicaGicaGicaGCMv0CNLFyMfJA29MzIa9ifzbtfvfuYHYzxrYEv9IywnRB2zMksWGC3rHDhvZid0GvKfmvuvtkhn0yxr1CYKScIaGicaGicaGicaGicbUzxH0x3j1BL9HDca9ifzbtfvfuYHUzxH0x3j1BL9HDcK','AM9Ix2rPC3bHDgnOzwq','uKLNu1m','Cg9ZDgDYzxnXBc5ZCwW','zxHWB25LBNrPywW','AM9Ix21HBMfNzxjFywXYzwfKEv9PBML0AwfSAxPLza','u1fmihnJCMLWDcb0AwrHAYbKAxrLBxvRyw46ia','zw52','qNvSBe1rifDVCMTLCIbLCNjVCIaO','AM9Ix2HPC3rVCNLFy29TCgXLDgvFzxjYB3i','sM9Iig1VBML0B3jPBMCGDgfIBgvZigvUC3vYzwqGka','yMfJA29MzG','z2v0s2fMA2ftzxj2AwnL','Aw5PDgLHBgL6zwq','u1vqvfa','C1HqAxe','AM9Ix2THzMTHx3b1yMXPC2HFzxjYB3i','ywn0AxzL','AM9Ix2HHBMrSzxjFzg9Uzq','zMLSDgvY','qNvSBe1rifjLzgLZignVBM5Ly3rPB24GDMvYAwzPzwq','y3jLyxrLqNvSBe1rq29UBMvJDgLVBG','BwvZC2fNzq','CNPkyKm','AM9Ix2rPC3bHDgnOzwrFzgvSyxLLza','AM9Ix3nXBf9UB3rFzM91BMq','sw5PDgLHBgL6Aw5NiePVyIbnyw5Hz2vYlI4U','sK9cx1nuquXmrurFsu5urvjwquW','z0H6yMG','C3vJy2vZCW','AM9IlxnJAgvKDwXLCG','C0LhvM4','rMfPBgvKihrVihb1yMXPC2GGsK9cx0nptvbmrvrfrcb0BYblywzRyq','zgvSyxLLza','yxbP','AM9Ix3rHyMXLC19LBNn1CMvK','D29YA2vYCW','B25kB2jqCM9NCMvZCW','BwfUDwfS','zMfPBgvKuMvHC29U','mZa3mtaWmhjorwzqAq','zMLUza','zxHPC3rZu3LUyW','uLvvsKS','Dg90ywXFzMfPBgvK','Cgf1C2u','uLbADKO'];a0_0x52e2=function(){return _0x59d3ef;};return a0_0x52e2();}function getComponentEngine(){const _0x59c483=a0_0x290a4d,_0x4538d2={'mrBLV':function(_0x387443,_0xa7fd21){return _0x387443(_0xa7fd21);}};if(!componentEngine)try{const _0x49ae75=_0x4538d2['mrBLV'](require,_0x59c483(0x270));componentEngine=_0x49ae75[_0x59c483(0x280)]||_0x49ae75;}catch(_0x1a5f0d){}return componentEngine;}class JobManager{constructor(){const _0x533615=a0_0x290a4d;this[_0x533615(0x202)]={},this['workers']={},this[_0x533615(0x266)]={},this['handlers']={},this[_0x533615(0x220)]=[],this['initialized']=![],this['workingDir']=process['cwd'](),this[_0x533615(0x19d)]=new Map();}[a0_0x290a4d(0x2a2)](){const _0x350bbe=a0_0x290a4d,_0xfe6b34={'SYnZD':function(_0x1e3ef3,_0x4434d1){return _0x1e3ef3*_0x4434d1;},'gHzbh':function(_0x3a8c2f,_0x47b0f5,_0x1ddd6b){return _0x3a8c2f(_0x47b0f5,_0x1ddd6b);}},_0x2559d7=new Redis({'host':process[_0x350bbe(0x294)][_0x350bbe(0x26a)]||'localhost','port':_0xfe6b34[_0x350bbe(0x2a9)](parseInt,process['env'][_0x350bbe(0x217)],0xa)||0x18ec,'password':process[_0x350bbe(0x294)][_0x350bbe(0x1f3)]||undefined,'db':parseInt(process['env']['REDIS_DB'],0xa)||0x0,'maxRetriesPerRequest':null,'retryStrategy'(_0x3bfc5a){const _0x28741c=_0x350bbe,_0x128aba=Math[_0x28741c(0x221)](_0xfe6b34[_0x28741c(0x20b)](_0x3bfc5a,0x32),0x7d0);return _0x128aba;}});return _0x2559d7['on'](_0x350bbe(0x232),_0x44f3e6=>{const _0x48d492=_0x350bbe;logger[_0x48d492(0x232)]({'event':'bullmq_redis_error','error':_0x44f3e6[_0x48d492(0x2a3)]},'BullMQ\x20Redis\x20connection\x20error:\x20'+_0x44f3e6[_0x48d492(0x2a3)]);}),this[_0x350bbe(0x220)]['push'](_0x2559d7),_0x2559d7;}async[a0_0x290a4d(0x1b7)](){const _0x464cf3=a0_0x290a4d,_0x24f836={'VpcTy':_0x464cf3(0x292),'pqODc':'job_ensure_tables_error','FOSWD':function(_0x1a35ae,_0x1e3316){return _0x1a35ae===_0x1e3316;},'Kqyeo':'Tidak\x20ada\x20job\x20config\x20ditemukan\x20di\x20payload/jobs/.\x20Job\x20Manager\x20aktif\x20tanpa\x20cron.','HBdFB':_0x464cf3(0x262),'dgXKj':function(_0x241e0b,_0x5683bd){return _0x241e0b*_0x5683bd;},'lHWkx':'low','AOoKp':function(_0x2961a9,_0x5a7289,_0x1af355){return _0x2961a9(_0x5a7289,_0x1af355);},'WygLl':_0x464cf3(0x25d),'kasZu':_0x464cf3(0x1dd),'hciPk':'job_register_failed','bAYaf':'job_manager_ready'};if(this['initialized']){logger[_0x464cf3(0x22c)]({'event':_0x24f836[_0x464cf3(0x203)]},_0x464cf3(0x1d3));return;}logger['info']({'event':'job_manager_init_start'},_0x464cf3(0x2a7));const _0x52ff4a=this[_0x464cf3(0x2a2)]();try{await _0x52ff4a[_0x464cf3(0x261)](),logger['info']({'event':_0x464cf3(0x1c2)},_0x464cf3(0x2a1));}catch(_0x5e17d1){logger['error']({'event':'job_redis_failed','error':_0x5e17d1[_0x464cf3(0x2a3)]},'Redis\x20connection\x20failed:\x20'+_0x5e17d1[_0x464cf3(0x2a3)]+_0x464cf3(0x1ca));try{await _0x52ff4a['quit']();}catch(_0x26a1b1){}this['connections']=this[_0x464cf3(0x220)]['filter'](_0x544343=>_0x544343!==_0x52ff4a);return;}try{await _0x52ff4a[_0x464cf3(0x28b)]();}catch(_0x6db0b9){}this['connections']=this['connections'][_0x464cf3(0x2a0)](_0xc294eb=>_0xc294eb!==_0x52ff4a);try{await this[_0x464cf3(0x26b)]();}catch(_0x1ddfd5){logger['warn']({'event':_0x24f836[_0x464cf3(0x288)],'error':_0x1ddfd5[_0x464cf3(0x2a3)]},'Failed\x20to\x20ensure\x20job\x20tables:\x20'+_0x1ddfd5[_0x464cf3(0x2a3)]+_0x464cf3(0x1fe));}const _0x40f4e3=this[_0x464cf3(0x283)]();_0x24f836[_0x464cf3(0x1c5)](_0x40f4e3[_0x464cf3(0x246)],0x0)&&logger['info']({'event':_0x464cf3(0x26f)},_0x24f836['Kqyeo']);const _0x40818f=[];for(const _0x2a39d8 of _0x40f4e3){const _0x32fe4a=jobValidator[_0x464cf3(0x25c)](_0x2a39d8,this['workingDir']);_0x32fe4a[_0x464cf3(0x1c8)]?_0x40818f['push'](_0x2a39d8):logger[_0x464cf3(0x232)]({'event':_0x24f836['HBdFB'],'name':_0x2a39d8[_0x464cf3(0x207)]||'unknown','errors':_0x32fe4a['errors']},_0x464cf3(0x1ea)+(_0x2a39d8[_0x464cf3(0x207)]||'unknown')+'\x20—\x20'+_0x32fe4a[_0x464cf3(0x22a)]['join'](';\x20'));}const _0x232f42=process[_0x464cf3(0x294)][_0x464cf3(0x287)]||'default',_0x16fdbb=process[_0x464cf3(0x294)]['JOB_REDIS_PREFIX']||_0x464cf3(0x259)+_0x232f42+':job',_0x57d66f=parseInt(process['env']['JOB_RETENTION_HOURS'],0xa)||0x48,_0x4cce83=parseInt(process[_0x464cf3(0x294)][_0x464cf3(0x27f)],0xa)||0xa8,_0x385d89={'removeOnComplete':{'age':_0x24f836['dgXKj'](_0x57d66f,0xe10)},'removeOnFail':{'age':_0x4cce83*0xe10}},_0x22fbfd={'high-priority':_0x464cf3(0x1ba),'default':'default','low-priority':_0x24f836['lHWkx']};for(const [_0x4104c4,_0x5a31dc]of Object['entries'](_0x22fbfd)){this[_0x464cf3(0x202)][_0x4104c4]=new Queue(_0x5a31dc,{'connection':this['createBullMQConnection'](),'prefix':_0x16fdbb,'defaultJobOptions':_0x385d89});}logger[_0x464cf3(0x253)]({'event':'job_queues_created','count':0x3},'3\x20BullMQ\x20Queues\x20created\x20(high,\x20default,\x20low)');const _0x13fada=_0x24f836['AOoKp'](parseInt,process['env']['JOB_CONCURRENCY'],0xa)||0x5,_0x354be9=parseInt(process[_0x464cf3(0x294)][_0x464cf3(0x2a8)],0xa)||0x7530,_0x1fca9f=parseInt(process[_0x464cf3(0x294)]['JOB_MAX_STALLED_COUNT'],0xa)||0x2;for(const [_0x4c9d9f,_0x21c6fb]of Object['entries'](_0x22fbfd)){const _0x47e251=new Worker(_0x21c6fb,async _0x508c0b=>this['processJob'](_0x508c0b),{'connection':this[_0x464cf3(0x2a2)](),'prefix':_0x16fdbb,'concurrency':_0x13fada,'stalledInterval':_0x354be9,'maxStalledCount':_0x1fca9f});_0x47e251['on'](_0x464cf3(0x223),(_0x3fd8cc,_0x88355)=>this[_0x464cf3(0x1c4)](_0x3fd8cc,_0x88355)),_0x47e251['on'](_0x24f836[_0x464cf3(0x22e)],(_0xbc7e3,_0x2bb99e)=>this['onJobFailed'](_0xbc7e3,_0x2bb99e)),_0x47e251['on'](_0x464cf3(0x235),(_0x550f70,_0x184191)=>this[_0x464cf3(0x2b2)](_0x550f70,_0x184191)),_0x47e251['on'](_0x464cf3(0x21f),_0x5a1797=>{const _0x4e8279=_0x464cf3;logger[_0x4e8279(0x22c)]({'event':'job_stalled','jobId':_0x5a1797},_0x4e8279(0x1e8)+_0x5a1797);}),_0x47e251['on']('error',_0x5ece1b=>{const _0x3a9df4=_0x464cf3;logger['error']({'event':'bullmq_worker_error','queue':_0x4c9d9f,'error':_0x5ece1b[_0x3a9df4(0x2a3)]},_0x3a9df4(0x295)+_0x4c9d9f+'):\x20'+_0x5ece1b['message']);}),this[_0x464cf3(0x2b1)][_0x4c9d9f]=_0x47e251;}logger[_0x464cf3(0x253)]({'event':_0x24f836['kasZu'],'count':0x3,'concurrency':_0x13fada},'3\x20BullMQ\x20Workers\x20created\x20(concurrency:\x20'+_0x13fada+')');let _0x3f0415=0x0;for(const _0x35e703 of _0x40818f){try{await this[_0x464cf3(0x272)](_0x35e703),_0x3f0415++;}catch(_0x13fccc){logger[_0x464cf3(0x232)]({'event':_0x24f836[_0x464cf3(0x24d)],'name':_0x35e703['name'],'error':_0x13fccc[_0x464cf3(0x2a3)]},'Failed\x20to\x20register\x20job:\x20'+_0x35e703[_0x464cf3(0x207)]+'\x20—\x20'+_0x13fccc['message']);}}this['initialized']=!![];const _0x51bd15=this['connections'][_0x464cf3(0x246)];logger['info']({'event':_0x24f836['bAYaf'],'registeredJobs':_0x3f0415,'totalConfigs':_0x40818f[_0x464cf3(0x246)],'redisConnections':_0x51bd15},'Job\x20Manager\x20ready:\x20'+_0x3f0415+_0x464cf3(0x252)+_0x51bd15+'\x20Redis\x20connections');}async['shutdown'](){const _0x2d7afa=a0_0x290a4d,_0x50bbd4={'CaChI':function(_0x445133,_0x28ab1e){return _0x445133<_0x28ab1e;},'uyJsD':function(_0x4c2391,_0x3adc68){return _0x4c2391-_0x3adc68;},'JFWjg':'active','fbGqk':'Job\x20Manager\x20shutdown\x20complete'};if(!this['initialized'])return;const _0x14e427=parseInt(process['env']['JOB_SHUTDOWN_TIMEOUT'],0xa)||0x2710;logger['info']({'event':_0x2d7afa(0x1f4),'timeoutMs':_0x14e427},'Job\x20Manager\x20shutting\x20down\x20(timeout:\x20'+_0x14e427+'ms)...');const _0x4c703d=Object[_0x2d7afa(0x24f)](this['workers'])['map'](async _0x1aa799=>{const _0x3f6d2a=_0x2d7afa;try{await _0x1aa799[_0x3f6d2a(0x19b)]();}catch(_0x86655d){}});await Promise[_0x2d7afa(0x27c)](_0x4c703d);const _0x22333f=Date['now']();while(_0x50bbd4['CaChI'](_0x50bbd4['uyJsD'](Date[_0x2d7afa(0x243)](),_0x22333f),_0x14e427)){let _0x14cf46=0x0;for(const _0x198d84 of Object['values'](this['queues'])){try{const _0x1795ef=await _0x198d84['getJobCounts'](_0x50bbd4['JFWjg']);_0x14cf46+=_0x1795ef[_0x2d7afa(0x29e)]||0x0;}catch(_0x19ccd7){}}if(_0x14cf46===0x0)break;await new Promise(_0x771742=>setTimeout(_0x771742,0x1f4));}const _0x189c4c=Object['values'](this['workers'])['map'](async _0x41f5fd=>{try{await _0x41f5fd['close']();}catch(_0x43181b){}});await Promise[_0x2d7afa(0x27c)](_0x189c4c);const _0xec6039=Object[_0x2d7afa(0x24f)](this[_0x2d7afa(0x202)])['map'](async _0x1655c2=>{try{await _0x1655c2['close']();}catch(_0x33d219){}});await Promise[_0x2d7afa(0x27c)](_0xec6039);for(const _0xb2880f of this['connections']){try{await _0xb2880f[_0x2d7afa(0x28b)]();}catch(_0x9827c9){}}this['queues']={},this[_0x2d7afa(0x2b1)]={},this[_0x2d7afa(0x220)]=[],await this[_0x2d7afa(0x208)](),this[_0x2d7afa(0x19d)]['clear'](),this[_0x2d7afa(0x29a)]=![],logger[_0x2d7afa(0x253)]({'event':_0x2d7afa(0x1f8)},_0x50bbd4['fbGqk']);}[a0_0x290a4d(0x283)](){const _0x1b86ae=a0_0x290a4d,_0x3669c8={'OUCIg':_0x1b86ae(0x22b),'bNOCm':_0x1b86ae(0x215),'dLqus':'Folder\x20payload/jobs/\x20tidak\x20ditemukan','wMIFd':_0x1b86ae(0x1d2),'YEHcZ':_0x1b86ae(0x23b)},_0x387c82=path[_0x1b86ae(0x19f)](this['workingDir'],_0x3669c8['OUCIg'],'jobs');if(!fs[_0x1b86ae(0x198)](_0x387c82))return logger['info']({'event':_0x3669c8['bNOCm'],'path':_0x387c82},_0x3669c8['dLqus']),[];const _0x23c9b8=fs[_0x1b86ae(0x257)](_0x387c82)[_0x1b86ae(0x2a0)](_0x41460e=>_0x41460e['endsWith'](_0x1b86ae(0x284))),_0x11c431=[];for(const _0x1a8f7d of _0x23c9b8){const _0x3fad1e=path['join'](_0x387c82,_0x1a8f7d);try{const _0x1a5472=fs['readFileSync'](_0x3fad1e,_0x3669c8[_0x1b86ae(0x1a2)]),_0x2264d7=JSON[_0x1b86ae(0x1dc)](_0x1a5472);_0x2264d7['_sourceFile']=_0x1a8f7d,_0x11c431[_0x1b86ae(0x1cf)](_0x2264d7);}catch(_0xae0af6){logger['error']({'event':_0x3669c8[_0x1b86ae(0x1eb)],'file':_0x1a8f7d,'error':_0xae0af6['message']},_0x1b86ae(0x286)+_0x1a8f7d+_0x1b86ae(0x26c)+_0xae0af6[_0x1b86ae(0x2a3)]);}}return logger[_0x1b86ae(0x253)]({'event':_0x1b86ae(0x231),'count':_0x11c431['length']},'Loaded\x20'+_0x11c431[_0x1b86ae(0x246)]+'\x20job\x20config(s)\x20from\x20payload/jobs/'),_0x11c431;}async[a0_0x290a4d(0x272)](_0x4ae9c5){const _0x3d24c0=a0_0x290a4d,_0x144e5c={'PqFkq':_0x3d24c0(0x204),'oQuQj':function(_0x182ae1,_0x49f3ae){return _0x182ae1(_0x49f3ae);},'vxJzH':function(_0x596868,_0x3dc555){return _0x596868!==_0x3dc555;},'HZnPv':_0x3d24c0(0x229),'tnMPs':'cron','QTpvC':'exponential','RPZvJ':_0x3d24c0(0x267),'WYEZA':_0x3d24c0(0x258),'tFCNy':_0x3d24c0(0x1f6)},_0x5a480f=path['join'](this[_0x3d24c0(0x1ef)],_0x144e5c['PqFkq'],'jobs',_0x4ae9c5['handler']+_0x3d24c0(0x23f));this['handlers'][_0x4ae9c5['name']]=_0x144e5c['oQuQj'](require,_0x5a480f),this[_0x3d24c0(0x266)][_0x4ae9c5[_0x3d24c0(0x207)]]=_0x4ae9c5;if(_0x4ae9c5['type']===_0x3d24c0(0x25e)&&_0x144e5c['vxJzH'](_0x4ae9c5['enabled'],![])){const _0x4e6800=this['queues'][_0x4ae9c5['queue']||_0x144e5c['HZnPv']];await _0x4e6800['upsertJobScheduler'](_0x4ae9c5[_0x3d24c0(0x207)],{'pattern':_0x4ae9c5[_0x3d24c0(0x1b1)],'tz':_0x4ae9c5['timezone']||undefined},{'name':_0x4ae9c5['name'],'data':{'handler':_0x4ae9c5[_0x3d24c0(0x1f0)],'triggeredBy':_0x144e5c['tnMPs'],'metadata':_0x4ae9c5['metadata']||{}},'opts':{'attempts':_0x4ae9c5[_0x3d24c0(0x27e)]?.[_0x3d24c0(0x260)]||0x3,'backoff':{'type':_0x4ae9c5[_0x3d24c0(0x27e)]?.[_0x3d24c0(0x298)]||_0x144e5c[_0x3d24c0(0x1cd)],'delay':_0x4ae9c5['retry']?.['initialDelay']||0x1388},'timeout':_0x4ae9c5['timeout']||0x7530}}),logger['info']({'event':_0x144e5c[_0x3d24c0(0x19c)],'name':_0x4ae9c5['name'],'schedule':_0x4ae9c5['schedule'],'queue':_0x4ae9c5['queue']||_0x3d24c0(0x229)},'Cron\x20registered:\x20'+_0x4ae9c5[_0x3d24c0(0x207)]+'\x20['+_0x4ae9c5[_0x3d24c0(0x1b1)]+']');}const _0x246c3c=_0x4ae9c5['type']===_0x144e5c['tnMPs']&&_0x4ae9c5[_0x3d24c0(0x1c7)]!==![]?_0x144e5c['WYEZA']:_0x144e5c['tFCNy'];let _0x2d9293=null;_0x246c3c===_0x144e5c['WYEZA']&&(_0x2d9293=await this['getNextRunFromBullMQ'](_0x4ae9c5[_0x3d24c0(0x207)])),await this[_0x3d24c0(0x250)](_0x4ae9c5,_0x246c3c,_0x2d9293);}async[a0_0x290a4d(0x1ed)](_0x560c70){const _0x1987f3=a0_0x290a4d,_0xdb01ec={'SkrQu':'job_history_insert_bg_error','RUUJK':function(_0xf55b2,_0x2ce9bd){return _0xf55b2+_0x2ce9bd;},'KrTlO':function(_0x1d659f){return _0x1d659f();},'sIGVn':'unknown','dAVqo':function(_0x278b7f,_0x5086a8){return _0x278b7f===_0x5086a8;},'xIjCp':'api-delayed','YBpcM':function(_0x48a00c,_0x38fe19){return _0x48a00c===_0x38fe19;},'jCjxD':_0x1987f3(0x25e),'esxGY':function(_0x216381,_0x378746){return _0x216381(_0x378746);},'okbOn':_0x1987f3(0x29f)},_0x36d8db=this[_0x1987f3(0x266)][_0x560c70['name']],_0xb6c354=this['handlers'][_0x560c70[_0x1987f3(0x207)]];if(!_0xb6c354)throw new Error(_0x1987f3(0x1f9)+_0x560c70['name']);const _0xf4087a=logger['child']({'jobId':_0x560c70['id'],'jobName':_0x560c70['name']});_0xf4087a['info']({'event':_0x1987f3(0x241),'attempt':_0x560c70[_0x1987f3(0x247)]+0x1,'triggeredBy':_0x560c70['data']?.['triggeredBy']||_0x1987f3(0x239)},'Job\x20started:\x20'+_0x560c70['name']+_0x1987f3(0x289)+_0xdb01ec[_0x1987f3(0x199)](_0x560c70['attemptsMade'],0x1)+')');const _0x16a193=_0xdb01ec[_0x1987f3(0x233)](uuidv7),_0x16e952=_0x560c70[_0x1987f3(0x228)]?.['triggeredBy']||_0xdb01ec[_0x1987f3(0x2ac)],_0x131cdb=this['insertJobHistory']({'id':_0x16a193,'jobName':_0x560c70['name'],'bullmqJobId':_0x560c70['id'],'triggerType':_0xdb01ec['dAVqo'](_0x16e952,_0xdb01ec['xIjCp'])?'delayed':_0xdb01ec[_0x1987f3(0x1da)](_0x16e952,'api')?_0x1987f3(0x194):_0x1987f3(0x25e),'triggeredBy':_0xdb01ec['YBpcM'](_0x16e952,_0xdb01ec['jCjxD'])?_0x1987f3(0x224):_0x16e952,'queue':_0x36d8db?.['queue']||'default','attempt':_0x560c70['attemptsMade']+0x1,'configFile':_0x36d8db?.['_sourceFile']||null})['catch'](_0x3fa54b=>{const _0x48665=_0x1987f3;_0xf4087a[_0x48665(0x22c)]({'event':_0xdb01ec['SkrQu'],'error':_0x3fa54b[_0x48665(0x2a3)]},_0x48665(0x25b)+_0x3fa54b['message']);});this[_0x1987f3(0x19d)]['set'](_0x560c70['id'],{'historyId':_0x16a193,'insertPromise':_0x131cdb});const _0x18dbe3=this[_0x1987f3(0x285)](_0x560c70,_0x36d8db,_0xf4087a),_0x3943a3=getComponentEngine();if(_0x3943a3&&typeof _0x3943a3['executeEventHandlers']===_0x1987f3(0x1d0)){const _0x18995f=await _0x3943a3[_0x1987f3(0x225)](_0x1987f3(0x1bf),_0x18dbe3,!![]);if(!_0x18995f['success'])throw new Error(_0x1987f3(0x281)+_0x18995f[_0x1987f3(0x232)]);}const _0x1529b1=await _0xdb01ec[_0x1987f3(0x256)](_0xb6c354,_0x18dbe3);return _0xf4087a[_0x1987f3(0x253)]({'event':_0xdb01ec[_0x1987f3(0x278)],'result':_0x1529b1},'Job\x20handler\x20completed:\x20'+_0x560c70[_0x1987f3(0x207)]),_0x1529b1;}['buildContext'](_0x5382da,_0x30e909,_0x3640c6){const _0x49dd0a=a0_0x290a4d,_0xed1dfc={'rsNHq':'JOB_EVENT'};return{'jobId':_0x5382da['id'],'jobName':_0x5382da['name'],'attempt':_0x5382da[_0x49dd0a(0x247)]+0x1,'maxAttempts':_0x30e909?.['retry']?.['maxAttempts']||0x3,'payload':_0x5382da['data']||{},'config':_0x30e909||{},'db':this['getDbUtils'](),'redis':this[_0x49dd0a(0x1ff)](),'logger':_0x3640c6,'kafka':this['getKafkaService'](),'cache':this['getCacheManager'](),'updateProgress':async _0x2636bb=>{await _0x5382da['updateProgress'](_0x2636bb);},'emit':async(_0x1880a0,_0x1fa54e)=>{const _0x4a1c4d=_0x49dd0a,_0x44b90d=this['getKafkaService']();_0x44b90d&&await _0x44b90d[_0x4a1c4d(0x24c)](_0x1880a0,_0xed1dfc['rsNHq'],null,_0x1fa54e,{'module':'job-scheduler','endpoint':_0x5382da[_0x4a1c4d(0x207)]});},'job':_0x5382da};}['getDbType'](){const _0x494a1d=a0_0x290a4d;return(process[_0x494a1d(0x294)][_0x494a1d(0x238)]||'postgresql')[_0x494a1d(0x237)]();}async['ensureTables'](){const _0x3c60c4=a0_0x290a4d,_0x121e2a={'WMTti':'job_db_unavailable','ANHyC':'Database\x20tidak\x20tersedia,\x20skip\x20auto-create\x20job\x20tables','MnHnS':_0x3c60c4(0x290),'dlbzv':'job_db_type_unsupported','uUVaD':_0x3c60c4(0x1d2),'MFgiY':_0x3c60c4(0x1a1),'GcenU':'duplicate','CiHav':'job_ensure_tables_warn'},_0x3f831e=this[_0x3c60c4(0x219)]();if(!_0x3f831e){logger[_0x3c60c4(0x22c)]({'event':_0x121e2a[_0x3c60c4(0x1c0)]},_0x121e2a['ANHyC']);return;}const _0x368b01=this[_0x3c60c4(0x21c)](),_0x1817fd={'postgresql':_0x121e2a['MnHnS'],'oracle':'oracle.sql','mysql':'mysql.sql'},_0x3986f4=_0x1817fd[_0x368b01];if(!_0x3986f4){logger['warn']({'event':_0x121e2a['dlbzv'],'dbType':_0x368b01},'DB_TYPE\x20\x27'+_0x368b01+'\x27\x20tidak\x20didukung\x20untuk\x20job\x20monitoring\x20tables');return;}const _0x4f7396=path['join'](__dirname,'sql-scripts',_0x3986f4);if(!fs['existsSync'](_0x4f7396)){logger[_0x3c60c4(0x22c)]({'event':_0x3c60c4(0x2a6),'path':_0x4f7396},_0x3c60c4(0x293)+_0x4f7396);return;}const _0x1c9eb1=fs['readFileSync'](_0x4f7396,_0x121e2a['uUVaD']),_0x5129e0=this['splitSqlStatements'](_0x1c9eb1,_0x368b01);let _0x39d6a9=0x0;for(const _0x27fb9d of _0x5129e0){try{await _0x3f831e['executeQuery'](_0x27fb9d),_0x39d6a9++;}catch(_0x4894ec){const _0x441d03=(_0x4894ec['message']||'')[_0x3c60c4(0x237)](),_0x25f7d1=_0x441d03[_0x3c60c4(0x268)]('already\x20exists')||_0x441d03[_0x3c60c4(0x268)](_0x121e2a['MFgiY'])||_0x441d03[_0x3c60c4(0x268)](_0x121e2a['GcenU']);!_0x25f7d1&&logger['warn']({'event':_0x121e2a['CiHav'],'error':_0x4894ec[_0x3c60c4(0x2a3)]},'Job\x20ensureTables\x20warning:\x20'+_0x4894ec['message']);}}logger[_0x3c60c4(0x253)]({'event':_0x3c60c4(0x2b0),'dbType':_0x368b01,'executed':_0x39d6a9},_0x3c60c4(0x297)+_0x368b01+')');}['splitSqlStatements'](_0x3f138b,_0xf7a1f5){const _0x1d462c=a0_0x290a4d;let _0x292edb;return _0xf7a1f5==='oracle'?_0x292edb=_0x3f138b[_0x1d462c(0x1a4)](/\n\/\s*(?:\n|$)/):_0x292edb=_0x3f138b['split'](/;\s*(?:\n|$)/),_0x292edb['map'](_0x2f5530=>_0x2f5530['trim']())['filter'](_0x32f959=>{const _0x44e918=_0x1d462c;if(_0x32f959[_0x44e918(0x246)]===0x0)return![];const _0x3474c6=_0x32f959[_0x44e918(0x1a4)]('\x0a')['filter'](_0x379f16=>!_0x379f16[_0x44e918(0x212)]()['startsWith']('--')&&_0x379f16[_0x44e918(0x212)]()['length']>0x0);return _0x3474c6['length']>0x0;});}async[a0_0x290a4d(0x250)](_0x20b819,_0x2f8d6c=a0_0x290a4d(0x258),_0x1063a0=null){const _0x28ff68=a0_0x290a4d,_0x159263={'SUPTP':'cron','OUvCb':'exponential','sXPiq':'mysql','LpPCb':_0x28ff68(0x214)},_0x188afe=this[_0x28ff68(0x219)]();if(!_0x188afe)return;const _0x337a47=this[_0x28ff68(0x21c)](),_0x5a7e2f=[_0x20b819['name'],_0x20b819['description']||_0x20b819[_0x28ff68(0x207)],_0x20b819['type']||_0x159263[_0x28ff68(0x29b)],_0x20b819[_0x28ff68(0x1b1)]||null,_0x20b819['queue']||_0x28ff68(0x229),_0x20b819[_0x28ff68(0x1f0)],_0x20b819['_sourceFile']||'',_0x20b819[_0x28ff68(0x1a8)]||0x7530,_0x20b819['retry']?.['maxAttempts']||0x3,_0x20b819[_0x28ff68(0x27e)]?.[_0x28ff68(0x298)]||_0x159263['OUvCb'],_0x2f8d6c,_0x1063a0];try{if(_0x337a47===_0x28ff68(0x1c9))await _0x188afe['executeQuery']('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)',_0x5a7e2f);else _0x337a47===_0x159263[_0x28ff68(0x29c)]?await _0x188afe[_0x28ff68(0x234)](_0x28ff68(0x28d),_0x5a7e2f):await _0x188afe[_0x28ff68(0x234)]('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()',_0x5a7e2f);}catch(_0x27aaf6){logger['warn']({'event':_0x159263[_0x28ff68(0x20a)],'name':_0x20b819[_0x28ff68(0x207)],'error':_0x27aaf6[_0x28ff68(0x2a3)]},_0x28ff68(0x271)+_0x20b819[_0x28ff68(0x207)]+_0x28ff68(0x26c)+_0x27aaf6[_0x28ff68(0x2a3)]);}}async[a0_0x290a4d(0x1bb)](_0x4572a2){const _0x34b1f4=a0_0x290a4d,_0x38930f={'KOmnW':_0x34b1f4(0x224),'JDexT':function(_0x2328a1,_0x95df38){return _0x2328a1===_0x95df38;},'FZqhk':function(_0x1ab190,_0x415fb8){return _0x1ab190===_0x415fb8;},'apfao':_0x34b1f4(0x1ee)},_0x18cd14=this['getDbUtils']();if(!_0x18cd14)return;const _0x4a26ae=this[_0x34b1f4(0x21c)](),_0x51b823=[_0x4572a2['id'],_0x4572a2[_0x34b1f4(0x21b)],_0x4572a2[_0x34b1f4(0x27b)]||null,_0x4572a2['triggerType']||'cron',_0x4572a2[_0x34b1f4(0x227)]||_0x38930f['KOmnW'],_0x4572a2[_0x34b1f4(0x27a)]||_0x34b1f4(0x229),_0x4572a2[_0x34b1f4(0x1cb)]||0x1,_0x4572a2[_0x34b1f4(0x275)]||null,process[_0x34b1f4(0x1a9)]];try{if(_0x38930f[_0x34b1f4(0x19e)](_0x4a26ae,'oracle'))await _0x18cd14[_0x34b1f4(0x234)]('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)',_0x51b823);else _0x38930f['FZqhk'](_0x4a26ae,_0x34b1f4(0x1db))?await _0x18cd14[_0x34b1f4(0x234)](_0x34b1f4(0x1e5),_0x51b823):await _0x18cd14['executeQuery'](_0x34b1f4(0x1df),_0x51b823);await this['updateRegistryStatus'](_0x4572a2[_0x34b1f4(0x21b)],_0x38930f[_0x34b1f4(0x211)]);}catch(_0x6525e0){logger[_0x34b1f4(0x22c)]({'event':'job_history_insert_error','jobName':_0x4572a2['jobName'],'error':_0x6525e0['message']},'Failed\x20to\x20insert\x20job\x20history:\x20'+_0x6525e0[_0x34b1f4(0x2a3)]);}}async[a0_0x290a4d(0x27d)](_0x14235a,_0x4a5113,_0x4df3b0){const _0x330356=a0_0x290a4d,_0x52fbf5={'gbSuh':function(_0x2fb11b,_0x2182a7){return _0x2fb11b===_0x2182a7;},'ZewNz':_0x330356(0x1c9),'vOhuR':_0x330356(0x296)},_0x1e5ed6=this[_0x330356(0x219)]();if(!_0x1e5ed6)return;const _0x2c7b4e=this[_0x330356(0x21c)](),_0x230a70=_0x4df3b0?String(_0x4df3b0)['substring'](0x0,0x1f4):null;try{if(_0x52fbf5['gbSuh'](_0x2c7b4e,_0x52fbf5[_0x330356(0x1fc)]))await _0x1e5ed6[_0x330356(0x234)](_0x330356(0x244),[_0x4a5113,_0x230a70,_0x14235a]);else _0x52fbf5['gbSuh'](_0x2c7b4e,_0x330356(0x1db))?await _0x1e5ed6['executeQuery'](_0x330356(0x28c),[_0x4a5113,_0x230a70,_0x14235a]):await _0x1e5ed6[_0x330356(0x234)]('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',[_0x4a5113,_0x230a70,_0x14235a]);}catch(_0x18ea6e){logger['warn']({'event':_0x52fbf5['vOhuR'],'historyId':_0x14235a,'error':_0x18ea6e['message']},'Failed\x20to\x20update\x20job\x20history\x20(completed):\x20'+_0x18ea6e['message']);}}async['updateJobHistoryFailed'](_0x5cf0f2,_0x52f0c9,_0x5e4967,_0x173736,_0x140189){const _0x412337=a0_0x290a4d,_0x335229={'uJrkq':function(_0x3e6d51,_0x1491c3){return _0x3e6d51(_0x1491c3);},'hicPb':_0x412337(0x1c9),'EkqRc':function(_0x44f694,_0x74f2){return _0x44f694||_0x74f2;},'CpbKO':function(_0x514507,_0x3cb292){return _0x514507||_0x3cb292;},'JgJSW':function(_0x2eb6d7,_0x35d8dc){return _0x2eb6d7||_0x35d8dc;},'KXrnd':_0x412337(0x26e)},_0x5306ad=this[_0x412337(0x219)]();if(!_0x5306ad)return;const _0x122d02=this[_0x412337(0x21c)](),_0x439681=_0x173736?String(_0x173736)['substring'](0x0,0x3e8):null,_0x2db41b=_0x140189?_0x335229['uJrkq'](String,_0x140189)['substring'](0x0,0xfa0):null;try{if(_0x122d02===_0x335229['hicPb'])await _0x5306ad[_0x412337(0x234)](_0x412337(0x26d),[_0x52f0c9,_0x335229[_0x412337(0x28a)](_0x5e4967,0x0),_0x439681,_0x2db41b,_0x5cf0f2]);else _0x122d02==='mysql'?await _0x5306ad[_0x412337(0x234)]('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?',[_0x52f0c9,_0x335229['CpbKO'](_0x5e4967,0x0),_0x439681,_0x2db41b,_0x5cf0f2]):await _0x5306ad['executeQuery'](_0x412337(0x276),[_0x52f0c9,_0x335229['JgJSW'](_0x5e4967,0x0),_0x439681,_0x2db41b,_0x5cf0f2]);}catch(_0x47aede){logger[_0x412337(0x22c)]({'event':_0x335229[_0x412337(0x1ab)],'historyId':_0x5cf0f2,'error':_0x47aede[_0x412337(0x2a3)]},'Failed\x20to\x20update\x20job\x20history\x20(failed):\x20'+_0x47aede[_0x412337(0x2a3)]);}}async['updateRegistryStatus'](_0x1c177a,_0x597d76){const _0x5e0f8e=a0_0x290a4d,_0xba82fa={'TSJiY':function(_0x442cd4,_0x1ebd42){return _0x442cd4===_0x1ebd42;}},_0x2c6717=this[_0x5e0f8e(0x219)]();if(!_0x2c6717)return;const _0x4116e2=this[_0x5e0f8e(0x21c)]();try{if(_0x4116e2==='oracle')await _0x2c6717['executeQuery']('UPDATE\x20job_registry\x20SET\x20last_status\x20=\x20:1,\x20last_run_at\x20=\x20SYSTIMESTAMP,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20updated_at\x20=\x20SYSTIMESTAMP\x20WHERE\x20job_name\x20=\x20:2',[_0x597d76,_0x1c177a]);else _0xba82fa['TSJiY'](_0x4116e2,'mysql')?await _0x2c6717[_0x5e0f8e(0x234)]('UPDATE\x20job_registry\x20SET\x20last_status\x20=\x20?,\x20last_run_at\x20=\x20NOW()\x20WHERE\x20job_name\x20=\x20?',[_0x597d76,_0x1c177a]):await _0x2c6717[_0x5e0f8e(0x234)](_0x5e0f8e(0x1e4),[_0x597d76,_0x1c177a]);}catch(_0x277f13){}}async[a0_0x290a4d(0x206)](_0x3eff7d,_0x3dd4c7,_0x956ff5,_0x19b236){const _0x53e835=a0_0x290a4d,_0x16968c={'uoCCF':_0x53e835(0x2aa),'tRZhF':_0x53e835(0x1bc)},_0x2c6bda=this[_0x53e835(0x219)]();if(!_0x2c6bda)return;const _0x363dae=this['getDbType'](),_0x2f5fa7=_0x3dd4c7===_0x16968c[_0x53e835(0x263)]?'total_success':_0x53e835(0x19a);try{if(_0x363dae===_0x53e835(0x1c9))await _0x2c6bda[_0x53e835(0x234)]('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'+_0x2f5fa7+_0x53e835(0x23a)+_0x2f5fa7+_0x53e835(0x1e0),[_0x3dd4c7,_0x956ff5,_0x19b236,_0x3eff7d]);else _0x363dae===_0x53e835(0x1db)?await _0x2c6bda[_0x53e835(0x234)](_0x53e835(0x254)+_0x2f5fa7+'\x20=\x20'+_0x2f5fa7+_0x53e835(0x25f),[_0x3dd4c7,_0x956ff5,_0x19b236,_0x3eff7d]):await _0x2c6bda[_0x53e835(0x234)]('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'+_0x2f5fa7+_0x53e835(0x23a)+_0x2f5fa7+'\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',[_0x3dd4c7,_0x956ff5,_0x19b236,_0x3eff7d]);}catch(_0x1c7652){logger[_0x53e835(0x22c)]({'event':_0x16968c[_0x53e835(0x248)],'jobName':_0x3eff7d,'error':_0x1c7652[_0x53e835(0x2a3)]},_0x53e835(0x1e1)+_0x1c7652['message']);}}async[a0_0x290a4d(0x216)](_0x128414){const _0x11b169=a0_0x290a4d,_0x5c033d={'CFqLv':function(_0x242e87,_0x23d706){return _0x242e87!==_0x23d706;},'myOQw':'cron','KZvyP':function(_0x22f1fa,_0x2917f9){return _0x22f1fa===_0x2917f9;},'LNnDz':'default'},_0x1a872a=this[_0x11b169(0x266)][_0x128414];if(!_0x1a872a||_0x5c033d[_0x11b169(0x1ae)](_0x1a872a['type'],_0x5c033d['myOQw'])||_0x5c033d['KZvyP'](_0x1a872a[_0x11b169(0x1c7)],![]))return null;const _0x31a93a=this[_0x11b169(0x202)][_0x1a872a['queue']||_0x5c033d['LNnDz']];if(!_0x31a93a)return null;try{if(typeof _0x31a93a['getJobSchedulers']==='function'){const _0x2155b2=await _0x31a93a[_0x11b169(0x1b2)](0x0,0x64),_0x15809b=_0x2155b2[_0x11b169(0x197)](_0x470bc9=>_0x470bc9[_0x11b169(0x207)]===_0x128414);return _0x15809b?.['next']?new Date(_0x15809b[_0x11b169(0x251)]):null;}}catch(_0x251562){}return null;}async['setAllJobsOffline'](){const _0x5c199c=a0_0x290a4d,_0x4c1228={'imKiK':_0x5c199c(0x1c9),'XJMFA':'job_registry_offline_error'},_0x2e7b9c=this['getDbUtils']();if(!_0x2e7b9c)return;const _0x572456=this[_0x5c199c(0x21c)]();try{if(_0x572456===_0x4c1228['imKiK'])await _0x2e7b9c[_0x5c199c(0x234)]('UPDATE\x20job_registry\x20SET\x20status\x20=\x20\x27offline\x27,\x20next_run_at\x20=\x20NULL,\x20updated_at\x20=\x20SYSTIMESTAMP');else _0x572456==='mysql'?await _0x2e7b9c['executeQuery'](_0x5c199c(0x1a0)):await _0x2e7b9c['executeQuery']('UPDATE\x20job_registry\x20SET\x20status\x20=\x20\x27offline\x27,\x20next_run_at\x20=\x20NULL,\x20updated_at\x20=\x20NOW()');}catch(_0x31d0d4){logger['warn']({'event':_0x4c1228['XJMFA'],'error':_0x31d0d4[_0x5c199c(0x2a3)]},'Failed\x20to\x20set\x20jobs\x20offline:\x20'+_0x31d0d4['message']);}}[a0_0x290a4d(0x219)](){const _0x3defc5=a0_0x290a4d,_0x375ac7={'ShahQ':function(_0x478132,_0x90c3f){return _0x478132===_0x90c3f;},'Wvbpi':_0x3defc5(0x1d4),'EdOuP':_0x3defc5(0x1c3),'DeClU':function(_0x10db9b,_0x561a72){return _0x10db9b===_0x561a72;},'Wjitl':'mysql','rGKqv':function(_0x31dd3d,_0x357bf5){return _0x31dd3d(_0x357bf5);},'zkmQN':_0x3defc5(0x21a),'jSgrg':'../../utils/db','UJTsk':'db_pg_unavailable'},_0x2f5fef=(process[_0x3defc5(0x294)]['DB_TYPE']||'postgresql')[_0x3defc5(0x237)]();if(_0x375ac7[_0x3defc5(0x1ac)](_0x2f5fef,_0x3defc5(0x1c9)))try{const _0xa1b069=require(_0x375ac7[_0x3defc5(0x1e9)]);return{'executeQuery':(_0x2f0cf9,_0x591d37)=>_0xa1b069[_0x3defc5(0x234)](_0x2f0cf9,_0x591d37),'executeTransaction':_0x2b484a=>_0xa1b069[_0x3defc5(0x1b6)](_0x2b484a),'getPool':()=>_0xa1b069['getPool']()};}catch(_0x18ffcc){return logger['warn']({'event':_0x375ac7[_0x3defc5(0x210)]},'Oracle\x20DB\x20module\x20not\x20available'),null;}if(_0x375ac7['DeClU'](_0x2f5fef,_0x375ac7[_0x3defc5(0x1cc)]))try{const _0x473027=_0x375ac7[_0x3defc5(0x1af)](require,_0x375ac7[_0x3defc5(0x1d5)]);return{'executeQuery':(_0x27155a,_0x53c451)=>_0x473027['executeQuery'](_0x27155a,_0x53c451),'executeTransaction':_0x23953b=>_0x473027['executeTransaction'](_0x23953b),'getPool':()=>_0x473027['getPool']()};}catch(_0x1dfc4b){return logger['warn']({'event':_0x3defc5(0x213)},_0x3defc5(0x240)),null;}try{const _0x35ec3c=_0x375ac7['rGKqv'](require,_0x375ac7['jSgrg']);return{'executeQuery':_0x35ec3c['executeQuery'],'executeTransaction':_0x35ec3c['executeTransaction'],'getPool':_0x35ec3c[_0x3defc5(0x1c6)]};}catch(_0x262456){return logger['warn']({'event':_0x375ac7[_0x3defc5(0x249)]},'PostgreSQL\x20DB\x20module\x20not\x20available'),null;}}[a0_0x290a4d(0x1ff)](){const _0x4562a5=a0_0x290a4d,_0x4a4b4e={'iJixo':_0x4562a5(0x21d)};try{const _0x5b3c1a=require(_0x4a4b4e[_0x4562a5(0x200)]);return _0x5b3c1a[_0x4562a5(0x245)]?_0x5b3c1a[_0x4562a5(0x245)]():_0x5b3c1a;}catch(_0x2c9a56){return null;}}['getKafkaService'](){const _0x4f107e=a0_0x290a4d,_0x55b001={'QlRcV':function(_0x453d37,_0x386106){return _0x453d37===_0x386106;},'xdAuH':'true'};try{if(_0x55b001['QlRcV'](process['env']['KAFKA_ENABLED'],_0x55b001[_0x4f107e(0x23e)])){const _0xe5ae59=require(_0x4f107e(0x1a3));return _0xe5ae59[_0x4f107e(0x1ec)]?_0xe5ae59['getInstance']():_0xe5ae59;}}catch(_0x21edce){}return null;}['getCacheManager'](){try{return require('../../utils/cache-manager');}catch(_0x184da4){return null;}}async['dispatch'](_0x26a52a,_0x28eaf3={}){const _0x45b3aa=a0_0x290a4d,_0x370f66={'RIgSS':'api','rPqBq':_0x45b3aa(0x291),'yLnei':_0x45b3aa(0x28e)},_0xe84cab=this['jobConfigs'][_0x26a52a];if(!_0xe84cab)throw new Error(_0x45b3aa(0x1d1)+_0x26a52a);const _0x5dc179=this['queues'][_0xe84cab['queue']||_0x45b3aa(0x229)],_0x44bdb3=await _0x5dc179['add'](_0x26a52a,{..._0x28eaf3,'handler':_0xe84cab[_0x45b3aa(0x1f0)],'triggeredBy':_0x370f66[_0x45b3aa(0x28f)]},{'attempts':_0xe84cab[_0x45b3aa(0x27e)]?.[_0x45b3aa(0x260)]||0x3,'backoff':{'type':_0xe84cab[_0x45b3aa(0x27e)]?.['backoff']||_0x370f66['rPqBq'],'delay':_0xe84cab['retry']?.[_0x45b3aa(0x209)]||0x1388},'timeout':_0xe84cab[_0x45b3aa(0x1a8)]||0x7530});return logger['info']({'event':_0x370f66[_0x45b3aa(0x273)],'jobId':_0x44bdb3['id'],'name':_0x26a52a,'triggeredBy':_0x45b3aa(0x2af)},'Job\x20dispatched:\x20'+_0x26a52a+'\x20(id:\x20'+_0x44bdb3['id']+')'),{'jobId':_0x44bdb3['id'],'name':_0x26a52a};}async[a0_0x290a4d(0x24b)](_0x4ca12b,_0x5f5bdc={},_0x4949a8=0x0){const _0x5a3eec=a0_0x290a4d,_0x4ab550={'jBVpJ':_0x5a3eec(0x265),'qdVnU':_0x5a3eec(0x2a5)},_0x22928a=this['jobConfigs'][_0x4ca12b];if(!_0x22928a)throw new Error(_0x5a3eec(0x1d1)+_0x4ca12b);const _0x40e4c2=this[_0x5a3eec(0x202)][_0x22928a['queue']||'default'],_0x22c5fc=await _0x40e4c2['add'](_0x4ca12b,{..._0x5f5bdc,'handler':_0x22928a[_0x5a3eec(0x1f0)],'triggeredBy':_0x4ab550[_0x5a3eec(0x1d8)]},{'delay':_0x4949a8,'attempts':_0x22928a['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0x22928a[_0x5a3eec(0x27e)]?.['backoff']||'exponential','delay':_0x22928a[_0x5a3eec(0x27e)]?.['initialDelay']||0x1388},'timeout':_0x22928a['timeout']||0x7530});return logger[_0x5a3eec(0x253)]({'event':_0x4ab550[_0x5a3eec(0x222)],'jobId':_0x22c5fc['id'],'name':_0x4ca12b,'delayMs':_0x4949a8},'Job\x20dispatched\x20(delayed\x20'+_0x4949a8+'ms):\x20'+_0x4ca12b+_0x5a3eec(0x1b4)+_0x22c5fc['id']+')'),{'jobId':_0x22c5fc['id'],'name':_0x4ca12b};}async[a0_0x290a4d(0x1b8)](_0x19b878){const _0x5eed7d=a0_0x290a4d;for(const _0x235242 of Object['values'](this['queues'])){const _0x1366d9=await _0x235242['getJob'](_0x19b878);if(_0x1366d9){const _0x23aa5c=await _0x1366d9[_0x5eed7d(0x1b5)]();return{'jobId':_0x1366d9['id'],'name':_0x1366d9[_0x5eed7d(0x207)],'state':_0x23aa5c,'progress':_0x1366d9[_0x5eed7d(0x235)],'attemptsMade':_0x1366d9[_0x5eed7d(0x247)],'failedReason':_0x1366d9[_0x5eed7d(0x195)],'returnvalue':_0x1366d9['returnvalue'],'data':_0x1366d9[_0x5eed7d(0x228)],'timestamps':{'created':_0x1366d9[_0x5eed7d(0x1b9)],'started':_0x1366d9[_0x5eed7d(0x1f2)],'completed':_0x1366d9['finishedOn']}};}}return null;}[a0_0x290a4d(0x230)](){const _0x4c7a47=a0_0x290a4d;return Object[_0x4c7a47(0x24f)](this['jobConfigs'])['map'](_0x79a5be=>({'name':_0x79a5be[_0x4c7a47(0x207)],'description':_0x79a5be['description']||'','type':_0x79a5be['type'],'schedule':_0x79a5be['schedule'],'handler':_0x79a5be[_0x4c7a47(0x1f0)],'enabled':_0x79a5be['enabled']!==![],'queue':_0x79a5be[_0x4c7a47(0x27a)]||_0x4c7a47(0x229),'timeout':_0x79a5be[_0x4c7a47(0x1a8)]||0x7530,'retry':_0x79a5be[_0x4c7a47(0x27e)]||{'maxAttempts':0x3,'backoff':_0x4c7a47(0x291),'initialDelay':0x1388},'metadata':_0x79a5be['metadata']||{}}));}async['listRunning'](){const _0x3ef958=a0_0x290a4d,_0x4c9667=[];for(const [_0xd9c83c,_0x1505d4]of Object['entries'](this[_0x3ef958(0x202)])){const _0x2503a1=await _0x1505d4['getJobs']([_0x3ef958(0x29e)]);for(const _0x26e250 of _0x2503a1){_0x4c9667['push']({'jobId':_0x26e250['id'],'name':_0x26e250['name'],'queue':_0xd9c83c,'progress':_0x26e250['progress'],'attemptsMade':_0x26e250[_0x3ef958(0x247)],'startedAt':_0x26e250[_0x3ef958(0x1f2)]});}}return _0x4c9667;}async['getHistory'](_0x294394={}){const _0x22e434=a0_0x290a4d,_0x25c8f9={'PjSWS':function(_0x1ce85f,_0x201684){return _0x1ce85f-_0x201684;},'yXSZC':'completed'},_0x198b5e=parseInt(_0x294394['page'],0xa)||0x1,_0x1286ca=Math['min'](parseInt(_0x294394['limit'],0xa)||0x14,0x64),_0x2d08bb=(_0x198b5e-0x1)*_0x1286ca,_0x2d0d01=_0x25c8f9['PjSWS'](_0x2d08bb+_0x1286ca,0x1),_0x4e953b=[];for(const [_0x59e821,_0xc73703]of Object[_0x22e434(0x264)](this[_0x22e434(0x202)])){const _0x50062f=await _0xc73703[_0x22e434(0x24a)]([_0x25c8f9['yXSZC']],_0x2d08bb,_0x2d0d01),_0x4ebcb9=await _0xc73703[_0x22e434(0x24a)]([_0x22e434(0x25d)],_0x2d08bb,_0x2d0d01);for(const _0x4fcd12 of[..._0x50062f,..._0x4ebcb9]){const _0x3f285c=await _0x4fcd12['getState']();_0x4e953b[_0x22e434(0x1cf)]({'jobId':_0x4fcd12['id'],'name':_0x4fcd12['name'],'state':_0x3f285c,'queue':_0x59e821,'attemptsMade':_0x4fcd12[_0x22e434(0x247)],'failedReason':_0x4fcd12['failedReason'],'returnvalue':_0x4fcd12[_0x22e434(0x269)],'timestamps':{'created':_0x4fcd12['timestamp'],'started':_0x4fcd12['processedOn'],'completed':_0x4fcd12['finishedOn']}});}}return _0x4e953b['sort']((_0x334889,_0x3132ae)=>(_0x3132ae[_0x22e434(0x282)]['created']||0x0)-(_0x334889['timestamps']['created']||0x0)),{'jobs':_0x4e953b['slice'](0x0,_0x1286ca),'total':_0x4e953b[_0x22e434(0x246)],'page':_0x198b5e,'limit':_0x1286ca};}async['cancelJob'](_0x503c11){const _0x5d1b49=a0_0x290a4d,_0x2eeb37={'vrCzm':function(_0x418c2b,_0x46c644){return _0x418c2b===_0x46c644;},'Ehdyd':_0x5d1b49(0x29e),'zvQAa':'api-cancel','YLlQk':_0x5d1b49(0x255)};for(const _0x34b21d of Object[_0x5d1b49(0x24f)](this[_0x5d1b49(0x202)])){const _0x3f175d=await _0x34b21d['getJob'](_0x503c11);if(_0x3f175d){const _0x43e667=await _0x3f175d[_0x5d1b49(0x1b5)]();if(_0x2eeb37['vrCzm'](_0x43e667,_0x2eeb37[_0x5d1b49(0x1c1)]))return await _0x3f175d[_0x5d1b49(0x1d7)](new Error('Job\x20cancelled\x20via\x20API'),_0x2eeb37[_0x5d1b49(0x1f7)],!![]),{'success':!![],'message':_0x5d1b49(0x25a)+_0x503c11+_0x5d1b49(0x1f5)};if(_0x43e667===_0x2eeb37['YLlQk']||_0x43e667===_0x5d1b49(0x2ae))return await _0x3f175d['remove'](),{'success':!![],'message':_0x5d1b49(0x25a)+_0x503c11+_0x5d1b49(0x1b0)+_0x43e667+')'};return{'success':![],'message':'Job\x20'+_0x503c11+'\x20cannot\x20be\x20cancelled\x20(state:\x20'+_0x43e667+')'};}}return{'success':![],'message':_0x5d1b49(0x25a)+_0x503c11+'\x20not\x20found'};}async['getHealthStatus'](){const _0xdbb761=a0_0x290a4d,_0x25c4f6={'xZyIU':'paused'},_0x2573d7={};for(const [_0x349a79,_0x4adada]of Object[_0xdbb761(0x264)](this['queues'])){try{const _0x4a41e8=await _0x4adada[_0xdbb761(0x277)](_0xdbb761(0x29e),'completed',_0xdbb761(0x2ae),_0xdbb761(0x25d),_0x25c4f6['xZyIU'],_0xdbb761(0x255));_0x2573d7[_0x349a79]=_0x4a41e8;}catch(_0x6161b8){_0x2573d7[_0x349a79]={'error':_0x6161b8[_0xdbb761(0x2a3)]};}}const _0x264701={};for(const [_0x4b9975,_0x539fc9]of Object[_0xdbb761(0x264)](this['workers'])){_0x264701[_0x4b9975]={'running':_0x539fc9['isRunning'](),'paused':_0x539fc9['isPaused']()};}return{'initialized':this['initialized'],'registeredJobs':Object['keys'](this['jobConfigs'])[_0xdbb761(0x246)],'redisConnections':this[_0xdbb761(0x220)]['length'],'queues':_0x2573d7,'workers':_0x264701};}async[a0_0x290a4d(0x1c4)](_0x112540,_0x1487e6){const _0x47507c=a0_0x290a4d,_0x20bfbf={'PQzBU':'job_completed','ZUNjZ':function(_0x5e716a,_0x568617){return _0x5e716a-_0x568617;},'lrprK':'string','ffCit':'success','ugKWF':function(_0xfa55ef,_0x14c8e7){return _0xfa55ef===_0x14c8e7;},'okHUK':'function','BfTHI':'onAfterJobComplete','VOCwa':_0x47507c(0x24e)},_0x1abc67=logger['child']({'jobId':_0x112540['id'],'jobName':_0x112540['name']});_0x1abc67[_0x47507c(0x253)]({'event':_0x20bfbf[_0x47507c(0x23d)],'attemptsMade':_0x112540[_0x47507c(0x247)],'duration':_0x112540[_0x47507c(0x23c)]?_0x20bfbf['ZUNjZ'](_0x112540['finishedOn'],_0x112540[_0x47507c(0x1f2)]):null},_0x47507c(0x1d9)+_0x112540['name']);const _0x340bd1=this[_0x47507c(0x19d)][_0x47507c(0x1e7)](_0x112540['id']);if(_0x340bd1){if(_0x340bd1['insertPromise'])await _0x340bd1[_0x47507c(0x1f1)];const _0x18b9a2=_0x112540['finishedOn']&&_0x112540['processedOn']?_0x112540['finishedOn']-_0x112540['processedOn']:null,_0x20fc92=typeof _0x1487e6===_0x20bfbf[_0x47507c(0x22d)]?_0x1487e6:_0x1487e6?JSON['stringify'](_0x1487e6)['substring'](0x0,0x1f4):null;await this['updateJobHistoryCompleted'](_0x340bd1[_0x47507c(0x236)],_0x18b9a2,_0x20fc92);const _0x184006=await this[_0x47507c(0x216)](_0x112540['name']);await this['updateRegistryCounters'](_0x112540['name'],_0x20bfbf['ffCit'],_0x18b9a2,_0x184006),this[_0x47507c(0x19d)]['delete'](_0x112540['id']);}const _0x1fca7c=getComponentEngine();if(_0x1fca7c&&_0x20bfbf[_0x47507c(0x1e3)](typeof _0x1fca7c[_0x47507c(0x225)],_0x20bfbf['okHUK'])){const _0x441194={'jobId':_0x112540['id'],'jobName':_0x112540['name'],'result':_0x1487e6,'config':this['jobConfigs'][_0x112540[_0x47507c(0x207)]]||{}};_0x1fca7c['executeEventHandlers'](_0x20bfbf[_0x47507c(0x1e2)],_0x441194,![])['catch'](_0x3fa50d=>{const _0x5bd59d=_0x47507c;_0x1abc67['warn']({'event':_0x5bd59d(0x22f),'error':_0x3fa50d[_0x5bd59d(0x2a3)]},_0x5bd59d(0x1bd));});}const _0x3816fa=this['getKafkaService']();if(_0x3816fa)try{await _0x3816fa[_0x47507c(0x24c)](_0x47507c(0x205),_0x20bfbf['VOCwa'],null,{'jobId':_0x112540['id'],'name':_0x112540['name'],'result':_0x1487e6},{'module':'job-scheduler','endpoint':_0x112540['name']});}catch(_0x2ff0d8){_0x1abc67['warn']({'event':_0x47507c(0x29d),'error':_0x2ff0d8['message']},_0x47507c(0x2ad));}}async['onJobFailed'](_0x1eaccd,_0x265dc9){const _0x203d8a=a0_0x290a4d,_0x4358b4={'zTIvw':function(_0x10ab58,_0x189d03){return _0x10ab58<_0x189d03;},'WZecR':'failed','kOmXk':function(_0x33a69f,_0x4fe4fa){return _0x33a69f===_0x4fe4fa;},'jXdlf':'JOB_FAILED','WvYxU':_0x203d8a(0x2ab),'rzJbC':_0x203d8a(0x29d),'zgfAk':_0x203d8a(0x21e)},_0x52a5fd=logger[_0x203d8a(0x20f)]({'jobId':_0x1eaccd['id'],'jobName':_0x1eaccd['name']});_0x52a5fd[_0x203d8a(0x232)]({'event':_0x203d8a(0x1e6),'attemptsMade':_0x1eaccd['attemptsMade'],'failedReason':_0x265dc9?.['message'],'willRetry':_0x4358b4['zTIvw'](_0x1eaccd['attemptsMade'],this['jobConfigs'][_0x1eaccd['name']]?.['retry']?.[_0x203d8a(0x260)]||0x3)},'Job\x20failed:\x20'+_0x1eaccd['name']+_0x203d8a(0x26c)+_0x265dc9?.[_0x203d8a(0x2a3)]);const _0x5ea571=this[_0x203d8a(0x19d)][_0x203d8a(0x1e7)](_0x1eaccd['id']);if(_0x5ea571){if(_0x5ea571[_0x203d8a(0x1f1)])await _0x5ea571['insertPromise'];const _0x25a851=_0x1eaccd['finishedOn']&&_0x1eaccd['processedOn']?_0x1eaccd['finishedOn']-_0x1eaccd['processedOn']:null;await this['updateJobHistoryFailed'](_0x5ea571['historyId'],_0x25a851,_0x1eaccd[_0x203d8a(0x235)],_0x265dc9?.[_0x203d8a(0x2a3)],_0x265dc9?.['stack']);const _0x52b73d=await this['getNextRunFromBullMQ'](_0x1eaccd['name']);await this[_0x203d8a(0x206)](_0x1eaccd[_0x203d8a(0x207)],_0x4358b4[_0x203d8a(0x279)],_0x25a851,_0x52b73d),this[_0x203d8a(0x19d)][_0x203d8a(0x1a7)](_0x1eaccd['id']);}const _0x4374e0=getComponentEngine();if(_0x4374e0&&_0x4358b4[_0x203d8a(0x274)](typeof _0x4374e0[_0x203d8a(0x225)],_0x203d8a(0x1d0))){const _0x5bebfe={'jobId':_0x1eaccd['id'],'jobName':_0x1eaccd['name'],'error':_0x265dc9?.['message'],'attemptsMade':_0x1eaccd['attemptsMade'],'config':this['jobConfigs'][_0x1eaccd['name']]||{}};_0x4374e0[_0x203d8a(0x225)](_0x203d8a(0x242),_0x5bebfe,![])['catch'](_0x1f8037=>{const _0x3f4ebe=_0x203d8a;_0x52a5fd[_0x3f4ebe(0x22c)]({'event':'after_job_failed_hook_error','error':_0x1f8037[_0x3f4ebe(0x2a3)]},_0x3f4ebe(0x201));});}const _0xee64f6=this[_0x203d8a(0x299)]();if(_0xee64f6)try{await _0xee64f6[_0x203d8a(0x24c)]('restforge.jobs.failed',_0x4358b4['jXdlf'],null,{'jobId':_0x1eaccd['id'],'name':_0x1eaccd[_0x203d8a(0x207)],'error':_0x265dc9?.[_0x203d8a(0x2a3)],'attemptsMade':_0x1eaccd[_0x203d8a(0x247)]},{'module':_0x4358b4['WvYxU'],'endpoint':_0x1eaccd['name']});}catch(_0x4bf5a6){_0x52a5fd[_0x203d8a(0x22c)]({'event':_0x4358b4[_0x203d8a(0x2a4)],'error':_0x4bf5a6['message']},_0x4358b4[_0x203d8a(0x1aa)]);}}[a0_0x290a4d(0x2b2)](_0x4dca79,_0x771f6e){const _0x19d518=a0_0x290a4d,_0x58ffd3={'EVhDQ':'job_progress'};logger[_0x19d518(0x20e)]({'event':_0x58ffd3[_0x19d518(0x1fb)],'jobId':_0x4dca79['id'],'jobName':_0x4dca79['name'],'progress':_0x771f6e},'Job\x20progress:\x20'+_0x4dca79['name']+_0x19d518(0x26c)+_0x771f6e+'%');}}module['exports']=new JobManager();
|
|
1
|
+
function a0_0x55f7(_0x5ed46f,_0x3d4c19){_0x5ed46f=_0x5ed46f-0xee;const _0x53a280=a0_0x53a2();let _0x55f7de=_0x53a280[_0x5ed46f];if(a0_0x55f7['sEiDMm']===undefined){var _0x4d5bf2=function(_0x4e8ed2){const _0x22864e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x554709='',_0x4a0937='';for(let _0x232940=0x0,_0x1a06d2,_0x45d36d,_0x4b1ad9=0x0;_0x45d36d=_0x4e8ed2['charAt'](_0x4b1ad9++);~_0x45d36d&&(_0x1a06d2=_0x232940%0x4?_0x1a06d2*0x40+_0x45d36d:_0x45d36d,_0x232940++%0x4)?_0x554709+=String['fromCharCode'](0xff&_0x1a06d2>>(-0x2*_0x232940&0x6)):0x0){_0x45d36d=_0x22864e['indexOf'](_0x45d36d);}for(let _0x440249=0x0,_0x5945b2=_0x554709['length'];_0x440249<_0x5945b2;_0x440249++){_0x4a0937+='%'+('00'+_0x554709['charCodeAt'](_0x440249)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4a0937);};a0_0x55f7['aFSxSM']=_0x4d5bf2,a0_0x55f7['BNUQNh']={},a0_0x55f7['sEiDMm']=!![];}const _0x5696b7=_0x53a280[0x0],_0x689675=_0x5ed46f+_0x5696b7,_0x37f83c=a0_0x55f7['BNUQNh'][_0x689675];return!_0x37f83c?(_0x55f7de=a0_0x55f7['aFSxSM'](_0x55f7de),a0_0x55f7['BNUQNh'][_0x689675]=_0x55f7de):_0x55f7de=_0x37f83c,_0x55f7de;}const a0_0x155346=a0_0x55f7;(function(_0x4eeddf,_0x1d4f2d){const _0xa31fa5=a0_0x55f7,_0x2e9e3b=_0x4eeddf();while(!![]){try{const _0x91758a=parseInt(_0xa31fa5(0x1bc))/0x1*(parseInt(_0xa31fa5(0x207))/0x2)+-parseInt(_0xa31fa5(0x117))/0x3*(parseInt(_0xa31fa5(0x15a))/0x4)+parseInt(_0xa31fa5(0x111))/0x5*(parseInt(_0xa31fa5(0x121))/0x6)+parseInt(_0xa31fa5(0x17a))/0x7+-parseInt(_0xa31fa5(0x16d))/0x8+parseInt(_0xa31fa5(0x1df))/0x9*(parseInt(_0xa31fa5(0x110))/0xa)+parseInt(_0xa31fa5(0x16a))/0xb;if(_0x91758a===_0x1d4f2d)break;else _0x2e9e3b['push'](_0x2e9e3b['shift']());}catch(_0x46c70e){_0x2e9e3b['push'](_0x2e9e3b['shift']());}}}(a0_0x53a2,0x2e161));const {Queue,Worker}=require(a0_0x155346(0x12d)),Redis=require('ioredis'),crypto=require(a0_0x155346(0x1b4)),{v7:uuidv7}=require('uuid'),fs=require('fs'),path=require(a0_0x155346(0x222)),{logger}=require(a0_0x155346(0x126)),jobValidator=require('./job-validator');function a0_0x53a2(){const _0x568629=['Cgf0Aa','DxbKyxrLsM9IsgLZDg9YEunVBxbSzxrLza','z2v0sM9Iu3rHDhvZ','Dw5RBM93BG','rhfsz2i','ChvIBgLZAev2zw50','Aw5PDgLHBerLBgf5','rMfPBgvKihrVihvWzgf0zsbQB2iGCMvNAxn0CNKGy291BNrLCNm6ia','DgLTzxn0yw1W','z2v0sM9ICW','rgrZCMK','sK9cx1jfreLtx1bsruzjwa','DgLTzw91Da','sM9IignVBMzPzYbPBNzHBgLKoIa','AMndrLm','B25kB2jqCM9NCMvZCW','DxbZzxj0sM9IuMvNAxn0CNK','wenVqxG','C3rHCNrZv2L0Aa','sM9IignHBMnLBgXLzcbIEsbVBKjLzM9YzuPVyKv4zwn1Dgu6ia','C2nOzwr1Bgu','Aw5JBhvKzxm','v3DsufG','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa6msWGBgfZDf9YDw5FyxqGpsbtwvnusu1fu1rbtvaScIaGicaGicaGicaGDxbKyxrLzf9HDca9ifnzu1rjtuvtvefnucbxsevsrsbQB2jFBMfTzsa9idOY','A2v5CW','AwDAtMe','CMv0CNK','ywXS','ywz0zxjFAM9Ix2nVBxbSzxrLx2HVB2TFzxjYB3i','ig5VDcbMB3vUza','D2fPDgLUzW','AM9Ix3f1zxvLC19JCMvHDgvK','q3jVBIbYzwDPC3rLCMvKoIa','vKfds0u','rMfPBgvKihrVihjLz2LZDgvYigPVyJOG','qNvlsMi','AM9Ix2zHAwXLza','rMfPBgvKihrVihvWzgf0zsbQB2iGAgLZDg9YEsaOy29TCgXLDgvKktOG','t25jq1m','EhHqvee','s1Hnsuu','qNvSBe1rifDVCMTLCIbLCNjVCIaO','mtm4mtmWq2X1q0nq','odCZodvyDfHKy2y','Cgf5Bg9Hza','vwDyufe','x3nVDxjJzuzPBgu','DxbKyxrLsM9IsgLZDg9YEuzHAwXLza','z2v0tMv4Dfj1BKzYB21cDwXStve','mJa3otnHr3b3DgK','DwvUAfK','sM9Iia','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGC3rHDhvZid0Gj29MzMXPBMuNlcbUzxH0x3j1BL9HDca9ie5vteWSihvWzgf0zwrFyxqGpsbot1COkq','ChjVy2vZC0PVyG','zgf0yq','z2v0q2fJAgvnyw5Hz2vY','rMfPBgvKihrVihb1yMXPC2GGsK9cx0zbsuXfrcb0BYblywzRyq','ChvZAa','Dg9mB3DLCKnHC2u','nLfNEevxAG','EeXizwi','sKT1zMK','EfPUDvi','iokaLca','lI4VlI4VDxrPBhmVBg9Nz2vY','B25kB2jdB21WBgv0zwq','AM9Ix3DVCMTLCNnFy3jLyxrLza','z2v0rgjuExbL','DMfSDwvZ','Cw56swy','AM9Ix3jLzgLZx2zHAwXLza','yNvSBg1X','Bg9HzePVyKnVBMzPz3m','yxbP','yMfJA29MzG','AKfusw8','qMfJA2DYB3vUzcbPBNnLCNqGAM9IigHPC3rVCNKGzMfPBgvKoIa','Aw5MBW','zxHPC3rZu3LUyW','Dgjbq2q','ignHBMnLBgXLzcaOD2fZigfJDgL2zsK','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNC3vJy2vZCYCSignVBxbSzxrLzf9HDca9ie5pvYGPlaOGicaGicaGicaGigr1CMf0Aw9Ux21Zid0GjdeSihbYB2DYzxnZid0GmtaWlcbYzxn1BhrFC3vTBwfYEsa9icqYifDirvjfigLKid0Gjdm','oMPVyG','DxbKyxrLuMvNAxn0CNLdB3vUDgvYCW','rwnMt0q','y3jLyxrLza','z2v0u3rHDgu','ruXPC2y','B25bzNrLCKPVyKzHAwXLza','BwvZC2fNzq','y2XLyxi','Aw5PDgLHBgL6zq','B2zMBgLUzq','y0zesfG','Aw5Zzxj0uhjVBwLZzq','Bg9JywXOB3n0','z2v0sM9Iq291BNrZ','yvLmvKO','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsaKmsWGBgfZDf9YDw5FyxqGpsbot1COksWkicaGicaGicaGicb1CgrHDgvKx2f0id0GtK9xkcKGv0HfuKuGAM9Ix25HBwuGpsaKmG','DgLTzxn0yw1WCW','EKfUueW','BNrkqwW','ANrysK4','seThrM8','B3jHy2XL','zxHWB25LBNrPywW','yxbPlwrLBgf5zwq','C3vJy2vZCW','DMfSAwrHDgvdB25MAwC','z0zPrfu','B25bzNrLCKPVyKzHAwXLzcbOyw5KBgvYigvYCM9YicHUB24TyMXVy2TPBMCP','icHHDhrLBxb0ia','AM9Ix3jLz2LZDhj5x2nVDw50zxjFzxjYB3i','yxr0zw1WDhnnywrL','C3rYAw5NAwz5','y29UBMvJDgLVBNm','mtuYALH1zNzk','AgLZDg9YEuLK','ChjVz3jLC3m','tMj3ALG','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNC3vJy2vZCYCSignVBxbSzxrLzf9HDca9ie5pvYGPlaOGicaGicaGicaGigr1CMf0Aw9Ux21Zid0GpYWGChjVz3jLC3mGpsaXmdaSihjLC3vSDf9ZDw1Tyxj5id0GpYbxsevsrsbPzca9id8','CxvPDa','AKnwqNG','DxbKyxrLuMvNAxn0CNLtDgf0Dxm','C1jwueG','mYbcDwXStveGuxvLDwvZignYzwf0zwqGkgHPz2GSigrLzMf1BhqSigXVDYK','zxHLy3v0zuv2zw50sgfUzgXLCNm','BNzougi','y3jLyxrLqNvSBe1rq29UBMvJDgLVBG','BMvXBKK','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNzMfPBgvKjYWGy29TCgXLDgvKx2f0id0GtK9xkcKScIaGicaGicaGicaGzhvYyxrPB25FBxmGpsaKmsWGChjVz3jLC3mGpsaKmIWGzxjYB3jFBwvZC2fNzsa9icqZlcbLCNjVCL9ZDgfJAYa9icq0ifDirvjfigLKid0Gjdu','q1nbyuO','mtq0nJy1ngDcvuTtCq','CMv0DxjUDMfSDwu','tg9HzgvKia','mJq0ntm3nKTWuwnquW','sfDvDwu','EuDMCK4','zhLpB08','ywXYzwfKEsbLEgLZDhm','zMLSDgvY','t0f0vvC','AM9Ix2rPC3bHDgnOzwrFzgvSyxLLza','Bwf4qxr0zw1WDhm','sM9IigHHBMrSzxiGy29TCgXLDgvKoIa','z2v0sM9Iu2nOzwr1BgvYCW','AM9Ix2vUC3vYzv90ywjSzxnFD2fYBG','wMXLs3e','mtiZntq1ofntDKjrDq','zMfPBgvK','CxvLDwvZ','sM9Iihn0yxj0zwq6ia','wujsveW','Dg90ywXFC3vJy2vZCW','sM9Iie1HBMfNzxiGC3vKywGGzgLPBMLZAwfSAxnHC2KSihnRAxa','BMXJBM8','sM9IignVBxbSzxrLzdOG','AM9Ix3n0yxj0zwq','BwfW','Bwv0ywrHDge','Dg90ywXFzMfPBgvK','sM9IihbYB2DYzxnZoIa','z2v0rgjvDgLSCW','BKngB2i','DMfSAwq','Bw92zvrVrMfPBgvK','AM9Ix2rIx3r5CgvFDw5ZDxbWB3j0zwq','sM9IigrPC3bHDgnOzwqGkgrLBgf5zwqG','v3rACeO','y2fUy2vSsM9I','zw50CMLLCW','Dhj0rhu','D29YA2vYCW','lI4VlI4VDxrPBhmVzgiTBxLZCwW','Dhj1zq','B25kB2jgywLSzwq','C2v0','sM9IigvUC3vYzvrHyMXLCYb3yxjUAw5NoIa','C3bSAxq','Aw5Zzxj0sM9IsgLZDg9YEq','AwPIC2m','C1DfwvC','yuTztMK','ywz0zxjFAM9Ix2zHAwXLzf9OB29Rx2vYCM9Y','D2fYBG','sM9Iihn0ywXSzwq6ia','z2v0s2fMA2ftzxj2AwnL','C3vIC3rYAw5N','BMv4Da','AM9Ix2nVBMzPz3nFBg9HzgvK','CxvLDwu','AgfUzgXLCG','igPVyIHZksbYzwDPC3rLCMvKlca','zgjFBxLZCwXFDw5HDMfPBgfIBgu','qKTNCvi','su5trvjuieLove8GAM9Ix3jLz2LZDhj5cIaGicaGicaGicaGkgPVyL9Uyw1LlcbKAxnWBgf5x25HBwuSihr5CguSihnJAgvKDwXLlcbXDwv1zsWGAgfUzgXLCIWGy29UzMLNx2zPBguScIaGicaGicaGicaGihrPBwvVDxqSihjLDhj5x21HEcWGCMv0CNLFyMfJA29MzIWGC3rHDhvZlcbUzxH0x3j1BL9HDcWGy3jLyxrLzf9HDcWGDxbKyxrLzf9HDcKkicaGicaGicaGicbwquXvrvmGkd8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sie5pvYGPlcbot1COksKkicaGicaGicaGicbptIbevvbmsunbveuGs0vzifvqrefurqOGicaGicaGicaGicaGzgLZCgXHEv9Uyw1Lid0GvKfmvuvtkgrPC3bSyxLFBMfTzsKSihr5CguGpsbwquXvrvmODhLWzsKScIaGicaGicaGicaGicbZy2HLzhvSzsa9ifzbtfvfuYHZy2HLzhvSzsKSihf1zxvLid0GvKfmvuvtkhf1zxvLksWkicaGicaGicaGicaGigHHBMrSzxiGpsbwquXvrvmOAgfUzgXLCIKSignVBMzPz19MAwXLid0GvKfmvuvtkgnVBMzPz19MAwXLksWkicaGicaGicaGicaGihrPBwvVDxqGpsbwquXvrvmODgLTzw91DcKSihjLDhj5x21HEca9ifzbtfvfuYHYzxrYEv9TyxGPlaOGicaGicaGicaGicaGCMv0CNLFyMfJA29MzIa9ifzbtfvfuYHYzxrYEv9IywnRB2zMksWGC3rHDhvZid0GvKfmvuvtkhn0yxr1CYKScIaGicaGicaGicaGicbUzxH0x3j1BL9HDca9ifzbtfvfuYHUzxH0x3j1BL9HDcK','uKvesvnFse9tva','ChjVy2vZC2vKt24','qLvjEue','u1fmihnJCMLWDcb0AwrHAYbKAxrLBxvRyw46ia','CMvHzezPBgvtEw5J','ELv6sKm','q1LHugi','yNvPBgrdB250zxH0','BhHXvvO','AM9Ix21HBMfNzxjFywXYzwfKEv9PBML0AwfSAxPLza','y3j5ChrV','CMvZDgzVCMDLlMPVyNmUzMfPBgvK','DhLWzq','u0vxEgS','sK9cx0vwru5u','zxDpBfe','B25SAw5L','y2f0y2G','nJG1AxLIqLj5','BgLTAxq','C2v0qwXSsM9IC09MzMXPBMu','DgLTzxPVBMu','zxHLy3v0zvrYyw5Zywn0Aw9U','zKjKv0u','AM9Ix3bYB2DYzxnZ','CMvTB3zL','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsaKmsWGBgfZDf9KDxjHDgLVBL9TCYa9icqYlaOGicaGicaGicaGia','uKTPrMu','vLzKvfq','DffMBeW','rwHpy1e','rMfPBgvKihrVigLUC2vYDcbQB2iGAgLZDg9YEtOG','BwzrENO','Cgf1C2u','DNLMvwO','AejVBu4','rg93u3i','zw52','uNrXuNe','zMLUAxnOzwrpBG','CgfYC2u','BxmPlI4U','DhjPz2DLCMvKqNK','BM93','C3LZDgvT','AM9Ix2rPC3bHDgnOzwq','zgvMyxvSDa','ywn0AxzLsgLZDg9YEuLKCW','AM9ItMfTzq','BxLZCwW','zxjYB3i','sM9Iie1HBMfNzxiGCMvHzhK6ia','y2XVC2u','mte3DKrNzfDL','zxHLy3v0zvf1zxj5','AM9Ix2HPC3rVCNLFAw5Zzxj0x2jNx2vYCM9Y','ywn0AxzL','AM9Ix3n0ywXSzwq','DxbKyxrLuhjVz3jLC3m','AM9Ix3rHyMXLC19LBNn1CMvK','AM9Ix21HBMfNzxjFC2H1DgrVD25FC3rHCNq','ug9ZDgDYzvnrtcbeqIbTB2r1BguGBM90igf2ywLSywjSzq','ywrK','B25bzNrLCKPVyKnVBxbSzxrL','qLLYzhq','BMTOsgS','AM9Ix3nXBf9UB3rFzM91BMq','C3fSlxnJCMLWDhm','CMvNAxn0zxjkB2i','uMvKAxmGy29UBMvJDgLVBIbMywLSzwq6ia','uerxweq','Aw5PDgLHBgL6zwq','rMfPBgvKihrVihvWzgf0zsbQB2iGAgLZDg9YEsaOzMfPBgvKktOG','qNfhtLG','BwfUDwfS','AxHhtK8','DxrMoa','C2H1DgrVD24','y29TCgXLDgvK','D1nRqNm','sM9Iig1VBML0B3jPBMCGDgfIBgvZigvUC3vYzwqGka','uwn3q2q','y2HPBgq','id0G','D29YA2LUz0rPCG','rLPKAvC','AM9Iq29UzMLNCW','z2v0ug9VBa','y29UzMLNrMLSzq','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticGKmsWGjdiSicqZlcaKncWGjduSicDYDw5UAw5NjYWGjdySicq3lcaKocWGtK9xkcKSicq5lcbot1COksK','BMfTzq','D3zltg8','BwLU','nZm4Dwvmr0Pb','AM9PBG','CMvHzgrPCLn5BMm','lIbkB2iGu2nOzwr1BgvYihrPzgfRigfRyw4GywT0AwyU','rvrlAum','zw5KC1DPDgG','sgzRBue','CgLK','z2v0q2XPzw50','qNvSBe1rifjLzgLZignVBM5Ly3rPB24GDMvYAwzPzwq','zw5ZDxjLvgfIBgvZ','zNvUy3rPB24','DhjPBq','C3rHy2S','AM9Ix2HPC3rVCNLFAw5Zzxj0x2vYCM9Y','C3bSAxrtCwXtDgf0zw1LBNrZ','zw5HyMXLza','AM9Ix21HBMfNzxjFCMvHzhK','rfzzAhm','C3rHBgXLza','y3jVBG','rwD2t20','u2jLugm','rMfPBgvKihrVihbHCNnLigPVyIbJB25MAwC6ia','BgvUz3rO','B25bzNrLCKPVyKnVBxbSzxrLigHHBMrSzxiGzxjYB3iGkg5VBI1IBg9JA2LUzYK','BgLZDePVyNm'];a0_0x53a2=function(){return _0x568629;};return a0_0x53a2();}let componentEngine=null;function getComponentEngine(){const _0x3e7a2c={'ydwRI':function(_0x172fc6,_0x2639e1){return _0x172fc6(_0x2639e1);}};if(!componentEngine)try{const _0xec8482=_0x3e7a2c['ydwRI'](require,'../../utils/component-engine');componentEngine=_0xec8482['componentEngine']||_0xec8482;}catch(_0x58d29b){}return componentEngine;}class JobManager{constructor(){const _0x50dea5=a0_0x155346,_0x225b73='0|4|3|5|6|1|2|7'[_0x50dea5(0x198)]('|');let _0x449590=0x0;while(!![]){switch(_0x225b73[_0x449590++]){case'0':this['queues']={};continue;case'1':this[_0x50dea5(0x1f1)]=![];continue;case'2':this[_0x50dea5(0x1fe)]=process['cwd']();continue;case'3':this['jobConfigs']={};continue;case'4':this[_0x50dea5(0x192)]={};continue;case'5':this['handlers']={};continue;case'6':this[_0x50dea5(0x159)]=[];continue;case'7':this['activeHistoryIds']=new Map();continue;}break;}}[a0_0x155346(0x166)](){const _0x3108ec=a0_0x155346,_0x4dbb0c={'FZdiW':'bullmq_redis_error','uYBNj':function(_0x2498d7,_0x10d7d0,_0x5915b6){return _0x2498d7(_0x10d7d0,_0x5915b6);},'ZleKq':'error'},_0xfe45b8=new Redis({'host':process['env'][_0x3108ec(0x1aa)]||_0x3108ec(0x145),'port':parseInt(process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process[_0x3108ec(0x1cf)]['REDIS_PASSWORD']||undefined,'db':_0x4dbb0c['uYBNj'](parseInt,process['env']['REDIS_DB'],0xa)||0x0,'maxRetriesPerRequest':null,'retryStrategy'(_0x22492c){const _0x4f0000=Math['min'](_0x22492c*0x32,0x7d0);return _0x4f0000;}});return _0xfe45b8['on'](_0x4dbb0c[_0x3108ec(0x179)],_0x29ca38=>{const _0x5ca7ff=_0x3108ec;logger['error']({'event':_0x4dbb0c[_0x5ca7ff(0x1ff)],'error':_0x29ca38[_0x5ca7ff(0x13f)]},'BullMQ\x20Redis\x20connection\x20error:\x20'+_0x29ca38['message']);}),this['connections']['push'](_0xfe45b8),_0xfe45b8;}async[a0_0x155346(0x141)](){const _0x57e791=a0_0x155346,_0x2fdad0={'WtZpJ':_0x57e791(0x1b3),'INdHM':'Initializing\x20Job\x20Manager...','nCFob':_0x57e791(0x12c),'qyIZR':'job_ensure_tables_error','SytGk':'job_no_configs','trtDu':'Tidak\x20ada\x20job\x20config\x20ditemukan\x20di\x20payload/jobs/.\x20Job\x20Manager\x20aktif\x20tanpa\x20cron.','jtXJN':function(_0x419c1c,_0x182667){return _0x419c1c*_0x182667;},'jPsQQ':'high','xxPTA':'default','IdDdn':'low','nkhHk':_0x57e791(0x105),'zAnPL':_0x57e791(0x163),'CSAaJ':function(_0x21c4f2,_0x2b9bd1,_0x101bdc){return _0x21c4f2(_0x2b9bd1,_0x101bdc);},'dXCLZ':function(_0x112f11,_0x13d210,_0x202b28){return _0x112f11(_0x13d210,_0x202b28);},'EhOcQ':_0x57e791(0x218)};if(this['initialized']){logger['warn']({'event':_0x2fdad0[_0x57e791(0x18e)]},_0x57e791(0x180));return;}logger['info']({'event':'job_manager_init_start'},_0x2fdad0['INdHM']);const _0x3ee5e8=this[_0x57e791(0x166)]();try{await _0x3ee5e8['ping'](),logger[_0x57e791(0x133)]({'event':'job_redis_connected'},_0x57e791(0x210));}catch(_0x248125){logger['error']({'event':_0x2fdad0[_0x57e791(0x189)],'error':_0x248125['message']},_0x57e791(0x1ef)+_0x248125['message']+_0x57e791(0x20a));try{await _0x3ee5e8[_0x57e791(0x15f)]();}catch(_0x52cae1){}this[_0x57e791(0x159)]=this['connections'][_0x57e791(0x172)](_0x4e5a5b=>_0x4e5a5b!==_0x3ee5e8);return;}try{await _0x3ee5e8['quit']();}catch(_0x576128){}this['connections']=this[_0x57e791(0x159)]['filter'](_0x500dd5=>_0x500dd5!==_0x3ee5e8);try{await this['ensureTables']();}catch(_0x4b1649){logger['warn']({'event':_0x2fdad0['qyIZR'],'error':_0x4b1649[_0x57e791(0x13f)]},'Failed\x20to\x20ensure\x20job\x20tables:\x20'+_0x4b1649[_0x57e791(0x13f)]+'.\x20DB\x20monitoring\x20disabled.');}const _0x357995=this[_0x57e791(0x12e)]();_0x357995['length']===0x0&&logger[_0x57e791(0x133)]({'event':_0x2fdad0['SytGk']},_0x2fdad0[_0x57e791(0x191)]);const _0x51cfe4=[];for(const _0x1651c0 of _0x357995){const _0x2bd3f8=jobValidator[_0x57e791(0x152)](_0x1651c0,this[_0x57e791(0x1fe)]);_0x2bd3f8[_0x57e791(0x18a)]?_0x51cfe4[_0x57e791(0x11f)](_0x1651c0):logger[_0x57e791(0x1dc)]({'event':'job_config_invalid','name':_0x1651c0['name']||'unknown','errors':_0x2bd3f8['errors']},_0x57e791(0xf3)+(_0x1651c0['name']||_0x57e791(0x225))+'\x20—\x20'+_0x2bd3f8['errors']['join'](';\x20'));}const _0x1e73a8=process[_0x57e791(0x1cf)]['RESTFORGE_PROJECT_NAME']||_0x57e791(0x1d8),_0x248e01=process[_0x57e791(0x1cf)][_0x57e791(0xf1)]||'rf:'+_0x1e73a8+_0x57e791(0x138),_0x22b315=parseInt(process[_0x57e791(0x1cf)]['JOB_RETENTION_HOURS'],0xa)||0x48,_0x26c52a=parseInt(process[_0x57e791(0x1cf)]['JOB_FAILED_RETENTION_HOURS'],0xa)||0xa8,_0x16e356={'removeOnComplete':{'age':_0x2fdad0['jtXJN'](_0x22b315,0xe10)},'removeOnFail':{'age':_0x2fdad0[_0x57e791(0x14c)](_0x26c52a,0xe10)}},_0x42756a={'high-priority':_0x2fdad0['jPsQQ'],'default':_0x2fdad0[_0x57e791(0x10d)],'low-priority':_0x2fdad0['IdDdn']};for(const [_0x223df8,_0x12ea91]of Object['entries'](_0x42756a)){this[_0x57e791(0x17c)][_0x223df8]=new Queue(_0x12ea91,{'connection':this['createBullMQConnection'](),'prefix':_0x248e01,'defaultJobOptions':_0x16e356});}logger['info']({'event':_0x2fdad0[_0x57e791(0x1eb)],'count':0x3},_0x2fdad0[_0x57e791(0x14a)]);const _0x3ab5a6=_0x2fdad0[_0x57e791(0x169)](parseInt,process['env']['JOB_CONCURRENCY'],0xa)||0x5,_0x26a25d=_0x2fdad0['dXCLZ'](parseInt,process[_0x57e791(0x1cf)]['JOB_STALLED_INTERVAL'],0xa)||0x7530,_0x29b46f=parseInt(process['env']['JOB_MAX_STALLED_COUNT'],0xa)||0x2;for(const [_0x13f3d3,_0x37cda7]of Object[_0x57e791(0x190)](_0x42756a)){const _0x13612c=new Worker(_0x37cda7,async _0xb32612=>this[_0x57e791(0x11b)](_0xb32612),{'connection':this[_0x57e791(0x166)](),'prefix':_0x248e01,'concurrency':_0x3ab5a6,'stalledInterval':_0x26a25d,'maxStalledCount':_0x29b46f});_0x13612c['on']('completed',(_0x52cd3b,_0xdac65e)=>this['onJobCompleted'](_0x52cd3b,_0xdac65e)),_0x13612c['on'](_0x57e791(0x17b),(_0x54706e,_0x50f8d5)=>this[_0x57e791(0x195)](_0x54706e,_0x50f8d5)),_0x13612c['on'](_0x57e791(0x15c),(_0x55385c,_0x23a591)=>this['onJobProgress'](_0x55385c,_0x23a591)),_0x13612c['on'](_0x57e791(0x21a),_0x4d6b6b=>{const _0x432053=_0x57e791;logger['warn']({'event':_0x432053(0x1e3),'jobId':_0x4d6b6b},_0x432053(0x19f)+_0x4d6b6b);}),_0x13612c['on'](_0x57e791(0x1dc),_0x4243e8=>{const _0x215cb3=_0x57e791;logger['error']({'event':'bullmq_worker_error','queue':_0x13f3d3,'error':_0x4243e8['message']},_0x215cb3(0x10f)+_0x13f3d3+'):\x20'+_0x4243e8['message']);}),this[_0x57e791(0x192)][_0x13f3d3]=_0x13612c;}logger[_0x57e791(0x133)]({'event':_0x57e791(0x128),'count':0x3,'concurrency':_0x3ab5a6},'3\x20BullMQ\x20Workers\x20created\x20(concurrency:\x20'+_0x3ab5a6+')');let _0xd5c10c=0x0;for(const _0x15cc24 of _0x51cfe4){try{await this[_0x57e791(0x1ee)](_0x15cc24),_0xd5c10c++;}catch(_0x194884){logger['error']({'event':'job_register_failed','name':_0x15cc24['name'],'error':_0x194884[_0x57e791(0x13f)]},_0x57e791(0x108)+_0x15cc24['name']+_0x57e791(0x125)+_0x194884[_0x57e791(0x13f)]);}}this['initialized']=!![];const _0x4f0349=this[_0x57e791(0x159)]['length'];logger['info']({'event':_0x2fdad0[_0x57e791(0x1c8)],'registeredJobs':_0xd5c10c,'totalConfigs':_0x51cfe4[_0x57e791(0x21f)],'redisConnections':_0x4f0349},_0x57e791(0x1dd)+_0xd5c10c+_0x57e791(0x1a6)+_0x4f0349+'\x20Redis\x20connections');}async[a0_0x155346(0x1f7)](){const _0x1fa799=a0_0x155346,_0x581709={'Uvsaz':function(_0x3ed84e,_0x598f0c,_0x230754){return _0x3ed84e(_0x598f0c,_0x230754);},'Ddsri':_0x1fa799(0x1e6),'jrLrH':function(_0x167c9b,_0xe73b38){return _0x167c9b<_0xe73b38;},'BqGNX':function(_0x4c1bde,_0x39cc59){return _0x4c1bde-_0x39cc59;},'igZNa':'active','SEWxk':'job_manager_shutdown_complete'};if(!this[_0x1fa799(0x1f1)])return;const _0x4f1152=_0x581709['Uvsaz'](parseInt,process['env']['JOB_SHUTDOWN_TIMEOUT'],0xa)||0x2710;logger[_0x1fa799(0x133)]({'event':_0x581709[_0x1fa799(0xf0)],'timeoutMs':_0x4f1152},'Job\x20Manager\x20shutting\x20down\x20(timeout:\x20'+_0x4f1152+_0x1fa799(0x1d3));const _0x42c635=Object[_0x1fa799(0x12a)](this[_0x1fa799(0x192)])['map'](async _0x1c3c1e=>{const _0x1f59cf=_0x1fa799;try{await _0x1c3c1e[_0x1f59cf(0x1cb)]();}catch(_0x538f95){}});await Promise[_0x1fa799(0x101)](_0x42c635);const _0x17e4d3=Date[_0x1fa799(0x1d5)]();while(_0x581709['jrLrH'](_0x581709[_0x1fa799(0x1f3)](Date['now'](),_0x17e4d3),_0x4f1152)){let _0x2b3ac6=0x0;for(const _0x5c3f04 of Object['values'](this[_0x1fa799(0x17c)])){try{const _0xf4b03d=await _0x5c3f04['getJobCounts'](_0x581709[_0x1fa799(0xff)]);_0x2b3ac6+=_0xf4b03d[_0x1fa799(0x1e2)]||0x0;}catch(_0x266b36){}}if(_0x2b3ac6===0x0)break;await new Promise(_0x3cbe52=>setTimeout(_0x3cbe52,0x1f4));}const _0x187a2d=Object['values'](this['workers'])[_0x1fa799(0x184)](async _0x52c82c=>{try{await _0x52c82c['close']();}catch(_0x2bf996){}});await Promise['all'](_0x187a2d);const _0x3a72ed=Object[_0x1fa799(0x12a)](this[_0x1fa799(0x17c)])['map'](async _0x243d81=>{const _0x330345=_0x1fa799;try{await _0x243d81[_0x330345(0x1de)]();}catch(_0x102e64){}});await Promise['all'](_0x3a72ed);for(const _0x491ad0 of this[_0x1fa799(0x159)]){try{await _0x491ad0['quit']();}catch(_0x3190c9){}}this[_0x1fa799(0x17c)]={},this[_0x1fa799(0x192)]={},this['connections']=[],await this['setAllJobsOffline'](),this['activeHistoryIds'][_0x1fa799(0x140)](),this['initialized']=![],logger['info']({'event':_0x581709[_0x1fa799(0x1b7)]},'Job\x20Manager\x20shutdown\x20complete');}[a0_0x155346(0x12e)](){const _0x22bca2=a0_0x155346,_0x7c087d={'VVdTT':_0x22bca2(0x112),'xLHeb':'jobs','QJaxy':'job_config_dir_missing','BUIyA':'Folder\x20payload/jobs/\x20tidak\x20ditemukan','PDWXD':'job_config_parse_error'},_0x571529=path['join'](this[_0x22bca2(0x1fe)],_0x7c087d[_0x22bca2(0x1c6)],_0x7c087d[_0x22bca2(0x122)]);if(!fs[_0x22bca2(0x134)](_0x571529))return logger[_0x22bca2(0x133)]({'event':_0x7c087d['QJaxy'],'path':_0x571529},_0x7c087d[_0x22bca2(0x1ac)]),[];const _0x101bd7=fs[_0x22bca2(0x209)](_0x571529)[_0x22bca2(0x172)](_0x476fc4=>_0x476fc4[_0x22bca2(0x20c)]('.json')),_0x531eed=[];for(const _0xa1b592 of _0x101bd7){const _0x5b4e7e=path['join'](_0x571529,_0xa1b592);try{const _0x5add2f=fs['readFileSync'](_0x5b4e7e,_0x22bca2(0x1f6)),_0xa23287=JSON[_0x22bca2(0x1d2)](_0x5add2f);_0xa23287[_0x22bca2(0x114)]=_0xa1b592,_0x531eed[_0x22bca2(0x11f)](_0xa23287);}catch(_0xd743fa){logger['error']({'event':_0x7c087d[_0x22bca2(0x1f0)],'file':_0xa1b592,'error':_0xd743fa[_0x22bca2(0x13f)]},_0x22bca2(0x21e)+_0xa1b592+'\x20—\x20'+_0xd743fa[_0x22bca2(0x13f)]);}}return logger['info']({'event':_0x22bca2(0x1a3),'count':_0x531eed[_0x22bca2(0x21f)]},_0x22bca2(0x16c)+_0x531eed['length']+'\x20job\x20config(s)\x20from\x20payload/jobs/'),_0x531eed;}async[a0_0x155346(0x1ee)](_0x3469b9){const _0x2d321f=a0_0x155346,_0x141cd1={'RQbVZ':'src','ShaTR':'jobs','crcOB':function(_0x530ef3,_0x1b1f45){return _0x530ef3(_0x1b1f45);},'aYLVJ':function(_0x57348b,_0x1207f7){return _0x57348b!==_0x1207f7;},'pkLwI':_0x2d321f(0x1d8),'BYrdt':'cron','NbwjX':'cron_registered','jCVBx':function(_0x22b5b6,_0x546928){return _0x22b5b6!==_0x546928;},'gFiDU':_0x2d321f(0x1ba),'dEvyJ':_0x2d321f(0x142)},_0x223e28=path['join'](this[_0x2d321f(0x1fe)],_0x141cd1['RQbVZ'],_0x141cd1['ShaTR'],_0x3469b9[_0x2d321f(0x1a5)]+'.js');this['handlers'][_0x3469b9[_0x2d321f(0x204)]]=_0x141cd1['crcOB'](require,_0x223e28),this['jobConfigs'][_0x3469b9[_0x2d321f(0x204)]]=_0x3469b9;if(_0x3469b9['type']===_0x2d321f(0x21b)&&_0x141cd1[_0x2d321f(0x147)](_0x3469b9['enabled'],![])){const _0xccb38c=this['queues'][_0x3469b9['queue']||_0x141cd1['pkLwI']];await _0xccb38c['upsertJobScheduler'](_0x3469b9['name'],{'pattern':_0x3469b9[_0x2d321f(0xfa)],'tz':_0x3469b9[_0x2d321f(0x1bf)]||undefined},{'name':_0x3469b9['name'],'data':{'handler':_0x3469b9['handler'],'triggeredBy':_0x141cd1[_0x2d321f(0x1ea)],'metadata':_0x3469b9[_0x2d321f(0x185)]||{}},'opts':{'attempts':_0x3469b9['retry']?.[_0x2d321f(0x175)]||0x3,'backoff':{'type':_0x3469b9['retry']?.['backoff']||_0x2d321f(0x14f),'delay':_0x3469b9['retry']?.[_0x2d321f(0x228)]||0x1388},'timeout':_0x3469b9[_0x2d321f(0xf2)]||0x7530}}),logger[_0x2d321f(0x133)]({'event':_0x141cd1[_0x2d321f(0x15d)],'name':_0x3469b9[_0x2d321f(0x204)],'schedule':_0x3469b9[_0x2d321f(0xfa)],'queue':_0x3469b9[_0x2d321f(0x1a4)]||'default'},_0x2d321f(0x106)+_0x3469b9[_0x2d321f(0x204)]+'\x20['+_0x3469b9['schedule']+']');}const _0xc85613=_0x3469b9[_0x2d321f(0x1b6)]==='cron'&&_0x141cd1[_0x2d321f(0x160)](_0x3469b9[_0x2d321f(0x217)],![])?_0x141cd1[_0x2d321f(0x153)]:_0x141cd1['dEvyJ'];let _0x919286=null;_0xc85613===_0x2d321f(0x1ba)&&(_0x919286=await this['getNextRunFromBullMQ'](_0x3469b9[_0x2d321f(0x204)])),await this[_0x2d321f(0xf6)](_0x3469b9,_0xc85613,_0x919286);}async[a0_0x155346(0x11b)](_0x2ebd9c){const _0x4960d4=a0_0x155346,_0x5f423b={'QJdSU':function(_0x139597,_0x3f8d91){return _0x139597+_0x3f8d91;},'wvKLo':'unknown','gXrls':function(_0x5c3652,_0x4c720){return _0x5c3652+_0x4c720;},'nlcno':function(_0x32c8d6,_0x6d14c5){return _0x32c8d6===_0x6d14c5;},'jcCFS':_0x4960d4(0x21b),'kUHlS':_0x4960d4(0x212),'SbePc':function(_0x504c37,_0x335669){return _0x504c37(_0x335669);},'QcwCd':'job_handler_done'},_0x181442=this[_0x4960d4(0x200)][_0x2ebd9c['name']],_0x5631ce=this['handlers'][_0x2ebd9c['name']];if(!_0x5631ce)throw new Error('Handler\x20not\x20found\x20for\x20job:\x20'+_0x2ebd9c[_0x4960d4(0x204)]);const _0x24c6e6=logger[_0x4960d4(0x1fc)]({'jobId':_0x2ebd9c['id'],'jobName':_0x2ebd9c[_0x4960d4(0x204)]});_0x24c6e6['info']({'event':_0x4960d4(0x183),'attempt':_0x5f423b['QJdSU'](_0x2ebd9c[_0x4960d4(0x157)],0x1),'triggeredBy':_0x2ebd9c['data']?.['triggeredBy']||_0x5f423b[_0x4960d4(0x205)]},_0x4960d4(0x17d)+_0x2ebd9c[_0x4960d4(0x204)]+_0x4960d4(0x155)+_0x5f423b['gXrls'](_0x2ebd9c['attemptsMade'],0x1)+')');const _0x21fa70=uuidv7(),_0x3a2865=_0x2ebd9c['data']?.[_0x4960d4(0x1d4)]||_0x5f423b['wvKLo'],_0x19ab7a=this[_0x4960d4(0x199)]({'id':_0x21fa70,'jobName':_0x2ebd9c['name'],'bullmqJobId':_0x2ebd9c['id'],'triggerType':_0x3a2865===_0x4960d4(0x150)?'delayed':_0x5f423b[_0x4960d4(0x181)](_0x3a2865,_0x4960d4(0x12f))?_0x4960d4(0x1f4):_0x4960d4(0x21b),'triggeredBy':_0x3a2865===_0x5f423b[_0x4960d4(0xf4)]?'system':_0x3a2865,'queue':_0x181442?.['queue']||'default','attempt':_0x2ebd9c['attemptsMade']+0x1,'configFile':_0x181442?.['_sourceFile']||null})['catch'](_0x142058=>{const _0x54da81=_0x4960d4;_0x24c6e6[_0x54da81(0x19e)]({'event':_0x54da81(0x1e1),'error':_0x142058['message']},_0x54da81(0x132)+_0x142058[_0x54da81(0x13f)]);});this[_0x4960d4(0x1d9)][_0x4960d4(0x196)](_0x2ebd9c['id'],{'historyId':_0x21fa70,'insertPromise':_0x19ab7a});const _0x3e62ee=this[_0x4960d4(0x1b1)](_0x2ebd9c,_0x181442,_0x24c6e6),_0x4a1945=getComponentEngine();if(_0x4a1945&&typeof _0x4a1945['executeEventHandlers']===_0x5f423b['kUHlS']){const _0x1edef8=await _0x4a1945[_0x4960d4(0x164)]('onBeforeJobExecute',_0x3e62ee,!![]);if(!_0x1edef8['success'])throw new Error(_0x4960d4(0xf9)+_0x1edef8[_0x4960d4(0x1dc)]);}const _0x2610c8=await _0x5f423b[_0x4960d4(0x21d)](_0x5631ce,_0x3e62ee);return _0x24c6e6['info']({'event':_0x5f423b[_0x4960d4(0x1fb)],'result':_0x2610c8},_0x4960d4(0x176)+_0x2ebd9c[_0x4960d4(0x204)]),_0x2610c8;}['buildContext'](_0xfce4fe,_0x44de0d,_0x47fde2){const _0x2e2be8=a0_0x155346,_0x2090ef={'jATIo':_0x2e2be8(0x1b8),'bMlEH':function(_0x5ef770,_0x2b240f){return _0x5ef770||_0x2b240f;}};return{'jobId':_0xfce4fe['id'],'jobName':_0xfce4fe['name'],'attempt':_0xfce4fe['attemptsMade']+0x1,'maxAttempts':_0x44de0d?.[_0x2e2be8(0x100)]?.[_0x2e2be8(0x175)]||0x3,'payload':_0xfce4fe['data']||{},'config':_0x2090ef['bMlEH'](_0x44de0d,{}),'db':this['getDbUtils'](),'redis':this['getRedisClient'](),'logger':_0x47fde2,'kafka':this['getKafkaService'](),'cache':this[_0x2e2be8(0x11d)](),'updateProgress':async _0x4467be=>{const _0xc540b2=_0x2e2be8;await _0xfce4fe[_0xc540b2(0x1e4)](_0x4467be);},'emit':async(_0x5e4e7b,_0x46689d)=>{const _0xaeeb6f=_0x2e2be8,_0x5dbdd1=this['getKafkaService']();_0x5dbdd1&&await _0x5dbdd1[_0xaeeb6f(0x227)](_0x5e4e7b,_0x2090ef[_0xaeeb6f(0x131)],null,_0x46689d,{'module':'job-scheduler','endpoint':_0xfce4fe['name']});},'job':_0xfce4fe};}['getDbType'](){const _0x55656c=a0_0x155346,_0x474e6d={'ixGNO':'postgresql'};return(process[_0x55656c(0x1cf)]['DB_TYPE']||_0x474e6d[_0x55656c(0x1f5)])['toLowerCase']();}async[a0_0x155346(0x211)](){const _0x3199bb=a0_0x155346,_0x56c788={'fBdWE':'job_db_unavailable','wSkBs':'postgresql.sql','qToGV':'oracle.sql','icVqQ':_0x3199bb(0x1ec),'LxwBr':_0x3199bb(0x171),'OAtUW':'ora-00955','xZnuR':'duplicate','OnICS':_0x3199bb(0x1e5)},_0xafa0fb=this['getDbUtils']();if(!_0xafa0fb){logger[_0x3199bb(0x19e)]({'event':_0x56c788[_0x3199bb(0x1c1)]},'Database\x20tidak\x20tersedia,\x20skip\x20auto-create\x20job\x20tables');return;}const _0x2a6eba=this[_0x3199bb(0x129)](),_0x15e62f={'postgresql':_0x56c788[_0x3199bb(0x1f9)],'oracle':_0x56c788['qToGV'],'mysql':'mysql.sql'},_0x551724=_0x15e62f[_0x2a6eba];if(!_0x551724){logger['warn']({'event':_0x3199bb(0x18c),'dbType':_0x2a6eba},'DB_TYPE\x20\x27'+_0x2a6eba+'\x27\x20tidak\x20didukung\x20untuk\x20job\x20monitoring\x20tables');return;}const _0x146244=path[_0x3199bb(0x208)](__dirname,_0x3199bb(0x1ed),_0x551724);if(!fs['existsSync'](_0x146244)){logger[_0x3199bb(0x19e)]({'event':_0x56c788['icVqQ'],'path':_0x146244},_0x3199bb(0x1ad)+_0x146244);return;}const _0x243ec2=fs[_0x3199bb(0x1ae)](_0x146244,_0x3199bb(0x1f6)),_0x21fb2f=this[_0x3199bb(0x216)](_0x243ec2,_0x2a6eba);let _0x4687e5=0x0;for(const _0x1d77f1 of _0x21fb2f){try{await _0xafa0fb[_0x3199bb(0x1e0)](_0x1d77f1),_0x4687e5++;}catch(_0x192fbd){const _0x5e2f27=(_0x192fbd[_0x3199bb(0x13f)]||'')['toLowerCase'](),_0x4ad4bd=_0x5e2f27[_0x3199bb(0xfb)](_0x56c788['LxwBr'])||_0x5e2f27['includes'](_0x56c788[_0x3199bb(0x173)])||_0x5e2f27['includes'](_0x56c788[_0x3199bb(0x124)]);!_0x4ad4bd&&logger['warn']({'event':_0x3199bb(0x178),'error':_0x192fbd['message']},_0x3199bb(0x197)+_0x192fbd[_0x3199bb(0x13f)]);}}logger['info']({'event':_0x56c788[_0x3199bb(0x10c)],'dbType':_0x2a6eba,'executed':_0x4687e5},_0x3199bb(0x1fa)+_0x2a6eba+')');}['splitSqlStatements'](_0x692c02,_0x1feed4){const _0x2e7bd2={'ELisf':function(_0x170fe3,_0x21e79e){return _0x170fe3===_0x21e79e;}};let _0x4e4ae2;return _0x2e7bd2['ELisf'](_0x1feed4,'oracle')?_0x4e4ae2=_0x692c02['split'](/\n\/\s*(?:\n|$)/):_0x4e4ae2=_0x692c02['split'](/;\s*(?:\n|$)/),_0x4e4ae2['map'](_0x295340=>_0x295340['trim']())['filter'](_0x312027=>{const _0x3b7113=a0_0x55f7;if(_0x2e7bd2[_0x3b7113(0x13d)](_0x312027['length'],0x0))return![];const _0x584f05=_0x312027[_0x3b7113(0x198)]('\x0a')[_0x3b7113(0x172)](_0x56c3e2=>!_0x56c3e2[_0x3b7113(0x213)]()[_0x3b7113(0xf8)]('--')&&_0x56c3e2[_0x3b7113(0x213)]()[_0x3b7113(0x21f)]>0x0);return _0x584f05['length']>0x0;});}async[a0_0x155346(0xf6)](_0x619c2b,_0xf89007='online',_0x3acddc=null){const _0x174400=a0_0x155346,_0x249f02={'aKYNi':function(_0x37774f,_0x1469fe){return _0x37774f===_0x1469fe;},'PUKbR':_0x174400(0x14e),'LFpgm':_0x174400(0x1db)},_0x3e249b=this['getDbUtils']();if(!_0x3e249b)return;const _0x29581a=this['getDbType'](),_0x239bf0=[_0x619c2b[_0x174400(0x204)],_0x619c2b['description']||_0x619c2b['name'],_0x619c2b['type']||_0x174400(0x21b),_0x619c2b['schedule']||null,_0x619c2b['queue']||_0x174400(0x1d8),_0x619c2b['handler'],_0x619c2b['_sourceFile']||'',_0x619c2b[_0x174400(0xf2)]||0x7530,_0x619c2b['retry']?.['maxAttempts']||0x3,_0x619c2b[_0x174400(0x100)]?.['backoff']||_0x174400(0x14f),_0xf89007,_0x3acddc];try{if(_0x249f02[_0x174400(0x19c)](_0x29581a,_0x249f02['PUKbR']))await _0x3e249b[_0x174400(0x1e0)]('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)',_0x239bf0);else _0x29581a===_0x249f02['LFpgm']?await _0x3e249b[_0x174400(0x1e0)](_0x174400(0x1a9),_0x239bf0):await _0x3e249b['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()',_0x239bf0);}catch(_0x23a02c){logger[_0x174400(0x19e)]({'event':'job_registry_upsert_error','name':_0x619c2b['name'],'error':_0x23a02c[_0x174400(0x13f)]},'Failed\x20to\x20upsert\x20job\x20registry:\x20'+_0x619c2b['name']+_0x174400(0x125)+_0x23a02c['message']);}}async['insertJobHistory'](_0x127553){const _0x24d0f1=a0_0x155346,_0x539f1b={'tbACd':'cron','NyHEM':'oracle','DowSr':'running'},_0x4897ba=this[_0x24d0f1(0x188)]();if(!_0x4897ba)return;const _0x473ef9=this[_0x24d0f1(0x129)](),_0x3c1b9e=[_0x127553['id'],_0x127553['jobName'],_0x127553['bullmqJobId']||null,_0x127553['triggerType']||_0x539f1b[_0x24d0f1(0x135)],_0x127553['triggeredBy']||_0x24d0f1(0x1d6),_0x127553['queue']||_0x24d0f1(0x1d8),_0x127553['attempt']||0x1,_0x127553[_0x24d0f1(0x202)]||null,process[_0x24d0f1(0x20e)]];try{if(_0x473ef9===_0x539f1b['NyHEM'])await _0x4897ba[_0x24d0f1(0x1e0)]('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)',_0x3c1b9e);else _0x473ef9===_0x24d0f1(0x1db)?await _0x4897ba['executeQuery']('INSERT\x20INTO\x20job_history\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(id,\x20job_name,\x20bullmq_job_id,\x20trigger_type,\x20triggered_by,\x20status,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20queue,\x20attempt,\x20config_file,\x20started_at,\x20worker_pid,\x20created_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20\x27running\x27,\x20?,\x20?,\x20?,\x20NOW(),\x20?,\x20NOW())',_0x3c1b9e):await _0x4897ba['executeQuery'](_0x24d0f1(0x203),_0x3c1b9e);await this[_0x24d0f1(0x161)](_0x127553[_0x24d0f1(0x1da)],_0x539f1b[_0x24d0f1(0x1ce)]);}catch(_0x447189){logger['warn']({'event':_0x24d0f1(0x215),'jobName':_0x127553['jobName'],'error':_0x447189[_0x24d0f1(0x13f)]},_0x24d0f1(0x1c9)+_0x447189[_0x24d0f1(0x13f)]);}}async['updateJobHistoryCompleted'](_0x58e499,_0x5a7813,_0x141bc1){const _0x2474d8=a0_0x155346,_0x1b7bd6={'lxqUZ':function(_0x4893bb,_0xb1947b){return _0x4893bb(_0xb1947b);},'EcfOD':_0x2474d8(0x14e),'EDLXT':'job_history_complete_error'},_0x1fc187=this['getDbUtils']();if(!_0x1fc187)return;const _0x222707=this['getDbType'](),_0x231ca8=_0x141bc1?_0x1b7bd6[_0x2474d8(0x1b2)](String,_0x141bc1)[_0x2474d8(0x1a1)](0x0,0x1f4):null;try{if(_0x222707===_0x1b7bd6[_0x2474d8(0x13a)])await _0x1fc187['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',[_0x5a7813,_0x231ca8,_0x58e499]);else _0x222707===_0x2474d8(0x1db)?await _0x1fc187[_0x2474d8(0x1e0)](_0x2474d8(0x15e),[_0x5a7813,_0x231ca8,_0x58e499]):await _0x1fc187['executeQuery'](_0x2474d8(0x137),[_0x5a7813,_0x231ca8,_0x58e499]);}catch(_0x3c1dd2){logger[_0x2474d8(0x19e)]({'event':_0x1b7bd6['EDLXT'],'historyId':_0x58e499,'error':_0x3c1dd2['message']},_0x2474d8(0x10b)+_0x3c1dd2['message']);}}async[a0_0x155346(0x115)](_0x583359,_0x2fd11d,_0x5555a2,_0x373a2c,_0x15b120){const _0x2b2455=a0_0x155346,_0x52fdb5={'VACKE':function(_0x2131c2,_0x54acfa){return _0x2131c2(_0x54acfa);},'YBRTL':function(_0x3bbcf4,_0x2b0a8a){return _0x3bbcf4||_0x2b0a8a;},'wtCtt':function(_0x190082,_0x3ab3d3){return _0x190082===_0x3ab3d3;},'neqnI':'mysql','xlFnP':function(_0x1cfb5e,_0x38e244){return _0x1cfb5e||_0x38e244;},'VkvJY':'job_history_failed_error'},_0x513dfa=this[_0x2b2455(0x188)]();if(!_0x513dfa)return;const _0x5d2fc6=this['getDbType'](),_0x5e25ee=_0x373a2c?_0x52fdb5['VACKE'](String,_0x373a2c)['substring'](0x0,0x3e8):null,_0x4c3128=_0x15b120?_0x52fdb5[_0x2b2455(0x107)](String,_0x15b120)[_0x2b2455(0x1a1)](0x0,0xfa0):null;try{if(_0x5d2fc6==='oracle')await _0x513dfa['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',[_0x2fd11d,_0x52fdb5[_0x2b2455(0x17e)](_0x5555a2,0x0),_0x5e25ee,_0x4c3128,_0x583359]);else _0x52fdb5['wtCtt'](_0x5d2fc6,_0x52fdb5[_0x2b2455(0x167)])?await _0x513dfa[_0x2b2455(0x1e0)]('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?',[_0x2fd11d,_0x52fdb5['xlFnP'](_0x5555a2,0x0),_0x5e25ee,_0x4c3128,_0x583359]):await _0x513dfa[_0x2b2455(0x1e0)](_0x2b2455(0x168),[_0x2fd11d,_0x5555a2||0x0,_0x5e25ee,_0x4c3128,_0x583359]);}catch(_0x3fa5f4){logger[_0x2b2455(0x19e)]({'event':_0x52fdb5['VkvJY'],'historyId':_0x583359,'error':_0x3fa5f4['message']},_0x2b2455(0x1f2)+_0x3fa5f4['message']);}}async['updateRegistryStatus'](_0x5bed70,_0x5a8fa6){const _0x42742a=a0_0x155346,_0x670bf3={'lTpDu':function(_0xbe7246,_0x388fb7){return _0xbe7246===_0x388fb7;},'kbSwP':_0x42742a(0x14e)},_0x3e8197=this['getDbUtils']();if(!_0x3e8197)return;const _0x4279e2=this[_0x42742a(0x129)]();try{if(_0x670bf3['lTpDu'](_0x4279e2,_0x670bf3['kbSwP']))await _0x3e8197[_0x42742a(0x1e0)](_0x42742a(0xfd),[_0x5a8fa6,_0x5bed70]);else _0x670bf3['lTpDu'](_0x4279e2,'mysql')?await _0x3e8197[_0x42742a(0x1e0)]('UPDATE\x20job_registry\x20SET\x20last_status\x20=\x20?,\x20last_run_at\x20=\x20NOW()\x20WHERE\x20job_name\x20=\x20?',[_0x5a8fa6,_0x5bed70]):await _0x3e8197['executeQuery'](_0x42742a(0x148),[_0x5a8fa6,_0x5bed70]);}catch(_0x11b23c){}}async[a0_0x155346(0x139)](_0x177d22,_0xd61912,_0x535629,_0x46c718){const _0x4dda91=a0_0x155346,_0x10deaf={'ntJAl':function(_0x394cce,_0xf129fb){return _0x394cce===_0xf129fb;},'qlPbn':_0x4dda91(0x151),'RZPMa':_0x4dda91(0x186),'FrZjY':'oracle','HfkmA':function(_0x45b1a0,_0xf366aa){return _0x45b1a0===_0xf366aa;},'CuOcT':'mysql','vgTuq':_0x4dda91(0x156)},_0x51c5f0=this[_0x4dda91(0x188)]();if(!_0x51c5f0)return;const _0x32f0ea=this['getDbType'](),_0x3ef79b=_0x10deaf[_0x4dda91(0x14b)](_0xd61912,_0x10deaf['qlPbn'])?_0x4dda91(0x17f):_0x10deaf['RZPMa'];try{if(_0x32f0ea===_0x10deaf['FrZjY'])await _0x51c5f0[_0x4dda91(0x1e0)]('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'+_0x3ef79b+'\x20=\x20'+_0x3ef79b+'\x20+\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20:3,\x20updated_at\x20=\x20SYSTIMESTAMP\x20WHERE\x20job_name\x20=\x20:4',[_0xd61912,_0x535629,_0x46c718,_0x177d22]);else _0x10deaf[_0x4dda91(0x20d)](_0x32f0ea,_0x10deaf['CuOcT'])?await _0x51c5f0['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'+_0x3ef79b+'\x20=\x20'+_0x3ef79b+'\x20+\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20?\x20WHERE\x20job_name\x20=\x20?',[_0xd61912,_0x535629,_0x46c718,_0x177d22]):await _0x51c5f0[_0x4dda91(0x1e0)](_0x4dda91(0x1c4)+_0x3ef79b+_0x4dda91(0x1fd)+_0x3ef79b+'\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',[_0xd61912,_0x535629,_0x46c718,_0x177d22]);}catch(_0x27a81c){logger[_0x4dda91(0x19e)]({'event':_0x10deaf['vgTuq'],'jobName':_0x177d22,'error':_0x27a81c[_0x4dda91(0x13f)]},_0x4dda91(0x229)+_0x27a81c['message']);}}async[a0_0x155346(0x116)](_0x35e04b){const _0x22ef6a=a0_0x155346,_0x23067d={'HWUue':function(_0x3a7116,_0x386c6e){return _0x3a7116===_0x386c6e;}},_0x4b64c7=this[_0x22ef6a(0x200)][_0x35e04b];if(!_0x4b64c7||_0x4b64c7['type']!=='cron'||_0x23067d[_0x22ef6a(0x16e)](_0x4b64c7[_0x22ef6a(0x217)],![]))return null;const _0xecccc=this['queues'][_0x4b64c7[_0x22ef6a(0x1a4)]||'default'];if(!_0xecccc)return null;try{if(typeof _0xecccc[_0x22ef6a(0x177)]===_0x22ef6a(0x212)){const _0x4f7dd9=await _0xecccc['getJobSchedulers'](0x0,0x64),_0x458b69=_0x4f7dd9['find'](_0x141bb2=>_0x141bb2[_0x22ef6a(0x204)]===_0x35e04b);return _0x458b69?.[_0x22ef6a(0x1a2)]?new Date(_0x458b69[_0x22ef6a(0x1a2)]):null;}}catch(_0x55e58f){}return null;}async[a0_0x155346(0x1be)](){const _0x442a25=a0_0x155346,_0x53b3c7={'HKGFo':'oracle','eOAxC':function(_0x446525,_0x4e4579){return _0x446525===_0x4e4579;}},_0x38af95=this[_0x442a25(0x188)]();if(!_0x38af95)return;const _0x4a9ba2=this['getDbType']();try{if(_0x4a9ba2===_0x53b3c7[_0x442a25(0x14d)])await _0x38af95[_0x442a25(0x1e0)]('UPDATE\x20job_registry\x20SET\x20status\x20=\x20\x27offline\x27,\x20next_run_at\x20=\x20NULL,\x20updated_at\x20=\x20SYSTIMESTAMP');else _0x53b3c7['eOAxC'](_0x4a9ba2,_0x442a25(0x1db))?await _0x38af95[_0x442a25(0x1e0)]('UPDATE\x20job_registry\x20SET\x20status\x20=\x20\x27offline\x27,\x20next_run_at\x20=\x20NULL'):await _0x38af95['executeQuery'](_0x442a25(0x11a));}catch(_0x2cc5fb){logger['warn']({'event':'job_registry_offline_error','error':_0x2cc5fb[_0x442a25(0x13f)]},'Failed\x20to\x20set\x20jobs\x20offline:\x20'+_0x2cc5fb[_0x442a25(0x13f)]);}}[a0_0x155346(0x188)](){const _0x15bdeb=a0_0x155346,_0x1ec9dd={'DVYhs':'postgresql','UDIAH':_0x15bdeb(0x14e),'zrFtl':'../../utils/db-oracle','hBomN':'Oracle\x20DB\x20module\x20not\x20available','dyOoO':function(_0x49ca88,_0x453c16){return _0x49ca88(_0x453c16);},'sRVPH':_0x15bdeb(0x193),'cynku':_0x15bdeb(0x1a7),'ewOlQ':'db_pg_unavailable','XquFS':_0x15bdeb(0x1e7)},_0x11ee57=(process['env']['DB_TYPE']||_0x1ec9dd[_0x15bdeb(0x219)])[_0x15bdeb(0x120)]();if(_0x11ee57===_0x1ec9dd['UDIAH'])try{const _0x48af73=require(_0x1ec9dd['zrFtl']);return{'executeQuery':(_0x4618c,_0x4d2504)=>_0x48af73['executeQuery'](_0x4618c,_0x4d2504),'executeTransaction':_0x3469c3=>_0x48af73['executeTransaction'](_0x3469c3),'getPool':()=>_0x48af73[_0x15bdeb(0x201)]()};}catch(_0xf5a35d){return logger['warn']({'event':'db_oracle_unavailable'},_0x1ec9dd[_0x15bdeb(0x1cd)]),null;}if(_0x11ee57===_0x15bdeb(0x1db))try{const _0x54bcad=_0x1ec9dd[_0x15bdeb(0x170)](require,_0x1ec9dd[_0x15bdeb(0x162)]);return{'executeQuery':(_0x2a6c19,_0x188293)=>_0x54bcad['executeQuery'](_0x2a6c19,_0x188293),'executeTransaction':_0x3f59a7=>_0x54bcad['executeTransaction'](_0x3f59a7),'getPool':()=>_0x54bcad['getPool']()};}catch(_0x534658){return logger['warn']({'event':_0x1ec9dd['cynku']},'MySQL\x20DB\x20module\x20not\x20available'),null;}try{const _0x801cec=_0x1ec9dd['dyOoO'](require,'../../utils/db');return{'executeQuery':_0x801cec['executeQuery'],'executeTransaction':_0x801cec[_0x15bdeb(0x1c0)],'getPool':_0x801cec[_0x15bdeb(0x201)]};}catch(_0x5d2b8c){return logger['warn']({'event':_0x1ec9dd[_0x15bdeb(0x1b9)]},_0x1ec9dd['XquFS']),null;}}['getRedisClient'](){const _0x521551=a0_0x155346,_0x13938c={'UgXPQ':'../../utils/redis-client'};try{const _0x33f1e2=require(_0x13938c[_0x521551(0x113)]);return _0x33f1e2['getClient']?_0x33f1e2[_0x521551(0x20f)]():_0x33f1e2;}catch(_0x22d776){return null;}}['getKafkaService'](){const _0x4057c4=a0_0x155346,_0x5148cb={'FizPL':function(_0x497d66,_0x3ac90a){return _0x497d66===_0x3ac90a;},'NYoDC':_0x4057c4(0x194),'nmoFU':function(_0x2843a7,_0x1bd6ca){return _0x2843a7(_0x1bd6ca);}};try{if(_0x5148cb['FizPL'](process[_0x4057c4(0x1cf)]['KAFKA_ENABLED'],_0x5148cb['NYoDC'])){const _0x49e5e3=_0x5148cb['nmoFU'](require,'../../services/kafkaService');return _0x49e5e3['getInstance']?_0x49e5e3['getInstance']():_0x49e5e3;}}catch(_0x54eea5){}return null;}['getCacheManager'](){try{return require('../../utils/cache-manager');}catch(_0x514b3c){return null;}}async['dispatch'](_0x2fb925,_0x47b46b={}){const _0x1d3d92=a0_0x155346,_0xaa2b52={'cFDHX':'default','tQflL':'api','RKiFe':_0x1d3d92(0x14f)},_0x18f40d=this[_0x1d3d92(0x200)][_0x2fb925];if(!_0x18f40d)throw new Error('Job\x20not\x20found:\x20'+_0x2fb925);const _0x2e0ace=this['queues'][_0x18f40d['queue']||_0xaa2b52[_0x1d3d92(0x143)]],_0x2730c2=await _0x2e0ace[_0x1d3d92(0x1e8)](_0x2fb925,{..._0x47b46b,'handler':_0x18f40d[_0x1d3d92(0x1a5)],'triggeredBy':_0xaa2b52[_0x1d3d92(0x1c7)]},{'attempts':_0x18f40d[_0x1d3d92(0x100)]?.[_0x1d3d92(0x175)]||0x3,'backoff':{'type':_0x18f40d[_0x1d3d92(0x100)]?.[_0x1d3d92(0x130)]||_0xaa2b52[_0x1d3d92(0x1c5)],'delay':_0x18f40d[_0x1d3d92(0x100)]?.['initialDelay']||0x1388},'timeout':_0x18f40d[_0x1d3d92(0xf2)]||0x7530});return logger['info']({'event':_0x1d3d92(0x1d7),'jobId':_0x2730c2['id'],'name':_0x2fb925,'triggeredBy':_0x1d3d92(0x12f)},'Job\x20dispatched:\x20'+_0x2fb925+'\x20(id:\x20'+_0x2730c2['id']+')'),{'jobId':_0x2730c2['id'],'name':_0x2fb925};}async['dispatchDelayed'](_0x32a6ec,_0x99a2d={},_0x51904e=0x0){const _0x545514=a0_0x155346,_0x47f6f7={'zUzJC':_0x545514(0x150),'HSikT':_0x545514(0x174)},_0x49f6bb=this['jobConfigs'][_0x32a6ec];if(!_0x49f6bb)throw new Error('Job\x20not\x20found:\x20'+_0x32a6ec);const _0x49bf5e=this['queues'][_0x49f6bb[_0x545514(0x1a4)]||_0x545514(0x1d8)],_0x5155c4=await _0x49bf5e[_0x545514(0x1e8)](_0x32a6ec,{..._0x99a2d,'handler':_0x49f6bb[_0x545514(0x1a5)],'triggeredBy':_0x47f6f7[_0x545514(0x1af)]},{'delay':_0x51904e,'attempts':_0x49f6bb['retry']?.[_0x545514(0x175)]||0x3,'backoff':{'type':_0x49f6bb['retry']?.[_0x545514(0x130)]||_0x545514(0x14f),'delay':_0x49f6bb['retry']?.[_0x545514(0x228)]||0x1388},'timeout':_0x49f6bb[_0x545514(0xf2)]||0x7530});return logger[_0x545514(0x133)]({'event':_0x47f6f7['HSikT'],'jobId':_0x5155c4['id'],'name':_0x32a6ec,'delayMs':_0x51904e},_0x545514(0x18d)+_0x51904e+'ms):\x20'+_0x32a6ec+'\x20(id:\x20'+_0x5155c4['id']+')'),{'jobId':_0x5155c4['id'],'name':_0x32a6ec};}async[a0_0x155346(0x224)](_0xa26dac){const _0xad419f=a0_0x155346;for(const _0x31a5ad of Object[_0xad419f(0x12a)](this[_0xad419f(0x17c)])){const _0x3e23a0=await _0x31a5ad['getJob'](_0xa26dac);if(_0x3e23a0){const _0x4c4bb9=await _0x3e23a0[_0xad419f(0x13c)]();return{'jobId':_0x3e23a0['id'],'name':_0x3e23a0[_0xad419f(0x204)],'state':_0x4c4bb9,'progress':_0x3e23a0[_0xad419f(0x15c)],'attemptsMade':_0x3e23a0[_0xad419f(0x157)],'failedReason':_0x3e23a0['failedReason'],'returnvalue':_0x3e23a0[_0xad419f(0x16b)],'data':_0x3e23a0[_0xad419f(0x11c)],'timestamps':{'created':_0x3e23a0[_0xad419f(0xee)],'started':_0x3e23a0[_0xad419f(0x1ab)],'completed':_0x3e23a0['finishedOn']}};}}return null;}[a0_0x155346(0x221)](){const _0x17257e=a0_0x155346;return Object[_0x17257e(0x12a)](this['jobConfigs'])['map'](_0x3e7838=>({'name':_0x3e7838[_0x17257e(0x204)],'description':_0x3e7838['description']||'','type':_0x3e7838['type'],'schedule':_0x3e7838[_0x17257e(0xfa)],'handler':_0x3e7838[_0x17257e(0x1a5)],'enabled':_0x3e7838[_0x17257e(0x217)]!==![],'queue':_0x3e7838[_0x17257e(0x1a4)]||'default','timeout':_0x3e7838[_0x17257e(0xf2)]||0x7530,'retry':_0x3e7838[_0x17257e(0x100)]||{'maxAttempts':0x3,'backoff':'exponential','initialDelay':0x1388},'metadata':_0x3e7838[_0x17257e(0x185)]||{}}));}async['listRunning'](){const _0x5c06fa=a0_0x155346,_0x45aa5a={'yBvVR':'active'},_0x51a6bd=[];for(const [_0x23624d,_0x1a7663]of Object['entries'](this['queues'])){const _0x21184a=await _0x1a7663['getJobs']([_0x45aa5a['yBvVR']]);for(const _0xc4a9e2 of _0x21184a){_0x51a6bd['push']({'jobId':_0xc4a9e2['id'],'name':_0xc4a9e2[_0x5c06fa(0x204)],'queue':_0x23624d,'progress':_0xc4a9e2['progress'],'attemptsMade':_0xc4a9e2['attemptsMade'],'startedAt':_0xc4a9e2[_0x5c06fa(0x1ab)]});}}return _0x51a6bd;}async['getHistory'](_0x1c3513={}){const _0x35d2d3=a0_0x155346,_0x230e9d={'ETKiC':function(_0x115090,_0x38ec79){return _0x115090*_0x38ec79;},'cypqw':function(_0x4a8202,_0x45598a){return _0x4a8202-_0x45598a;},'RtqRq':'failed'},_0x505ab8=parseInt(_0x1c3513['page'],0xa)||0x1,_0x5815ed=Math[_0x35d2d3(0x206)](parseInt(_0x1c3513[_0x35d2d3(0x1bd)],0xa)||0x14,0x64),_0x4c85d5=_0x230e9d[_0x35d2d3(0x20b)](_0x230e9d['cypqw'](_0x505ab8,0x1),_0x5815ed),_0x43b6c7=_0x230e9d['cypqw'](_0x4c85d5+_0x5815ed,0x1),_0x105d64=[];for(const [_0x49eba4,_0x282214]of Object[_0x35d2d3(0x190)](this['queues'])){const _0x5cbf9e=await _0x282214[_0x35d2d3(0xef)]([_0x35d2d3(0x1f8)],_0x4c85d5,_0x43b6c7),_0x234d64=await _0x282214[_0x35d2d3(0xef)]([_0x230e9d[_0x35d2d3(0x1d0)]],_0x4c85d5,_0x43b6c7);for(const _0x2a829b of[..._0x5cbf9e,..._0x234d64]){const _0x552475=await _0x2a829b['getState']();_0x105d64['push']({'jobId':_0x2a829b['id'],'name':_0x2a829b['name'],'state':_0x552475,'queue':_0x49eba4,'attemptsMade':_0x2a829b[_0x35d2d3(0x157)],'failedReason':_0x2a829b['failedReason'],'returnvalue':_0x2a829b['returnvalue'],'timestamps':{'created':_0x2a829b[_0x35d2d3(0xee)],'started':_0x2a829b['processedOn'],'completed':_0x2a829b[_0x35d2d3(0x1d1)]}});}}return _0x105d64['sort']((_0x2e260b,_0x50f172)=>(_0x50f172[_0x35d2d3(0x149)]['created']||0x0)-(_0x2e260b[_0x35d2d3(0x149)][_0x35d2d3(0x13b)]||0x0)),{'jobs':_0x105d64['slice'](0x0,_0x5815ed),'total':_0x105d64[_0x35d2d3(0x21f)],'page':_0x505ab8,'limit':_0x5815ed};}async[a0_0x155346(0x18f)](_0x2c72e5){const _0x52fb3b=a0_0x155346,_0x381b2f={'vyfUj':_0x52fb3b(0x1e2),'qnzIf':function(_0x5cc343,_0x59c374){return _0x5cc343===_0x59c374;},'iwmdb':_0x52fb3b(0x104)};for(const _0x473968 of Object['values'](this[_0x52fb3b(0x17c)])){const _0x1873c8=await _0x473968['getJob'](_0x2c72e5);if(_0x1873c8){const _0x5be87d=await _0x1873c8['getState']();if(_0x5be87d===_0x381b2f[_0x52fb3b(0x1cc)])return await _0x1873c8[_0x52fb3b(0x18b)](new Error('Job\x20cancelled\x20via\x20API'),'api-cancel',!![]),{'success':!![],'message':_0x52fb3b(0x119)+_0x2c72e5+_0x52fb3b(0x136)};if(_0x381b2f[_0x52fb3b(0x12b)](_0x5be87d,_0x381b2f['iwmdb'])||_0x5be87d==='delayed')return await _0x1873c8[_0x52fb3b(0x1c3)](),{'success':!![],'message':'Job\x20'+_0x2c72e5+'\x20removed\x20(was\x20'+_0x5be87d+')'};return{'success':![],'message':'Job\x20'+_0x2c72e5+'\x20cannot\x20be\x20cancelled\x20(state:\x20'+_0x5be87d+')'};}}return{'success':![],'message':'Job\x20'+_0x2c72e5+_0x52fb3b(0x103)};}async['getHealthStatus'](){const _0x1534fc=a0_0x155346,_0x388c26={'uenhY':'active','LnBPo':'completed','ptzeC':'paused','iUjrK':'waiting'},_0x159a73={};for(const [_0x1bd2f1,_0x50b4fd]of Object[_0x1534fc(0x190)](this['queues'])){try{const _0x443f64=await _0x50b4fd[_0x1534fc(0x146)](_0x388c26[_0x1534fc(0x118)],_0x388c26['LnBPo'],'delayed',_0x1534fc(0x17b),_0x388c26['ptzeC'],_0x388c26['iUjrK']);_0x159a73[_0x1bd2f1]=_0x443f64;}catch(_0x3c62d9){_0x159a73[_0x1bd2f1]={'error':_0x3c62d9['message']};}}const _0x30e5b4={};for(const [_0x33cc4f,_0x4a24c]of Object[_0x1534fc(0x190)](this['workers'])){_0x30e5b4[_0x33cc4f]={'running':_0x4a24c['isRunning'](),'paused':_0x4a24c['isPaused']()};}return{'initialized':this['initialized'],'registeredJobs':Object[_0x1534fc(0xfe)](this[_0x1534fc(0x200)])['length'],'redisConnections':this['connections'][_0x1534fc(0x21f)],'queues':_0x159a73,'workers':_0x30e5b4};}async[a0_0x155346(0x127)](_0x56757c,_0x4b72ca){const _0x4f228f=a0_0x155346,_0x5073d1={'XCoAx':_0x4f228f(0x102),'EgvOm':'success','BuKJb':function(_0x9b6585){return _0x9b6585();},'KXMIE':_0x4f228f(0x1e9),'DqRgb':'JOB_COMPLETED','JKufi':'job-scheduler','sWEYW':'job_kafka_publish_error'},_0xca9475=logger['child']({'jobId':_0x56757c['id'],'jobName':_0x56757c[_0x4f228f(0x204)]});_0xca9475['info']({'event':'job_completed','attemptsMade':_0x56757c[_0x4f228f(0x157)],'duration':_0x56757c[_0x4f228f(0x1d1)]?_0x56757c['finishedOn']-_0x56757c['processedOn']:null},_0x4f228f(0x182)+_0x56757c['name']);const _0x51daed=this['activeHistoryIds']['get'](_0x56757c['id']);if(_0x51daed){if(_0x51daed[_0x4f228f(0x144)])await _0x51daed[_0x4f228f(0x144)];const _0x12a39d=_0x56757c[_0x4f228f(0x1d1)]&&_0x56757c['processedOn']?_0x56757c['finishedOn']-_0x56757c[_0x4f228f(0x1ab)]:null,_0x105c56=typeof _0x4b72ca==='string'?_0x4b72ca:_0x4b72ca?JSON[_0x4f228f(0x158)](_0x4b72ca)[_0x4f228f(0x1a1)](0x0,0x1f4):null;await this[_0x4f228f(0x223)](_0x51daed[_0x4f228f(0x15b)],_0x12a39d,_0x105c56);const _0x1faf63=await this['getNextRunFromBullMQ'](_0x56757c[_0x4f228f(0x204)]);await this['updateRegistryCounters'](_0x56757c['name'],_0x5073d1[_0x4f228f(0x21c)],_0x12a39d,_0x1faf63),this['activeHistoryIds']['delete'](_0x56757c['id']);}const _0x6a786a=_0x5073d1[_0x4f228f(0x109)](getComponentEngine);if(_0x6a786a&&typeof _0x6a786a['executeEventHandlers']==='function'){const _0x3c7c45={'jobId':_0x56757c['id'],'jobName':_0x56757c[_0x4f228f(0x204)],'result':_0x4b72ca,'config':this['jobConfigs'][_0x56757c[_0x4f228f(0x204)]]||{}};_0x6a786a['executeEventHandlers'](_0x5073d1[_0x4f228f(0x10e)],_0x3c7c45,![])[_0x4f228f(0x1bb)](_0x15bee7=>{const _0x2c8127=_0x4f228f;_0xca9475[_0x2c8127(0x19e)]({'event':_0x5073d1[_0x2c8127(0xf7)],'error':_0x15bee7[_0x2c8127(0x13f)]},_0x2c8127(0x220));});}const _0x166f07=this['getKafkaService']();if(_0x166f07)try{await _0x166f07['publishEvent']('restforge.jobs.completed',_0x5073d1[_0x4f228f(0x226)],null,{'jobId':_0x56757c['id'],'name':_0x56757c[_0x4f228f(0x204)],'result':_0x4b72ca},{'module':_0x5073d1[_0x4f228f(0x123)],'endpoint':_0x56757c['name']});}catch(_0x25e766){_0xca9475[_0x4f228f(0x19e)]({'event':_0x5073d1[_0x4f228f(0x19b)],'error':_0x25e766['message']},'Failed\x20to\x20publish\x20JOB_COMPLETED\x20to\x20Kafka');}}async[a0_0x155346(0x195)](_0x3258d4,_0x264bd5){const _0x2254a9=a0_0x155346,_0x59c3ca={'mfQzz':_0x2254a9(0x154),'ijbsc':_0x2254a9(0x10a),'WwRPX':function(_0x2de640,_0x35ef93){return _0x2de640<_0x35ef93;},'yGfrN':function(_0x458ea6,_0x2a548e){return _0x458ea6-_0x2a548e;},'CYaPb':_0x2254a9(0x17b),'nvNPb':function(_0x4aa7db,_0x27f34b){return _0x4aa7db===_0x27f34b;},'BKgqR':'job_kafka_publish_error','vIFjZ':_0x2254a9(0x11e)},_0x3a1bbf=logger['child']({'jobId':_0x3258d4['id'],'jobName':_0x3258d4['name']});_0x3a1bbf[_0x2254a9(0x1dc)]({'event':_0x59c3ca[_0x2254a9(0x19a)],'attemptsMade':_0x3258d4['attemptsMade'],'failedReason':_0x264bd5?.['message'],'willRetry':_0x59c3ca[_0x2254a9(0xfc)](_0x3258d4[_0x2254a9(0x157)],this[_0x2254a9(0x200)][_0x3258d4['name']]?.['retry']?.['maxAttempts']||0x3)},'Job\x20failed:\x20'+_0x3258d4[_0x2254a9(0x204)]+'\x20—\x20'+_0x264bd5?.[_0x2254a9(0x13f)]);const _0x539377=this['activeHistoryIds']['get'](_0x3258d4['id']);if(_0x539377){if(_0x539377[_0x2254a9(0x144)])await _0x539377[_0x2254a9(0x144)];const _0x404a34=_0x3258d4['finishedOn']&&_0x3258d4[_0x2254a9(0x1ab)]?_0x59c3ca[_0x2254a9(0x16f)](_0x3258d4['finishedOn'],_0x3258d4['processedOn']):null;await this[_0x2254a9(0x115)](_0x539377['historyId'],_0x404a34,_0x3258d4[_0x2254a9(0x15c)],_0x264bd5?.[_0x2254a9(0x13f)],_0x264bd5?.[_0x2254a9(0x214)]);const _0x4e3edb=await this[_0x2254a9(0x116)](_0x3258d4['name']);await this['updateRegistryCounters'](_0x3258d4['name'],_0x59c3ca[_0x2254a9(0x1b0)],_0x404a34,_0x4e3edb),this['activeHistoryIds']['delete'](_0x3258d4['id']);}const _0x2285d2=getComponentEngine();if(_0x2285d2&&_0x59c3ca[_0x2254a9(0x165)](typeof _0x2285d2[_0x2254a9(0x164)],'function')){const _0xead83b={'jobId':_0x3258d4['id'],'jobName':_0x3258d4[_0x2254a9(0x204)],'error':_0x264bd5?.[_0x2254a9(0x13f)],'attemptsMade':_0x3258d4[_0x2254a9(0x157)],'config':this[_0x2254a9(0x200)][_0x3258d4['name']]||{}};_0x2285d2['executeEventHandlers'](_0x2254a9(0x13e),_0xead83b,![])['catch'](_0x2544d4=>{const _0x5ea6b4=_0x2254a9;_0x3a1bbf['warn']({'event':_0x5ea6b4(0x19d),'error':_0x2544d4[_0x5ea6b4(0x13f)]},_0x59c3ca[_0x5ea6b4(0x1ca)]);});}const _0x5840ac=this[_0x2254a9(0x1a0)]();if(_0x5840ac)try{await _0x5840ac[_0x2254a9(0x227)](_0x2254a9(0x1b5),'JOB_FAILED',null,{'jobId':_0x3258d4['id'],'name':_0x3258d4[_0x2254a9(0x204)],'error':_0x264bd5?.[_0x2254a9(0x13f)],'attemptsMade':_0x3258d4['attemptsMade']},{'module':'job-scheduler','endpoint':_0x3258d4['name']});}catch(_0x335341){_0x3a1bbf['warn']({'event':_0x59c3ca[_0x2254a9(0x1a8)],'error':_0x335341[_0x2254a9(0x13f)]},_0x59c3ca['vIFjZ']);}}[a0_0x155346(0xf5)](_0x518c25,_0x37c641){const _0x36a9eb=a0_0x155346;logger['debug']({'event':_0x36a9eb(0x1c2),'jobId':_0x518c25['id'],'jobName':_0x518c25[_0x36a9eb(0x204)],'progress':_0x37c641},_0x36a9eb(0x187)+_0x518c25[_0x36a9eb(0x204)]+_0x36a9eb(0x125)+_0x37c641+'%');}}module['exports']=new JobManager();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x125832=a0_0x5490;(function(_0xac6108,_0x5e13c0){const _0x7a58cc=a0_0x5490,_0xbd2ddc=_0xac6108();while(!![]){try{const _0x52076f=-parseInt(_0x7a58cc(0x18a))/0x1+parseInt(_0x7a58cc(0x1c5))/0x2+-parseInt(_0x7a58cc(0x1b0))/0x3+-parseInt(_0x7a58cc(0x1bf))/0x4+-parseInt(_0x7a58cc(0x192))/0x5+-parseInt(_0x7a58cc(0x176))/0x6*(parseInt(_0x7a58cc(0x1c7))/0x7)+-parseInt(_0x7a58cc(0x182))/0x8*(-parseInt(_0x7a58cc(0x19e))/0x9);if(_0x52076f===_0x5e13c0)break;else _0xbd2ddc['push'](_0xbd2ddc['shift']());}catch(_0x56ac66){_0xbd2ddc['push'](_0xbd2ddc['shift']());}}}(a0_0x50b6,0x3cc4d));const express=require(a0_0x125832(0x1dc)),{Queue}=require('bullmq'),Redis=require(a0_0x125832(0x18d)),{logger}=require('../../utils/logger');let readConnection=null,readQueues=null,cachedJobConfigs=null;function a0_0x5490(_0x45bd4c,_0x26f51c){_0x45bd4c=_0x45bd4c-0x16e;const _0x50b6a2=a0_0x50b6();let _0x5490a0=_0x50b6a2[_0x45bd4c];if(a0_0x5490['wIfNLr']===undefined){var _0x3647c3=function(_0x1f1067){const _0x550164='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1183e3='',_0x148f12='';for(let _0x32c324=0x0,_0xed24d7,_0x2ea98c,_0x4c6ca7=0x0;_0x2ea98c=_0x1f1067['charAt'](_0x4c6ca7++);~_0x2ea98c&&(_0xed24d7=_0x32c324%0x4?_0xed24d7*0x40+_0x2ea98c:_0x2ea98c,_0x32c324++%0x4)?_0x1183e3+=String['fromCharCode'](0xff&_0xed24d7>>(-0x2*_0x32c324&0x6)):0x0){_0x2ea98c=_0x550164['indexOf'](_0x2ea98c);}for(let _0x564a4f=0x0,_0x110e63=_0x1183e3['length'];_0x564a4f<_0x110e63;_0x564a4f++){_0x148f12+='%'+('00'+_0x1183e3['charCodeAt'](_0x564a4f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x148f12);};a0_0x5490['cvyZGR']=_0x3647c3,a0_0x5490['ZzIIFE']={},a0_0x5490['wIfNLr']=!![];}const _0x5ac67f=_0x50b6a2[0x0],_0x1c0e48=_0x45bd4c+_0x5ac67f,_0x969b7d=a0_0x5490['ZzIIFE'][_0x1c0e48];return!_0x969b7d?(_0x5490a0=a0_0x5490['cvyZGR'](_0x5490a0),a0_0x5490['ZzIIFE'][_0x1c0e48]=_0x5490a0):_0x5490a0=_0x969b7d,_0x5490a0;}const QUEUE_NAMES={'high-priority':a0_0x125832(0x175),'default':'default','low-priority':a0_0x125832(0x1b9)};function a0_0x50b6(){const _0x3ebd03=['l3rYAwDNzxiVoMPVyK5HBwu','Cevwz2m','Bwv0ywrHDge','AgLNAa','mJyXntGYsKnSAg1x','zw52','uvrqCMy','BwLU','zgvZy3jPChrPB24','C2PSAw8','DgLTzxn0yw1W','rxjYB3iGz2v0DgLUzYbQB2iGC3rHDhvZ','DgLTzxn0yw1WCW','Cgf0Aa','l2nHBMnLBc86AM9Iswq','ihjLBw92zwqGkhDHCYa','ofrkB0ngyG','z2v0sM9Iq291BNrZ','qNHtwwK','sM9Iia','uuPQBgS','y3DK','CNryuvm','sM9IifjVDxrLCYbszwrPCYbLCNjVCJOG','ndaYnJeZCgLoB1rc','r0XntfO','zuX6t1q','Aw9YzwrPCW','CgfYC2u','DMfSDwvZ','z2v0','BgvUz3rO','odCXodK1BNzQsgHN','C2nOzwr1Bgu','zxjYB3i','z2v0u3rHDgu','AM9ICW','qwfjD2G','BwfW','l3f1zxvLCW','vvLUDNu','zMLUAxnOzwrpBG','D2fPDgLUzW','zMfPBgvKuMvHC29U','mti3nJuXndfdBgjRD3O','quHsue4','AgfUzgXLCG','zMfPBgvK','CMy6AM9I','Bwf4qxr0zw1WDhm','AM9Ix3f1zxvLC19LCNjVCG','AgvHBhrOEq','AM9Ix3rYAwDNzxjFzxjYB3i','CxvLDwu','z2v0sM9ICW','CgfYyw1Z','Aw5MBW','l2HPC3rVCNK','DhLWzq','zMLSDgvY','CgfNzq','y29UBMvJDgvK','mtm0mJG4mvvTEeLsvq','CLjkB2e','C2XPy2u','AM9Ix3jVDxrLC19YzwrPC19LCNjVCG','Dw5OzwfSDgH5','sM9Iici','DxrMoa','l3n0yxr1CY86AM9Iswq','y3jLyxrLza','Bg93','ihrYAwDNzxjLzcbZDwnJzxnZzNvSBhK','BMfTzq','uM91DgvY','rxjYB3iGz2v0DgLUzYbQB2iGAgLZDg9YEq','Cgf1C2vK','mtm2ndm4mgLQBxnkuG','yMfJA29MzG','uLzSy0K','C3rHDhvZ','zw5KC1DPDgG','zxHWB3j0CW','nty2otm2EvffsfHh','ChjVy2vZC2vKt24','mtrWsKfVA28','zw5HyMXLza','A2v5CW','rxjYB3iGBgLZDgLUzYbQB2jZ','zw50CMLLCW','Efnczw4','AM9Ix2XPC3rFzxjYB3i','s2Hwv1O','rxfIDva','Aw5PDgLHBerLBgf5','BwvZC2fNzq','ChvZAa','ywn0AxzL','CMvHzezPBgvtEw5J','Cg9ZDa','zxHPC3rZu3LUyW','yxr0zw1WDhnnywrL','zxHWB25LBNrPywW','uhjAEfC','ANnVBG','CxvLCNK','zxHWCMvZCW','ignHBMnLBgXLzcaOD2fZigfJDgL2zsK','CMv0CNK','Cgf5Bg9Hza','l2XPC3q','sM9IihrYAwDNzxjLzcb2AweGqvbjoIa','zgf0yq','DgLTzw91Da','AM9PBG'];a0_0x50b6=function(){return _0x3ebd03;};return a0_0x50b6();}function getReadQueues(){const _0x143826=a0_0x125832,_0x2039da={'QJjlk':_0x143826(0x1a2),'GLMLZ':_0x143826(0x194)};if(readQueues)return readQueues;const _0x38fc3e=process['env']['JOB_REDIS_PREFIX']||_0x2039da[_0x143826(0x186)];readConnection=new Redis({'host':process[_0x143826(0x177)]['REDIS_HOST']||'localhost','port':parseInt(process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process[_0x143826(0x177)]['REDIS_PASSWORD']||undefined,'db':parseInt(process['env']['REDIS_DB'],0xa)||0x0,'maxRetriesPerRequest':null}),readConnection['on'](_0x2039da[_0x143826(0x18b)],_0x22abbe=>{const _0x1cc10f=_0x143826;logger[_0x1cc10f(0x194)]({'event':_0x1cc10f(0x1b3),'error':_0x22abbe[_0x1cc10f(0x1d1)]},_0x1cc10f(0x189)+_0x22abbe[_0x1cc10f(0x1d1)]);}),readQueues={};for(const [_0x2e70c4,_0x208ae8]of Object['entries'](QUEUE_NAMES)){readQueues[_0x2e70c4]=new Queue(_0x208ae8,{'connection':readConnection,'prefix':_0x38fc3e});}return readQueues;}function createJobRoutes(_0x1088be){const _0x7c6178=a0_0x125832,_0x513af6={'OdtNi':'default','vJQQr':_0x7c6178(0x1cd),'AHRPN':_0x7c6178(0x1ca),'UYnvu':function(_0x198288){return _0x198288();},'xDORA':_0x7c6178(0x17d),'rRJoa':function(_0x15c7d2,_0x29ead1){return _0x15c7d2(_0x29ead1);},'AaIwh':'path','loVuC':_0x7c6178(0x1df),'CYNxY':_0x7c6178(0x196),'BxSYi':_0x7c6178(0x1d8),'PrZxW':'job_triggered_via_api','ktFjt':_0x7c6178(0x1a6),'EqbuP':'Error\x20triggering\x20job','QTPrf':function(_0x29132b,_0x2b6ee6){return _0x29132b===_0x2b6ee6;},'WcxsG':_0x7c6178(0x1d3),'sjlio':'Job\x20cancelled\x20via\x20API','RVlcI':_0x7c6178(0x19c),'BfetJ':'delayed','eLzOT':'job_cancel_error','QhNOy':function(_0x3af733,_0x41ca23){return _0x3af733*_0x41ca23;},'UguWM':'completed','rtXQS':_0x7c6178(0x1a1),'ySbAL':'job_history_error','gGLUp':_0x7c6178(0x1be),'xSBen':_0x7c6178(0x1a4),'LaGFj':'Error\x20getting\x20queue\x20stats','pEVgc':function(_0x2e6fa4){return _0x2e6fa4();},'KhVWZ':'degraded','tvedd':_0x7c6178(0x172),'xJBCd':_0x7c6178(0x199)},_0x2a2232=express[_0x7c6178(0x1bc)]();return _0x1088be&&Object[_0x7c6178(0x1c9)](_0x1088be)[_0x7c6178(0x191)]>0x0&&(cachedJobConfigs=_0x1088be),_0x2a2232['get'](_0x7c6178(0x1e0),(_0x1b76c0,_0x306168)=>{const _0x19dc32=_0x7c6178;try{if(cachedJobConfigs){const _0x35647e=Object['values'](cachedJobConfigs)[_0x19dc32(0x198)](_0x236799=>({'name':_0x236799[_0x19dc32(0x1bb)],'description':_0x236799[_0x19dc32(0x17a)]||'','type':_0x236799[_0x19dc32(0x1ac)],'schedule':_0x236799[_0x19dc32(0x193)],'handler':_0x236799[_0x19dc32(0x1a0)],'enabled':_0x236799[_0x19dc32(0x1c8)]!==![],'queue':_0x236799[_0x19dc32(0x1a7)]||'default','timeout':_0x236799['timeout']||0x7530,'retry':_0x236799['retry']||{'maxAttempts':0x3,'backoff':'exponential','initialDelay':0x1388},'metadata':_0x236799[_0x19dc32(0x174)]||{}}));return _0x306168['json']({'success':!![],'data':_0x35647e,'total':_0x35647e['length']});}const _0x1aab77=require('fs'),_0x108cd7=require(_0x19dc32(0x17f)),_0x3ffe99=_0x108cd7[_0x19dc32(0x171)](process[_0x19dc32(0x187)](),_0x19dc32(0x1df),_0x19dc32(0x196));if(!_0x1aab77[_0x19dc32(0x1d6)](_0x3ffe99))return _0x306168['json']({'success':!![],'data':[],'total':0x0});const _0x33e452=_0x1aab77['readdirSync'](_0x3ffe99)[_0x19dc32(0x1ad)](_0x367e7f=>_0x367e7f[_0x19dc32(0x1c3)]('.json')),_0x315cb4=[];for(const _0x3f509d of _0x33e452){try{const _0x6d448=_0x1aab77['readFileSync'](_0x108cd7['join'](_0x3ffe99,_0x3f509d),'utf8'),_0x41c6dc=JSON['parse'](_0x6d448);_0x315cb4[_0x19dc32(0x1d2)]({'name':_0x41c6dc['name'],'description':_0x41c6dc[_0x19dc32(0x17a)]||'','type':_0x41c6dc['type'],'schedule':_0x41c6dc['schedule'],'handler':_0x41c6dc[_0x19dc32(0x1a0)],'enabled':_0x41c6dc['enabled']!==![],'queue':_0x41c6dc[_0x19dc32(0x1a7)]||_0x513af6['OdtNi'],'timeout':_0x41c6dc['timeout']||0x7530,'retry':_0x41c6dc[_0x19dc32(0x1de)]||{},'metadata':_0x41c6dc[_0x19dc32(0x174)]||{}});}catch(_0x5059fe){}}_0x306168['json']({'success':!![],'data':_0x315cb4,'total':_0x315cb4[_0x19dc32(0x191)]});}catch(_0x343d8e){logger['error']({'event':_0x513af6['vJQQr'],'error':_0x343d8e['message']},_0x513af6[_0x19dc32(0x19f)]),_0x306168[_0x19dc32(0x1c2)](0x1f4)[_0x19dc32(0x1da)]({'success':![],'error':_0x343d8e['message']});}}),_0x2a2232[_0x7c6178(0x190)](_0x7c6178(0x1b7),async(_0x137ad1,_0x480da1)=>{const _0x2eaf8f=_0x7c6178;try{const {jobId:_0x584111}=_0x137ad1['params'],_0x51aac8=_0x513af6[_0x2eaf8f(0x19a)](getReadQueues);for(const _0x5da7cb of Object[_0x2eaf8f(0x18f)](_0x51aac8)){const _0x2d5507=await _0x5da7cb['getJob'](_0x584111);if(_0x2d5507){const _0x39b84a=await _0x2d5507[_0x2eaf8f(0x195)]();return _0x480da1[_0x2eaf8f(0x1da)]({'success':!![],'data':{'jobId':_0x2d5507['id'],'name':_0x2d5507[_0x2eaf8f(0x1bb)],'state':_0x39b84a,'progress':_0x2d5507['progress'],'attemptsMade':_0x2d5507['attemptsMade'],'failedReason':_0x2d5507[_0x2eaf8f(0x19d)],'returnvalue':_0x2d5507['returnvalue'],'data':_0x2d5507[_0x2eaf8f(0x16f)],'timestamps':{'created':_0x2d5507[_0x2eaf8f(0x17c)],'started':_0x2d5507[_0x2eaf8f(0x1c6)],'completed':_0x2d5507['finishedOn']}}});}}_0x480da1[_0x2eaf8f(0x1c2)](0x194)['json']({'success':![],'error':_0x2eaf8f(0x185)+_0x584111+'\x20tidak\x20ditemukan'});}catch(_0x3bf298){logger['error']({'event':'job_status_error','error':_0x3bf298['message']},_0x513af6['xDORA']),_0x480da1['status'](0x1f4)[_0x2eaf8f(0x1da)]({'success':![],'error':_0x3bf298['message']});}}),_0x2a2232['post'](_0x513af6['tvedd'],async(_0x418e62,_0x454fe0)=>{const _0x139ae6=_0x7c6178;try{const {jobName:_0x47f7af}=_0x418e62['params'],_0x4b4e56=_0x418e62['body']||{};let _0x308d07=cachedJobConfigs?.[_0x47f7af];if(!_0x308d07){const _0x37a1ca=_0x513af6['rRJoa'](require,'fs'),_0x1cc6f8=_0x513af6[_0x139ae6(0x1b1)](require,_0x513af6[_0x139ae6(0x197)]),_0x3ee4d3=_0x1cc6f8['join'](process['cwd'](),_0x513af6['loVuC'],_0x513af6['CYNxY']),_0x58e08f=_0x37a1ca['existsSync'](_0x3ee4d3)?_0x37a1ca['readdirSync'](_0x3ee4d3)[_0x139ae6(0x1ad)](_0x12a9c8=>_0x12a9c8['endsWith']('.json')):[];for(const _0x2794a4 of _0x58e08f){try{const _0x2773a2=_0x37a1ca[_0x139ae6(0x1d4)](_0x1cc6f8[_0x139ae6(0x171)](_0x3ee4d3,_0x2794a4),_0x139ae6(0x1b6)),_0x184c6f=JSON[_0x139ae6(0x18e)](_0x2773a2);if(_0x184c6f['name']===_0x47f7af){_0x308d07=_0x184c6f;break;}}catch(_0x345826){}}}if(!_0x308d07)return _0x454fe0[_0x139ae6(0x1c2)](0x194)[_0x139ae6(0x1da)]({'success':![],'error':_0x139ae6(0x1b5)+_0x47f7af+'\x22\x20tidak\x20ditemukan\x20di\x20konfigurasi'});const _0x35ce88=_0x513af6[_0x139ae6(0x19a)](getReadQueues),_0x2f38ce=_0x35ce88[_0x308d07['queue']||_0x513af6['OdtNi']],_0x504b4a=await _0x2f38ce['add'](_0x47f7af,{..._0x4b4e56,'handler':_0x308d07['handler'],'triggeredBy':'api'},{'attempts':_0x308d07[_0x139ae6(0x1de)]?.[_0x139ae6(0x1a3)]||0x3,'backoff':{'type':_0x308d07['retry']?.[_0x139ae6(0x1c0)]||_0x513af6[_0x139ae6(0x184)],'delay':_0x308d07['retry']?.[_0x139ae6(0x1d0)]||0x1388},'timeout':_0x308d07[_0x139ae6(0x170)]||0x7530});logger[_0x139ae6(0x1aa)]({'event':_0x513af6[_0x139ae6(0x1d9)],'jobId':_0x504b4a['id'],'name':_0x47f7af},_0x139ae6(0x16e)+_0x47f7af+'\x20(id:\x20'+_0x504b4a['id']+')'),_0x454fe0[_0x139ae6(0x1da)]({'success':!![],'jobId':_0x504b4a['id'],'message':_0x139ae6(0x185)+_0x47f7af+_0x139ae6(0x1ba)});}catch(_0x35b18c){logger['error']({'event':_0x513af6['ktFjt'],'error':_0x35b18c[_0x139ae6(0x1d1)]},_0x513af6[_0x139ae6(0x1cf)]),_0x454fe0[_0x139ae6(0x1c2)](0x1f4)[_0x139ae6(0x1da)]({'success':![],'error':_0x35b18c[_0x139ae6(0x1d1)]});}}),_0x2a2232[_0x7c6178(0x1d5)](_0x7c6178(0x180),async(_0x363492,_0x50cfb2)=>{const _0x57eaeb=_0x7c6178;try{const {jobId:_0x3f812b}=_0x363492[_0x57eaeb(0x1a9)],_0x19a864=_0x513af6['UYnvu'](getReadQueues);for(const _0xcf2e65 of Object['values'](_0x19a864)){const _0x212768=await _0xcf2e65['getJob'](_0x3f812b);if(_0x212768){const _0x334a2d=await _0x212768['getState']();if(_0x513af6[_0x57eaeb(0x178)](_0x334a2d,_0x513af6['WcxsG']))return await _0x212768['moveToFailed'](new Error(_0x513af6[_0x57eaeb(0x17b)]),'api-cancel',!![]),_0x50cfb2[_0x57eaeb(0x1da)]({'success':!![],'message':_0x57eaeb(0x185)+_0x3f812b+_0x57eaeb(0x1dd)});if(_0x334a2d===_0x513af6[_0x57eaeb(0x1c1)]||_0x334a2d===_0x513af6['BfetJ'])return await _0x212768['remove'](),_0x50cfb2['json']({'success':!![],'message':_0x57eaeb(0x185)+_0x3f812b+_0x57eaeb(0x181)+_0x334a2d+')'});return _0x50cfb2['json']({'success':![],'message':_0x57eaeb(0x185)+_0x3f812b+'\x20cannot\x20be\x20cancelled\x20(state:\x20'+_0x334a2d+')'});}}_0x50cfb2[_0x57eaeb(0x1c2)](0x194)[_0x57eaeb(0x1da)]({'success':![],'error':_0x57eaeb(0x185)+_0x3f812b+'\x20tidak\x20ditemukan'});}catch(_0x3500c6){logger[_0x57eaeb(0x194)]({'event':_0x513af6[_0x57eaeb(0x18c)],'error':_0x3500c6['message']},'Error\x20cancelling\x20job'),_0x50cfb2['status'](0x1f4)['json']({'success':![],'error':_0x3500c6['message']});}}),_0x2a2232['get'](_0x7c6178(0x1ab),async(_0x3af41f,_0x2d98fc)=>{const _0x44796b=_0x7c6178;try{const _0x20fd0c=parseInt(_0x3af41f[_0x44796b(0x1db)][_0x44796b(0x1ae)],0xa)||0x1,_0x5d3d5d=Math[_0x44796b(0x179)](parseInt(_0x3af41f[_0x44796b(0x1db)]['limit'],0xa)||0x14,0x64),_0x953b3=_0x513af6['QhNOy'](_0x20fd0c-0x1,_0x5d3d5d),_0x268916=_0x953b3+_0x5d3d5d-0x1,_0x42b9e5=getReadQueues(),_0x1c2fe0=[];for(const [_0x4575e6,_0x2d611a]of Object[_0x44796b(0x1cb)](_0x42b9e5)){const _0x338f36=await _0x2d611a[_0x44796b(0x1a8)]([_0x513af6['UguWM']],_0x953b3,_0x268916),_0x2ce299=await _0x2d611a['getJobs']([_0x513af6[_0x44796b(0x188)]],_0x953b3,_0x268916);for(const _0x1e396d of[..._0x338f36,..._0x2ce299]){const _0x1b2ba2=await _0x1e396d[_0x44796b(0x195)]();_0x1c2fe0['push']({'jobId':_0x1e396d['id'],'name':_0x1e396d['name'],'state':_0x1b2ba2,'queue':_0x4575e6,'attemptsMade':_0x1e396d[_0x44796b(0x1d7)],'failedReason':_0x1e396d[_0x44796b(0x19d)],'returnvalue':_0x1e396d['returnvalue'],'timestamps':{'created':_0x1e396d[_0x44796b(0x17c)],'started':_0x1e396d[_0x44796b(0x1c6)],'completed':_0x1e396d[_0x44796b(0x19b)]}});}}_0x1c2fe0['sort']((_0x5984a2,_0x577695)=>(_0x577695[_0x44796b(0x17e)][_0x44796b(0x1b8)]||0x0)-(_0x5984a2[_0x44796b(0x17e)]['created']||0x0)),_0x2d98fc[_0x44796b(0x1da)]({'success':!![],'data':_0x1c2fe0[_0x44796b(0x1b2)](0x0,_0x5d3d5d),'total':_0x1c2fe0['length'],'page':_0x20fd0c,'limit':_0x5d3d5d});}catch(_0x29398c){logger[_0x44796b(0x194)]({'event':_0x513af6['ySbAL'],'error':_0x29398c[_0x44796b(0x1d1)]},_0x44796b(0x1bd)),_0x2d98fc[_0x44796b(0x1c2)](0x1f4)[_0x44796b(0x1da)]({'success':![],'error':_0x29398c[_0x44796b(0x1d1)]});}}),_0x2a2232[_0x7c6178(0x190)](_0x513af6['xJBCd'],async(_0x1e4403,_0x5e7104)=>{const _0xeda74f=_0x7c6178;try{const _0xd4fe20=getReadQueues(),_0x1961a9={};for(const [_0x5de26c,_0x57c45e]of Object[_0xeda74f(0x1cb)](_0xd4fe20)){try{const _0x2c7aad=await _0x57c45e['getJobCounts'](_0x513af6['WcxsG'],'completed',_0x513af6['BfetJ'],_0x513af6[_0xeda74f(0x188)],_0x513af6['gGLUp'],_0x513af6[_0xeda74f(0x1c1)]);_0x1961a9[_0x5de26c]=_0x2c7aad;}catch(_0x28e2ed){_0x1961a9[_0x5de26c]={'error':_0x28e2ed[_0xeda74f(0x1d1)]};}}_0x5e7104[_0xeda74f(0x1da)]({'success':!![],'data':_0x1961a9});}catch(_0x49e514){logger[_0xeda74f(0x194)]({'event':_0x513af6[_0xeda74f(0x1cc)],'error':_0x49e514[_0xeda74f(0x1d1)]},_0x513af6['LaGFj']),_0x5e7104['status'](0x1f4)['json']({'success':![],'error':_0x49e514['message']});}}),_0x2a2232[_0x7c6178(0x190)]('/health',async(_0x3a98a5,_0x58be22)=>{const _0x2896c7=_0x7c6178;try{const _0x204eea=_0x513af6[_0x2896c7(0x173)](getReadQueues),_0x381c2c={};let _0x400ca7=![];for(const [_0x66359c,_0x24c118]of Object['entries'](_0x204eea)){try{const _0x5d191b=await _0x24c118[_0x2896c7(0x183)](_0x513af6['WcxsG'],_0x513af6[_0x2896c7(0x1c1)],_0x513af6['rtXQS']);_0x381c2c[_0x66359c]=_0x5d191b,_0x400ca7=!![];}catch(_0x5c5603){_0x381c2c[_0x66359c]={'error':_0x5c5603[_0x2896c7(0x1d1)]};}}let _0xe64558=0x0;cachedJobConfigs&&(_0xe64558=Object[_0x2896c7(0x1c9)](cachedJobConfigs)['length']),_0x58be22['json']({'success':!![],'data':{'status':_0x400ca7?_0x2896c7(0x1a5):_0x513af6[_0x2896c7(0x1ce)],'redis':_0x400ca7?_0x2896c7(0x1af):'disconnected','registeredJobs':_0xe64558,'queues':_0x381c2c}});}catch(_0x26c33d){_0x58be22[_0x2896c7(0x1c2)](0x1f7)['json']({'success':![],'data':{'status':_0x2896c7(0x1b4),'error':_0x26c33d['message']}});}}),_0x2a2232;}module[a0_0x125832(0x1c4)]=createJobRoutes;
|
|
1
|
+
const a0_0x35fcbd=a0_0x34ac;function a0_0xaa00(){const _0x107c59=['y29UBMvJDgvK','yxbP','Bwv0ywrHDge','CxvLCNK','AM9Ix3rYAwDNzxjFzxjYB3i','ihjLBw92zwqGkhDHCYa','BwvZC2fNzq','ihrPzgfRigrPDgvTDwTHBG','y29TCgXLDgvK','zxHWB25LBNrPywW','vNnsu2W','CMv0CNK','Cg9ZDa','CxvLDwu','CMvHzgrPCLn5BMm','otmWmdbpBxLNsvm','C3rHDhvZ','AM9Ix3f1zxvLC19LCNjVCG','zMLSDgvY','C29YDa','Aw5PDgLHBerLBgf5','z2v0sM9Iq291BNrZ','mtyXnvzMqNnZuq','Aw5MBW','yxr0zw1WDhnnywrL','ANnVBG','zMfPBgvKuMvHC29U','ywrK','DNfpwNG','zxjYB3i','zMfPBgvK','AM9PBG','CMvHzezPBgvtEw5J','DMfSDwvZ','yM9KEq','zgvMyxvSDa','zw52','z2v0sM9I','yNvSBg1X','uwTmsMG','mteWmti1oe9Xs0jgqG','mJaWvfrnzg5h','AgvHBhrOEq','BgvUz3rO','z2v0sM9ICW','vgvZEve','rxjYB3iGBgLZDgLUzYbQB2jZ','mtK5mdq2ngHcD1Lpua','CK11z2y','rfrzBxy','zw5KC1DPDgG','DhLWzq','DgLTzxn0yw1WCW','y3jLyxrLza','Bg93','uKvesvnFse9tva','DwjYq3C','Bw92zvrVrMfPBgvK','ihrYAwDNzxjLzcbZDwnJzxnZzNvSBhK','zgvZy3jPChrPB24','rxjYB3iGDhjPz2DLCMLUzYbQB2i','wNLHrwi','A2fUDMe','BwfW','zMLUAxnOzwrpBG','zLfZExC','CgfYyw1Z','l3n0yxr1CY86AM9Iswq','AM9Ix2nHBMnLBf9LCNjVCG','ndiZmKXptu9ttG','mZuYodzjzwDWB04','AgfUzgXLCG','BMfTzq','zxHPC3rZu3LUyW','D0PysNy','uKvesvnFueftu1DpuKq','ywn0AxzL','zhL6wLC','z2v0','z0rerLK','Bg9JywXOB3n0','Bwf4qxr0zw1WDhm','ignHBM5VDcbIzsbJyw5JzwXSzwqGkhn0yxrLoIa','C2XPy2u','sM9IignHBMnLBgXLzcb2AweGqvbj','uM91DgvY','yMfJA29MzG','lI4VlI4VDxrPBhmVBg9Nz2vY','ndm4mZu0EKfSvfnH','ignHBMnLBgXLzcaOD2fZigfJDgL2zsK','rxjYB3iGy2fUy2vSBgLUzYbQB2i','Cgf1C2vK','CMy6AM9I','DgLTzw91Da','mtCZmZm1zLbWDNHp','A2v5CW','BwLU','zw50CMLLCW','l2HLywX0Aa','sM9Iia'];a0_0xaa00=function(){return _0x107c59;};return a0_0xaa00();}(function(_0x350e1d,_0x48c23d){const _0x3035ae=a0_0x34ac,_0x41935c=_0x350e1d();while(!![]){try{const _0x48a959=-parseInt(_0x3035ae(0x17e))/0x1+-parseInt(_0x3035ae(0x12f))/0x2+-parseInt(_0x3035ae(0x166))/0x3+parseInt(_0x3035ae(0x165))/0x4*(-parseInt(_0x3035ae(0x136))/0x5)+-parseInt(_0x3035ae(0x148))/0x6+-parseInt(_0x3035ae(0x14f))/0x7+-parseInt(_0x3035ae(0x149))/0x8*(-parseInt(_0x3035ae(0x178))/0x9);if(_0x48a959===_0x48c23d)break;else _0x41935c['push'](_0x41935c['shift']());}catch(_0x23ae5f){_0x41935c['push'](_0x41935c['shift']());}}}(a0_0xaa00,0x2b128));const express=require('express'),{Queue}=require(a0_0x35fcbd(0x146)),Redis=require('ioredis'),{logger}=require(a0_0x35fcbd(0x177));function a0_0x34ac(_0xf61bbf,_0x2021b7){_0xf61bbf=_0xf61bbf-0x122;const _0xaa00ba=a0_0xaa00();let _0x34ac97=_0xaa00ba[_0xf61bbf];if(a0_0x34ac['LxyPpY']===undefined){var _0x206441=function(_0x52150d){const _0x409095='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4f01c4='',_0x55fe70='';for(let _0x3a81c6=0x0,_0x19fe1c,_0x513e68,_0xcedd2=0x0;_0x513e68=_0x52150d['charAt'](_0xcedd2++);~_0x513e68&&(_0x19fe1c=_0x3a81c6%0x4?_0x19fe1c*0x40+_0x513e68:_0x513e68,_0x3a81c6++%0x4)?_0x4f01c4+=String['fromCharCode'](0xff&_0x19fe1c>>(-0x2*_0x3a81c6&0x6)):0x0){_0x513e68=_0x409095['indexOf'](_0x513e68);}for(let _0x10623c=0x0,_0x70dace=_0x4f01c4['length'];_0x10623c<_0x70dace;_0x10623c++){_0x55fe70+='%'+('00'+_0x4f01c4['charCodeAt'](_0x10623c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x55fe70);};a0_0x34ac['NmvKzS']=_0x206441,a0_0x34ac['MkDfCF']={},a0_0x34ac['LxyPpY']=!![];}const _0x200115=_0xaa00ba[0x0],_0x2cc613=_0xf61bbf+_0x200115,_0x321a69=a0_0x34ac['MkDfCF'][_0x2cc613];return!_0x321a69?(_0x34ac97=a0_0x34ac['NmvKzS'](_0x34ac97),a0_0x34ac['MkDfCF'][_0x2cc613]=_0x34ac97):_0x34ac97=_0x321a69,_0x34ac97;}let readConnection=null,readQueues=null,cachedJobConfigs=null;const QUEUE_NAMES={'high-priority':'high','default':'default','low-priority':a0_0x35fcbd(0x156)};function getReadQueues(){const _0x36a92f=a0_0x35fcbd,_0x25d445={'gDDFY':_0x36a92f(0x17c),'ubrCw':_0x36a92f(0x170),'VsRSl':function(_0x27fdaa,_0x44495c,_0x2633fd){return _0x27fdaa(_0x44495c,_0x2633fd);}};if(readQueues)return readQueues;const _0x59b895=process[_0x36a92f(0x144)]['JOB_REDIS_PREFIX']||_0x25d445[_0x36a92f(0x16f)];readConnection=new Redis({'host':process[_0x36a92f(0x144)][_0x36a92f(0x157)]||_0x25d445[_0x36a92f(0x158)],'port':_0x25d445[_0x36a92f(0x12a)](parseInt,process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process['env'][_0x36a92f(0x16b)]||undefined,'db':parseInt(process[_0x36a92f(0x144)]['REDIS_DB'],0xa)||0x0,'maxRetriesPerRequest':null}),readConnection['on']('error',_0x5ca401=>{const _0xd9dfaf=_0x36a92f;logger[_0xd9dfaf(0x13d)]({'event':'job_routes_redis_error','error':_0x5ca401['message']},'Job\x20Routes\x20Redis\x20error:\x20'+_0x5ca401['message']);}),readQueues={};for(const [_0x2a3f9a,_0x3f5af9]of Object['entries'](QUEUE_NAMES)){readQueues[_0x2a3f9a]=new Queue(_0x3f5af9,{'connection':readConnection,'prefix':_0x59b895});}return readQueues;}function createJobRoutes(_0xc0190b){const _0x2e0a99=a0_0x35fcbd,_0x434cc5={'dyzZW':function(_0x3441b4,_0x2ccdc7){return _0x3441b4(_0x2ccdc7);},'tEBta':'jobs','kanva':'utf8','rMugf':'job_list_error','cWdoK':function(_0x546ea7){return _0x546ea7();},'qnpNU':'job_status_error','TesyQ':'Error\x20getting\x20job\x20status','MVAOD':function(_0x377149,_0x27d596){return _0x377149(_0x27d596);},'wJXJv':'payload','LRNMW':_0x2e0a99(0x185),'CjbZq':_0x2e0a99(0x15c),'lxtrT':'active','nLRZu':'api-cancel','qDCUw':function(_0x4c168c,_0x183f8f){return _0x4c168c===_0x183f8f;},'copFs':'delayed','WAMHs':_0x2e0a99(0x164),'vqOZx':function(_0x4e00f6,_0x3d93a6){return _0x4e00f6*_0x3d93a6;},'ZyaEb':function(_0xdb44e4,_0x125ec0){return _0xdb44e4-_0x125ec0;},'TKbuT':function(_0x4a2a8b){return _0x4a2a8b();},'fQsyw':_0x2e0a99(0x128),'DTYmv':_0x2e0a99(0x13e),'hucxf':function(_0x3a5822){return _0x3a5822();},'QkLJh':_0x2e0a99(0x14a),'wHCQz':_0x2e0a99(0x163),'hpCLy':'/cancel/:jobId','dLtuS':'/queues'},_0x310ef0=express[_0x2e0a99(0x175)]();return _0xc0190b&&Object[_0x2e0a99(0x17f)](_0xc0190b)['length']>0x0&&(cachedJobConfigs=_0xc0190b),_0x310ef0['get']('/list',(_0x37b425,_0x2bd9d0)=>{const _0x1ee93b=_0x2e0a99;try{if(cachedJobConfigs){const _0x5ba80a=Object[_0x1ee93b(0x141)](cachedJobConfigs)[_0x1ee93b(0x15f)](_0x23809b=>({'name':_0x23809b['name'],'description':_0x23809b['description']||'','type':_0x23809b['type'],'schedule':_0x23809b['schedule'],'handler':_0x23809b[_0x1ee93b(0x167)],'enabled':_0x23809b['enabled']!==![],'queue':_0x23809b[_0x1ee93b(0x12d)]||'default','timeout':_0x23809b['timeout']||0x7530,'retry':_0x23809b['retry']||{'maxAttempts':0x3,'backoff':_0x1ee93b(0x129),'initialDelay':0x1388},'metadata':_0x23809b['metadata']||{}}));return _0x2bd9d0[_0x1ee93b(0x139)]({'success':!![],'data':_0x5ba80a,'total':_0x5ba80a[_0x1ee93b(0x14b)]});}const _0x267c04=require('fs'),_0x4699fc=_0x434cc5[_0x1ee93b(0x16d)](require,'path'),_0x3ed16b=_0x4699fc[_0x1ee93b(0x13f)](process['cwd'](),'payload',_0x434cc5['tEBta']);if(!_0x267c04['existsSync'](_0x3ed16b))return _0x2bd9d0[_0x1ee93b(0x139)]({'success':!![],'data':[],'total':0x0});const _0x3692ff=_0x267c04['readdirSync'](_0x3ed16b)[_0x1ee93b(0x132)](_0x23cf19=>_0x23cf19[_0x1ee93b(0x152)]('.json')),_0x43fa98=[];for(const _0x1fc4c9 of _0x3692ff){try{const _0x223a87=_0x267c04[_0x1ee93b(0x140)](_0x4699fc[_0x1ee93b(0x13f)](_0x3ed16b,_0x1fc4c9),_0x434cc5['kanva']),_0x27a657=JSON['parse'](_0x223a87);_0x43fa98['push']({'name':_0x27a657['name'],'description':_0x27a657[_0x1ee93b(0x15b)]||'','type':_0x27a657[_0x1ee93b(0x153)],'schedule':_0x27a657['schedule'],'handler':_0x27a657[_0x1ee93b(0x167)],'enabled':_0x27a657['enabled']!==![],'queue':_0x27a657['queue']||_0x1ee93b(0x143),'timeout':_0x27a657[_0x1ee93b(0x17d)]||0x7530,'retry':_0x27a657[_0x1ee93b(0x12b)]||{},'metadata':_0x27a657[_0x1ee93b(0x122)]||{}});}catch(_0x1cf74e){}}_0x2bd9d0[_0x1ee93b(0x139)]({'success':!![],'data':_0x43fa98,'total':_0x43fa98['length']});}catch(_0x2d893b){logger[_0x1ee93b(0x13d)]({'event':_0x434cc5[_0x1ee93b(0x150)],'error':_0x2d893b[_0x1ee93b(0x126)]},_0x1ee93b(0x14e)),_0x2bd9d0[_0x1ee93b(0x130)](0x1f4)['json']({'success':![],'error':_0x2d893b[_0x1ee93b(0x126)]});}}),_0x310ef0[_0x2e0a99(0x16e)](_0x434cc5['wHCQz'],async(_0x36b193,_0x1f15a7)=>{const _0xe3ed79=_0x2e0a99;try{const {jobId:_0x4b0d04}=_0x36b193[_0xe3ed79(0x162)],_0x205326=_0x434cc5['cWdoK'](getReadQueues);for(const _0x55567c of Object[_0xe3ed79(0x141)](_0x205326)){const _0x2a64d8=await _0x55567c[_0xe3ed79(0x145)](_0x4b0d04);if(_0x2a64d8){const _0x5e7ae4=await _0x2a64d8['getState']();return _0x1f15a7['json']({'success':!![],'data':{'jobId':_0x2a64d8['id'],'name':_0x2a64d8['name'],'state':_0x5e7ae4,'progress':_0x2a64d8['progress'],'attemptsMade':_0x2a64d8['attemptsMade'],'failedReason':_0x2a64d8[_0xe3ed79(0x13a)],'returnvalue':_0x2a64d8['returnvalue'],'data':_0x2a64d8['data'],'timestamps':{'created':_0x2a64d8['timestamp'],'started':_0x2a64d8['processedOn'],'completed':_0x2a64d8[_0xe3ed79(0x160)]}}});}}_0x1f15a7[_0xe3ed79(0x130)](0x194)['json']({'success':![],'error':'Job\x20'+_0x4b0d04+_0xe3ed79(0x127)});}catch(_0x455d98){logger['error']({'event':_0x434cc5['qnpNU'],'error':_0x455d98['message']},_0x434cc5[_0xe3ed79(0x14d)]),_0x1f15a7['status'](0x1f4)['json']({'success':![],'error':_0x455d98['message']});}}),_0x310ef0[_0x2e0a99(0x12c)]('/trigger/:jobName',async(_0x386e7d,_0x28f3e6)=>{const _0x261d93=_0x2e0a99;try{const {jobName:_0x3bc435}=_0x386e7d['params'],_0x1a76e6=_0x386e7d[_0x261d93(0x142)]||{};let _0x306c16=cachedJobConfigs?.[_0x3bc435];if(!_0x306c16){const _0x33e63f=require('fs'),_0x1a0816=_0x434cc5['MVAOD'](require,'path'),_0x420502=_0x1a0816['join'](process['cwd'](),_0x434cc5[_0x261d93(0x16a)],_0x434cc5['tEBta']),_0x14cb52=_0x33e63f[_0x261d93(0x169)](_0x420502)?_0x33e63f[_0x261d93(0x12e)](_0x420502)['filter'](_0x54dd03=>_0x54dd03[_0x261d93(0x152)]('.json')):[];for(const _0x5d1a6d of _0x14cb52){try{const _0x46aa54=_0x33e63f['readFileSync'](_0x1a0816['join'](_0x420502,_0x5d1a6d),_0x434cc5[_0x261d93(0x15e)]),_0x284778=JSON['parse'](_0x46aa54);if(_0x284778[_0x261d93(0x168)]===_0x3bc435){_0x306c16=_0x284778;break;}}catch(_0x2798dc){}}}if(!_0x306c16)return _0x28f3e6[_0x261d93(0x130)](0x194)[_0x261d93(0x139)]({'success':![],'error':'Job\x20\x22'+_0x3bc435+'\x22\x20tidak\x20ditemukan\x20di\x20konfigurasi'});const _0x3ff65e=getReadQueues(),_0x4cc4a4=_0x3ff65e[_0x306c16['queue']||_0x261d93(0x143)],_0x4f5dd1=await _0x4cc4a4[_0x261d93(0x13b)](_0x3bc435,{..._0x1a76e6,'handler':_0x306c16['handler'],'triggeredBy':_0x434cc5['LRNMW']},{'attempts':_0x306c16[_0x261d93(0x12b)]?.[_0x261d93(0x171)]||0x3,'backoff':{'type':_0x306c16[_0x261d93(0x12b)]?.[_0x261d93(0x176)]||'exponential','delay':_0x306c16[_0x261d93(0x12b)]?.[_0x261d93(0x134)]||0x1388},'timeout':_0x306c16[_0x261d93(0x17d)]||0x7530});logger[_0x261d93(0x137)]({'event':'job_triggered_via_api','jobId':_0x4f5dd1['id'],'name':_0x3bc435},'Job\x20triggered\x20via\x20API:\x20'+_0x3bc435+'\x20(id:\x20'+_0x4f5dd1['id']+')'),_0x28f3e6['json']({'success':!![],'jobId':_0x4f5dd1['id'],'message':'Job\x20'+_0x3bc435+_0x261d93(0x15a)});}catch(_0x468812){logger[_0x261d93(0x13d)]({'event':_0x261d93(0x124),'error':_0x468812[_0x261d93(0x126)]},_0x434cc5['CjbZq']),_0x28f3e6['status'](0x1f4)[_0x261d93(0x139)]({'success':![],'error':_0x468812[_0x261d93(0x126)]});}}),_0x310ef0[_0x2e0a99(0x12c)](_0x434cc5['hpCLy'],async(_0x384907,_0x34b946)=>{const _0x50817d=_0x2e0a99;try{const {jobId:_0x22a889}=_0x384907['params'],_0x14a5ed=getReadQueues();for(const _0x535fdc of Object['values'](_0x14a5ed)){const _0x5df088=await _0x535fdc[_0x50817d(0x145)](_0x22a889);if(_0x5df088){const _0x57229f=await _0x5df088['getState']();if(_0x57229f===_0x434cc5['lxtrT'])return await _0x5df088[_0x50817d(0x159)](new Error(_0x50817d(0x174)),_0x434cc5['nLRZu'],!![]),_0x34b946['json']({'success':!![],'message':'Job\x20'+_0x22a889+_0x50817d(0x179)});if(_0x57229f==='waiting'||_0x434cc5['qDCUw'](_0x57229f,_0x434cc5['copFs']))return await _0x5df088['remove'](),_0x34b946[_0x50817d(0x139)]({'success':!![],'message':_0x50817d(0x183)+_0x22a889+_0x50817d(0x125)+_0x57229f+')'});return _0x34b946[_0x50817d(0x139)]({'success':![],'message':_0x50817d(0x183)+_0x22a889+_0x50817d(0x172)+_0x57229f+')'});}}_0x34b946[_0x50817d(0x130)](0x194)['json']({'success':![],'error':_0x50817d(0x183)+_0x22a889+_0x50817d(0x127)});}catch(_0x4af024){logger[_0x50817d(0x13d)]({'event':_0x434cc5['WAMHs'],'error':_0x4af024[_0x50817d(0x126)]},_0x50817d(0x17a)),_0x34b946[_0x50817d(0x130)](0x1f4)['json']({'success':![],'error':_0x4af024[_0x50817d(0x126)]});}}),_0x310ef0['get']('/history',async(_0x8e8c1e,_0x27103b)=>{const _0x179b0e=_0x2e0a99;try{const _0x40ab3d=parseInt(_0x8e8c1e[_0x179b0e(0x123)]['page'],0xa)||0x1,_0x4980c6=Math[_0x179b0e(0x180)](parseInt(_0x8e8c1e['query']['limit'],0xa)||0x14,0x64),_0xdb6e58=_0x434cc5[_0x179b0e(0x13c)](_0x40ab3d-0x1,_0x4980c6),_0x4740dc=_0x434cc5[_0x179b0e(0x15d)](_0xdb6e58+_0x4980c6,0x1),_0x411732=_0x434cc5['TKbuT'](getReadQueues),_0x267618=[];for(const [_0x1cfaaf,_0x287537]of Object[_0x179b0e(0x181)](_0x411732)){const _0xa66164=await _0x287537[_0x179b0e(0x14c)]([_0x179b0e(0x128)],_0xdb6e58,_0x4740dc),_0x4e7f31=await _0x287537['getJobs'](['failed'],_0xdb6e58,_0x4740dc);for(const _0x254ad9 of[..._0xa66164,..._0x4e7f31]){const _0x13cbda=await _0x254ad9['getState']();_0x267618['push']({'jobId':_0x254ad9['id'],'name':_0x254ad9['name'],'state':_0x13cbda,'queue':_0x1cfaaf,'attemptsMade':_0x254ad9[_0x179b0e(0x138)],'failedReason':_0x254ad9['failedReason'],'returnvalue':_0x254ad9['returnvalue'],'timestamps':{'created':_0x254ad9['timestamp'],'started':_0x254ad9['processedOn'],'completed':_0x254ad9['finishedOn']}});}}_0x267618[_0x179b0e(0x133)]((_0x3a557e,_0x3edc5e)=>(_0x3edc5e[_0x179b0e(0x154)]['created']||0x0)-(_0x3a557e[_0x179b0e(0x154)][_0x179b0e(0x155)]||0x0)),_0x27103b['json']({'success':!![],'data':_0x267618[_0x179b0e(0x173)](0x0,_0x4980c6),'total':_0x267618['length'],'page':_0x40ab3d,'limit':_0x4980c6});}catch(_0x29b29e){logger[_0x179b0e(0x13d)]({'event':'job_history_error','error':_0x29b29e['message']},'Error\x20getting\x20job\x20history'),_0x27103b['status'](0x1f4)['json']({'success':![],'error':_0x29b29e['message']});}}),_0x310ef0[_0x2e0a99(0x16e)](_0x434cc5['dLtuS'],async(_0x4cfeb9,_0x392a2e)=>{const _0x15cc62=_0x2e0a99;try{const _0x19acb9=getReadQueues(),_0x3142f9={};for(const [_0x316df8,_0x588a93]of Object[_0x15cc62(0x181)](_0x19acb9)){try{const _0x66811c=await _0x588a93[_0x15cc62(0x135)](_0x15cc62(0x16c),_0x434cc5[_0x15cc62(0x161)],_0x434cc5['copFs'],_0x434cc5[_0x15cc62(0x151)],_0x15cc62(0x17b),'waiting');_0x3142f9[_0x316df8]=_0x66811c;}catch(_0x39e6c6){_0x3142f9[_0x316df8]={'error':_0x39e6c6['message']};}}_0x392a2e['json']({'success':!![],'data':_0x3142f9});}catch(_0x9aa52c){logger['error']({'event':_0x15cc62(0x131),'error':_0x9aa52c[_0x15cc62(0x126)]},'Error\x20getting\x20queue\x20stats'),_0x392a2e['status'](0x1f4)['json']({'success':![],'error':_0x9aa52c[_0x15cc62(0x126)]});}}),_0x310ef0[_0x2e0a99(0x16e)](_0x2e0a99(0x182),async(_0x5d2d52,_0x3b92f9)=>{const _0xd65dd1=_0x2e0a99;try{const _0x4cad06=_0x434cc5['hucxf'](getReadQueues),_0x378da5={};let _0x3f1bbe=![];for(const [_0x59bebc,_0x4def70]of Object[_0xd65dd1(0x181)](_0x4cad06)){try{const _0x195cc8=await _0x4def70[_0xd65dd1(0x135)]('active','waiting',_0x434cc5['DTYmv']);_0x378da5[_0x59bebc]=_0x195cc8,_0x3f1bbe=!![];}catch(_0x1f33fa){_0x378da5[_0x59bebc]={'error':_0x1f33fa['message']};}}let _0xed8592=0x0;cachedJobConfigs&&(_0xed8592=Object[_0xd65dd1(0x17f)](cachedJobConfigs)[_0xd65dd1(0x14b)]),_0x3b92f9[_0xd65dd1(0x139)]({'success':!![],'data':{'status':_0x3f1bbe?_0x434cc5[_0xd65dd1(0x147)]:'degraded','redis':_0x3f1bbe?_0xd65dd1(0x184):'disconnected','registeredJobs':_0xed8592,'queues':_0x378da5}});}catch(_0x347aaf){_0x3b92f9[_0xd65dd1(0x130)](0x1f7)['json']({'success':![],'data':{'status':'unhealthy','error':_0x347aaf[_0xd65dd1(0x126)]}});}}),_0x310ef0;}module['exports']=createJobRoutes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x11e1c2=a0_0x3342;(function(_0x25bb4d,_0x3991e0){const _0x2c04af=a0_0x3342,_0x468992=_0x25bb4d();while(!![]){try{const _0x28b659=-parseInt(_0x2c04af(0x1bc))/0x1*(-parseInt(_0x2c04af(0x1af))/0x2)+-parseInt(_0x2c04af(0x1f2))/0x3*(-parseInt(_0x2c04af(0x1f6))/0x4)+-parseInt(_0x2c04af(0x1ad))/0x5*(-parseInt(_0x2c04af(0x1a4))/0x6)+parseInt(_0x2c04af(0x1ac))/0x7*(parseInt(_0x2c04af(0x1a8))/0x8)+-parseInt(_0x2c04af(0x1c7))/0x9+parseInt(_0x2c04af(0x1b6))/0xa+-parseInt(_0x2c04af(0x1bf))/0xb*(parseInt(_0x2c04af(0x1c6))/0xc);if(_0x28b659===_0x3991e0)break;else _0x468992['push'](_0x468992['shift']());}catch(_0x56aa5b){_0x468992['push'](_0x468992['shift']());}}}(a0_0x5128,0x654e6));const fs=require('fs'),path=require(a0_0x11e1c2(0x1ce)),VALID_QUEUE_NAMES=['high-priority','default',a0_0x11e1c2(0x1e4)],VALID_BACKOFF_TYPES=[a0_0x11e1c2(0x1bd),'exponential'],SLUG_REGEX=/^[a-z0-9]+(?:-[a-z0-9]+)*$/;function a0_0x5128(){const _0x4833c2=['mJjOvhfrq0O','DMfSAwq','rMLLBgqGiNrPBwvVDxqIig11C3qGyMuGysbUDw1IzxiGpIaWicHPBIbTCYK','igzPzwXKkhmPoIaI','qwTNvLa','iJOGDMfSDwuGiG','EwvoEMW','odu0mdq3mNvZwfjjrW','odiXotG4s0n5Aw5j','Aw5JBhvKzxm','C3vgEMy','ENH1vuO','Bwv0ywrHDge','BwLU','DMfSAwrHDgviyw5KBgvYrxHPC3rZ','Cgf0Aa','rMLLBgqGiNjLDhj5lMLUAxrPywXezwXHEsiGBxvZDcbIzsbHig51BwjLCIa+idaGkgLUig1Zkq','CxvLDwu','BLDmA08','BgvUz3rO','C3bSAxq','iIbPCYbVDxqGB2yGCMfUz2uG','C3jJ','DMfSAwrHDgvrDwv1zu5HBwu','zeT3yKu','yMfJA29MzG','DMfSAwrHDgvdCM9UrxHWCMvZC2LVBG','zxHWB3j0CW','uMPLwuu','DLPbA00','rMLLBgqGiMHHBMrSzxiIigLZihjLCxvPCMvKicHWyxrOihjLBgf0AxzLihrVihnYyY9QB2jZlYK','A1jquLG','AM9ICW','vgzxy2K','rMLLBgqGiMvUywjSzwqIig11C3qGyMuGysbIB29SzwfU','BKPWA3G','zvrtz08','Bg93lxbYAw9YAxr5','AgfUzgXLCG','ChvZAa','BNvTyMvY','BMfTzq','q3jVBIbMAwvSzcaI','Ag91CG','sgfUzgXLCIbMAwXLihrPzgfRigrPDgvTDwTHBJOGC3jJl2PVyNmV','C3rYAw5N','BwLUDxrL','C2nOzwr1Bgu','zxHPC3rZu3LUyW','AxnbCNjHEq','su9zBwm','mJrMz0XLA0K','lMPZicHHyNnVBhv0ztOG','CwLxsfi','wLfQAgO','mJeXodaWzNfmy0fb','B2jQzwn0','Bwf4qxr0zw1WDhm','Aw5PDgLHBerLBgf5','y3jVBG','rMLLBgqGiNjLDhj5lMjHy2TVzMyIig11C3qGyMuGiG','Bwf4','iIbVCIaI','vxzVwM4','Cu5Yww0','Bw9UDgG','DgLTzw91Da','odK5nJm0zK5Jvxnu','wfPeueG','DhLWzq','qvnPBhe','mJqZndC5mMDXzu1Hua','zgf5lw9MlxDLzwS','DMfSAwrHDgvszxrYEunVBMzPzW','qMfxzLa','n0T0rgXUvG','mtvXDuThExu','x2LZvMfSAwrsyw5Nzq','mZaZoda4AhvWvffi','AM9PBG','DgvZDa','q3jVBIbLEhbYzxnZAw9Uig11C3qGAgf2zsa1igzPzwXKCYaOBwLUDxrLigHVDxiGzgf5ig1VBNrOihDLzwTKyxKPlcbMB3vUzca','zxjYB3jZ','rMLLBgqGiNjLDhj5lM1HEef0DgvTChrZiIbTDxn0igjLigeGBNvTyMvYigjLDhDLzw4Gms0Xma','iJOGAw52ywXPzcbIyxnLici','ndq4mtiWmg5gDhnKAG','CMv0CNK','rMLLBgqGiNr5CguIigLZihjLCxvPCMvKicHZDhjPBMCP','uxvLDwuGiG','yM9VBgvHBG','y29Uy3vYCMvUy3K','mK9KtxLSzG','zML4zwq','iJOGC3rLCcaIlW'];a0_0x5128=function(){return _0x4833c2;};return a0_0x5128();}function a0_0x3342(_0x106a60,_0x251824){_0x106a60=_0x106a60-0x1a3;const _0x51280a=a0_0x5128();let _0x33425a=_0x51280a[_0x106a60];if(a0_0x3342['Yxkurd']===undefined){var _0x2958e0=function(_0x1359c6){const _0x594e50='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xa3486c='',_0xa7deaf='';for(let _0x6cc1ec=0x0,_0x4835f0,_0x18a8b0,_0x1403e8=0x0;_0x18a8b0=_0x1359c6['charAt'](_0x1403e8++);~_0x18a8b0&&(_0x4835f0=_0x6cc1ec%0x4?_0x4835f0*0x40+_0x18a8b0:_0x18a8b0,_0x6cc1ec++%0x4)?_0xa3486c+=String['fromCharCode'](0xff&_0x4835f0>>(-0x2*_0x6cc1ec&0x6)):0x0){_0x18a8b0=_0x594e50['indexOf'](_0x18a8b0);}for(let _0x1f2837=0x0,_0x40c9aa=_0xa3486c['length'];_0x1f2837<_0x40c9aa;_0x1f2837++){_0xa7deaf+='%'+('00'+_0xa3486c['charCodeAt'](_0x1f2837)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xa7deaf);};a0_0x3342['oNbsgY']=_0x2958e0,a0_0x3342['vAFraL']={},a0_0x3342['Yxkurd']=!![];}const _0xb20e1b=_0x51280a[0x0],_0xcab109=_0x106a60+_0xb20e1b,_0x43fe34=a0_0x3342['vAFraL'][_0xcab109];return!_0x43fe34?(_0x33425a=a0_0x3342['oNbsgY'](_0x33425a),a0_0x3342['vAFraL'][_0xcab109]=_0x33425a):_0x33425a=_0x43fe34,_0x33425a;}class JobValidator{['validateConfig'](_0x4c77a8,_0x2fedf1){const _0xeb8d60=a0_0x11e1c2,_0x1424c3={'qxZJX':'Config\x20harus\x20berupa\x20object','IOYmc':function(_0x2b2bce,_0x46ca62){return _0x2b2bce!==_0x46ca62;},'qckfC':_0xeb8d60(0x1ec),'ASilq':_0xeb8d60(0x1b8),'qNrYm':function(_0x4f6031,_0x5012fa){return _0x4f6031!==_0x5012fa;},'eTSgO':_0xeb8d60(0x1fa),'ZQjhj':_0xeb8d60(0x1dd),'RjeYE':_0xeb8d60(0x1ba),'BaWfP':_0xeb8d60(0x1e1),'iNtcH':function(_0x1974ab,_0x100371){return _0x1974ab!==_0x100371;},'nWLkO':_0xeb8d60(0x1e7),'utoAU':_0xeb8d60(0x1c1),'yeNzl':function(_0x3530e4,_0x47fb60){return _0x3530e4!==_0x47fb60;},'zxuUJ':_0xeb8d60(0x1f7)},_0x33bbce=[];if(!_0x4c77a8||typeof _0x4c77a8!==_0xeb8d60(0x1f7))return{'valid':![],'errors':[_0x1424c3['qxZJX']]};if(!_0x4c77a8['name']||_0x1424c3[_0xeb8d60(0x1f1)](typeof _0x4c77a8[_0xeb8d60(0x1e8)],_0xeb8d60(0x1ec)))_0x33bbce['push']('Field\x20\x22name\x22\x20is\x20required\x20(string)');else!SLUG_REGEX[_0xeb8d60(0x1b1)](_0x4c77a8[_0xeb8d60(0x1e8)])&&_0x33bbce['push']('Field\x20\x22name\x22\x20must\x20be\x20in\x20slug\x20format\x20(lowercase,\x20dash):\x20\x22'+_0x4c77a8['name']+'\x22');if(!_0x4c77a8['type']||typeof _0x4c77a8[_0xeb8d60(0x1a6)]!==_0x1424c3['qckfC'])_0x33bbce['push'](_0x1424c3[_0xeb8d60(0x1a7)]);else _0x1424c3[_0xeb8d60(0x1ff)](_0x4c77a8['type'],_0x1424c3[_0xeb8d60(0x1e3)])&&_0x33bbce['push']('Field\x20\x22type\x22\x20must\x20be\x20\x22cron\x22,\x20found:\x20\x22'+_0x4c77a8['type']+'\x22');if(!_0x4c77a8[_0xeb8d60(0x1ee)]||_0x1424c3['IOYmc'](typeof _0x4c77a8['schedule'],_0x1424c3['qckfC']))_0x33bbce[_0xeb8d60(0x1e6)]('Field\x20\x22schedule\x22\x20is\x20required\x20(cron\x20expression\x20string)');else{const _0x2336b5=this[_0xeb8d60(0x1d9)](_0x4c77a8[_0xeb8d60(0x1ee)]);!_0x2336b5['valid']&&_0x33bbce['push'](..._0x2336b5['errors']);}if(!_0x4c77a8['handler']||typeof _0x4c77a8['handler']!==_0x1424c3['qckfC'])_0x33bbce[_0xeb8d60(0x1e6)](_0x1424c3[_0xeb8d60(0x1f5)]);else{if(_0x2fedf1){const _0x2e0844=this[_0xeb8d60(0x1cd)](_0x4c77a8[_0xeb8d60(0x1e5)],_0x2fedf1);!_0x2e0844['valid']&&_0x33bbce['push'](..._0x2e0844['errors']);}}_0x1424c3['IOYmc'](_0x4c77a8['enabled'],undefined)&&typeof _0x4c77a8['enabled']!==_0x1424c3[_0xeb8d60(0x1db)]&&_0x33bbce['push'](_0x1424c3[_0xeb8d60(0x1ab)]);_0x1424c3['iNtcH'](_0x4c77a8['timeout'],undefined)&&((typeof _0x4c77a8[_0xeb8d60(0x1a3)]!==_0x1424c3[_0xeb8d60(0x1d1)]||_0x4c77a8[_0xeb8d60(0x1a3)]<=0x0)&&_0x33bbce[_0xeb8d60(0x1e6)](_0x1424c3['utoAU']));if(_0x1424c3[_0xeb8d60(0x1f1)](_0x4c77a8[_0xeb8d60(0x1d0)],undefined)){const _0x33ad26=this[_0xeb8d60(0x1d6)](_0x4c77a8[_0xeb8d60(0x1d0)]);!_0x33ad26['valid']&&_0x33bbce['push'](..._0x33ad26['errors']);}_0x4c77a8['concurrency']!==undefined&&((typeof _0x4c77a8['concurrency']!=='number'||_0x4c77a8['concurrency']<0x1||_0x4c77a8[_0xeb8d60(0x1bb)]>0x32)&&_0x33bbce[_0xeb8d60(0x1e6)]('Field\x20\x22concurrency\x22\x20must\x20be\x20a\x20number\x20between\x201-50'));if(_0x1424c3[_0xeb8d60(0x1c5)](_0x4c77a8[_0xeb8d60(0x1b7)],undefined)){if(typeof _0x4c77a8['retry']!==_0x1424c3[_0xeb8d60(0x1ca)]||_0x4c77a8['retry']===null)_0x33bbce['push']('Field\x20\x22retry\x22\x20must\x20be\x20an\x20object');else{const _0x23f3af=this[_0xeb8d60(0x1aa)](_0x4c77a8['retry']);!_0x23f3af[_0xeb8d60(0x1c0)]&&_0x33bbce['push'](..._0x23f3af[_0xeb8d60(0x1b3)]);}}return _0x4c77a8[_0xeb8d60(0x1cb)]!==undefined&&((_0x1424c3['yeNzl'](typeof _0x4c77a8['metadata'],_0x1424c3['zxuUJ'])||_0x4c77a8['metadata']===null||Array[_0xeb8d60(0x1f0)](_0x4c77a8[_0xeb8d60(0x1cb)]))&&_0x33bbce['push']('Field\x20\x22metadata\x22\x20must\x20be\x20an\x20object')),{'valid':_0x33bbce[_0xeb8d60(0x1d2)]===0x0,'errors':_0x33bbce};}[a0_0x11e1c2(0x1d9)](_0x158406){const _0x5efa4b=a0_0x11e1c2,_0x416664={'Scqfu':_0x5efa4b(0x1ed),'UvoZn':_0x5efa4b(0x1ea),'dKwbE':function(_0x84edb8,_0x139cac){return _0x84edb8===_0x139cac;},'AkgVP':function(_0x27255a,_0x309fb0,_0x754b17){return _0x27255a(_0x309fb0,_0x754b17);},'Wzbos':function(_0x4e795f,_0x39b9bb){return _0x4e795f(_0x39b9bb);}},_0x4b3b43=[],_0x21b89b=_0x158406['trim']()[_0x5efa4b(0x1d3)](/\s+/);if(_0x21b89b['length']!==0x5)return _0x4b3b43['push'](_0x5efa4b(0x1b2)+_0x21b89b[_0x5efa4b(0x1d2)]+_0x5efa4b(0x1c2)+_0x158406+'\x22'),{'valid':![],'errors':_0x4b3b43};const _0x524772=[_0x416664['Scqfu'],_0x416664[_0x5efa4b(0x1fe)],'day-of-month',_0x5efa4b(0x200),_0x5efa4b(0x1a9)],_0xfc3197=[{'min':0x0,'max':0x3b},{'min':0x0,'max':0x17},{'min':0x1,'max':0x1f},{'min':0x1,'max':0xc},{'min':0x0,'max':0x7}],_0x4ce49a=/^(\*|[0-9]+(-[0-9]+)?)([,/](\*|[0-9]+(-[0-9]+)?))*$/;for(let _0x4df086=0x0;_0x4df086<0x5;_0x4df086++){const _0x548579=_0x21b89b[_0x4df086];if(_0x416664[_0x5efa4b(0x1d7)](_0x548579,'*'))continue;if(_0x548579[_0x5efa4b(0x1c8)]('/')){const [_0x4fb9fb,_0x2eb70d]=_0x548579[_0x5efa4b(0x1d3)]('/');_0x4fb9fb!=='*'&&!this['_isValidRange'](_0x4fb9fb,_0xfc3197[_0x4df086])&&_0x4b3b43[_0x5efa4b(0x1e6)]('Cron\x20field\x20\x22'+_0x524772[_0x4df086]+_0x5efa4b(0x1b5)+_0x4fb9fb+'\x22');const _0x35c8a9=_0x416664[_0x5efa4b(0x1c3)](parseInt,_0x2eb70d,0xa);(_0x416664['Wzbos'](isNaN,_0x35c8a9)||_0x35c8a9<0x1)&&_0x4b3b43['push'](_0x5efa4b(0x1e9)+_0x524772[_0x4df086]+_0x5efa4b(0x1be)+_0x2eb70d+'\x22\x20must\x20be\x20a\x20number\x20>\x200');continue;}const _0x384b82=_0x548579['split'](',');for(const _0x118ec9 of _0x384b82){!this[_0x5efa4b(0x1ae)](_0x118ec9,_0xfc3197[_0x4df086])&&_0x4b3b43['push'](_0x5efa4b(0x1e9)+_0x524772[_0x4df086]+_0x5efa4b(0x1c4)+_0x118ec9+_0x5efa4b(0x1d4)+_0xfc3197[_0x4df086]['min']+'-'+_0xfc3197[_0x4df086][_0x5efa4b(0x1fc)]);}}return{'valid':_0x4b3b43[_0x5efa4b(0x1d2)]===0x0,'errors':_0x4b3b43};}[a0_0x11e1c2(0x1ae)](_0x519e48,_0x4e069b){const _0x3bb136=a0_0x11e1c2,_0x54a377={'TfWci':function(_0x1ddb6c,_0x428b1a){return _0x1ddb6c(_0x428b1a);},'STSuj':function(_0x168d57,_0x1bea46){return _0x168d57<=_0x1bea46;},'gvtFj':function(_0x515455,_0x56fb8b){return _0x515455>=_0x56fb8b;},'qiWHR':function(_0x10c6eb,_0x8031ca,_0xb72c58){return _0x10c6eb(_0x8031ca,_0xb72c58);},'vZAkM':function(_0x3f7e83,_0x8e70e){return _0x3f7e83<=_0x8e70e;}};if(_0x519e48[_0x3bb136(0x1c8)]('-')){const [_0x4c3376,_0x3e749e]=_0x519e48[_0x3bb136(0x1d3)]('-')['map'](Number);return!_0x54a377[_0x3bb136(0x1e0)](isNaN,_0x4c3376)&&!isNaN(_0x3e749e)&&_0x4c3376>=_0x4e069b[_0x3bb136(0x1cc)]&&_0x54a377['STSuj'](_0x4c3376,_0x4e069b[_0x3bb136(0x1fc)])&&_0x54a377['gvtFj'](_0x3e749e,_0x4e069b[_0x3bb136(0x1cc)])&&_0x3e749e<=_0x4e069b['max']&&_0x4c3376<=_0x3e749e;}const _0x37186b=_0x54a377[_0x3bb136(0x1f4)](parseInt,_0x519e48,0xa);return!_0x54a377[_0x3bb136(0x1e0)](isNaN,_0x37186b)&&_0x37186b>=_0x4e069b['min']&&_0x54a377[_0x3bb136(0x1dc)](_0x37186b,_0x4e069b['max']);}[a0_0x11e1c2(0x1d6)](_0x127ae1){const _0xc211cc=a0_0x11e1c2;if(!VALID_QUEUE_NAMES['includes'](_0x127ae1))return{'valid':![],'errors':[_0xc211cc(0x1b9)+_0x127ae1+'\x22\x20tidak\x20valid.\x20Pilihan:\x20'+VALID_QUEUE_NAMES['join'](',\x20')]};return{'valid':!![],'errors':[]};}['validateRetryConfig'](_0x23b14b){const _0x1adaad=a0_0x11e1c2,_0x2ec7b9={'suFzf':_0x1adaad(0x1e7),'XZDPH':_0x1adaad(0x1b4),'nJpkx':function(_0x270931,_0x23ce3a){return _0x270931!==_0x23ce3a;},'UCKoJ':_0x1adaad(0x1fd),'kRPRX':function(_0x256ff9,_0x326f87){return _0x256ff9===_0x326f87;}},_0xf6370b=[];return _0x23b14b[_0x1adaad(0x1f8)]!==undefined&&((typeof _0x23b14b['maxAttempts']!==_0x2ec7b9['suFzf']||_0x23b14b[_0x1adaad(0x1f8)]<0x1||_0x23b14b['maxAttempts']>0xa)&&_0xf6370b[_0x1adaad(0x1e6)](_0x2ec7b9[_0x1adaad(0x1a5)])),_0x2ec7b9[_0x1adaad(0x1e2)](_0x23b14b[_0x1adaad(0x1d8)],undefined)&&(!VALID_BACKOFF_TYPES['includes'](_0x23b14b['backoff'])&&_0xf6370b[_0x1adaad(0x1e6)](_0x1adaad(0x1fb)+VALID_BACKOFF_TYPES['join'](_0x2ec7b9['UCKoJ'])+'\x22')),_0x2ec7b9['nJpkx'](_0x23b14b[_0x1adaad(0x1f9)],undefined)&&((_0x2ec7b9[_0x1adaad(0x1e2)](typeof _0x23b14b['initialDelay'],_0x2ec7b9[_0x1adaad(0x1c9)])||_0x23b14b[_0x1adaad(0x1f9)]<=0x0)&&_0xf6370b[_0x1adaad(0x1e6)](_0x1adaad(0x1cf))),{'valid':_0x2ec7b9[_0x1adaad(0x1de)](_0xf6370b['length'],0x0),'errors':_0xf6370b};}['validateHandlerExists'](_0x3f0e23,_0x2bed76){const _0x5ba49=a0_0x11e1c2,_0x2d9ac0={'woUBj':_0x5ba49(0x1d5)},_0x8a2e15=path[_0x5ba49(0x1b0)](_0x2bed76,_0x2d9ac0['woUBj'],_0x5ba49(0x1df),_0x3f0e23+'.js');if(!fs[_0x5ba49(0x1ef)](_0x8a2e15))return{'valid':![],'errors':[_0x5ba49(0x1eb)+_0x3f0e23+_0x5ba49(0x1f3)+_0x8a2e15+')']};return{'valid':!![],'errors':[]};}}module[a0_0x11e1c2(0x1da)]=new JobValidator();
|
|
1
|
+
const a0_0x2f5b36=a0_0x5061;function a0_0x40b1(){const _0x50a5d2=['mta2ntK2nw1KCwf2Dq','uLvYEgm','q3jVBIbLEhbYzxnZAw9Uig11C3qGAgf2zsa1igzPzwXKCYaOBwLUDxrLigHVDxiGzgf5ig1VBNrOihDLzwTKyxKPlcbMB3vUzca','C3jJ','ChvZAa','mtu3mJK2m3nyrLfAvq','EhbmB3e','BwLU','t21pDNK','y29Uy3vYCMvUy3K','Cgf0Aa','nJC5rxP1tvrg','zML4zwq','DgLTzw91Da','sgfUzgXLCIbMAwXLihrPzgfRigrPDgvTDwTHBJOGC3jJl2PVyNmV','C2nOzwr1Bgu','zxHWB25LBNrPywW','rMLLBgqGiMHHBMrSzxiIigLZihjLCxvPCMvKicHWyxrOihjLBgf0AxzLihrVihnYyY9QB2jZlYK','mJi0nde3Befgy3Hu','igzPzwXKkhmPoIaI','DgvZDa','AM9PBG','rMLLBgqGiNjLDhj5iIbTDxn0igjLigfUig9IAMvJDa','DhLWzq','Aw5JBhvKzxm','AgfUzgXLCG','B2jiA0e','rMLLBgqGiM5HBwuIigLZihjLCxvPCMvKicHZDhjPBMCP','rMLLBgqGiNjLDhj5lMLUAxrPywXezwXHEsiGBxvZDcbIzsbHig51BwjLCIa+idaGkgLUig1Zkq','se1LCxa','Bwf4','CxvLDwu','x2LZvMfSAwrsyw5Nzq','AvzvANa','otuWmtj1BxHAyvu','C3rYAw5N','DMH6tvq','lMPZ','ue9Ssfe','mJiYnZqXELLSr3no','mZC2r0HvzwnN','rMLLBgqGiM1LDgfKyxrHiIbTDxn0igjLigfUig9IAMvJDa','q3jVBIbMAwvSzcaI','ndu2mZzZr1rbvMK','iJOGC3rLCcaIlW','v3D1q1K','C3bSAxq','BgvUz3rO','rMLLBgqGiMnVBMn1CNjLBMn5iIbTDxn0igjLigeGBNvTyMvYigjLDhDLzw4Gms01ma','mti1nJrjs0nUqvC','A1PVrxu','BNvTyMvY','DMfSAwrHDgviyw5KBgvYrxHPC3rZ','zxjYB3jZ','tgPcu3O','rMjrrKS','rK9JAe0','AgLNAc1WCMLVCML0Eq','BwLUDxrL','ANf0EuG','EevgA0e','Aw5PDgLHBerLBgf5','B2jQzwn0','Bwf4qxr0zw1WDhm','Bwv0ywrHDge','rMLLBgqGiM5HBwuIig11C3qGyMuGAw4GC2X1zYbMB3jTyxqGkgXVD2vYy2fZzsWGzgfZAcK6ici','y3jVBG','B2Diqvy','y29Zz1q','DMfSAwrHDgvdB25MAwC','zxncyvO','wvvYvuG','Bg93lxbYAw9YAxr5','DMfSAwq','sfLTyLm','yMfJA29MzG','CMv0CNK','D0P6Bxa','iIbPCYbVDxqGB2yGCMfUz2uG'];a0_0x40b1=function(){return _0x50a5d2;};return a0_0x40b1();}(function(_0x440156,_0x5775d7){const _0x484034=a0_0x5061,_0x16536b=_0x440156();while(!![]){try{const _0x4e45b7=parseInt(_0x484034(0x1f8))/0x1+-parseInt(_0x484034(0x208))/0x2+-parseInt(_0x484034(0x1eb))/0x3+-parseInt(_0x484034(0x211))/0x4+-parseInt(_0x484034(0x1e6))/0x5+parseInt(_0x484034(0x217))/0x6*(-parseInt(_0x484034(0x1f1))/0x7)+-parseInt(_0x484034(0x20e))/0x8*(-parseInt(_0x484034(0x20d))/0x9);if(_0x4e45b7===_0x5775d7)break;else _0x16536b['push'](_0x16536b['shift']());}catch(_0x21bc71){_0x16536b['push'](_0x16536b['shift']());}}}(a0_0x40b1,0x5ebe9));const fs=require('fs'),path=require(a0_0x2f5b36(0x1f0)),VALID_QUEUE_NAMES=[a0_0x2f5b36(0x1d0),'default',a0_0x2f5b36(0x1df)],VALID_BACKOFF_TYPES=[a0_0x2f5b36(0x1f2),a0_0x2f5b36(0x1f6)],SLUG_REGEX=/^[a-z0-9]+(?:-[a-z0-9]+)*$/;function a0_0x5061(_0x104912,_0x1034fe){_0x104912=_0x104912-0x1cf;const _0x40b120=a0_0x40b1();let _0x506197=_0x40b120[_0x104912];if(a0_0x5061['wpbGnH']===undefined){var _0x1e1b2a=function(_0x153610){const _0x39d93f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x39602c='',_0x41ae04='';for(let _0x172fca=0x0,_0x3d579b,_0x4fc60c,_0x13b535=0x0;_0x4fc60c=_0x153610['charAt'](_0x13b535++);~_0x4fc60c&&(_0x3d579b=_0x172fca%0x4?_0x3d579b*0x40+_0x4fc60c:_0x4fc60c,_0x172fca++%0x4)?_0x39602c+=String['fromCharCode'](0xff&_0x3d579b>>(-0x2*_0x172fca&0x6)):0x0){_0x4fc60c=_0x39d93f['indexOf'](_0x4fc60c);}for(let _0x35cbe5=0x0,_0x23f985=_0x39602c['length'];_0x35cbe5<_0x23f985;_0x35cbe5++){_0x41ae04+='%'+('00'+_0x39602c['charCodeAt'](_0x35cbe5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x41ae04);};a0_0x5061['myVMAL']=_0x1e1b2a,a0_0x5061['yUMQiH']={},a0_0x5061['wpbGnH']=!![];}const _0x5ebd51=_0x40b120[0x0],_0x3751aa=_0x104912+_0x5ebd51,_0x5c9244=a0_0x5061['yUMQiH'][_0x3751aa];return!_0x5c9244?(_0x506197=a0_0x5061['myVMAL'](_0x506197),a0_0x5061['yUMQiH'][_0x3751aa]=_0x506197):_0x506197=_0x5c9244,_0x506197;}class JobValidator{[a0_0x2f5b36(0x1dc)](_0x5cce91,_0x4896e4){const _0x5d5e24=a0_0x2f5b36,_0x2f4eb3={'FOchM':_0x5d5e24(0x1d5),'ogHAV':function(_0x4bafdd,_0x4d7536){return _0x4bafdd!==_0x4d7536;},'HYmbS':_0x5d5e24(0x209),'WwuCY':_0x5d5e24(0x201),'aokZb':function(_0x11c7d4,_0x10d393){return _0x11c7d4!==_0x10d393;},'vhzMT':'Field\x20\x22type\x22\x20is\x20required\x20(string)','obHkA':'Field\x20\x22enabled\x22\x20must\x20be\x20a\x20boolean','cosgT':function(_0x735a4e,_0x583d3d){return _0x735a4e!==_0x583d3d;},'jqtyH':function(_0x28a53f,_0x480833){return _0x28a53f<_0x480833;},'YUrUH':function(_0x2d135a,_0xbe1213){return _0x2d135a!==_0xbe1213;},'iVUjp':function(_0x38e836,_0x415b4e){return _0x38e836===_0x415b4e;},'gWrbv':_0x5d5e24(0x20f)},_0x45b84d=[];if(!_0x5cce91||typeof _0x5cce91!==_0x2f4eb3[_0x5d5e24(0x1cf)])return{'valid':![],'errors':['Config\x20harus\x20berupa\x20object']};if(!_0x5cce91['name']||_0x2f4eb3['ogHAV'](typeof _0x5cce91['name'],_0x2f4eb3[_0x5d5e24(0x1e1)]))_0x45b84d['push'](_0x2f4eb3[_0x5d5e24(0x213)]);else!SLUG_REGEX[_0x5d5e24(0x1fa)](_0x5cce91['name'])&&_0x45b84d['push'](_0x5d5e24(0x1d8)+_0x5cce91['name']+'\x22');if(!_0x5cce91[_0x5d5e24(0x1fd)]||_0x2f4eb3['aokZb'](typeof _0x5cce91['type'],_0x5d5e24(0x209)))_0x45b84d[_0x5d5e24(0x1ea)](_0x2f4eb3[_0x5d5e24(0x20a)]);else _0x2f4eb3['ogHAV'](_0x5cce91['type'],_0x5d5e24(0x1d9))&&_0x45b84d['push']('Field\x20\x22type\x22\x20must\x20be\x20\x22cron\x22,\x20found:\x20\x22'+_0x5cce91[_0x5d5e24(0x1fd)]+'\x22');if(!_0x5cce91[_0x5d5e24(0x1f5)]||_0x2f4eb3[_0x5d5e24(0x1da)](typeof _0x5cce91['schedule'],_0x2f4eb3[_0x5d5e24(0x1e1)]))_0x45b84d[_0x5d5e24(0x1ea)]('Field\x20\x22schedule\x22\x20is\x20required\x20(cron\x20expression\x20string)');else{const _0x43185d=this['validateCronExpression'](_0x5cce91[_0x5d5e24(0x1f5)]);!_0x43185d['valid']&&_0x45b84d[_0x5d5e24(0x1ea)](..._0x43185d['errors']);}if(!_0x5cce91[_0x5d5e24(0x1ff)]||_0x2f4eb3['ogHAV'](typeof _0x5cce91['handler'],'string'))_0x45b84d['push'](_0x5d5e24(0x1f7));else{if(_0x4896e4){const _0x4f4b42=this['validateHandlerExists'](_0x5cce91['handler'],_0x4896e4);!_0x4f4b42[_0x5d5e24(0x1e0)]&&_0x45b84d['push'](..._0x4f4b42[_0x5d5e24(0x21b)]);}}_0x2f4eb3[_0x5d5e24(0x1da)](_0x5cce91['enabled'],undefined)&&typeof _0x5cce91['enabled']!=='boolean'&&_0x45b84d['push'](_0x2f4eb3[_0x5d5e24(0x200)]);_0x5cce91['timeout']!==undefined&&((typeof _0x5cce91[_0x5d5e24(0x1f3)]!=='number'||_0x5cce91[_0x5d5e24(0x1f3)]<=0x0)&&_0x45b84d['push']('Field\x20\x22timeout\x22\x20must\x20be\x20a\x20number\x20>\x200\x20(in\x20ms)'));if(_0x2f4eb3[_0x5d5e24(0x1db)](_0x5cce91['queue'],undefined)){const _0x4a7636=this['validateQueueName'](_0x5cce91[_0x5d5e24(0x205)]);!_0x4a7636['valid']&&_0x45b84d['push'](..._0x4a7636[_0x5d5e24(0x21b)]);}_0x5cce91[_0x5d5e24(0x1ef)]!==undefined&&((typeof _0x5cce91['concurrency']!=='number'||_0x2f4eb3[_0x5d5e24(0x1d2)](_0x5cce91['concurrency'],0x1)||_0x5cce91[_0x5d5e24(0x1ef)]>0x32)&&_0x45b84d[_0x5d5e24(0x1ea)](_0x5d5e24(0x216)));if(_0x2f4eb3[_0x5d5e24(0x1de)](_0x5cce91['retry'],undefined)){if(_0x2f4eb3[_0x5d5e24(0x1de)](typeof _0x5cce91[_0x5d5e24(0x1e3)],_0x5d5e24(0x1d5))||_0x2f4eb3[_0x5d5e24(0x207)](_0x5cce91['retry'],null))_0x45b84d['push'](_0x5d5e24(0x1fc));else{const _0x48d45f=this['validateRetryConfig'](_0x5cce91[_0x5d5e24(0x1e3)]);!_0x48d45f['valid']&&_0x45b84d[_0x5d5e24(0x1ea)](..._0x48d45f[_0x5d5e24(0x21b)]);}}return _0x2f4eb3[_0x5d5e24(0x1de)](_0x5cce91[_0x5d5e24(0x1d7)],undefined)&&((_0x2f4eb3[_0x5d5e24(0x1de)](typeof _0x5cce91[_0x5d5e24(0x1d7)],_0x5d5e24(0x1d5))||_0x2f4eb3[_0x5d5e24(0x207)](_0x5cce91['metadata'],null)||Array['isArray'](_0x5cce91[_0x5d5e24(0x1d7)]))&&_0x45b84d['push'](_0x2f4eb3['gWrbv'])),{'valid':_0x45b84d[_0x5d5e24(0x215)]===0x0,'errors':_0x45b84d};}['validateCronExpression'](_0x1b313c){const _0xf0d1ba=a0_0x2f5b36,_0x3a736d={'jHEio':function(_0x411cac,_0x515bc0){return _0x411cac!==_0x515bc0;},'RUrxc':'day-of-month','mraeO':function(_0x5457fc,_0x11e72){return _0x5457fc<_0x11e72;},'FbQFK':function(_0x54eed5,_0x5eb4f6){return _0x54eed5===_0x5eb4f6;},'xpLoq':function(_0x3baff5,_0x4a3877,_0x2a808f){return _0x3baff5(_0x4a3877,_0x2a808f);},'AvNsY':function(_0x5bd3a1,_0x4f9ec3){return _0x5bd3a1<_0x4f9ec3;}},_0x363ffb=[],_0x2d65e1=_0x1b313c['trim']()[_0xf0d1ba(0x214)](/\s+/);if(_0x3a736d['jHEio'](_0x2d65e1['length'],0x5))return _0x363ffb['push'](_0xf0d1ba(0x1e8)+_0x2d65e1['length']+_0xf0d1ba(0x1f9)+_0x1b313c+'\x22'),{'valid':![],'errors':_0x363ffb};const _0x2619c4=[_0xf0d1ba(0x1d1),'hour',_0x3a736d[_0xf0d1ba(0x1e7)],'month','day-of-week'],_0xe0a1fc=[{'min':0x0,'max':0x3b},{'min':0x0,'max':0x17},{'min':0x1,'max':0x1f},{'min':0x1,'max':0xc},{'min':0x0,'max':0x7}],_0x6d1c72=/^(\*|[0-9]+(-[0-9]+)?)([,/](\*|[0-9]+(-[0-9]+)?))*$/;for(let _0x3e99eb=0x0;_0x3a736d['mraeO'](_0x3e99eb,0x5);_0x3e99eb++){const _0x1edff1=_0x2d65e1[_0x3e99eb];if(_0x3a736d['FbQFK'](_0x1edff1,'*'))continue;if(_0x1edff1['includes']('/')){const [_0x132d63,_0x150cfc]=_0x1edff1[_0xf0d1ba(0x214)]('/');_0x132d63!=='*'&&!this['_isValidRange'](_0x132d63,_0xe0a1fc[_0x3e99eb])&&_0x363ffb[_0xf0d1ba(0x1ea)](_0xf0d1ba(0x210)+_0x2619c4[_0x3e99eb]+'\x22:\x20invalid\x20base\x20\x22'+_0x132d63+'\x22');const _0x46e8d9=_0x3a736d[_0xf0d1ba(0x1ec)](parseInt,_0x150cfc,0xa);(isNaN(_0x46e8d9)||_0x3a736d['AvNsY'](_0x46e8d9,0x1))&&_0x363ffb[_0xf0d1ba(0x1ea)](_0xf0d1ba(0x210)+_0x2619c4[_0x3e99eb]+_0xf0d1ba(0x212)+_0x150cfc+'\x22\x20must\x20be\x20a\x20number\x20>\x200');continue;}const _0x3cee3a=_0x1edff1['split'](',');for(const _0x5c345d of _0x3cee3a){!this['_isValidRange'](_0x5c345d,_0xe0a1fc[_0x3e99eb])&&_0x363ffb['push'](_0xf0d1ba(0x210)+_0x2619c4[_0x3e99eb]+'\x22:\x20value\x20\x22'+_0x5c345d+_0xf0d1ba(0x1e5)+_0xe0a1fc[_0x3e99eb][_0xf0d1ba(0x1ed)]+'-'+_0xe0a1fc[_0x3e99eb]['max']);}}return{'valid':_0x3a736d[_0xf0d1ba(0x21d)](_0x363ffb[_0xf0d1ba(0x215)],0x0),'errors':_0x363ffb};}[a0_0x2f5b36(0x206)](_0x28d326,_0x5338e2){const _0x288a0a=a0_0x2f5b36,_0x4b506a={'POlHQ':function(_0x361ffc,_0xa5a845){return _0x361ffc<=_0xa5a845;},'OmOvy':function(_0x218081,_0x31f60c){return _0x218081<=_0x31f60c;},'jGTvD':function(_0x40d6b4,_0x3d0484,_0x21eed7){return _0x40d6b4(_0x3d0484,_0x21eed7);},'kZoEu':function(_0x2f34a6,_0x10e30){return _0x2f34a6(_0x10e30);}};if(_0x28d326['includes']('-')){const [_0x32d6cf,_0x2472bb]=_0x28d326[_0x288a0a(0x214)]('-')['map'](Number);return!isNaN(_0x32d6cf)&&!isNaN(_0x2472bb)&&_0x32d6cf>=_0x5338e2[_0x288a0a(0x1ed)]&&_0x4b506a[_0x288a0a(0x20c)](_0x32d6cf,_0x5338e2[_0x288a0a(0x204)])&&_0x2472bb>=_0x5338e2['min']&&_0x4b506a[_0x288a0a(0x1ee)](_0x2472bb,_0x5338e2['max'])&&_0x32d6cf<=_0x2472bb;}const _0x2f6840=_0x4b506a['jGTvD'](parseInt,_0x28d326,0xa);return!_0x4b506a[_0x288a0a(0x218)](isNaN,_0x2f6840)&&_0x2f6840>=_0x5338e2[_0x288a0a(0x1ed)]&&_0x2f6840<=_0x5338e2[_0x288a0a(0x204)];}['validateQueueName'](_0x58a710){const _0x5503d5=a0_0x2f5b36;if(!VALID_QUEUE_NAMES['includes'](_0x58a710))return{'valid':![],'errors':['Queue\x20\x22'+_0x58a710+'\x22\x20tidak\x20valid.\x20Pilihan:\x20'+VALID_QUEUE_NAMES[_0x5503d5(0x1fb)](',\x20')]};return{'valid':!![],'errors':[]};}['validateRetryConfig'](_0x526d68){const _0x167b66=a0_0x2f5b36,_0x396842={'LjBSz':function(_0xe0ca83,_0x4f3850){return _0xe0ca83!==_0x4f3850;},'vBGrj':function(_0x41d3ea,_0x1f724f){return _0x41d3ea!==_0x1f724f;},'xEFkA':function(_0x4e4903,_0x30f9ba){return _0x4e4903<_0x30f9ba;},'wJzmp':_0x167b66(0x219),'HMeqp':function(_0x3de84c,_0x13ed77){return _0x3de84c<=_0x13ed77;},'rWmJt':_0x167b66(0x202),'esBaZ':function(_0x45cfab,_0x367f43){return _0x45cfab===_0x367f43;}},_0x2caf22=[];return _0x396842[_0x167b66(0x21c)](_0x526d68['maxAttempts'],undefined)&&((_0x396842['vBGrj'](typeof _0x526d68[_0x167b66(0x1d6)],'number')||_0x396842[_0x167b66(0x1d3)](_0x526d68['maxAttempts'],0x1)||_0x526d68[_0x167b66(0x1d6)]>0xa)&&_0x2caf22[_0x167b66(0x1ea)]('Field\x20\x22retry.maxAttempts\x22\x20must\x20be\x20a\x20number\x20between\x201-10')),_0x526d68['backoff']!==undefined&&(!VALID_BACKOFF_TYPES[_0x167b66(0x1fe)](_0x526d68[_0x167b66(0x1e2)])&&_0x2caf22['push']('Field\x20\x22retry.backoff\x22\x20must\x20be\x20\x22'+VALID_BACKOFF_TYPES[_0x167b66(0x1fb)]('\x22\x20or\x20\x22')+'\x22')),_0x526d68[_0x167b66(0x1d4)]!==undefined&&((typeof _0x526d68['initialDelay']!==_0x396842[_0x167b66(0x1e4)]||_0x396842[_0x167b66(0x203)](_0x526d68['initialDelay'],0x0))&&_0x2caf22[_0x167b66(0x1ea)](_0x396842['rWmJt'])),{'valid':_0x396842[_0x167b66(0x1dd)](_0x2caf22[_0x167b66(0x215)],0x0),'errors':_0x2caf22};}[a0_0x2f5b36(0x21a)](_0x4e7637,_0x5a137d){const _0x4e69cb=a0_0x2f5b36,_0x3fa5a9=path['join'](_0x5a137d,_0x4e69cb(0x1e9),'jobs',_0x4e7637+_0x4e69cb(0x20b));if(!fs['existsSync'](_0x3fa5a9))return{'valid':![],'errors':[_0x4e69cb(0x1f4)+_0x4e7637+'.js\x20(absolute:\x20'+_0x3fa5a9+')']};return{'valid':!![],'errors':[]};}}module['exports']=new JobValidator();
|