@restforgejs/platform 4.3.1 → 4.3.2

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.
Files changed (167) hide show
  1. package/build-info.json +2 -2
  2. package/cli/consumer-deploy.js +1 -1
  3. package/cli/consumer.js +1 -1
  4. package/generators/lib/payload/payload-runner.js +1 -1
  5. package/generators/lib/templates/dashboard-catalog.js +1 -1
  6. package/generators/lib/templates/db-connection-env.js +1 -1
  7. package/generators/lib/templates/dbschema-catalog.js +1 -1
  8. package/generators/lib/templates/field-validation-catalog.js +1 -1
  9. package/generators/lib/templates/mysql-template.js +1 -1
  10. package/generators/lib/templates/oracle-template.js +1 -1
  11. package/generators/lib/templates/postgres-template.js +1 -1
  12. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  13. package/generators/lib/templates/sqlite-template.js +1 -1
  14. package/integrity-manifest.json +18 -18
  15. package/package.json +1 -1
  16. package/scripts/verify-integrity.js +1 -1
  17. package/server.js +1 -1
  18. package/src/components/handlers/adjust_handler.js +1 -1
  19. package/src/components/handlers/audit_handler.js +1 -1
  20. package/src/components/handlers/delete_handler.js +1 -1
  21. package/src/components/handlers/export_handler.js +1 -1
  22. package/src/components/handlers/import_handler.js +1 -1
  23. package/src/components/handlers/insert_handler.js +1 -1
  24. package/src/components/handlers/update_handler.js +1 -1
  25. package/src/components/handlers/upload_handler.js +1 -1
  26. package/src/components/handlers/workflow_handler.js +1 -1
  27. package/src/components/integrations/webhook.js +1 -1
  28. package/src/consumers/baseConsumer.js +1 -1
  29. package/src/consumers/declarativeMapper.js +1 -1
  30. package/src/consumers/handlers/apiHandler.js +1 -1
  31. package/src/consumers/handlers/consoleHandler.js +1 -1
  32. package/src/consumers/handlers/databaseHandler.js +1 -1
  33. package/src/consumers/handlers/index.js +1 -1
  34. package/src/consumers/handlers/kafkaHandler.js +1 -1
  35. package/src/consumers/index.js +1 -1
  36. package/src/consumers/messageTransformer.js +1 -1
  37. package/src/consumers/validator.js +1 -1
  38. package/src/core/db/dialect/base-dialect.js +1 -1
  39. package/src/core/db/dialect/index.js +1 -1
  40. package/src/core/db/dialect/mysql-dialect.js +1 -1
  41. package/src/core/db/dialect/oracle-dialect.js +1 -1
  42. package/src/core/db/dialect/postgres-dialect.js +1 -1
  43. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  44. package/src/core/db/flatten-helper.js +1 -1
  45. package/src/core/db/query-builder-error.js +1 -1
  46. package/src/core/db/query-builder.js +1 -1
  47. package/src/core/db/relation-helper.js +1 -1
  48. package/src/core/handlers/delete_handler.js +1 -1
  49. package/src/core/handlers/insert_handler.js +1 -1
  50. package/src/core/handlers/update_handler.js +1 -1
  51. package/src/core/models/base-model.js +1 -1
  52. package/src/core/utils/cache-manager.js +1 -1
  53. package/src/core/utils/component-engine.js +1 -1
  54. package/src/core/utils/context-builder.js +1 -1
  55. package/src/core/utils/datetime-formatter.js +1 -1
  56. package/src/core/utils/datetime-parser.js +1 -1
  57. package/src/core/utils/db.js +1 -1
  58. package/src/core/utils/logger.js +1 -1
  59. package/src/core/utils/payload-loader.js +1 -1
  60. package/src/core/utils/security-checks.js +1 -1
  61. package/src/middleware/body-options.js +1 -1
  62. package/src/middleware/cors.js +1 -1
  63. package/src/middleware/idempotency.js +1 -1
  64. package/src/middleware/rate-limiter.js +1 -1
  65. package/src/middleware/request-logger.js +1 -1
  66. package/src/middleware/security-headers.js +1 -1
  67. package/src/models/base-model-mysql.js +1 -1
  68. package/src/models/base-model-oracle.js +1 -1
  69. package/src/models/base-model-sqlite.js +1 -1
  70. package/src/models/base-model.js +1 -1
  71. package/src/pro/caching/redis-client.js +1 -1
  72. package/src/pro/caching/redis-helper.js +1 -1
  73. package/src/pro/consumers/baseConsumer.js +1 -1
  74. package/src/pro/consumers/declarativeMapper.js +1 -1
  75. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  76. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  77. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  78. package/src/pro/consumers/handlers/index.js +1 -1
  79. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  80. package/src/pro/consumers/index.js +1 -1
  81. package/src/pro/consumers/messageTransformer.js +1 -1
  82. package/src/pro/consumers/validator.js +1 -1
  83. package/src/pro/database/base-model-mysql.js +1 -1
  84. package/src/pro/database/base-model-oracle.js +1 -1
  85. package/src/pro/database/base-model-sqlite.js +1 -1
  86. package/src/pro/database/db-mysql.js +1 -1
  87. package/src/pro/database/db-oracle.js +1 -1
  88. package/src/pro/database/db-sqlite.js +1 -1
  89. package/src/pro/excel/excel-generator.js +1 -1
  90. package/src/pro/excel/excel-parser.js +1 -1
  91. package/src/pro/excel/export-service.js +1 -1
  92. package/src/pro/excel/export_handler.js +1 -1
  93. package/src/pro/excel/import-service.js +1 -1
  94. package/src/pro/excel/import-validator.js +1 -1
  95. package/src/pro/excel/import_handler.js +1 -1
  96. package/src/pro/excel/upsert-builder.js +1 -1
  97. package/src/pro/idgen/idgen-routes.js +1 -1
  98. package/src/pro/integrations/lookup-resolver.js +1 -1
  99. package/src/pro/integrations/upload-handler-v2.js +1 -1
  100. package/src/pro/integrations/upload-handler.js +1 -1
  101. package/src/pro/integrations/webhook.js +1 -1
  102. package/src/pro/locking/lock-routes.js +1 -1
  103. package/src/pro/locking/resource-lock-manager.js +1 -1
  104. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  105. package/src/pro/messaging/kafkaService.js +1 -1
  106. package/src/pro/messaging/messagehubService.js +1 -1
  107. package/src/pro/messaging/rabbitmqService.js +1 -1
  108. package/src/pro/scheduler/job-manager.js +1 -1
  109. package/src/pro/scheduler/job-routes.js +1 -1
  110. package/src/pro/scheduler/job-validator.js +1 -1
  111. package/src/pro/storage/base-storage-provider.js +1 -1
  112. package/src/pro/storage/file-metadata-helper.js +1 -1
  113. package/src/pro/storage/index.js +1 -1
  114. package/src/pro/storage/local-storage-provider.js +1 -1
  115. package/src/pro/storage/s3-storage-provider.js +1 -1
  116. package/src/pro/storage/upload-cleanup-job.js +1 -1
  117. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  118. package/src/pro/storage/upload-pending-tracker.js +1 -1
  119. package/src/pro/websocket/broadcast-helper.js +1 -1
  120. package/src/pro/websocket/index.js +1 -1
  121. package/src/pro/websocket/livesync-server.js +1 -1
  122. package/src/pro/websocket/ws-broadcaster.js +1 -1
  123. package/src/services/export-service.js +1 -1
  124. package/src/services/import-service.js +1 -1
  125. package/src/services/kafkaConsumerService.js +1 -1
  126. package/src/services/kafkaService.js +1 -1
  127. package/src/services/messagehubService.js +1 -1
  128. package/src/services/rabbitmqService.js +1 -1
  129. package/src/utils/cache-invalidation-registry.js +1 -1
  130. package/src/utils/cache-manager.js +1 -1
  131. package/src/utils/component-engine.js +1 -1
  132. package/src/utils/config-extractor.js +1 -1
  133. package/src/utils/consumerLogger.js +1 -1
  134. package/src/utils/context-builder.js +1 -1
  135. package/src/utils/dashboard-helpers.js +1 -1
  136. package/src/utils/dateHelper.js +1 -1
  137. package/src/utils/datetime-formatter.js +1 -1
  138. package/src/utils/datetime-parser.js +1 -1
  139. package/src/utils/db-bootstrap.js +1 -1
  140. package/src/utils/db-mysql.js +1 -1
  141. package/src/utils/db-oracle.js +1 -1
  142. package/src/utils/db-sqlite.js +1 -1
  143. package/src/utils/db.js +1 -1
  144. package/src/utils/demo-generator.js +1 -1
  145. package/src/utils/excel-generator.js +1 -1
  146. package/src/utils/excel-parser.js +1 -1
  147. package/src/utils/file-watcher.js +1 -1
  148. package/src/utils/id-generator.js +1 -1
  149. package/src/utils/idempotency-manager.js +1 -1
  150. package/src/utils/import-validator.js +1 -1
  151. package/src/utils/license-client.js +1 -1
  152. package/src/utils/lock-manager.js +1 -1
  153. package/src/utils/logger.js +1 -1
  154. package/src/utils/lookup-resolver.js +1 -1
  155. package/src/utils/payload-loader.js +1 -1
  156. package/src/utils/processor-response.js +1 -1
  157. package/src/utils/rabbitmq.js +1 -1
  158. package/src/utils/redis-client.js +1 -1
  159. package/src/utils/redis-helper.js +1 -1
  160. package/src/utils/request-scope.js +1 -1
  161. package/src/utils/security-checks.js +1 -1
  162. package/src/utils/service-resolver.js +1 -1
  163. package/src/utils/shutdown-coordinator.js +1 -1
  164. package/src/utils/trusted-keys.js +1 -1
  165. package/src/utils/upload-handler.js +1 -1
  166. package/src/utils/upsert-builder.js +1 -1
  167. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- const a0_0x1aa8c6=a0_0x39df;(function(_0x1f8ade,_0x1e3a63){const _0x54b31d=a0_0x39df,_0x37a881=_0x1f8ade();while(!![]){try{const _0x409793=-parseInt(_0x54b31d(0x1c7))/0x1*(-parseInt(_0x54b31d(0x1ca))/0x2)+-parseInt(_0x54b31d(0x1d3))/0x3*(parseInt(_0x54b31d(0x1c8))/0x4)+parseInt(_0x54b31d(0x198))/0x5+-parseInt(_0x54b31d(0x1ae))/0x6*(-parseInt(_0x54b31d(0x1ac))/0x7)+parseInt(_0x54b31d(0x1d6))/0x8+parseInt(_0x54b31d(0x1a1))/0x9*(-parseInt(_0x54b31d(0x1b4))/0xa)+parseInt(_0x54b31d(0x1dc))/0xb*(parseInt(_0x54b31d(0x1c3))/0xc);if(_0x409793===_0x1e3a63)break;else _0x37a881['push'](_0x37a881['shift']());}catch(_0x1e2bf0){_0x37a881['push'](_0x37a881['shift']());}}}(a0_0xcb54,0x4d718));const {createConnection,createChannel,setupInfrastructure,closeConnection,getConfig}=require('../utils/rabbitmq'),{formatDate}=require(a0_0x1aa8c6(0x1af));function a0_0xcb54(){const _0x48e72a=['Aw5JBhvKzxm','u2P1Eeu','xsbgywLSzwqGDg8GC3rHCNqGy29UC3vTAw5NoIa','ote4nJbMyK9kzva','yxnZzxj0uxvLDwu','C2vUzfrVuxvLDwu','CMvJB25Uzwn0','mtbArwfhr2e','nevcr0HNCG','q2fUBM90ignVBM5Ly3qGDg8GuMfIyML0tve6ia','mZy2mtrprfbpBgO','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','yMLUzff1zxvL','Bg9N','xsblB25LA3nPifjHyMjPDe1rihrLCNb1DhvZ','xsbtDwnJzxnZzNvSBhKGCMvJB25Uzwn0zwqGDg8GuMfIyML0tve','AxndB25Uzwn0zwq','DfjVENK','rgf0ysbZzw50ihrVihf1zxvLihn1y2nLC3nMDwXSEq','mta2ntuXrMPdD0vI','xsbnzxnZywDLigHHBMrSzxiGBxvZDcbIzsbHigz1BMn0Aw9U','quHiD0i','mta0nJeXmMHdEuHuAW','yxv0B19YzxrYEq','ksbJCMvHDgvK','xsbnzxnZywDLihbYB2nLC3nLzcbZDwnJzxnZzNvSBhK','CM91DgLUz0TLEq','D2fYBG','mtfWr1P6suG','y29UzMLN','xsbfEgnOyw5Nzsa','ChjVy2vZC01LC3nHz2u','uKXvDNa','y29UBMvJDgLVBG','m3W3Fdv8nhW2Fdb8mNWX','B1Lnqxe','zLPfALC','DgLTzxn0yw1W','CMvNAxn0zxjnzxnZywDLsgfUzgXLCG','rNzzCxe','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','y2HHBM5LBa','ChvIBgLZAa','mtq5otKYnvv1thH2sq','ALPsuwe','ignYzwf0zwqVCMvHzhK','zxHJAgfUz2u','xsbqCMvMzxrJAcbKAwf0DxiGA2uGmq','y29UDgvUDa','xsbcAw5KAw5Nia','z2v0vgLTzq','zxjYB3i','mtK4Eg96sePO','xsbnzxnZywDLigHHBMrSzxiGCMvNAxn0zxjLza','ignYzwf0zwqGD2L0AcbetfG','BwvZC2fNzuHHBMrSzxjZ','ChjVCgvYDgLLCW','Bhj5v3a','C3rHCNrdB25ZDw1L','Dg9tDhjPBMC','ihDPDgGGreXy','BwL3zwC','C3rYAw5NAwz5','mJCXntnXDLbrthu','xsbgywLSzwqGDg8GCgfYC2uGBwvZC2fNztOG','mJeWBu5Ntvzv','lI4VDxrPBhmVzgf0zuHLBhbLCG','xsbrDwv1zsa','CxvLDwu','BwvZC2fNzq','ChvZAa','mtGZodCWDxDMtMfi','xsbnzxnZywDLihnLBNqGDg8GuMfIyML0tveGC3vJy2vZC2z1BgX5oG','sfD4s0u','shD2sg4','ywnR','Aw5LCxvPDMfSzw50igfYzW','tg5hy1K','zhbcEue','wNP3tuS','Aw5PDgLHBgL6zq','zNvUy3rPB24','CxvLDwuT'];a0_0xcb54=function(){return _0x48e72a;};return a0_0xcb54();}class RabbitMQService{constructor(){const _0x48c5d6=a0_0x1aa8c6,_0x26007f={'CoWfv':function(_0x35303b){return _0x35303b();}};this['connection']=null,this['channel']=null,this['config']=_0x26007f['CoWfv'](getConfig),this[_0x48c5d6(0x1d0)]=![],this['messageHandlers']=[];}async['initialize'](){const _0x359edf=a0_0x1aa8c6,_0x22a1a={'AHHwB':function(_0x5e8610,_0x245218,_0x3c2ef2){return _0x5e8610(_0x245218,_0x3c2ef2);},'SjuxE':_0x359edf(0x1e2),'tRozy':'close'};try{const _0x4e8ad4=_0x22a1a[_0x359edf(0x1c1)]['split']('|');let _0x568e53=0x0;while(!![]){switch(_0x4e8ad4[_0x568e53++]){case'0':this['isConnected']=!![];continue;case'1':return!![];case'2':this[_0x359edf(0x1e1)]['on'](_0x22a1a[_0x359edf(0x1d1)],()=>{const _0x52c002=_0x359edf;console['error']('['+formatDate(new Date())+_0x52c002(0x1ce)),this['isConnected']=![],_0x22a1a[_0x52c002(0x1d5)](setTimeout,()=>this[_0x52c002(0x1c6)](),0x1388);});continue;case'3':this['connection']=await createConnection();continue;case'4':console['log']('['+formatDate(new Date())+_0x359edf(0x19c));continue;case'5':await this[_0x359edf(0x196)]['prefetch'](0x1);continue;case'6':await setupInfrastructure(this[_0x359edf(0x196)]);continue;case'7':this['channel']=await createChannel(this[_0x359edf(0x1e1)]);continue;}break;}}catch(_0x379111){return console['error']('['+formatDate(new Date())+']\x20Failed\x20to\x20initialize\x20RabbitMQ:\x20'+_0x379111[_0x359edf(0x1b2)]),this['isConnected']=![],![];}}async['reconnect'](){const _0x550d8f=a0_0x1aa8c6,_0x5136f6={'udVac':function(_0x22f2f0,_0x4caf97){return _0x22f2f0(_0x4caf97);}};console['log']('['+_0x5136f6['udVac'](formatDate,new Date())+']\x20Attempting\x20to\x20reconnect\x20to\x20RabbitMQ...');try{await this['initialize'](),this[_0x550d8f(0x1d0)]&&(console[_0x550d8f(0x1cd)]('['+formatDate(new Date())+_0x550d8f(0x1cf)),await this[_0x550d8f(0x1a7)]());}catch(_0x2bba75){console[_0x550d8f(0x1a0)]('['+formatDate(new Date())+']\x20Failed\x20to\x20reconnect\x20to\x20RabbitMQ:\x20'+_0x2bba75[_0x550d8f(0x1b2)]),setTimeout(()=>this[_0x550d8f(0x1c6)](),0x1388);}}async['setupCollectorInfrastructure'](_0x5a5626){const _0x29af71=a0_0x1aa8c6,_0x73da02={'nyaIZ':function(_0x4ff463){return _0x4ff463();},'ZzwMK':function(_0x1fd166,_0x43627c){return _0x1fd166(_0x43627c);},'RLUvp':'default','jZRQa':'direct','oYMAq':function(_0x329139,_0x346963){return _0x329139(_0x346963);},'HWxKE':function(_0x6565c9,_0x2a736a){return _0x6565c9===_0x2a736a;},'HwvHn':'created/ready','fEDuI':'x-dead-letter-routing-key','kmVSe':function(_0x297b62,_0x2eec09){return _0x297b62(_0x2eec09);}};try{!this['isConnected']&&(this[_0x29af71(0x1e1)]=await _0x73da02['nyaIZ'](createConnection),this['channel']=await _0x73da02[_0x29af71(0x1bc)](createChannel,this[_0x29af71(0x1e1)]),this['isConnected']=!![]);const _0x1ea48c=process['env'][_0x29af71(0x195)]||_0x73da02[_0x29af71(0x1e0)],_0x22f6af=_0x1ea48c+'-retry-exchange';await this[_0x29af71(0x196)]['assertExchange'](_0x22f6af,_0x73da02[_0x29af71(0x199)],{'durable':!![],'autoDelete':![]}),console['log']('['+formatDate(new Date())+']\x20Retry\x20exchange\x20'+_0x22f6af+'\x20created/ready'),await this[_0x29af71(0x196)]['assertExchange'](_0x5a5626['exchange'],_0x73da02['jZRQa'],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x73da02[_0x29af71(0x1e3)](formatDate,new Date())+_0x29af71(0x1de)+_0x5a5626[_0x29af71(0x19b)]+_0x29af71(0x19a));const _0x10e92e=_0x5a5626[_0x29af71(0x1da)]+'_retry',_0x2f979b={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':_0x5a5626['exchange'],'x-dead-letter-routing-key':_0x5a5626[_0x29af71(0x1da)]}};await this[_0x29af71(0x196)][_0x29af71(0x1c4)](_0x10e92e,_0x2f979b),console[_0x29af71(0x1cd)]('['+formatDate(new Date())+']\x20Retry\x20queue\x20'+_0x10e92e+'\x20created/ready'),await this['channel'][_0x29af71(0x1cc)](_0x10e92e,_0x22f6af,_0x5a5626[_0x29af71(0x1da)]),console[_0x29af71(0x1cd)]('['+_0x73da02['oYMAq'](formatDate,new Date())+']\x20Retry\x20binding\x20for\x20'+_0x5a5626[_0x29af71(0x1da)]+'\x20created');const _0x4e4606={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x22f6af,'x-dead-letter-routing-key':_0x5a5626['routingKey']}};try{const _0x443d6a=await this[_0x29af71(0x196)][_0x29af71(0x1c4)](_0x5a5626['queue'],_0x4e4606);console[_0x29af71(0x1cd)]('['+formatDate(new Date())+_0x29af71(0x1b0)+_0x5a5626[_0x29af71(0x1b1)]+'\x20'+(_0x73da02[_0x29af71(0x1b6)](_0x443d6a[_0x29af71(0x1b1)],_0x5a5626[_0x29af71(0x1b1)])?_0x73da02[_0x29af71(0x1b7)]:'found')+_0x29af71(0x1a9)),await this[_0x29af71(0x196)][_0x29af71(0x1cc)](_0x5a5626[_0x29af71(0x1b1)],_0x5a5626[_0x29af71(0x19b)],_0x5a5626['routingKey']),console['log']('['+_0x73da02[_0x29af71(0x1e3)](formatDate,new Date())+_0x29af71(0x19e)+_0x5a5626['exchange']+'\x20->\x20'+_0x5a5626['queue']+'\x20('+_0x5a5626[_0x29af71(0x1da)]+_0x29af71(0x1d8));}catch(_0x3030ef){if(_0x3030ef[_0x29af71(0x1b2)][_0x29af71(0x1c0)](_0x29af71(0x1b9))&&_0x3030ef['message']['includes'](_0x73da02['fEDuI'])){console[_0x29af71(0x1a0)]('\x0a['+_0x73da02['ZzwMK'](formatDate,new Date())+']\x20ERROR:\x20Queue\x20'+_0x5a5626['queue']+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console[_0x29af71(0x1a0)]('Trying\x20alternative\x20queue\x20name...');const _0x50366b=_0x5a5626['routingKey']+'_queue',_0x31fb59=await this[_0x29af71(0x196)]['assertQueue'](_0x50366b,_0x4e4606);console[_0x29af71(0x1cd)]('['+_0x73da02['kmVSe'](formatDate,new Date())+']\x20Alternative\x20queue\x20'+_0x50366b+_0x29af71(0x1a3)),await this[_0x29af71(0x196)][_0x29af71(0x1cc)](_0x50366b,_0x5a5626['exchange'],_0x5a5626['routingKey']),console[_0x29af71(0x1cd)]('['+formatDate(new Date())+']\x20Binding\x20'+_0x5a5626['exchange']+'\x20->\x20'+_0x50366b+'\x20('+_0x5a5626[_0x29af71(0x1da)]+_0x29af71(0x1d8)),_0x5a5626['queue']=_0x50366b;}else{console[_0x29af71(0x1a0)]('['+formatDate(new Date())+_0x29af71(0x1cb)+_0x5a5626[_0x29af71(0x1b1)]+':',_0x3030ef['message']);throw _0x3030ef;}}return!![];}catch(_0xa4f71f){return console[_0x29af71(0x1a0)]('['+formatDate(new Date())+']\x20Error\x20saat\x20setup\x20infrastruktur:\x20'+_0xa4f71f['message']),![];}}async[a0_0x1aa8c6(0x1c5)](_0x339302,_0xe57a3a){const _0x1d8c98=a0_0x1aa8c6,_0x5cd8ef={'mOZBF':function(_0x11c5fe,_0x19611d){return _0x11c5fe!==_0x19611d;},'fZEjW':'Failed\x20to\x20send\x20message\x20to\x20RabbitMQ','FvYqq':function(_0x3c46c0,_0x5c0de1){return _0x3c46c0(_0x5c0de1);}};if(!this[_0x1d8c98(0x1d0)])try{await this[_0x1d8c98(0x1bd)]();}catch(_0x87ee48){return{'success':![],'message':_0x1d8c98(0x1c9)+_0x87ee48[_0x1d8c98(0x1b2)],'data':null};}try{const _0x368b75=_0x5cd8ef['mOZBF'](_0xe57a3a['auto_retry'],undefined)?_0xe57a3a[_0x1d8c98(0x1d7)]:![],_0x35f5da=_0xe57a3a['max_retries']||0x3,_0x22e3fe={'rabbitmq':{'exchange':_0xe57a3a['exchange'],'queue':_0xe57a3a[_0x1d8c98(0x1b1)],'routing_key':_0xe57a3a[_0x1d8c98(0x1da)],'auto_retry':_0x368b75,'max_retries':_0x35f5da},'message':_0x339302};await this['setupCollectorInfrastructure'](_0xe57a3a);const _0x3f3b4a=new Date(),_0x46d1e4={'timestamp':_0x3f3b4a['toISOString'](),'content':JSON[_0x1d8c98(0x1ab)](_0x22e3fe)},_0x54aa8d=this['channel'][_0x1d8c98(0x197)](_0xe57a3a['exchange'],_0xe57a3a['routingKey'],Buffer['from'](JSON[_0x1d8c98(0x1ab)](_0x46d1e4)),{'persistent':!![],'contentType':'application/json','timestamp':_0x3f3b4a[_0x1d8c98(0x19f)](),'messageId':_0x3f3b4a['getTime']()+'-'+Math['random']()[_0x1d8c98(0x1a8)](0x24)['substring'](0x7),'headers':{'x-auto-retry':_0x368b75,'x-max-retry':_0x35f5da,'x-retry-count':0x0,'x-retry-interval':0x2710}});if(_0x54aa8d){console['log']('['+formatDate(_0x3f3b4a)+_0x1d8c98(0x1b5),{'exchange':_0xe57a3a[_0x1d8c98(0x19b)],'routing_key':_0xe57a3a[_0x1d8c98(0x1da)],'queue':_0xe57a3a['queue'],'sendAt':_0x3f3b4a['toISOString']()});const _0x2008cd=_0x1d8c98(0x1bf)+_0x3f3b4a['getTime']()+'-'+Math['random']()[_0x1d8c98(0x1a8)](0x24)['substring'](0x7);return{'success':!![],'message':_0x1d8c98(0x1d2),'data':{'id':_0x2008cd,'queueInfo':{'exchange':_0xe57a3a['exchange'],'queue':_0xe57a3a[_0x1d8c98(0x1b1)],'routingKey':_0xe57a3a[_0x1d8c98(0x1da)]}}};}else throw new Error(_0x5cd8ef[_0x1d8c98(0x1e4)]);}catch(_0x3b2828){return console['error']('['+_0x5cd8ef[_0x1d8c98(0x194)](formatDate,new Date())+']\x20Error\x20sending\x20to\x20RabbitMQ:\x20'+_0x3b2828['message']),{'success':![],'message':'Error:\x20'+_0x3b2828['message'],'data':null};}}[a0_0x1aa8c6(0x193)](_0x233c54){const _0x13c34c=a0_0x1aa8c6,_0x14ea69={'BYpeW':function(_0x19a31c,_0x44a24f){return _0x19a31c===_0x44a24f;},'LnGcY':function(_0x443016,_0x349382){return _0x443016(_0x349382);}};_0x14ea69['BYpeW'](typeof _0x233c54,_0x13c34c(0x1be))?(this[_0x13c34c(0x1a4)][_0x13c34c(0x1b3)](_0x233c54),console['log']('['+formatDate(new Date())+_0x13c34c(0x1a2))):console[_0x13c34c(0x1a0)]('['+_0x14ea69[_0x13c34c(0x1ba)](formatDate,new Date())+_0x13c34c(0x1d4));}async['processMessage'](_0x358dd8){const _0x1cde39=a0_0x1aa8c6,_0x5d1537={'dpByA':function(_0x259cfd,_0x3e6698){return _0x259cfd===_0x3e6698;}};if(_0x5d1537[_0x1cde39(0x1bb)](this[_0x1cde39(0x1a4)]['length'],0x0))return console[_0x1cde39(0x1db)]('['+formatDate(new Date())+']\x20No\x20handlers\x20registered\x20to\x20process\x20messages'),!![];try{for(const _0x399320 of this['messageHandlers']){await _0x399320(_0x358dd8);}return!![];}catch(_0x1d17ff){return console['error']('['+formatDate(new Date())+']\x20Error\x20processing\x20message:\x20'+_0x1d17ff[_0x1cde39(0x1b2)]),![];}}async['startConsume'](){const _0x5c462d=a0_0x1aa8c6,_0x49527b={'SwvSe':function(_0x4edc87,_0x3a27cb){return _0x4edc87!==_0x3a27cb;},'PPcjd':function(_0x164a1c,_0x3fbde1){return _0x164a1c(_0x3fbde1);},'lryWp':'---','miweg':function(_0x494dc7,_0x361654){return _0x494dc7(_0x361654);}};if(!this[_0x5c462d(0x1d0)])return console['error']('['+formatDate(new Date())+']\x20Cannot\x20start\x20consuming:\x20not\x20connected\x20to\x20RabbitMQ'),![];try{return console['log']('['+_0x49527b[_0x5c462d(0x1aa)](formatDate,new Date())+']\x20Start\x20consuming\x20messages\x20from\x20queue\x20\x22'+this[_0x5c462d(0x1dd)][_0x5c462d(0x1b1)]+'\x22...'),this[_0x5c462d(0x196)]['consume'](this['config']['queue'],async _0x78d86a=>{const _0x483b22=_0x5c462d;if(_0x49527b['SwvSe'](_0x78d86a,null)){const _0x61011d=new Date();let _0x50396c;try{_0x50396c=JSON['parse'](_0x78d86a[_0x483b22(0x19d)][_0x483b22(0x1a8)]());}catch(_0x49b7a6){console[_0x483b22(0x1a0)]('['+_0x49527b['PPcjd'](formatDate,_0x61011d)+_0x483b22(0x1ad)+_0x49b7a6['message']),console['error']('Message\x20content:\x20'+_0x78d86a[_0x483b22(0x19d)][_0x483b22(0x1a8)]()),this[_0x483b22(0x196)][_0x483b22(0x1b8)](_0x78d86a);return;}const _0x518664=_0x78d86a['properties'][_0x483b22(0x192)]?new Date(_0x78d86a[_0x483b22(0x1a5)][_0x483b22(0x192)]):new Date(),_0x118da9=await this[_0x483b22(0x1df)](_0x50396c);_0x118da9?(console[_0x483b22(0x1cd)]('['+formatDate(new Date())+_0x483b22(0x1d9)),this[_0x483b22(0x196)][_0x483b22(0x1b8)](_0x78d86a)):(console['error']('['+formatDate(new Date())+']\x20Failed\x20to\x20process\x20message,\x20requeuing'),this[_0x483b22(0x196)]['nack'](_0x78d86a,![],!![])),console[_0x483b22(0x1cd)](_0x49527b[_0x483b22(0x1a6)]);}},{'noAck':![]}),!![];}catch(_0x150eda){return console[_0x5c462d(0x1a0)]('['+formatDate(new Date())+_0x5c462d(0x1c2)+_0x150eda[_0x5c462d(0x1b2)]),![];}}async['close'](){const _0x409c68=a0_0x1aa8c6;this[_0x409c68(0x1e1)]&&(await closeConnection(this['connection']),this[_0x409c68(0x1d0)]=![]);}}function a0_0x39df(_0x34cc2f,_0x247120){_0x34cc2f=_0x34cc2f-0x192;const _0xcb5497=a0_0xcb54();let _0x39dfa0=_0xcb5497[_0x34cc2f];if(a0_0x39df['VefQVr']===undefined){var _0x5e0f9e=function(_0x21d6e3){const _0x4fc72f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x594abc='',_0x1d30ae='';for(let _0x232030=0x0,_0x216804,_0x5503ee,_0x539e20=0x0;_0x5503ee=_0x21d6e3['charAt'](_0x539e20++);~_0x5503ee&&(_0x216804=_0x232030%0x4?_0x216804*0x40+_0x5503ee:_0x5503ee,_0x232030++%0x4)?_0x594abc+=String['fromCharCode'](0xff&_0x216804>>(-0x2*_0x232030&0x6)):0x0){_0x5503ee=_0x4fc72f['indexOf'](_0x5503ee);}for(let _0x404abc=0x0,_0x7cdd28=_0x594abc['length'];_0x404abc<_0x7cdd28;_0x404abc++){_0x1d30ae+='%'+('00'+_0x594abc['charCodeAt'](_0x404abc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1d30ae);};a0_0x39df['vwKiYh']=_0x5e0f9e,a0_0x39df['eZJuMu']={},a0_0x39df['VefQVr']=!![];}const _0x219bb4=_0xcb5497[0x0],_0x10acfe=_0x34cc2f+_0x219bb4,_0x1d8f38=a0_0x39df['eZJuMu'][_0x10acfe];return!_0x1d8f38?(_0x39dfa0=a0_0x39df['vwKiYh'](_0x39dfa0),a0_0x39df['eZJuMu'][_0x10acfe]=_0x39dfa0):_0x39dfa0=_0x1d8f38,_0x39dfa0;}let instance=null;function getInstance(){return!instance&&(instance=new RabbitMQService()),instance;}module['exports']={'getInstance':getInstance};
1
+ const a0_0x49ca7a=a0_0x14b5;(function(_0x219f3a,_0x8863af){const _0x282af8=a0_0x14b5,_0xc0c24e=_0x219f3a();while(!![]){try{const _0x3695ff=parseInt(_0x282af8(0x215))/0x1+parseInt(_0x282af8(0x217))/0x2+parseInt(_0x282af8(0x232))/0x3+parseInt(_0x282af8(0x225))/0x4+parseInt(_0x282af8(0x20e))/0x5+-parseInt(_0x282af8(0x21e))/0x6+-parseInt(_0x282af8(0x237))/0x7;if(_0x3695ff===_0x8863af)break;else _0xc0c24e['push'](_0xc0c24e['shift']());}catch(_0xf87f03){_0xc0c24e['push'](_0xc0c24e['shift']());}}}(a0_0x3509,0xbe864));const {createConnection,createChannel,setupInfrastructure,closeConnection,getConfig}=require(a0_0x49ca7a(0x239)),{formatDate}=require(a0_0x49ca7a(0x227));class RabbitMQService{constructor(){const _0x1867e1=a0_0x49ca7a,_0x3185c9={'FImNw':_0x1867e1(0x1e8)},_0x5ae558=_0x3185c9[_0x1867e1(0x202)]['split']('|');let _0x33d262=0x0;while(!![]){switch(_0x5ae558[_0x33d262++]){case'0':this['config']=getConfig();continue;case'1':this[_0x1867e1(0x207)]=null;continue;case'2':this['messageHandlers']=[];continue;case'3':this['channel']=null;continue;case'4':this[_0x1867e1(0x208)]=![];continue;}break;}}async[a0_0x49ca7a(0x219)](){const _0xd61fd6=a0_0x49ca7a,_0x35e0db={'qBZMD':function(_0x245469,_0x254e5c){return _0x245469(_0x254e5c);},'EbLzB':function(_0x160a46,_0x13e7ec,_0xae6beb){return _0x160a46(_0x13e7ec,_0xae6beb);},'uNNdy':function(_0x4ecf63,_0x2beb70){return _0x4ecf63(_0x2beb70);},'ynGTq':function(_0x2701fb,_0x49068c){return _0x2701fb(_0x49068c);},'byhuA':_0xd61fd6(0x1e7)};try{return this['connection']=await createConnection(),this['channel']=await _0x35e0db[_0xd61fd6(0x1ff)](createChannel,this[_0xd61fd6(0x207)]),await this[_0xd61fd6(0x20d)]['prefetch'](0x1),console[_0xd61fd6(0x223)]('['+_0x35e0db['uNNdy'](formatDate,new Date())+_0xd61fd6(0x22f)),await _0x35e0db['ynGTq'](setupInfrastructure,this[_0xd61fd6(0x20d)]),this[_0xd61fd6(0x208)]=!![],this['connection']['on'](_0x35e0db['byhuA'],()=>{const _0x14b646=_0xd61fd6;console['error']('['+_0x35e0db[_0x14b646(0x220)](formatDate,new Date())+']\x20Koneksi\x20RabbitMQ\x20terputus'),this['isConnected']=![],_0x35e0db['EbLzB'](setTimeout,()=>this[_0x14b646(0x1e6)](),0x1388);}),!![];}catch(_0x5228b6){return console['error']('['+_0x35e0db['uNNdy'](formatDate,new Date())+']\x20Failed\x20to\x20initialize\x20RabbitMQ:\x20'+_0x5228b6['message']),this['isConnected']=![],![];}}async[a0_0x49ca7a(0x1e6)](){const _0x305be4=a0_0x49ca7a,_0x1b7ab3={'xCDeU':function(_0x53a04d,_0x5e46e3){return _0x53a04d(_0x5e46e3);},'nPxcq':function(_0x52616e,_0x481284){return _0x52616e(_0x481284);}};console['log']('['+_0x1b7ab3['xCDeU'](formatDate,new Date())+']\x20Attempting\x20to\x20reconnect\x20to\x20RabbitMQ...');try{await this['initialize'](),this['isConnected']&&(console['log']('['+formatDate(new Date())+_0x305be4(0x21d)),await this[_0x305be4(0x21c)]());}catch(_0x5e2982){console['error']('['+_0x1b7ab3['nPxcq'](formatDate,new Date())+']\x20Failed\x20to\x20reconnect\x20to\x20RabbitMQ:\x20'+_0x5e2982[_0x305be4(0x1ee)]),setTimeout(()=>this[_0x305be4(0x1e6)](),0x1388);}}async[a0_0x49ca7a(0x233)](_0x56dc1b){const _0x1f5a74=a0_0x49ca7a,_0x2d85ba={'bZiaW':function(_0x3045bc){return _0x3045bc();},'zdWeK':'created/ready','etJMW':function(_0x30efa2,_0x127f3e){return _0x30efa2(_0x127f3e);},'gSIrE':_0x1f5a74(0x238),'qUFlu':function(_0x47e0db,_0x590009){return _0x47e0db(_0x590009);},'iRiBu':function(_0x592106,_0x5a59e3){return _0x592106(_0x5a59e3);}};try{!this['isConnected']&&(this[_0x1f5a74(0x207)]=await _0x2d85ba[_0x1f5a74(0x20f)](createConnection),this['channel']=await createChannel(this[_0x1f5a74(0x207)]),this['isConnected']=!![]);const _0x607c2=process[_0x1f5a74(0x1e5)]['RESTFORGE_PROJECT_NAME']||_0x1f5a74(0x212),_0x2ad914=_0x607c2+_0x1f5a74(0x236);await this['channel']['assertExchange'](_0x2ad914,'direct',{'durable':!![],'autoDelete':![]}),console[_0x1f5a74(0x223)]('['+formatDate(new Date())+_0x1f5a74(0x1f4)+_0x2ad914+'\x20created/ready'),await this[_0x1f5a74(0x20d)]['assertExchange'](_0x56dc1b[_0x1f5a74(0x1eb)],'direct',{'durable':!![],'autoDelete':![]}),console['log']('['+formatDate(new Date())+_0x1f5a74(0x213)+_0x56dc1b['exchange']+'\x20created/ready');const _0x2d3f50=_0x56dc1b[_0x1f5a74(0x224)]+'_retry',_0x134f7c={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':_0x56dc1b[_0x1f5a74(0x1eb)],'x-dead-letter-routing-key':_0x56dc1b['routingKey']}};await this['channel']['assertQueue'](_0x2d3f50,_0x134f7c),console[_0x1f5a74(0x223)]('['+formatDate(new Date())+']\x20Retry\x20queue\x20'+_0x2d3f50+'\x20created/ready'),await this['channel']['bindQueue'](_0x2d3f50,_0x2ad914,_0x56dc1b['routingKey']),console['log']('['+formatDate(new Date())+']\x20Retry\x20binding\x20for\x20'+_0x56dc1b[_0x1f5a74(0x224)]+_0x1f5a74(0x211));const _0x346e6a={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x2ad914,'x-dead-letter-routing-key':_0x56dc1b['routingKey']}};try{const _0x3bdf9f=await this['channel'][_0x1f5a74(0x22d)](_0x56dc1b[_0x1f5a74(0x1f7)],_0x346e6a);console['log']('['+formatDate(new Date())+_0x1f5a74(0x206)+_0x56dc1b[_0x1f5a74(0x1f7)]+'\x20'+(_0x3bdf9f['queue']===_0x56dc1b[_0x1f5a74(0x1f7)]?_0x2d85ba[_0x1f5a74(0x230)]:'found')+_0x1f5a74(0x205)),await this['channel'][_0x1f5a74(0x221)](_0x56dc1b[_0x1f5a74(0x1f7)],_0x56dc1b[_0x1f5a74(0x1eb)],_0x56dc1b[_0x1f5a74(0x224)]),console[_0x1f5a74(0x223)]('['+_0x2d85ba[_0x1f5a74(0x20a)](formatDate,new Date())+']\x20Binding\x20'+_0x56dc1b['exchange']+_0x1f5a74(0x1fd)+_0x56dc1b[_0x1f5a74(0x1f7)]+'\x20('+_0x56dc1b['routingKey']+')\x20created');}catch(_0xcd1c4f){if(_0xcd1c4f[_0x1f5a74(0x1ee)]['includes'](_0x2d85ba[_0x1f5a74(0x222)])&&_0xcd1c4f[_0x1f5a74(0x1ee)][_0x1f5a74(0x23b)](_0x1f5a74(0x22e))){console['error']('\x0a['+formatDate(new Date())+']\x20ERROR:\x20Queue\x20'+_0x56dc1b[_0x1f5a74(0x1f7)]+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console[_0x1f5a74(0x1fb)]('Trying\x20alternative\x20queue\x20name...');const _0x386e57=_0x56dc1b[_0x1f5a74(0x224)]+_0x1f5a74(0x1fc),_0x4c2323=await this[_0x1f5a74(0x20d)][_0x1f5a74(0x22d)](_0x386e57,_0x346e6a);console['log']('['+formatDate(new Date())+']\x20Alternative\x20queue\x20'+_0x386e57+_0x1f5a74(0x229)),await this[_0x1f5a74(0x20d)][_0x1f5a74(0x221)](_0x386e57,_0x56dc1b[_0x1f5a74(0x1eb)],_0x56dc1b[_0x1f5a74(0x224)]),console[_0x1f5a74(0x223)]('['+_0x2d85ba[_0x1f5a74(0x204)](formatDate,new Date())+_0x1f5a74(0x1ea)+_0x56dc1b[_0x1f5a74(0x1eb)]+_0x1f5a74(0x1fd)+_0x386e57+'\x20('+_0x56dc1b['routingKey']+_0x1f5a74(0x1f3)),_0x56dc1b[_0x1f5a74(0x1f7)]=_0x386e57;}else{console[_0x1f5a74(0x1fb)]('['+_0x2d85ba[_0x1f5a74(0x1fe)](formatDate,new Date())+_0x1f5a74(0x234)+_0x56dc1b['queue']+':',_0xcd1c4f[_0x1f5a74(0x1ee)]);throw _0xcd1c4f;}}return!![];}catch(_0xe9f4ef){return console['error']('['+formatDate(new Date())+']\x20Error\x20saat\x20setup\x20infrastruktur:\x20'+_0xe9f4ef['message']),![];}}async[a0_0x49ca7a(0x21b)](_0xd8e8d6,_0x367493){const _0x10aa93=a0_0x49ca7a,_0x221ec3={'xausv':_0x10aa93(0x209),'shbkm':function(_0x289e9a,_0xdc15ad){return _0x289e9a(_0xdc15ad);},'LRDnO':'Failed\x20to\x20send\x20message\x20to\x20RabbitMQ'};if(!this['isConnected'])try{await this['initialize']();}catch(_0xbc5863){return{'success':![],'message':'Cannot\x20connect\x20to\x20RabbitMQ:\x20'+_0xbc5863['message'],'data':null};}try{const _0x40bf3c=_0x367493[_0x10aa93(0x1f5)]!==undefined?_0x367493[_0x10aa93(0x1f5)]:![],_0x17fd23=_0x367493[_0x10aa93(0x1f6)]||0x3,_0x1f5a9d={'rabbitmq':{'exchange':_0x367493['exchange'],'queue':_0x367493['queue'],'routing_key':_0x367493['routingKey'],'auto_retry':_0x40bf3c,'max_retries':_0x17fd23},'message':_0xd8e8d6};await this['setupCollectorInfrastructure'](_0x367493);const _0x29d32d=new Date(),_0x3cd322={'timestamp':_0x29d32d['toISOString'](),'content':JSON[_0x10aa93(0x1ec)](_0x1f5a9d)},_0x58a61c=this['channel'][_0x10aa93(0x201)](_0x367493[_0x10aa93(0x1eb)],_0x367493['routingKey'],Buffer['from'](JSON['stringify'](_0x3cd322)),{'persistent':!![],'contentType':_0x221ec3['xausv'],'timestamp':_0x29d32d[_0x10aa93(0x214)](),'messageId':_0x29d32d[_0x10aa93(0x214)]()+'-'+Math[_0x10aa93(0x23a)]()[_0x10aa93(0x203)](0x24)['substring'](0x7),'headers':{'x-auto-retry':_0x40bf3c,'x-max-retry':_0x17fd23,'x-retry-count':0x0,'x-retry-interval':0x2710}});if(_0x58a61c){console['log']('['+_0x221ec3['shbkm'](formatDate,_0x29d32d)+_0x10aa93(0x216),{'exchange':_0x367493['exchange'],'routing_key':_0x367493['routingKey'],'queue':_0x367493['queue'],'sendAt':_0x29d32d[_0x10aa93(0x1e9)]()});const _0x5d6898='queue-'+_0x29d32d['getTime']()+'-'+Math[_0x10aa93(0x23a)]()[_0x10aa93(0x203)](0x24)['substring'](0x7);return{'success':!![],'message':_0x10aa93(0x235),'data':{'id':_0x5d6898,'queueInfo':{'exchange':_0x367493['exchange'],'queue':_0x367493['queue'],'routingKey':_0x367493[_0x10aa93(0x224)]}}};}else throw new Error(_0x221ec3['LRDnO']);}catch(_0x4d46e1){return console[_0x10aa93(0x1fb)]('['+formatDate(new Date())+']\x20Error\x20sending\x20to\x20RabbitMQ:\x20'+_0x4d46e1[_0x10aa93(0x1ee)]),{'success':![],'message':'Error:\x20'+_0x4d46e1[_0x10aa93(0x1ee)],'data':null};}}['registerMessageHandler'](_0x5a01e3){const _0x1562e3=a0_0x49ca7a,_0x337df4={'nLXtK':function(_0xbe5d09,_0x5be240){return _0xbe5d09===_0x5be240;},'PJRNw':function(_0x47069c,_0x1d1f73){return _0x47069c(_0x1d1f73);}};_0x337df4[_0x1562e3(0x1f8)](typeof _0x5a01e3,'function')?(this[_0x1562e3(0x20b)][_0x1562e3(0x218)](_0x5a01e3),console['log']('['+_0x337df4[_0x1562e3(0x226)](formatDate,new Date())+']\x20Message\x20handler\x20registered')):console[_0x1562e3(0x1fb)]('['+formatDate(new Date())+']\x20Message\x20handler\x20must\x20be\x20a\x20function');}async['processMessage'](_0x335cb1){const _0x2e07bc=a0_0x49ca7a,_0xde5c8e={'PcALg':function(_0x469aa9,_0xcdc3d9){return _0x469aa9===_0xcdc3d9;},'ghlaL':function(_0x12810b,_0x59e284){return _0x12810b(_0x59e284);}};if(_0xde5c8e['PcALg'](this[_0x2e07bc(0x20b)][_0x2e07bc(0x1ed)],0x0))return console[_0x2e07bc(0x21a)]('['+_0xde5c8e['ghlaL'](formatDate,new Date())+_0x2e07bc(0x22c)),!![];try{for(const _0x275549 of this['messageHandlers']){await _0xde5c8e[_0x2e07bc(0x1f9)](_0x275549,_0x335cb1);}return!![];}catch(_0x298327){return console[_0x2e07bc(0x1fb)]('['+formatDate(new Date())+_0x2e07bc(0x1f1)+_0x298327[_0x2e07bc(0x1ee)]),![];}}async['startConsume'](){const _0x2cba54=a0_0x49ca7a,_0xcc68db={'YQuEq':function(_0x1d3899,_0x1d3136){return _0x1d3899!==_0x1d3136;},'Qhdca':function(_0x4ba34d,_0x1112e1){return _0x4ba34d(_0x1112e1);},'efhNr':function(_0x4f7cf3,_0x29b132){return _0x4f7cf3(_0x29b132);},'aylxr':function(_0x21ba57,_0x4533a6){return _0x21ba57(_0x4533a6);}};if(!this[_0x2cba54(0x208)])return console[_0x2cba54(0x1fb)]('['+_0xcc68db['Qhdca'](formatDate,new Date())+_0x2cba54(0x231)),![];try{return console[_0x2cba54(0x223)]('['+_0xcc68db['aylxr'](formatDate,new Date())+_0x2cba54(0x22b)+this['config'][_0x2cba54(0x1f7)]+_0x2cba54(0x22a)),this['channel'][_0x2cba54(0x1f0)](this['config']['queue'],async _0x4c6d7b=>{const _0x2467dc=_0x2cba54;if(_0xcc68db['YQuEq'](_0x4c6d7b,null)){const _0x2c576c=new Date();let _0x9a4429;try{_0x9a4429=JSON['parse'](_0x4c6d7b[_0x2467dc(0x228)][_0x2467dc(0x203)]());}catch(_0x30032a){console['error']('['+_0xcc68db['Qhdca'](formatDate,_0x2c576c)+']\x20Failed\x20to\x20parse\x20message:\x20'+_0x30032a['message']),console[_0x2467dc(0x1fb)]('Message\x20content:\x20'+_0x4c6d7b['content'][_0x2467dc(0x203)]()),this[_0x2467dc(0x20d)]['ack'](_0x4c6d7b);return;}const _0x305fe7=_0x4c6d7b[_0x2467dc(0x20c)][_0x2467dc(0x1f2)]?new Date(_0x4c6d7b['properties']['timestamp']):new Date(),_0xc51e34=await this[_0x2467dc(0x1ef)](_0x9a4429);_0xc51e34?(console[_0x2467dc(0x223)]('['+_0xcc68db[_0x2467dc(0x21f)](formatDate,new Date())+_0x2467dc(0x1fa)),this['channel']['ack'](_0x4c6d7b)):(console[_0x2467dc(0x1fb)]('['+_0xcc68db[_0x2467dc(0x200)](formatDate,new Date())+']\x20Failed\x20to\x20process\x20message,\x20requeuing'),this['channel']['nack'](_0x4c6d7b,![],!![])),console['log'](_0x2467dc(0x210));}},{'noAck':![]}),!![];}catch(_0x587fc5){return console['error']('['+formatDate(new Date())+']\x20Failed\x20to\x20start\x20consuming:\x20'+_0x587fc5['message']),![];}}async['close'](){const _0x3407b4=a0_0x49ca7a,_0x5a0ef5={'mxPdz':function(_0x3682bd,_0xfbc7c1){return _0x3682bd(_0xfbc7c1);}};this[_0x3407b4(0x207)]&&(await _0x5a0ef5['mxPdz'](closeConnection,this[_0x3407b4(0x207)]),this[_0x3407b4(0x208)]=![]);}}let instance=null;function a0_0x14b5(_0x59c720,_0x46a224){_0x59c720=_0x59c720-0x1e5;const _0x3509fb=a0_0x3509();let _0x14b5a4=_0x3509fb[_0x59c720];if(a0_0x14b5['lvCdTJ']===undefined){var _0x21b19c=function(_0x3b384b){const _0x347300='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x14f969='',_0x4962c5='';for(let _0x1cc22d=0x0,_0x363e49,_0x1edb10,_0x4b4efb=0x0;_0x1edb10=_0x3b384b['charAt'](_0x4b4efb++);~_0x1edb10&&(_0x363e49=_0x1cc22d%0x4?_0x363e49*0x40+_0x1edb10:_0x1edb10,_0x1cc22d++%0x4)?_0x14f969+=String['fromCharCode'](0xff&_0x363e49>>(-0x2*_0x1cc22d&0x6)):0x0){_0x1edb10=_0x347300['indexOf'](_0x1edb10);}for(let _0xb694ef=0x0,_0x26c8a2=_0x14f969['length'];_0xb694ef<_0x26c8a2;_0xb694ef++){_0x4962c5+='%'+('00'+_0x14f969['charCodeAt'](_0xb694ef)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4962c5);};a0_0x14b5['txSXZr']=_0x21b19c,a0_0x14b5['qbSKxS']={},a0_0x14b5['lvCdTJ']=!![];}const _0x4b80d3=_0x3509fb[0x0],_0x1075d2=_0x59c720+_0x4b80d3,_0x2ff589=a0_0x14b5['qbSKxS'][_0x1075d2];return!_0x2ff589?(_0x14b5a4=a0_0x14b5['txSXZr'](_0x14b5a4),a0_0x14b5['qbSKxS'][_0x1075d2]=_0x14b5a4):_0x14b5a4=_0x2ff589,_0x14b5a4;}function a0_0x3509(){const _0x1fb291=['Dg9tDhjPBMC','CvvgBhu','ihDPDgGGreXy','xsbrDwv1zsa','y29UBMvJDgLVBG','AxndB25Uzwn0zwq','yxbWBgLJyxrPB24VANnVBG','zxrktvC','BwvZC2fNzuHHBMrSzxjZ','ChjVCgvYDgLLCW','y2HHBM5LBa','ntqYmtmWmgrVqKzyua','yLPPyvC','ls0T','ignYzwf0zwq','zgvMyxvSDa','xsbfEgnOyw5Nzsa','z2v0vgLTzq','mtm1otaWn0L1yuvADG','xsbnzxnZywDLihnLBNqGDg8GuMfIyML0tveGC3vJy2vZC2z1BgX5oG','mtCXmdeWmMTmD2vcCW','ChvZAa','Aw5PDgLHBgL6zq','D2fYBG','C2vUzfrVuxvLDwu','C3rHCNrdB25ZDw1L','xsbtDwnJzxnZzNvSBhKGCMvJB25Uzwn0zwqGDg8GuMfIyML0tve','mZa0mdy3nefuwgPSCq','uwHKy2e','CujAtuq','yMLUzff1zxvL','z1njCKu','Bg9N','CM91DgLUz0TLEq','mZC3mtaYogjHyxPqBa','uePstNC','lI4VDxrPBhmVzgf0zuHLBhbLCG','y29UDgvUDa','ignYzwf0zwqGD2L0AcbetfG','iI4UlG','xsbtDgfYDcbJB25ZDw1PBMCGBwvZC2fNzxmGzNjVBsbXDwv1zsaI','xsboBYbOyw5KBgvYCYbYzwDPC3rLCMvKihrVihbYB2nLC3mGBwvZC2fNzxm','yxnZzxj0uxvLDwu','Ec1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEq','xsbqCMvMzxrJAcbKAwf0DxiGA2uGmq','EMrxzuS','xsbdyw5UB3qGC3rHCNqGy29UC3vTAw5NoIbUB3qGy29UBMvJDgvKihrVifjHyMjPDe1r','ndiYndaYn3Dhv1bHsG','C2v0DxbdB2XSzwn0B3jjBMzYyxn0CNvJDhvYzq','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','rgf0ysbZzw50ihrVihf1zxvLihn1y2nLC3nMDwXSEq','lxjLDhj5lwv4y2HHBMDL','mZa1mZm0mtLQDvviz2O','Aw5LCxvPDMfSzw50igfYzW','lI4VDxrPBhmVCMfIyML0Bxe','CMfUzg9T','Aw5JBhvKzxm','zw52','CMvJB25Uzwn0','y2XVC2u','mxWZFdb8nhWY','Dg9ju09tDhjPBMC','xsbcAw5KAw5Nia','zxHJAgfUz2u','C3rYAw5NAwz5','BgvUz3rO','BwvZC2fNzq','ChjVy2vZC01LC3nHz2u','y29UC3vTzq','xsbfCNjVCIbWCM9JzxnZAw5Nig1LC3nHz2u6ia','DgLTzxn0yw1W','ksbJCMvHDgvK','xsbszxrYEsbLEgnOyw5Nzsa','yxv0B19YzxrYEq','Bwf4x3jLDhjPzxm','CxvLDwu','BKXyDeS','z2HSyuW','xsbnzxnZywDLihbYB2nLC3nLzcbZDwnJzxnZzNvSBhK','zxjYB3i','x3f1zxvL','ic0+ia','AvjPqNu','Du5ozhK','zwzOtNi','ChvIBgLZAa','rKLTtNC'];a0_0x3509=function(){return _0x1fb291;};return a0_0x3509();}function getInstance(){return!instance&&(instance=new RabbitMQService()),instance;}module['exports']={'getInstance':getInstance};
@@ -1 +1 @@
1
- const a0_0x26ced1=a0_0x151e;(function(_0x380dfa,_0x29a04e){const _0x4e3048=a0_0x151e,_0x27ccef=_0x380dfa();while(!![]){try{const _0x54ca38=parseInt(_0x4e3048(0x1f3))/0x1*(-parseInt(_0x4e3048(0x1c8))/0x2)+parseInt(_0x4e3048(0x221))/0x3*(-parseInt(_0x4e3048(0x290))/0x4)+parseInt(_0x4e3048(0x298))/0x5*(-parseInt(_0x4e3048(0x259))/0x6)+parseInt(_0x4e3048(0x2b7))/0x7*(parseInt(_0x4e3048(0x1b4))/0x8)+-parseInt(_0x4e3048(0x252))/0x9+parseInt(_0x4e3048(0x296))/0xa*(parseInt(_0x4e3048(0x1ac))/0xb)+parseInt(_0x4e3048(0x286))/0xc;if(_0x54ca38===_0x29a04e)break;else _0x27ccef['push'](_0x27ccef['shift']());}catch(_0x49c8df){_0x27ccef['push'](_0x27ccef['shift']());}}}(a0_0x4031,0x7978a));const {Queue,Worker}=require(a0_0x26ced1(0x231)),Redis=require(a0_0x26ced1(0x28d)),crypto=require(a0_0x26ced1(0x217)),{v7:uuidv7}=require('uuid'),fs=require('fs'),path=require(a0_0x26ced1(0x1b9)),{logger}=require(a0_0x26ced1(0x28e)),jobValidator=require(a0_0x26ced1(0x1d8));function a0_0x151e(_0x419a93,_0x1d446a){_0x419a93=_0x419a93-0x18a;const _0x403179=a0_0x4031();let _0x151e78=_0x403179[_0x419a93];if(a0_0x151e['aYvGLi']===undefined){var _0x51c1ff=function(_0x45185a){const _0x26f426='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4f0bbe='',_0x27ea32='';for(let _0x7547fa=0x0,_0x488812,_0x356288,_0x8ab9d7=0x0;_0x356288=_0x45185a['charAt'](_0x8ab9d7++);~_0x356288&&(_0x488812=_0x7547fa%0x4?_0x488812*0x40+_0x356288:_0x356288,_0x7547fa++%0x4)?_0x4f0bbe+=String['fromCharCode'](0xff&_0x488812>>(-0x2*_0x7547fa&0x6)):0x0){_0x356288=_0x26f426['indexOf'](_0x356288);}for(let _0x207e7b=0x0,_0x16a716=_0x4f0bbe['length'];_0x207e7b<_0x16a716;_0x207e7b++){_0x27ea32+='%'+('00'+_0x4f0bbe['charCodeAt'](_0x207e7b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x27ea32);};a0_0x151e['oMuXyO']=_0x51c1ff,a0_0x151e['YcvKAH']={},a0_0x151e['aYvGLi']=!![];}const _0x5b385c=_0x403179[0x0],_0x53d0bc=_0x419a93+_0x5b385c,_0x11edbd=a0_0x151e['YcvKAH'][_0x53d0bc];return!_0x11edbd?(_0x151e78=a0_0x151e['oMuXyO'](_0x151e78),a0_0x151e['YcvKAH'][_0x53d0bc]=_0x151e78):_0x151e78=_0x11edbd,_0x151e78;}let componentEngine=null;function a0_0x4031(){const _0x285e52=['mJmZmJC3m1fLq0Pbua','zMLUAxnOzwrpBG','zgvIDwC','thviEwq','CxvLDwvZ','DhLWzq','Bwv0ywrHDge','mZe0neLhyxb2qq','EwrwEhq','Aw5MBW','DxbZzxj0sM9IuMvNAxn0CNK','AM9Ix2rIx3r5CgvFDw5ZDxbWB3j0zwq','tejOuhC','AM9Ix2THzMTHx3b1yMXPC2HFzxjYB3i','lI4VlI4VDxrPBhmVy29TCg9Uzw50lwvUz2LUzq','wKreC0S','zKLtu2e','Bwf4qxr0zw1WDhm','z2v0q2XPzw50','AM9Ix3bYB2DYzxnZ','DMfSDwvZ','B25kB2jdB21WBgv0zwq','zxHLy3v0zuv2zw50sgfUzgXLCNm','AKDtEuW','ihrPzgfRigrPDgvTDwTHBG','BwfW','y3jLyxrLza','ug9ZDgDYzvnrtcbeqIbTB2r1BguGBM90igf2ywLSywjSzq','sM9IigrPC3bHDgnOzwq6ia','uevzveq','rMfPBgvKihrVigLUC2vYDcbQB2iGAgLZDg9YEtOG','DwPPq0q','C3LZDgvT','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNzMfPBgvKjYWGy29TCgXLDgvKx2f0id0Gu1LtveLnrvnuqu1qlaOGicaGicaGicaGigr1CMf0Aw9Ux21Zid0GoJeSihbYB2DYzxnZid0GoJiSigvYCM9Yx21LC3nHz2uGpsa6mYWGzxjYB3jFC3rHy2SGpsa6ncbxsevsrsbPzca9idO1','Aw5JBhvKzxm','AM9Ix2nVBxbSzxrLza','AM9Ix2rIx3vUyxzHAwXHyMXL','vhjhrKe','ChjVy2vZC2vKt24','z2v0sM9Iu3rHDhvZ','C25JvK8','EuDqzwC','BwLU','AM9PBG','AM9Ix3rHyMXLC19LBNn1CMvK','wu1gz0i','CfLir0y','tuvsr0uGsu5utYbQB2jFCMvNAxn0CNKGCGOGicaGicaGicaGifvtsu5hicHtruXfq1qGoJeGqvmGAM4GrLjptsbevufmksbZie9oicHYlMPVyL9Uyw1Lid0GCY5QBIKkicaGicaGicaGicbxsevoie1bveniruqGveHftIbvuerbveuGu0vucIaGicaGicaGicaGicbKAxnWBgf5x25HBwuGpsa6mIWGDhLWzsa9idOZlcbZy2HLzhvSzsa9idO0lcbXDwv1zsa9idO1laOGicaGicaGicaGicaGAgfUzgXLCIa9idO2lcbJB25MAwDFzMLSzsa9idO3lcb0Aw1LB3v0id0GoJGSihjLDhj5x21HEca9idO5laOGicaGicaGicaGicaGCMv0CNLFyMfJA29MzIa9idOXmcWGC3rHDhvZid0GoJeXlcbUzxH0x3j1BL9HDca9idOXmIWGDxbKyxrLzf9HDca9ifnzu1rjtuvtvefnuaOGicaGicaGicaGifDiru4GtK9uie1bveniruqGveHftIbjtLnfuLqkicaGicaGicaGicaGicHQB2jFBMfTzsWGzgLZCgXHEv9Uyw1Llcb0ExbLlcbZy2HLzhvSzsWGCxvLDwuSigHHBMrSzxiSignVBMzPz19MAwXLlaOGicaGicaGicaGicaGihrPBwvVDxqSihjLDhj5x21HEcWGCMv0CNLFyMfJA29MzIWGC3rHDhvZlcbUzxH0x3j1BL9HDcWGy3jLyxrLzf9HDcWGDxbKyxrLzf9HDcKkicaGicaGicaGicbwquXvrvmGkdOXlca6mIWGoJmSidO0lca6nsWGoJySidO3lca6ocWGoJKSidOXmcWGoJeXlca6mtiSifnzu1rjtuvtvefnucWGu1LtveLnrvnuqu1qkq','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticG/lca/lca/lca/lca/lcaNCNvUBMLUzYCSid8Sid8Sid8Sie5pvYGPlca/lcbot1COksK','nxW3Fdf8nNW0Fdn8mNWW','Dw5RBM93BG','DxbKyxrLsM9IsgLZDg9YEunVBxbSzxrLza','mZCYmJGYmgLhuNnJva','zuHdu3i','sK9cx0zbsuXfra','s1vuzvK','zw5HyMXLza','y3jLyxrLqNvSBe1rq29UBMvJDgLVBG','AM9IlxnJAgvKDwXLCG','Aw9YzwrPCW','lI4VlI4VDxrPBhmVBg9Nz2vY','qLPXCvG','nJmWmZjWz2DRAMq','x3nVDxjJzuzPBgu','DgLTzw91Da','B3jHy2XL','Aw5Zzxj0uhjVBwLZzq','BwvZC2fNzq','mZqWmg5uCLnLvW','s0DiCNa','nJeZme9dD3nHuW','iokaLca','rhrLDxa','C3vJy2vZCW','vuv3yvO','C3DbwvC','t2nMvue','B25bzNrLCKPVyKnVBxbSzxrL','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','uMvKAxmGy29UBMvJDgLVBIbMywLSzwq6ia','z0XPqKO','y3jVBG','DgXzBgW','sM9IigHHBMrSzxiGy29TCgXLDgvKoIa','s1bwvgu','AM9Ix3n0ywXSzwq','qNvSBe1rifjLzgLZignVBM5Ly3rPB24GzxjYB3i6ia','ChjVy2vZC0PVyG','AM9Ix2rPC3bHDgnOzwrFzgvSyxLLza','A2rPrNm','sM9IigzHAwXLzdOG','zgLZCgf0y2HezwXHEwvK','Cgf1C2vK','Cgf1C2u','ALvcvwG','zNvUy3rPB24','CMvZDgzVCMDLlMPVyNmUy29TCgXLDgvK','AM9Ix21HBMfNzxjFywXYzwfKEv9PBML0AwfSAxPLza','DxbKyxrLuMvNAxn0CNLtDgf0Dxm','B25bzNrLCKPVyKzHAwXLza','Aw5Zzxj0sM9IsgLZDg9YEq','mJa3nZy5mwvvr2HKDa','sM9IignHBMnLBgXLzcb2AweGqvbj','ywXYzwfKEsbLEgLZDhm','lI4VlI4VDxrPBhmVy2fJAguTBwfUywDLCG','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNC3vJy2vZCYCSignVBxbSzxrLzf9HDca9ie5pvYGPlaOGicaGicaGicaGigr1CMf0Aw9Ux21Zid0GpYWGChjVz3jLC3mGpsaXmdaSihjLC3vSDf9ZDw1Tyxj5id0GpYbxsevsrsbPzca9id8','AM9Ix3jLzgLZx2nVBM5Ly3rLza','lIbkB2iGu2nOzwr1BgvYihrPzgfRigfRyw4GywT0AwyU','AM9Ix3n0yxj0zwq','rMfPBgvKihrVihjLz2LZDgvYigPVyJOG','Aw5PDgLHBerLBgf5','zw5KC1DPDgG','sM9Iie1HBMfNzxiGCMvHzhK6ia','rejFvfLqrq','t01OwLy','AM9Ix3jLz2LZDhj5x3vWC2vYDf9LCNjVCG','z2v0ug9VBa','DgLTzxn0yw1WCW','BMv4Da','icHHDhrLBxb0ia','CMvTB3zL','B25kB2jgywLSzwq','C3rYAw5N','zxjYB3i','CMv0CNK','AM9Ix2HPC3rVCNLFAw5Zzxj0x2vYCM9Y','sK9cx1jfreLtx1bsruzjwa','ruDHAeW','C2XPy2u','tvnkrKW','uKvesvnFue9sva','BLb4z2K','ywrK','C3jJ','BgLZDePVyNm','zgf0yq','yxbP','yNvPBgrdB250zxH0','zMfPBgvK','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsaKmsWGBgfZDf9YDw5FyxqGpsbot1COksWkicaGicaGicaGicb1CgrHDgvKx2f0id0GtK9xkcKGv0HfuKuGAM9Ix25HBwuGpsaKmG','mYbcDwXStveGv29YA2vYCYbJCMvHDgvKicHJB25JDxjYzw5JEtOG','D2fYBG','BgvUz3rO','AM9Ix2nVBMzPz19KAxjFBwLZC2LUzW','Bg93','s0jyChu','DeTsAeq','uKvesvnFrei','DMfSAwrHDgvdB25MAwC','wxDmEhy','sK9cx0zbsuXfrf9srvrftLrjt05Fse9vuLm','ywn0AxzL','y29UzMLNrMLSzq','D1bPAMK','zxHPC3rZu3LUyW','y29TCgXLDgvK','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','qNvSBe1rifDVCMTLCIbLCNjVCIaO','y3fMBNe','BunMtxG','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticG6msWGoJiSidOZlca6ncWGoJuSicDYDw5UAw5NjYWGoJySidO3lca6ocWGu1LtveLnrvnuqu1qlca6osWGu1LtveLnrvnuqu1qkq','sK9cx1nuquXmrurFsu5urvjwquW','D29YA2vYCW','BxLZCwWUC3fS','B3jHltaWotu1','sM9IihrPzgfRigrPDgvTDwTHBJOG','AM9Ix21HBMfNzxjFCMvHzhK','rwHHtfe','mZaZnZfZzK9Pv3K','BMfTzq','DxbZzxj0sM9Iu2nOzwr1BgvY','ANLovfG','sM9IihbYB2DYzxnZoIa','lMPZ','zgvSyxLLza','qNvSBe1rifjLzgLZignVBM5Ly3rPB24GDMvYAwzPzwq','mtztBvLQwxG','rMfPBgvKihrVihvWzgf0zsbQB2iGAgLZDg9YEsaOy29TCgXLDgvKktOG','yxr0zw1WDa','CuTXrfq','y2fUy2vSsM9I','Cgf0Aa','y2f0y2G','z2v0sw5ZDgfUy2u','zvznr1C','Dg90ywXFC3vJy2vZCW','DeXZtxm','AM9Ix3f1zxvLC19JCMvHDgvK','AKvHvNC','Aw5PDgLHBgL6zq','zgjFB3jHy2XLx3vUyxzHAwXHyMXL','z2v0sM9I','zw50CMLLCW','y29UBMvJDgLVBNm','EgnLuwK','sK9cx01bwf9tvefmtevex0npvu5u','mty0t1nvuKjN','CMvHzezPBgvtEw5J','C3vIC3rYAw5N','DNPby1a','AM9Ix3jLz2LZDhj5x29MzMXPBMvFzxjYB3i','y2HPBgq','z2v0rgjvDgLSCW','sM9Iie1HBMfNzxiGC3vKywGGzgLPBMLZAwfSAxnHC2KSihnRAxa','AM9Ix3jLzgLZx2zHAwXLza','AM9Iq29UzMLNCW','Cg9ZDgDYzxnXBa','ChvIBgLZAev2zw50','z2v0s2fMA2ftzxj2AwnL','qNbsvgC','zgLZCgf0y2G','B25SAw5L','lI9QB2iTDMfSAwrHDg9Y','rMfPBgvKihrVihb1yMXPC2GGsK9cx0zbsuXfrcb0BYblywzRyq','ywXS','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa6msWGBgfZDf9KDxjHDgLVBL9TCYa9idOYlaOGicaGicaGicaGia','uhD0z1u','yxDRq28','z2v0tMv4Dfj1BKzYB21cDwXStve','zw5ZDxjLvgfIBgvZ','CNvUBMLUzW','v2Lmvee','AM9Ix2nVBMzPz19WyxjZzv9LCNjVCG','DgLTzxn0yw1W','CMy6','BxLZCwW','sfjstLq','rgrVyuS','q2f5uKy','C2PyC2y','suHzDNq','B1j1Awe','B25kB2jqCM9NCMvZCW','Aw5PDgLHBgL6zwq','qMfJA2DYB3vUzcbPBNnLCNqGAM9IigHPC3rVCNKGzMfPBgvKoIa','sM9Iia','sM9IigvUC3vYzvrHyMXLCYb3yxjUAw5NoIa','CgfYC2u','DhDqqK8','mJmZm2zeuhf5ua','sK9cx1nivvret1Dox1rjtuvpvvq','CLrnt3m','Bg9JywXOB3n0','mYbcDwXStveGuxvLDwvZignYzwf0zwqGkgHPz2GSigrLzMf1BhqSigXVDYK','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNzMfPBgvKjYWGy29TCgXLDgvKx2f0id0GtK9xkcKScIaGicaGicaGicaGzhvYyxrPB25FBxmGpsaKmsWGChjVz3jLC3mGpsaKmIWGzxjYB3jFBwvZC2fNzsa9icqZlcbLCNjVCL9ZDgfJAYa9icq0ifDirvjfigLKid0Gjdu','DxbKyxrLsM9IsgLZDg9YEuzHAwXLza','D2fPDgLUzW','ifjLzgLZignVBM5Ly3rPB25Z','ChvZAa','z1DRtvy','DwTfBK8','zgjFBxLZCwXFDw5HDMfPBgfIBgu','z2v0uMvKAxndBgLLBNq','Cg9ZDgDYzxnXBc5ZCwW','ChjVz3jLC3m','z2v0sM9Iu2nOzwr1BgvYCW','jYb0AwrHAYbKAwr1A3vUzYb1BNr1AYbQB2iGBw9UAxrVCMLUzYb0ywjSzxm','thP2u3G','sM9IignVBMzPzYbPBNzHBgLKoIa','y2XVC2u','DhjPz2DLCMvKqNK','DxrMoa','z2v0rgjuExbL','AM9ItMfTzq','AgfUzgXLCG','BgLZDfj1BM5PBMC','CgLUzW','zgvZy3jPChrPB24','z2v0sM9ICW','zhvWBgLJyxrL','z2v0u3rHDgu','rMfPBgvKihrVihvWzgf0zsbQB2iGCMvNAxn0CNKGy291BNrLCNm6ia','txLtuuWGreiGBw9KDwXLig5VDcbHDMfPBgfIBgu','CMvNAxn0zxjkB2i','CxvPDa','y3j5ChrV','Bw92zvrVrMfPBgvK','C2v0','zxHWB3j0CW','zevkwfC','wefVB3q','sK9cx0nptvbmrvrfra','lIbeqIbTB25PDg9YAw5NigrPC2fIBgvKlG','ywn0AxzLsgLZDg9YEuLKCW','t3rfr0i','ndH6zMnSq1y','icSGmsWkicaGicaGicaGicbUzxH0x3j1BL9HDca9id8Gv0HfuKuGAM9Ix25HBwuGpsa/','DhjPBq','ywz0zxjFAM9Ix2zHAwXLzf9OB29Rx2vYCM9Y','id0G','lI4VlI4VC2vYDMLJzxmVA2fMA2ftzxj2AwnL','sK9cx0vwru5u','BwrJwvO','D29YA2LUz0rPCG','rMfPBgvKihrVihvWC2vYDcbQB2iGCMvNAxn0CNK6ia','ufjLywG','D0rgteG','CxvLDwu','y3jVBL9YzwDPC3rLCMvK','zMLSDgvY','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGC3rHDhvZid0Gj29MzMXPBMuNlcbUzxH0x3j1BL9HDca9ie5vteWSihvWzgf0zwrFyxqGpsbtwvnusu1fu1rbtva','yNvSBg1X','DMfSAwq','CMPyy0q','tMvSDwy','C3bSAxq','svfor3q','BwfUDwfS','yxr0zw1WDhnnywrL','AgLZDg9YEuLK','EgvHzKi','q01Ysem','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsaKmsWGBgfZDf9KDxjHDgLVBL9TCYa9icqYlaOGicaGicaGicaGia','DxbKyxrLuMvNAxn0CNLdB3vUDgvYCW','zxHLy3v0zvf1zxj5','rMfPBgvKihrVigvUC3vYzsbQB2iGDgfIBgvZoIa','C2fKEwm','AMvgALy','sM9Iihn0ywXSzwq6ia','D0jJs3C','zMfPBgvKuMvHC29U','lI4VlI4VDxrPBhmVzgiTB3jHy2XL','BxmPoIa','zxHLy3v0zvrYyw5Zywn0Aw9U','zgvMyxvSDa','rejFvfLqrsaN','zw52','q0TKCuG','sM9Iie1HBMfNzxiGC2H1DgrVD24Gy29TCgXLDgu','ENHXDKG','u1fmihnJCMLWDcb0AwrHAYbKAxrLBxvRyw46ia','D0PrCuO','q29oquy','A1DUvuW'];a0_0x4031=function(){return _0x285e52;};return a0_0x4031();}function getComponentEngine(){const _0x465e92=a0_0x26ced1,_0x183841={'kdiFs':function(_0x13df9a,_0x4d75c3){return _0x13df9a(_0x4d75c3);},'fNIZr':_0x465e92(0x260)};if(!componentEngine)try{const _0x9b5eb9=_0x183841[_0x465e92(0x2ab)](require,_0x183841['fNIZr']);componentEngine=_0x9b5eb9['componentEngine']||_0x9b5eb9;}catch(_0x22fa51){}return componentEngine;}class JobManager{constructor(){const _0x42dc15=a0_0x26ced1,_0x26c3fe={'jyNTX':_0x42dc15(0x283)},_0x18658e=_0x26c3fe[_0x42dc15(0x1af)][_0x42dc15(0x235)]('|');let _0x1bf62d=0x0;while(!![]){switch(_0x18658e[_0x1bf62d++]){case'0':this['activeHistoryIds']=new Map();continue;case'1':this['jobConfigs']={};continue;case'2':this['workingDir']=process['cwd']();continue;case'3':this['initialized']=![];continue;case'4':this['connections']=[];continue;case'5':this[_0x42dc15(0x256)]={};continue;case'6':this['handlers']={};continue;case'7':this['workers']={};continue;}break;}}['createBullMQConnection'](){const _0x3ecb50=a0_0x26ced1,_0x2ee4de={'tlYll':function(_0xedeb50,_0x34d91d){return _0xedeb50*_0x34d91d;},'twPBO':function(_0xa00030,_0x2601ea,_0x1f6ce1){return _0xa00030(_0x2601ea,_0x1f6ce1);},'lJzNB':_0x3ecb50(0x2cd)},_0x141c43=new Redis({'host':process['env']['REDIS_HOST']||_0x3ecb50(0x1f6),'port':_0x2ee4de[_0x3ecb50(0x1f2)](parseInt,process[_0x3ecb50(0x24a)][_0x3ecb50(0x2d4)],0xa)||0x18ec,'password':process[_0x3ecb50(0x24a)]['REDIS_PASSWORD']||undefined,'db':_0x2ee4de[_0x3ecb50(0x1f2)](parseInt,process['env'][_0x3ecb50(0x197)],0xa)||0x0,'maxRetriesPerRequest':null,'retryStrategy'(_0x16d9f2){const _0x5e8542=_0x3ecb50,_0x178d0e=Math['min'](_0x2ee4de[_0x5e8542(0x2a4)](_0x16d9f2,0x32),0x7d0);return _0x178d0e;}});return _0x141c43['on'](_0x2ee4de['lJzNB'],_0x5b593c=>{const _0x3acd14=_0x3ecb50;logger['error']({'event':'bullmq_redis_error','error':_0x5b593c['message']},_0x3acd14(0x2a8)+_0x5b593c['message']);}),this['connections'][_0x3ecb50(0x1fc)](_0x141c43),_0x141c43;}async[a0_0x26ced1(0x1c1)](){const _0x10ab4b=a0_0x26ced1,_0x4c0bf4={'EhaLQ':_0x10ab4b(0x2a7),'rZgBl':_0x10ab4b(0x2b3),'ZDDsK':'job_manager_init_start','MSJFL':_0x10ab4b(0x1d0),'yGPeg':function(_0x4ac077,_0x1cdf00){return _0x4ac077===_0x1cdf00;},'eTqeZ':_0x10ab4b(0x284),'QWcHV':function(_0x53c080,_0x4e92f8){return _0x53c080*_0x4e92f8;},'paMoD':'high','yrvBM':_0x10ab4b(0x1f7),'TrGFA':function(_0x57f4b3,_0x1d8ca5,_0x28cb59){return _0x57f4b3(_0x1d8ca5,_0x28cb59);},'PReah':'failed','YMFgB':_0x10ab4b(0x202),'CJckg':_0x10ab4b(0x2cd),'LzvSx':'job_workers_created','fISSa':'job_register_failed'};if(this[_0x10ab4b(0x1ed)]){logger['warn']({'event':_0x4c0bf4['rZgBl']},_0x10ab4b(0x1cf));return;}logger['info']({'event':_0x4c0bf4[_0x10ab4b(0x261)]},'Initializing\x20Job\x20Manager...');const _0x50438b=this['createBullMQConnection']();try{await _0x50438b[_0x10ab4b(0x20e)](),logger[_0x10ab4b(0x25b)]({'event':_0x10ab4b(0x2bc)},_0x10ab4b(0x1b3));}catch(_0xa4956){logger['error']({'event':_0x4c0bf4[_0x10ab4b(0x2d3)],'error':_0xa4956['message']},_0x10ab4b(0x2a1)+_0xa4956[_0x10ab4b(0x295)]+_0x10ab4b(0x2bd));try{await _0x50438b['quit']();}catch(_0x36d643){}this[_0x10ab4b(0x1c5)]=this['connections']['filter'](_0x4c7b8b=>_0x4c7b8b!==_0x50438b);return;}try{await _0x50438b[_0x10ab4b(0x216)]();}catch(_0x302d5a){}this[_0x10ab4b(0x1c5)]=this[_0x10ab4b(0x1c5)]['filter'](_0x368cb4=>_0x368cb4!==_0x50438b);try{await this[_0x10ab4b(0x1df)]();}catch(_0x5d2e52){logger[_0x10ab4b(0x191)]({'event':'job_ensure_tables_error','error':_0x5d2e52['message']},_0x10ab4b(0x23f)+_0x5d2e52[_0x10ab4b(0x295)]+_0x10ab4b(0x21e));}const _0x4f58d8=this['loadJobConfigs']();_0x4c0bf4[_0x10ab4b(0x27b)](_0x4f58d8['length'],0x0)&&logger['info']({'event':'job_no_configs'},'Tidak\x20ada\x20job\x20config\x20ditemukan\x20di\x20payload/jobs/.\x20Job\x20Manager\x20aktif\x20tanpa\x20cron.');const _0x41ae38=[];for(const _0x583cef of _0x4f58d8){const _0x4a26eb=jobValidator[_0x10ab4b(0x198)](_0x583cef,this['workingDir']);_0x4a26eb[_0x10ab4b(0x232)]?_0x41ae38['push'](_0x583cef):logger[_0x10ab4b(0x2cd)]({'event':'job_config_invalid','name':_0x583cef['name']||_0x10ab4b(0x284),'errors':_0x4a26eb['errors']},_0x10ab4b(0x206)+(_0x583cef[_0x10ab4b(0x1ad)]||_0x4c0bf4['eTqeZ'])+_0x10ab4b(0x299)+_0x4a26eb['errors']['join'](';\x20'));}const _0x58309f=process['env'][_0x10ab4b(0x1a0)]||_0x10ab4b(0x248),_0x3341f0=process['env'][_0x10ab4b(0x2d0)]||_0x10ab4b(0x1e4)+_0x58309f+':job',_0x31774f=parseInt(process[_0x10ab4b(0x24a)]['JOB_RETENTION_HOURS'],0xa)||0x48,_0x43dfbf=parseInt(process['env'][_0x10ab4b(0x19a)],0xa)||0xa8,_0x38fad5={'removeOnComplete':{'age':_0x4c0bf4['QWcHV'](_0x31774f,0xe10)},'removeOnFail':{'age':_0x43dfbf*0xe10}},_0x2eefb1={'high-priority':_0x4c0bf4['paMoD'],'default':_0x10ab4b(0x248),'low-priority':_0x10ab4b(0x194)};for(const [_0x3a3b34,_0x4fd94a]of Object['entries'](_0x2eefb1)){this[_0x10ab4b(0x256)][_0x3a3b34]=new Queue(_0x4fd94a,{'connection':this[_0x10ab4b(0x28b)](),'prefix':_0x3341f0,'defaultJobOptions':_0x38fad5});}logger[_0x10ab4b(0x25b)]({'event':_0x10ab4b(0x1bf),'count':0x3},_0x4c0bf4['yrvBM']);const _0x4ffc1f=_0x4c0bf4[_0x10ab4b(0x277)](parseInt,process[_0x10ab4b(0x24a)]['JOB_CONCURRENCY'],0xa)||0x5,_0x301d9f=parseInt(process[_0x10ab4b(0x24a)][_0x10ab4b(0x1a5)],0xa)||0x7530,_0x327816=parseInt(process[_0x10ab4b(0x24a)][_0x10ab4b(0x1c7)],0xa)||0x2;for(const [_0x42075a,_0x4822ce]of Object[_0x10ab4b(0x1c4)](_0x2eefb1)){const _0xeb51a3=new Worker(_0x4822ce,async _0x36ca8e=>this[_0x10ab4b(0x2a9)](_0x36ca8e),{'connection':this[_0x10ab4b(0x28b)](),'prefix':_0x3341f0,'concurrency':_0x4ffc1f,'stalledInterval':_0x301d9f,'maxStalledCount':_0x327816});_0xeb51a3['on'](_0x10ab4b(0x19f),(_0x42047c,_0x1f310c)=>this['onJobCompleted'](_0x42047c,_0x1f310c)),_0xeb51a3['on'](_0x4c0bf4[_0x10ab4b(0x22b)],(_0x1c98d4,_0x436a6f)=>this['onJobFailed'](_0x1c98d4,_0x436a6f)),_0xeb51a3['on'](_0x4c0bf4[_0x10ab4b(0x27f)],(_0x219aa4,_0x44ada6)=>this['onJobProgress'](_0x219aa4,_0x44ada6)),_0xeb51a3['on']('stalled',_0x363ceb=>{const _0x625de2=_0x10ab4b;logger['warn']({'event':_0x4c0bf4[_0x625de2(0x1ab)],'jobId':_0x363ceb},_0x625de2(0x242)+_0x363ceb);}),_0xeb51a3['on'](_0x4c0bf4['CJckg'],_0x4ea427=>{const _0x20afa8=_0x10ab4b;logger['error']({'event':'bullmq_worker_error','queue':_0x42075a,'error':_0x4ea427['message']},_0x20afa8(0x1a1)+_0x42075a+'):\x20'+_0x4ea427['message']);}),this[_0x10ab4b(0x1a6)][_0x42075a]=_0xeb51a3;}logger['info']({'event':_0x4c0bf4[_0x10ab4b(0x205)],'count':0x3,'concurrency':_0x4ffc1f},_0x10ab4b(0x190)+_0x4ffc1f+')');let _0x35759e=0x0;for(const _0x13c62a of _0x41ae38){try{await this[_0x10ab4b(0x215)](_0x13c62a),_0x35759e++;}catch(_0x4f15d0){logger[_0x10ab4b(0x2cd)]({'event':_0x4c0bf4[_0x10ab4b(0x262)],'name':_0x13c62a['name'],'error':_0x4f15d0[_0x10ab4b(0x295)]},_0x10ab4b(0x2bf)+_0x13c62a[_0x10ab4b(0x1ad)]+_0x10ab4b(0x299)+_0x4f15d0['message']);}}this[_0x10ab4b(0x1ed)]=!![];const _0x143280=this[_0x10ab4b(0x1c5)][_0x10ab4b(0x192)];logger['info']({'event':_0x10ab4b(0x1aa),'registeredJobs':_0x35759e,'totalConfigs':_0x41ae38[_0x10ab4b(0x192)],'redisConnections':_0x143280},_0x10ab4b(0x2c2)+_0x35759e+'\x20job(s)\x20registered,\x20'+_0x143280+_0x10ab4b(0x1fb));}async['shutdown'](){const _0x5e4552=a0_0x26ced1,_0x2a8700={'swAYW':'job_manager_shutdown_start','gwNTo':function(_0x57f584,_0x5eddf2){return _0x57f584-_0x5eddf2;},'Dteup':function(_0x26083a,_0x1004e1){return _0x26083a===_0x1004e1;},'SXoen':'job_manager_shutdown_complete','RrSSn':_0x5e4552(0x24c)};if(!this[_0x5e4552(0x1ed)])return;const _0x19330d=parseInt(process['env'][_0x5e4552(0x1f4)],0xa)||0x2710;logger[_0x5e4552(0x25b)]({'event':_0x2a8700[_0x5e4552(0x29d)],'timeoutMs':_0x19330d},'Job\x20Manager\x20shutting\x20down\x20(timeout:\x20'+_0x19330d+'ms)...');const _0x2e83ed=Object[_0x5e4552(0x266)](this['workers'])['map'](async _0x2f1cbc=>{const _0x51b334=_0x5e4552;try{await _0x2f1cbc[_0x51b334(0x2af)]();}catch(_0x58c65f){}});await Promise['all'](_0x2e83ed);const _0x257df6=Date['now']();while(_0x2a8700['gwNTo'](Date['now'](),_0x257df6)<_0x19330d){let _0x1c4508=0x0;for(const _0x499d73 of Object['values'](this['queues'])){try{const _0x44e6cf=await _0x499d73['getJobCounts']('active');_0x1c4508+=_0x44e6cf['active']||0x0;}catch(_0x570aaa){}}if(_0x2a8700[_0x5e4552(0x29a)](_0x1c4508,0x0))break;await new Promise(_0x495418=>setTimeout(_0x495418,0x1f4));}const _0x53a474=Object[_0x5e4552(0x266)](this['workers'])[_0x5e4552(0x26b)](async _0x3d1284=>{const _0x1187d8=_0x5e4552;try{await _0x3d1284[_0x1187d8(0x207)]();}catch(_0x15951c){}});await Promise[_0x5e4552(0x1da)](_0x53a474);const _0x314bd1=Object['values'](this['queues'])['map'](async _0x44f0eb=>{try{await _0x44f0eb['close']();}catch(_0x400b28){}});await Promise['all'](_0x314bd1);for(const _0x120f3c of this['connections']){try{await _0x120f3c[_0x5e4552(0x216)]();}catch(_0x44be34){}}this[_0x5e4552(0x256)]={},this['workers']={},this[_0x5e4552(0x1c5)]=[],await this['setAllJobsOffline'](),this['activeHistoryIds']['clear'](),this['initialized']=![],logger[_0x5e4552(0x25b)]({'event':_0x2a8700['SXoen']},_0x2a8700['RrSSn']);}['loadJobConfigs'](){const _0x4970b4=a0_0x26ced1,_0x533a02={'BpRTg':'payload','vzAcP':'jobs','gWkMV':_0x4970b4(0x193),'KBXpu':'Folder\x20payload/jobs/\x20tidak\x20ditemukan','EDKoY':'utf8','wmFsQ':_0x4970b4(0x1e2),'BZqqX':'job_configs_loaded'},_0x5e0e9e=path[_0x4970b4(0x27d)](this[_0x4970b4(0x229)],_0x533a02[_0x4970b4(0x1d5)],_0x533a02[_0x4970b4(0x1cb)]);if(!fs[_0x4970b4(0x19e)](_0x5e0e9e))return logger[_0x4970b4(0x25b)]({'event':_0x533a02[_0x4970b4(0x1fd)],'path':_0x5e0e9e},_0x533a02[_0x4970b4(0x195)]),[];const _0x17d9e7=fs['readdirSync'](_0x5e0e9e)['filter'](_0x1708bf=>_0x1708bf[_0x4970b4(0x2c1)]('.json')),_0x4653fa=[];for(const _0x1da022 of _0x17d9e7){const _0x4950bb=path['join'](_0x5e0e9e,_0x1da022);try{const _0x43398b=fs['readFileSync'](_0x4950bb,_0x533a02['EDKoY']),_0x2b7d0f=JSON[_0x4970b4(0x1f1)](_0x43398b);_0x2b7d0f[_0x4970b4(0x291)]=_0x1da022,_0x4653fa[_0x4970b4(0x1fc)](_0x2b7d0f);}catch(_0x2ba002){logger[_0x4970b4(0x2cd)]({'event':_0x533a02['wmFsQ'],'file':_0x1da022,'error':_0x2ba002['message']},'Failed\x20to\x20parse\x20job\x20config:\x20'+_0x1da022+_0x4970b4(0x299)+_0x2ba002[_0x4970b4(0x295)]);}}return logger[_0x4970b4(0x25b)]({'event':_0x533a02[_0x4970b4(0x28f)],'count':_0x4653fa[_0x4970b4(0x192)]},'Loaded\x20'+_0x4653fa[_0x4970b4(0x192)]+'\x20job\x20config(s)\x20from\x20payload/jobs/'),_0x4653fa;}async['registerJob'](_0x42ebdc){const _0x285358=a0_0x26ced1,_0x404ffe={'gjrJT':_0x285358(0x2d7),'CKdqH':function(_0xf3d7c7,_0xcf21b2){return _0xf3d7c7(_0xcf21b2);},'FRAVY':function(_0x5a2203,_0x2a67fd){return _0x5a2203===_0x2a67fd;},'fAiAN':'cron','nPxgi':_0x285358(0x248),'QqRfM':'exponential','CayRF':_0x285358(0x22e),'jGSyL':function(_0x4810a5,_0x338254){return _0x4810a5===_0x338254;},'XNAjR':function(_0x1b0a10,_0x42c23f){return _0x1b0a10!==_0x42c23f;},'vvItU':'online','Ofiih':'offline','AJgDP':function(_0x38b2a5,_0x3c32e7){return _0x38b2a5===_0x3c32e7;}},_0x36f219=path['join'](this[_0x285358(0x229)],_0x404ffe['gjrJT'],'jobs',_0x42ebdc[_0x285358(0x20c)]+_0x285358(0x1b1));this['handlers'][_0x42ebdc['name']]=_0x404ffe[_0x285358(0x24b)](require,_0x36f219),this[_0x285358(0x1d1)][_0x42ebdc['name']]=_0x42ebdc;if(_0x404ffe['FRAVY'](_0x42ebdc[_0x285358(0x257)],_0x404ffe['fAiAN'])&&_0x42ebdc['enabled']!==![]){const _0x3a8b2a=this[_0x285358(0x256)][_0x42ebdc[_0x285358(0x22d)]||_0x404ffe[_0x285358(0x2d5)]];await _0x3a8b2a[_0x285358(0x1ae)](_0x42ebdc[_0x285358(0x1ad)],{'pattern':_0x42ebdc['schedule'],'tz':_0x42ebdc['timezone']||undefined},{'name':_0x42ebdc[_0x285358(0x1ad)],'data':{'handler':_0x42ebdc[_0x285358(0x20c)],'triggeredBy':_0x404ffe['fAiAN'],'metadata':_0x42ebdc[_0x285358(0x258)]||{}},'opts':{'attempts':_0x42ebdc['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0x42ebdc[_0x285358(0x2ce)]?.['backoff']||_0x404ffe['QqRfM'],'delay':_0x42ebdc['retry']?.['initialDelay']||0x1388},'timeout':_0x42ebdc[_0x285358(0x292)]||0x7530}}),logger['info']({'event':_0x404ffe[_0x285358(0x1e8)],'name':_0x42ebdc['name'],'schedule':_0x42ebdc['schedule'],'queue':_0x42ebdc['queue']||'default'},'Cron\x20registered:\x20'+_0x42ebdc[_0x285358(0x1ad)]+'\x20['+_0x42ebdc['schedule']+']');}const _0xf9da06=_0x404ffe[_0x285358(0x269)](_0x42ebdc['type'],'cron')&&_0x404ffe['XNAjR'](_0x42ebdc['enabled'],![])?_0x404ffe['vvItU']:_0x404ffe['Ofiih'];let _0x3b4e26=null;_0x404ffe['AJgDP'](_0xf9da06,'online')&&(_0x3b4e26=await this[_0x285358(0x1de)](_0x42ebdc[_0x285358(0x1ad)])),await this['upsertJobRegistry'](_0x42ebdc,_0xf9da06,_0x3b4e26);}async[a0_0x26ced1(0x2a9)](_0x208e69){const _0x567421=a0_0x26ced1,_0x2a35c3={'Neluf':'job_history_insert_bg_error','YwLxv':_0x567421(0x2be),'OtEGB':function(_0x1536f6,_0x1b970d){return _0x1536f6+_0x1b970d;},'qKqDT':_0x567421(0x284),'gLiBJ':'api-delayed','khLjQ':_0x567421(0x1b2),'mhmov':function(_0x3b94b2,_0x18bc24){return _0x3b94b2===_0x18bc24;},'JIADs':_0x567421(0x18c),'HMYpt':_0x567421(0x2a3),'CoNAF':function(_0x44460a){return _0x44460a();},'dRVve':_0x567421(0x2b1),'vFQXp':function(_0x250410,_0x5e741d){return _0x250410(_0x5e741d);}},_0x39ff84=this['jobConfigs'][_0x208e69[_0x567421(0x1ad)]],_0x23e59d=this['handlers'][_0x208e69[_0x567421(0x1ad)]];if(!_0x23e59d)throw new Error('Handler\x20tidak\x20ditemukan\x20untuk\x20job:\x20'+_0x208e69[_0x567421(0x1ad)]);const _0x5dfeb5=logger[_0x567421(0x1cd)]({'jobId':_0x208e69['id'],'jobName':_0x208e69[_0x567421(0x1ad)]});_0x5dfeb5['info']({'event':_0x2a35c3[_0x567421(0x199)],'attempt':_0x208e69['attemptsMade']+0x1,'triggeredBy':_0x208e69[_0x567421(0x18b)]?.['triggeredBy']||'unknown'},'Job\x20started:\x20'+_0x208e69['name']+_0x567421(0x2c9)+_0x2a35c3['OtEGB'](_0x208e69['attemptsMade'],0x1)+')');const _0x4a6a74=uuidv7(),_0x17f0f1=_0x208e69[_0x567421(0x18b)]?.[_0x567421(0x208)]||_0x2a35c3[_0x567421(0x1b7)],_0x46820e=this[_0x567421(0x2b6)]({'id':_0x4a6a74,'jobName':_0x208e69['name'],'bullmqJobId':_0x208e69['id'],'triggerType':_0x17f0f1===_0x2a35c3[_0x567421(0x2a2)]?_0x2a35c3['khLjQ']:_0x2a35c3['mhmov'](_0x17f0f1,_0x2a35c3['JIADs'])?_0x567421(0x237):'cron','triggeredBy':_0x17f0f1===_0x2a35c3['HMYpt']?_0x567421(0x272):_0x17f0f1,'queue':_0x39ff84?.['queue']||_0x567421(0x248),'attempt':_0x2a35c3[_0x567421(0x220)](_0x208e69['attemptsMade'],0x1),'configFile':_0x39ff84?.['_sourceFile']||null})[_0x567421(0x1ba)](_0x222e40=>{const _0xda8a3a=_0x567421;_0x5dfeb5[_0xda8a3a(0x191)]({'event':_0x2a35c3[_0xda8a3a(0x234)],'error':_0x222e40[_0xda8a3a(0x295)]},_0xda8a3a(0x1ee)+_0x222e40['message']);});this[_0x567421(0x21f)][_0x567421(0x219)](_0x208e69['id'],{'historyId':_0x4a6a74,'insertPromise':_0x46820e});const _0x357cbe=this['buildContext'](_0x208e69,_0x39ff84,_0x5dfeb5),_0x5e759c=_0x2a35c3[_0x567421(0x250)](getComponentEngine);if(_0x5e759c&&typeof _0x5e759c['executeEventHandlers']===_0x2a35c3['dRVve']){const _0x4f7fb0=await _0x5e759c[_0x567421(0x268)]('onBeforeJobExecute',_0x357cbe,!![]);if(!_0x4f7fb0[_0x567421(0x29b)])throw new Error('Job\x20cancelled\x20by\x20onBeforeJobExecute:\x20'+_0x4f7fb0['error']);}const _0xf87b57=await _0x2a35c3['vFQXp'](_0x23e59d,_0x357cbe);return _0x5dfeb5['info']({'event':'job_handler_done','result':_0xf87b57},_0x567421(0x2a5)+_0x208e69['name']),_0xf87b57;}[a0_0x26ced1(0x18d)](_0x34b62b,_0x30c7ba,_0x2e506f){const _0x3053cd=a0_0x26ced1,_0x4cb9a3={'kWnUL':_0x3053cd(0x227),'rTMOs':_0x3053cd(0x28c),'mwgRx':function(_0x104d02,_0x4df24d){return _0x104d02+_0x4df24d;},'gfVMb':function(_0x26d747,_0x47a706){return _0x26d747||_0x47a706;}};return{'jobId':_0x34b62b['id'],'jobName':_0x34b62b[_0x3053cd(0x1ad)],'attempt':_0x4cb9a3['mwgRx'](_0x34b62b['attemptsMade'],0x1),'maxAttempts':_0x30c7ba?.[_0x3053cd(0x2ce)]?.['maxAttempts']||0x3,'payload':_0x34b62b['data']||{},'config':_0x4cb9a3['gfVMb'](_0x30c7ba,{}),'db':this[_0x3053cd(0x1ce)](),'redis':this[_0x3053cd(0x200)](),'logger':_0x2e506f,'kafka':this[_0x3053cd(0x1d4)](),'cache':this['getCacheManager'](),'updateProgress':async _0x7ac272=>{await _0x34b62b['updateProgress'](_0x7ac272);},'emit':async(_0x2f471c,_0x254fb8)=>{const _0x5b2feb=_0x3053cd,_0x2946e9=this['getKafkaService']();_0x2946e9&&await _0x2946e9[_0x5b2feb(0x1d3)](_0x2f471c,_0x4cb9a3[_0x5b2feb(0x251)],null,_0x254fb8,{'module':_0x4cb9a3[_0x5b2feb(0x1f5)],'endpoint':_0x34b62b['name']});},'job':_0x34b62b};}[a0_0x26ced1(0x20a)](){const _0x55b0c5=a0_0x26ced1,_0x5497a0={'pYHGF':_0x55b0c5(0x1d2)};return(process['env']['DB_TYPE']||_0x5497a0[_0x55b0c5(0x280)])['toLowerCase']();}async['ensureTables'](){const _0x50a572=a0_0x26ced1,_0x58d2d3={'sadyc':_0x50a572(0x276),'tsuIl':'Database\x20tidak\x20tersedia,\x20skip\x20auto-create\x20job\x20tables','mdcYZ':'oracle.sql','nFQti':_0x50a572(0x1a7),'TtYjz':_0x50a572(0x25d),'dsyfW':'job_sql_not_found','oRuia':_0x50a572(0x2b9),'jUBUh':_0x50a572(0x1a8),'GgrKK':'job_ensure_tables_warn'},_0x181097=this[_0x50a572(0x1ce)]();if(!_0x181097){logger['warn']({'event':_0x58d2d3[_0x50a572(0x240)]},_0x58d2d3['tsuIl']);return;}const _0x46385b=this[_0x50a572(0x20a)](),_0x132a52={'postgresql':_0x50a572(0x201),'oracle':_0x58d2d3[_0x50a572(0x228)],'mysql':_0x58d2d3['nFQti']},_0x13114d=_0x132a52[_0x46385b];if(!_0x13114d){logger[_0x50a572(0x191)]({'event':_0x58d2d3['TtYjz'],'dbType':_0x46385b},_0x50a572(0x249)+_0x46385b+_0x50a572(0x204));return;}const _0x5c3f23=path[_0x50a572(0x27d)](__dirname,'sql-scripts',_0x13114d);if(!fs['existsSync'](_0x5c3f23)){logger[_0x50a572(0x191)]({'event':_0x58d2d3['dsyfW'],'path':_0x5c3f23},_0x50a572(0x24e)+_0x5c3f23);return;}const _0x454efa=fs[_0x50a572(0x1c9)](_0x5c3f23,_0x50a572(0x209)),_0x45f8c2=this['splitSqlStatements'](_0x454efa,_0x46385b);let _0x55b427=0x0;for(const _0x480396 of _0x45f8c2){try{await _0x181097['executeQuery'](_0x480396),_0x55b427++;}catch(_0x172bdc){const _0x387b8a=(_0x172bdc[_0x50a572(0x295)]||'')['toLowerCase'](),_0x5ac210=_0x387b8a['includes'](_0x58d2d3[_0x50a572(0x1eb)])||_0x387b8a[_0x50a572(0x274)](_0x58d2d3[_0x50a572(0x2b0)])||_0x387b8a[_0x50a572(0x274)](_0x50a572(0x211));!_0x5ac210&&logger['warn']({'event':_0x58d2d3['GgrKK'],'error':_0x172bdc[_0x50a572(0x295)]},_0x50a572(0x1f0)+_0x172bdc[_0x50a572(0x295)]);}}logger['info']({'event':_0x50a572(0x27e),'dbType':_0x46385b,'executed':_0x55b427},'Job\x20monitoring\x20tables\x20ensured\x20('+_0x46385b+')');}['splitSqlStatements'](_0x73c106,_0x46cf6c){const _0x13de4f=a0_0x26ced1,_0x1a14de={'ukEnO':function(_0x16393e,_0x25d477){return _0x16393e===_0x25d477;}};let _0x155ce3;return _0x46cf6c===_0x13de4f(0x293)?_0x155ce3=_0x73c106[_0x13de4f(0x235)](/\n\/\s*(?:\n|$)/):_0x155ce3=_0x73c106[_0x13de4f(0x235)](/;\s*(?:\n|$)/),_0x155ce3['map'](_0x4b7ed4=>_0x4b7ed4['trim']())[_0x13de4f(0x22f)](_0x206163=>{const _0x25ea3c=_0x13de4f;if(_0x1a14de[_0x25ea3c(0x1fe)](_0x206163['length'],0x0))return![];const _0x4c6e0c=_0x206163['split']('\x0a')[_0x25ea3c(0x22f)](_0x13c305=>!_0x13c305[_0x25ea3c(0x223)]()['startsWith']('--')&&_0x13c305[_0x25ea3c(0x223)]()['length']>0x0);return _0x4c6e0c['length']>0x0;});}async[a0_0x26ced1(0x25c)](_0x3696be,_0x1e5b22=a0_0x26ced1(0x1d7),_0x232626=null){const _0x2445b5=a0_0x26ced1,_0x8b6958={'YWowd':'cron','Iwxns':'default','AnzUH':'exponential','oHTYW':function(_0x3d7a72,_0x3b8d39){return _0x3d7a72===_0x3b8d39;},'IHYvt':_0x2445b5(0x293),'HAVwW':function(_0x5b0003,_0xd8333c){return _0x5b0003===_0xd8333c;},'mCfMx':'mysql'},_0x2f21ac=this['getDbUtils']();if(!_0x2f21ac)return;const _0x41fd59=this['getDbType'](),_0x4fe2e0=[_0x3696be[_0x2445b5(0x1ad)],_0x3696be[_0x2445b5(0x20f)]||_0x3696be['name'],_0x3696be[_0x2445b5(0x257)]||_0x8b6958['YWowd'],_0x3696be['schedule']||null,_0x3696be[_0x2445b5(0x22d)]||_0x8b6958['Iwxns'],_0x3696be['handler'],_0x3696be[_0x2445b5(0x291)]||'',_0x3696be[_0x2445b5(0x292)]||0x7530,_0x3696be[_0x2445b5(0x2ce)]?.['maxAttempts']||0x3,_0x3696be['retry']?.['backoff']||_0x8b6958['AnzUH'],_0x1e5b22,_0x232626];try{if(_0x8b6958['oHTYW'](_0x41fd59,_0x8b6958[_0x2445b5(0x1ea)]))await _0x2f21ac['executeQuery'](_0x2445b5(0x281),_0x4fe2e0);else _0x8b6958['HAVwW'](_0x41fd59,_0x8b6958[_0x2445b5(0x1a3)])?await _0x2f21ac[_0x2445b5(0x23e)]('INSERT\x20INTO\x20job_registry\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(job_name,\x20display_name,\x20type,\x20schedule,\x20queue,\x20handler,\x20config_file,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout,\x20retry_max,\x20retry_backoff,\x20status,\x20next_run_at,\x20created_at,\x20updated_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20NOW(),\x20NOW())\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20DUPLICATE\x20KEY\x20UPDATE\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display_name\x20=\x20VALUES(display_name),\x20type\x20=\x20VALUES(type),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20schedule\x20=\x20VALUES(schedule),\x20queue\x20=\x20VALUES(queue),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20handler\x20=\x20VALUES(handler),\x20config_file\x20=\x20VALUES(config_file),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout\x20=\x20VALUES(timeout),\x20retry_max\x20=\x20VALUES(retry_max),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20retry_backoff\x20=\x20VALUES(retry_backoff),\x20status\x20=\x20VALUES(status),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20VALUES(next_run_at)',_0x4fe2e0):await _0x2f21ac[_0x2445b5(0x23e)]('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()',_0x4fe2e0);}catch(_0x16ec0b){logger['warn']({'event':_0x2445b5(0x2c5),'name':_0x3696be[_0x2445b5(0x1ad)],'error':_0x16ec0b[_0x2445b5(0x295)]},_0x2445b5(0x22a)+_0x3696be['name']+_0x2445b5(0x299)+_0x16ec0b['message']);}}async['insertJobHistory'](_0x41cb68){const _0x1a201c=a0_0x26ced1,_0x20cb77={'IQNGt':'cron','EbjSW':function(_0x3058c1,_0x268ee1){return _0x3058c1===_0x268ee1;},'CMrHC':function(_0x3b3133,_0x58abac){return _0x3b3133===_0x58abac;}},_0x55bbf8=this['getDbUtils']();if(!_0x55bbf8)return;const _0x541ea5=this[_0x1a201c(0x20a)](),_0x2cc1b9=[_0x41cb68['id'],_0x41cb68['jobName'],_0x41cb68['bullmqJobId']||null,_0x41cb68['triggerType']||_0x20cb77[_0x1a201c(0x236)],_0x41cb68['triggeredBy']||_0x1a201c(0x272),_0x41cb68['queue']||'default',_0x41cb68[_0x1a201c(0x1b6)]||0x1,_0x41cb68[_0x1a201c(0x19c)]||null,process['pid']];try{if(_0x20cb77['EbjSW'](_0x541ea5,_0x1a201c(0x293)))await _0x55bbf8[_0x1a201c(0x23e)](_0x1a201c(0x1a4),_0x2cc1b9);else _0x20cb77[_0x1a201c(0x23b)](_0x541ea5,_0x1a201c(0x1e5))?await _0x55bbf8['executeQuery'](_0x1a201c(0x282),_0x2cc1b9):await _0x55bbf8[_0x1a201c(0x23e)]('INSERT\x20INTO\x20job_history\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(id,\x20job_name,\x20bullmq_job_id,\x20trigger_type,\x20triggered_by,\x20status,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20queue,\x20attempt,\x20config_file,\x20started_at,\x20worker_pid,\x20created_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20($1,\x20$2,\x20$3,\x20$4,\x20$5,\x20\x27running\x27,\x20$6,\x20$7,\x20$8,\x20NOW(),\x20$9,\x20NOW())',_0x2cc1b9);await this['updateRegistryStatus'](_0x41cb68['jobName'],_0x1a201c(0x1e0));}catch(_0x99ec9b){logger['warn']({'event':_0x1a201c(0x2cf),'jobName':_0x41cb68[_0x1a201c(0x20b)],'error':_0x99ec9b['message']},_0x1a201c(0x270)+_0x99ec9b[_0x1a201c(0x295)]);}}async['updateJobHistoryCompleted'](_0x3f06de,_0x2fc967,_0x31d5e1){const _0x30e09e=a0_0x26ced1,_0x23c814={'LuHyd':_0x30e09e(0x293),'OTpcN':_0x30e09e(0x1e5),'tEBHl':'job_history_complete_error'},_0x12ebb3=this[_0x30e09e(0x1ce)]();if(!_0x12ebb3)return;const _0x4fcc09=this[_0x30e09e(0x20a)](),_0x12a986=_0x31d5e1?String(_0x31d5e1)[_0x30e09e(0x1ca)](0x0,0x1f4):null;try{if(_0x4fcc09===_0x23c814[_0x30e09e(0x255)])await _0x12ebb3[_0x30e09e(0x23e)]('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',[_0x2fc967,_0x12a986,_0x3f06de]);else _0x4fcc09===_0x23c814['OTpcN']?await _0x12ebb3['executeQuery'](_0x30e09e(0x2bb),[_0x2fc967,_0x12a986,_0x3f06de]):await _0x12ebb3[_0x30e09e(0x23e)]('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',[_0x2fc967,_0x12a986,_0x3f06de]);}catch(_0x115768){logger[_0x30e09e(0x191)]({'event':_0x23c814['tEBHl'],'historyId':_0x3f06de,'error':_0x115768['message']},_0x30e09e(0x1b5)+_0x115768[_0x30e09e(0x295)]);}}async['updateJobHistoryFailed'](_0x137500,_0x1e12a7,_0x1f89c2,_0x143b7e,_0x521117){const _0x3c7384=a0_0x26ced1,_0x11fcf8={'ydVxt':function(_0x1c2622,_0x314d76){return _0x1c2622(_0x314d76);},'KUTeY':function(_0xd2a274,_0x3eaea1){return _0xd2a274(_0x3eaea1);},'cqfnq':function(_0x19b4e8,_0x15a036){return _0x19b4e8===_0x15a036;},'tdeyO':'oracle','nSlNN':function(_0xb966ec,_0x30393c){return _0xb966ec||_0x30393c;},'kNRZm':function(_0x943779,_0x4beca1){return _0x943779===_0x4beca1;},'dCmVn':'job_history_failed_error'},_0x5d664d=this[_0x3c7384(0x1ce)]();if(!_0x5d664d)return;const _0x201da2=this[_0x3c7384(0x20a)](),_0x4e8be8=_0x143b7e?_0x11fcf8[_0x3c7384(0x25a)](String,_0x143b7e)[_0x3c7384(0x1ca)](0x0,0x3e8):null,_0x597c96=_0x521117?_0x11fcf8[_0x3c7384(0x289)](String,_0x521117)[_0x3c7384(0x1ca)](0x0,0xfa0):null;try{if(_0x11fcf8[_0x3c7384(0x1a2)](_0x201da2,_0x11fcf8['tdeyO']))await _0x5d664d[_0x3c7384(0x23e)](_0x3c7384(0x273),[_0x1e12a7,_0x11fcf8['nSlNN'](_0x1f89c2,0x0),_0x4e8be8,_0x597c96,_0x137500]);else _0x11fcf8['kNRZm'](_0x201da2,'mysql')?await _0x5d664d['executeQuery']('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27failed\x27,\x20completed_at\x20=\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20?,\x20progress\x20=\x20?,\x20error_message\x20=\x20?,\x20error_stack\x20=\x20?\x20WHERE\x20id\x20=\x20?',[_0x1e12a7,_0x1f89c2||0x0,_0x4e8be8,_0x597c96,_0x137500]):await _0x5d664d['executeQuery'](_0x3c7384(0x1f8),[_0x1e12a7,_0x1f89c2||0x0,_0x4e8be8,_0x597c96,_0x137500]);}catch(_0x5c001c){logger['warn']({'event':_0x11fcf8['dCmVn'],'historyId':_0x137500,'error':_0x5c001c['message']},'Failed\x20to\x20update\x20job\x20history\x20(failed):\x20'+_0x5c001c[_0x3c7384(0x295)]);}}async[a0_0x26ced1(0x2b4)](_0x2bae60,_0x6534ea){const _0x384062=a0_0x26ced1,_0x3f9444={'UEwaZ':function(_0x4885eb,_0x58c2d3){return _0x4885eb===_0x58c2d3;},'DdoaK':_0x384062(0x293),'HZsKB':'mysql'},_0x26375f=this[_0x384062(0x1ce)]();if(!_0x26375f)return;const _0x4d0825=this[_0x384062(0x20a)]();try{if(_0x3f9444[_0x384062(0x29c)](_0x4d0825,_0x3f9444[_0x384062(0x1e7)]))await _0x26375f['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',[_0x6534ea,_0x2bae60]);else _0x3f9444['UEwaZ'](_0x4d0825,_0x3f9444['HZsKB'])?await _0x26375f[_0x384062(0x23e)]('UPDATE\x20job_registry\x20SET\x20last_status\x20=\x20?,\x20last_run_at\x20=\x20NOW()\x20WHERE\x20job_name\x20=\x20?',[_0x6534ea,_0x2bae60]):await _0x26375f['executeQuery'](_0x384062(0x18f),[_0x6534ea,_0x2bae60]);}catch(_0x151b34){}}async['updateRegistryCounters'](_0x520dbe,_0x253f99,_0x1833fd,_0x2b4522){const _0x4acd18=a0_0x26ced1,_0xb3e42d={'tLsMs':function(_0x3a820f,_0x2be926){return _0x3a820f===_0x2be926;},'jEaVw':_0x4acd18(0x1bd),'toNIx':'total_failed','wDFLH':function(_0x56420b,_0x26c44d){return _0x56420b===_0x26c44d;},'GCpHU':'oracle','wBcKw':_0x4acd18(0x1e5)},_0x4b5394=this[_0x4acd18(0x1ce)]();if(!_0x4b5394)return;const _0x43ee7f=this['getDbType'](),_0x16e8ae=_0xb3e42d[_0x4acd18(0x1be)](_0x253f99,_0x4acd18(0x29b))?_0xb3e42d[_0x4acd18(0x1c0)]:_0xb3e42d['toNIx'];try{if(_0xb3e42d[_0x4acd18(0x22c)](_0x43ee7f,_0xb3e42d['GCpHU']))await _0x4b5394[_0x4acd18(0x23e)](_0x4acd18(0x1db)+_0x16e8ae+_0x4acd18(0x225)+_0x16e8ae+'\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',[_0x253f99,_0x1833fd,_0x2b4522,_0x520dbe]);else _0xb3e42d['tLsMs'](_0x43ee7f,_0xb3e42d[_0x4acd18(0x243)])?await _0x4b5394['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'+_0x16e8ae+_0x4acd18(0x225)+_0x16e8ae+_0x4acd18(0x222),[_0x253f99,_0x1833fd,_0x2b4522,_0x520dbe]):await _0x4b5394[_0x4acd18(0x23e)](_0x4acd18(0x23c)+_0x16e8ae+'\x20=\x20'+_0x16e8ae+'\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',[_0x253f99,_0x1833fd,_0x2b4522,_0x520dbe]);}catch(_0x20b8bb){logger['warn']({'event':'job_registry_counter_error','jobName':_0x520dbe,'error':_0x20b8bb[_0x4acd18(0x295)]},_0x4acd18(0x213)+_0x20b8bb[_0x4acd18(0x295)]);}}async['getNextRunFromBullMQ'](_0x5b1fd5){const _0x54199e=a0_0x26ced1,_0x2c007d={'txeIV':function(_0x2c55f3,_0x211651){return _0x2c55f3!==_0x211651;},'vAzUi':function(_0x58a5f7,_0x5eb49f){return _0x58a5f7===_0x5eb49f;}},_0x12021f=this[_0x54199e(0x1d1)][_0x5b1fd5];if(!_0x12021f||_0x2c007d['txeIV'](_0x12021f[_0x54199e(0x257)],'cron')||_0x2c007d['vAzUi'](_0x12021f[_0x54199e(0x28a)],![]))return null;const _0x431ce2=this[_0x54199e(0x256)][_0x12021f[_0x54199e(0x22d)]||_0x54199e(0x248)];if(!_0x431ce2)return null;try{if(typeof _0x431ce2['getJobSchedulers']==='function'){const _0x3723eb=await _0x431ce2[_0x54199e(0x203)](0x0,0x64),_0xf3b0ed=_0x3723eb['find'](_0xab1f18=>_0xab1f18['name']===_0x5b1fd5);return _0xf3b0ed?.['next']?new Date(_0xf3b0ed[_0x54199e(0x2c8)]):null;}}catch(_0x4be0f4){}return null;}async['setAllJobsOffline'](){const _0x2bd28c=a0_0x26ced1,_0x4a5a41={'OMhZV':function(_0x2b343e,_0x5dd7c7){return _0x2b343e===_0x5dd7c7;},'XAoot':'oracle'},_0x9b2f57=this['getDbUtils']();if(!_0x9b2f57)return;const _0x3eaf1e=this[_0x2bd28c(0x20a)]();try{if(_0x4a5a41[_0x2bd28c(0x2c4)](_0x3eaf1e,_0x4a5a41[_0x2bd28c(0x21c)]))await _0x9b2f57['executeQuery'](_0x2bd28c(0x230));else _0x3eaf1e==='mysql'?await _0x9b2f57[_0x2bd28c(0x23e)]('UPDATE\x20job_registry\x20SET\x20status\x20=\x20\x27offline\x27,\x20next_run_at\x20=\x20NULL'):await _0x9b2f57[_0x2bd28c(0x23e)]('UPDATE\x20job_registry\x20SET\x20status\x20=\x20\x27offline\x27,\x20next_run_at\x20=\x20NULL,\x20updated_at\x20=\x20NOW()');}catch(_0x338397){logger['warn']({'event':_0x2bd28c(0x1cc),'error':_0x338397[_0x2bd28c(0x295)]},'Failed\x20to\x20set\x20jobs\x20offline:\x20'+_0x338397['message']);}}[a0_0x26ced1(0x1ce)](){const _0x2b4216=a0_0x26ced1,_0x15d682={'xceQi':'postgresql','sncVO':_0x2b4216(0x245),'EGahL':'Oracle\x20DB\x20module\x20not\x20available','WfaGX':function(_0x5ab4a2,_0x2d8f7b){return _0x5ab4a2===_0x2d8f7b;},'gDHWi':_0x2b4216(0x1ff),'LBhPw':'../../utils/db','PoavN':'db_pg_unavailable'},_0x35061b=(process[_0x2b4216(0x24a)][_0x2b4216(0x2c3)]||_0x15d682[_0x2b4216(0x1c6)])['toLowerCase']();if(_0x35061b===_0x2b4216(0x293))try{const _0x491905=require(_0x15d682[_0x2b4216(0x27a)]);return{'executeQuery':(_0x427336,_0x44e968)=>_0x491905['executeQuery'](_0x427336,_0x44e968),'executeTransaction':_0x4da223=>_0x491905[_0x2b4216(0x247)](_0x4da223),'getPool':()=>_0x491905[_0x2b4216(0x2c6)]()};}catch(_0x155d6b){return logger['warn']({'event':_0x2b4216(0x1c2)},_0x15d682[_0x2b4216(0x2d1)]),null;}if(_0x15d682['WfaGX'](_0x35061b,_0x2b4216(0x1e5)))try{const _0x3105af=require('../../utils/db-mysql');return{'executeQuery':(_0x27e0f,_0x32c85f)=>_0x3105af['executeQuery'](_0x27e0f,_0x32c85f),'executeTransaction':_0x15a01c=>_0x3105af[_0x2b4216(0x247)](_0x15a01c),'getPool':()=>_0x3105af[_0x2b4216(0x2c6)]()};}catch(_0x361da7){return logger['warn']({'event':_0x15d682['gDHWi']},_0x2b4216(0x214)),null;}try{const _0xfbb983=require(_0x15d682[_0x2b4216(0x25e)]);return{'executeQuery':_0xfbb983[_0x2b4216(0x23e)],'executeTransaction':_0xfbb983['executeTransaction'],'getPool':_0xfbb983[_0x2b4216(0x2c6)]};}catch(_0x5b257c){return logger[_0x2b4216(0x191)]({'event':_0x15d682['PoavN']},_0x2b4216(0x26d)),null;}}[a0_0x26ced1(0x200)](){const _0x47bd94=a0_0x26ced1,_0x4265aa={'PEYTD':_0x47bd94(0x2a0)};try{const _0x39bf00=require(_0x4265aa[_0x47bd94(0x26f)]);return _0x39bf00['getClient']?_0x39bf00[_0x47bd94(0x264)]():_0x39bf00;}catch(_0x27b505){return null;}}[a0_0x26ced1(0x1d4)](){const _0x2e03f7=a0_0x26ced1,_0x452a58={'dEJXW':function(_0x20e1ff,_0x1448e8){return _0x20e1ff===_0x1448e8;},'EZRvE':'true','rjXcD':function(_0x206257,_0x5eaa0d){return _0x206257(_0x5eaa0d);}};try{if(_0x452a58[_0x2e03f7(0x21b)](process[_0x2e03f7(0x24a)]['KAFKA_ENABLED'],_0x452a58['EZRvE'])){const _0x10218e=_0x452a58[_0x2e03f7(0x233)](require,_0x2e03f7(0x226));return _0x10218e[_0x2e03f7(0x1bb)]?_0x10218e['getInstance']():_0x10218e;}}catch(_0x52d1d4){}return null;}['getCacheManager'](){const _0x56a145=a0_0x26ced1,_0xd83fd2={'eHCSr':function(_0x3980e9,_0xb46145){return _0x3980e9(_0xb46145);},'awkCo':_0x56a145(0x2ba)};try{return _0xd83fd2[_0x56a145(0x287)](require,_0xd83fd2[_0x56a145(0x1dd)]);}catch(_0x249892){return null;}}async[a0_0x26ced1(0x1d6)](_0x4588be,_0x411fb7={}){const _0x551568=a0_0x26ced1,_0x1244e8={'wdPkC':_0x551568(0x248),'xeafB':'api','wEWvt':'job_dispatched'},_0x28b052=this['jobConfigs'][_0x4588be];if(!_0x28b052)throw new Error(_0x551568(0x1a9)+_0x4588be);const _0x5e6ed5=this[_0x551568(0x256)][_0x28b052[_0x551568(0x22d)]||_0x1244e8['wdPkC']],_0x11d93f=await _0x5e6ed5[_0x551568(0x2d6)](_0x4588be,{..._0x411fb7,'handler':_0x28b052['handler'],'triggeredBy':_0x1244e8['xeafB']},{'attempts':_0x28b052[_0x551568(0x2ce)]?.[_0x551568(0x263)]||0x3,'backoff':{'type':_0x28b052[_0x551568(0x2ce)]?.['backoff']||'exponential','delay':_0x28b052[_0x551568(0x2ce)]?.['initialDelay']||0x1388},'timeout':_0x28b052['timeout']||0x7530});return logger[_0x551568(0x25b)]({'event':_0x1244e8['wEWvt'],'jobId':_0x11d93f['id'],'name':_0x4588be,'triggeredBy':_0x1244e8[_0x551568(0x23a)]},_0x551568(0x26e)+_0x4588be+'\x20(id:\x20'+_0x11d93f['id']+')'),{'jobId':_0x11d93f['id'],'name':_0x4588be};}async[a0_0x26ced1(0x2ad)](_0x21b91c,_0x3ac0dd={},_0x4e8fed=0x0){const _0x144002=a0_0x26ced1,_0x4c5306={'irHJe':_0x144002(0x248),'gVvhr':'exponential','wPiji':_0x144002(0x2aa)},_0x2468f8=this[_0x144002(0x1d1)][_0x21b91c];if(!_0x2468f8)throw new Error('Job\x20tidak\x20ditemukan:\x20'+_0x21b91c);const _0x500bed=this['queues'][_0x2468f8['queue']||_0x4c5306['irHJe']],_0x228a4b=await _0x500bed['add'](_0x21b91c,{..._0x3ac0dd,'handler':_0x2468f8['handler'],'triggeredBy':'api-delayed'},{'delay':_0x4e8fed,'attempts':_0x2468f8[_0x144002(0x2ce)]?.[_0x144002(0x263)]||0x3,'backoff':{'type':_0x2468f8['retry']?.['backoff']||_0x4c5306['gVvhr'],'delay':_0x2468f8['retry']?.[_0x144002(0x2c0)]||0x1388},'timeout':_0x2468f8[_0x144002(0x292)]||0x7530});return logger[_0x144002(0x25b)]({'event':_0x4c5306[_0x144002(0x19d)],'jobId':_0x228a4b['id'],'name':_0x21b91c,'delayMs':_0x4e8fed},'Job\x20dispatched\x20(delayed\x20'+_0x4e8fed+_0x144002(0x246)+_0x21b91c+'\x20(id:\x20'+_0x228a4b['id']+')'),{'jobId':_0x228a4b['id'],'name':_0x21b91c};}async[a0_0x26ced1(0x279)](_0x3a56af){const _0x5730c5=a0_0x26ced1;for(const _0x390fd6 of Object[_0x5730c5(0x266)](this['queues'])){const _0x273566=await _0x390fd6['getJob'](_0x3a56af);if(_0x273566){const _0x3a2b2c=await _0x273566[_0x5730c5(0x212)]();return{'jobId':_0x273566['id'],'name':_0x273566[_0x5730c5(0x1ad)],'state':_0x3a2b2c,'progress':_0x273566[_0x5730c5(0x202)],'attemptsMade':_0x273566['attemptsMade'],'failedReason':_0x273566[_0x5730c5(0x244)],'returnvalue':_0x273566['returnvalue'],'data':_0x273566[_0x5730c5(0x18b)],'timestamps':{'created':_0x273566[_0x5730c5(0x1e3)],'started':_0x273566[_0x5730c5(0x278)],'completed':_0x273566['finishedOn']}};}}return null;}[a0_0x26ced1(0x18a)](){const _0x2479c0=a0_0x26ced1;return Object['values'](this[_0x2479c0(0x1d1)])['map'](_0xc0aa49=>({'name':_0xc0aa49[_0x2479c0(0x1ad)],'description':_0xc0aa49['description']||'','type':_0xc0aa49['type'],'schedule':_0xc0aa49['schedule'],'handler':_0xc0aa49[_0x2479c0(0x20c)],'enabled':_0xc0aa49[_0x2479c0(0x28a)]!==![],'queue':_0xc0aa49['queue']||_0x2479c0(0x248),'timeout':_0xc0aa49[_0x2479c0(0x292)]||0x7530,'retry':_0xc0aa49[_0x2479c0(0x2ce)]||{'maxAttempts':0x3,'backoff':'exponential','initialDelay':0x1388},'metadata':_0xc0aa49[_0x2479c0(0x258)]||{}}));}async[a0_0x26ced1(0x20d)](){const _0x555c31=a0_0x26ced1,_0x49c2b1={'DMTWb':_0x555c31(0x19b)},_0x14fd50=[];for(const [_0x2e2f1f,_0x8d9b20]of Object['entries'](this['queues'])){const _0x1cfb2a=await _0x8d9b20['getJobs']([_0x49c2b1['DMTWb']]);for(const _0x389384 of _0x1cfb2a){_0x14fd50[_0x555c31(0x1fc)]({'jobId':_0x389384['id'],'name':_0x389384[_0x555c31(0x1ad)],'queue':_0x2e2f1f,'progress':_0x389384['progress'],'attemptsMade':_0x389384[_0x555c31(0x238)],'startedAt':_0x389384[_0x555c31(0x278)]});}}return _0x14fd50;}async['getHistory'](_0x263107={}){const _0x21aa07=a0_0x26ced1,_0xe50a9d={'zxqvH':function(_0x57692d,_0x442d4f,_0x21d233){return _0x57692d(_0x442d4f,_0x21d233);},'hGAVz':function(_0x21ad79,_0x2f92c8,_0x13f1eb){return _0x21ad79(_0x2f92c8,_0x13f1eb);},'NofdF':function(_0x42dbd1,_0x55a084){return _0x42dbd1-_0x55a084;},'tKRhD':function(_0x35793a,_0x50a216){return _0x35793a+_0x50a216;},'pWdnc':'completed'},_0x3c99f1=_0xe50a9d[_0x21aa07(0x24d)](parseInt,_0x263107['page'],0xa)||0x1,_0x96975e=Math[_0x21aa07(0x27c)](_0xe50a9d['hGAVz'](parseInt,_0x263107['limit'],0xa)||0x14,0x64),_0x374d90=(_0x3c99f1-0x1)*_0x96975e,_0x38678c=_0xe50a9d['NofdF'](_0xe50a9d[_0x21aa07(0x196)](_0x374d90,_0x96975e),0x1),_0x4caf96=[];for(const [_0x440fd8,_0x28bfec]of Object['entries'](this['queues'])){const _0x4f0263=await _0x28bfec[_0x21aa07(0x210)]([_0xe50a9d['pWdnc']],_0x374d90,_0x38678c),_0x3b3d5c=await _0x28bfec[_0x21aa07(0x210)]([_0x21aa07(0x18e)],_0x374d90,_0x38678c);for(const _0x396c42 of[..._0x4f0263,..._0x3b3d5c]){const _0x280c16=await _0x396c42['getState']();_0x4caf96[_0x21aa07(0x1fc)]({'jobId':_0x396c42['id'],'name':_0x396c42['name'],'state':_0x280c16,'queue':_0x440fd8,'attemptsMade':_0x396c42['attemptsMade'],'failedReason':_0x396c42[_0x21aa07(0x244)],'returnvalue':_0x396c42['returnvalue'],'timestamps':{'created':_0x396c42['timestamp'],'started':_0x396c42[_0x21aa07(0x278)],'completed':_0x396c42['finishedOn']}});}}return _0x4caf96['sort']((_0x348346,_0x514cdc)=>(_0x514cdc[_0x21aa07(0x2c7)][_0x21aa07(0x26c)]||0x0)-(_0x348346[_0x21aa07(0x2c7)]['created']||0x0)),{'jobs':_0x4caf96[_0x21aa07(0x2d2)](0x0,_0x96975e),'total':_0x4caf96['length'],'page':_0x3c99f1,'limit':_0x96975e};}async[a0_0x26ced1(0x1b8)](_0x46dca6){const _0x1f6e0e=a0_0x26ced1,_0x302aa5={'KGHrp':_0x1f6e0e(0x2b8),'HRRNT':'api-cancel','HTYOG':_0x1f6e0e(0x1fa)};for(const _0x2f4817 of Object['values'](this['queues'])){const _0x4cb000=await _0x2f4817[_0x1f6e0e(0x1c3)](_0x46dca6);if(_0x4cb000){const _0x2d64e7=await _0x4cb000[_0x1f6e0e(0x212)]();if(_0x2d64e7==='active')return await _0x4cb000[_0x1f6e0e(0x218)](new Error(_0x302aa5[_0x1f6e0e(0x297)]),_0x302aa5[_0x1f6e0e(0x1e6)],!![]),{'success':!![],'message':_0x1f6e0e(0x1ef)+_0x46dca6+'\x20cancelled\x20(was\x20active)'};if(_0x2d64e7===_0x302aa5['HTYOG']||_0x2d64e7==='delayed')return await _0x4cb000[_0x1f6e0e(0x2ca)](),{'success':!![],'message':'Job\x20'+_0x46dca6+'\x20removed\x20(was\x20'+_0x2d64e7+')'};return{'success':![],'message':_0x1f6e0e(0x1ef)+_0x46dca6+'\x20tidak\x20bisa\x20di-cancel\x20(state:\x20'+_0x2d64e7+')'};}}return{'success':![],'message':_0x1f6e0e(0x1ef)+_0x46dca6+_0x1f6e0e(0x26a)};}async['getHealthStatus'](){const _0x514105=a0_0x26ced1,_0x2e7346={'OGMBI':_0x514105(0x19b),'wJQqJ':'completed','PwtgU':_0x514105(0x2ae)},_0x58a6a4={};for(const [_0xe29cb4,_0x1c0328]of Object[_0x514105(0x1c4)](this['queues'])){try{const _0x296b1e=await _0x1c0328['getJobCounts'](_0x2e7346['OGMBI'],_0x2e7346[_0x514105(0x24f)],'delayed','failed',_0x2e7346[_0x514105(0x1dc)],_0x514105(0x1fa));_0x58a6a4[_0xe29cb4]=_0x296b1e;}catch(_0x22df4c){_0x58a6a4[_0xe29cb4]={'error':_0x22df4c['message']};}}const _0x3d9ba9={};for(const [_0x19a5e4,_0x5b39d7]of Object['entries'](this[_0x514105(0x1a6)])){_0x3d9ba9[_0x19a5e4]={'running':_0x5b39d7['isRunning'](),'paused':_0x5b39d7['isPaused']()};}return{'initialized':this[_0x514105(0x1ed)],'registeredJobs':Object['keys'](this['jobConfigs'])['length'],'redisConnections':this[_0x514105(0x1c5)][_0x514105(0x192)],'queues':_0x58a6a4,'workers':_0x3d9ba9};}async[a0_0x26ced1(0x267)](_0x20e2fd,_0xb1639b){const _0x5b7ea2=a0_0x26ced1,_0x5b4df3={'WiLTA':'after_job_complete_hook_error','ujiCD':_0x5b7ea2(0x275),'SyluG':function(_0x4ce80f,_0x5401fd){return _0x4ce80f-_0x5401fd;},'AFGTn':function(_0x2bcce5,_0x42de70){return _0x2bcce5-_0x42de70;},'OcfUA':function(_0x89b370,_0x1aa53e){return _0x89b370===_0x1aa53e;},'eVMGW':'success','faFCL':_0x5b7ea2(0x29f),'lIlCs':_0x5b7ea2(0x25f),'PLCel':'Failed\x20to\x20publish\x20JOB_COMPLETED\x20to\x20Kafka'},_0x339aae=logger['child']({'jobId':_0x20e2fd['id'],'jobName':_0x20e2fd['name']});_0x339aae[_0x5b7ea2(0x25b)]({'event':_0x5b4df3[_0x5b7ea2(0x271)],'attemptsMade':_0x20e2fd['attemptsMade'],'duration':_0x20e2fd['finishedOn']?_0x5b4df3['SyluG'](_0x20e2fd[_0x5b7ea2(0x253)],_0x20e2fd[_0x5b7ea2(0x278)]):null},'Job\x20completed:\x20'+_0x20e2fd[_0x5b7ea2(0x1ad)]);const _0x3872cf=this[_0x5b7ea2(0x21f)]['get'](_0x20e2fd['id']);if(_0x3872cf){if(_0x3872cf[_0x5b7ea2(0x294)])await _0x3872cf['insertPromise'];const _0x4c9724=_0x20e2fd['finishedOn']&&_0x20e2fd['processedOn']?_0x5b4df3['AFGTn'](_0x20e2fd[_0x5b7ea2(0x253)],_0x20e2fd[_0x5b7ea2(0x278)]):null,_0x9ef9c6=_0x5b4df3[_0x5b7ea2(0x29e)](typeof _0xb1639b,_0x5b7ea2(0x2cc))?_0xb1639b:_0xb1639b?JSON['stringify'](_0xb1639b)[_0x5b7ea2(0x1ca)](0x0,0x1f4):null;await this[_0x5b7ea2(0x285)](_0x3872cf[_0x5b7ea2(0x239)],_0x4c9724,_0x9ef9c6);const _0x24d410=await this['getNextRunFromBullMQ'](_0x20e2fd[_0x5b7ea2(0x1ad)]);await this['updateRegistryCounters'](_0x20e2fd[_0x5b7ea2(0x1ad)],_0x5b4df3[_0x5b7ea2(0x1bc)],_0x4c9724,_0x24d410),this[_0x5b7ea2(0x21f)]['delete'](_0x20e2fd['id']);}const _0x24b99a=getComponentEngine();if(_0x24b99a&&typeof _0x24b99a['executeEventHandlers']===_0x5b7ea2(0x2b1)){const _0x58bced={'jobId':_0x20e2fd['id'],'jobName':_0x20e2fd[_0x5b7ea2(0x1ad)],'result':_0xb1639b,'config':this[_0x5b7ea2(0x1d1)][_0x20e2fd['name']]||{}};_0x24b99a[_0x5b7ea2(0x268)](_0x5b4df3['faFCL'],_0x58bced,![])['catch'](_0x435a28=>{const _0x40ead8=_0x5b7ea2;_0x339aae['warn']({'event':_0x5b4df3[_0x40ead8(0x1e1)],'error':_0x435a28[_0x40ead8(0x295)]},'onAfterJobComplete\x20handler\x20error\x20(non-blocking)');});}const _0x86d5e4=this['getKafkaService']();if(_0x86d5e4)try{await _0x86d5e4[_0x5b7ea2(0x1d3)](_0x5b7ea2(0x2b2),_0x5b7ea2(0x21d),null,{'jobId':_0x20e2fd['id'],'name':_0x20e2fd[_0x5b7ea2(0x1ad)],'result':_0xb1639b},{'module':'job-scheduler','endpoint':_0x20e2fd['name']});}catch(_0x1e15d7){_0x339aae['warn']({'event':_0x5b4df3['lIlCs'],'error':_0x1e15d7['message']},_0x5b4df3['PLCel']);}}async[a0_0x26ced1(0x2cb)](_0x159fc7,_0x1fc2d6){const _0x27e821=a0_0x26ced1,_0x5e3925={'KPVTe':'onAfterJobFailed\x20handler\x20error\x20(non-blocking)','lDFqo':'job_failed','AGGpe':function(_0x2b29cb,_0x2bd1b7){return _0x2b29cb-_0x2bd1b7;},'OFcBZ':function(_0x2abc32){return _0x2abc32();},'jeFjV':function(_0x4bac70,_0x433ef5){return _0x4bac70===_0x433ef5;},'sjXsf':'function','VtBeH':_0x27e821(0x2b5),'CqSQr':_0x27e821(0x1d9)},_0x56dfff=logger['child']({'jobId':_0x159fc7['id'],'jobName':_0x159fc7['name']});_0x56dfff['error']({'event':_0x5e3925['lDFqo'],'attemptsMade':_0x159fc7[_0x27e821(0x238)],'failedReason':_0x1fc2d6?.[_0x27e821(0x295)],'willRetry':_0x159fc7['attemptsMade']<(this['jobConfigs'][_0x159fc7['name']]?.['retry']?.[_0x27e821(0x263)]||0x3)},_0x27e821(0x2ac)+_0x159fc7[_0x27e821(0x1ad)]+'\x20—\x20'+_0x1fc2d6?.[_0x27e821(0x295)]);const _0x36054e=this[_0x27e821(0x21f)]['get'](_0x159fc7['id']);if(_0x36054e){if(_0x36054e['insertPromise'])await _0x36054e['insertPromise'];const _0x437db1=_0x159fc7[_0x27e821(0x253)]&&_0x159fc7[_0x27e821(0x278)]?_0x5e3925['AGGpe'](_0x159fc7[_0x27e821(0x253)],_0x159fc7['processedOn']):null;await this[_0x27e821(0x1f9)](_0x36054e['historyId'],_0x437db1,_0x159fc7[_0x27e821(0x202)],_0x1fc2d6?.['message'],_0x1fc2d6?.['stack']);const _0x59f51f=await this[_0x27e821(0x1de)](_0x159fc7[_0x27e821(0x1ad)]);await this[_0x27e821(0x23d)](_0x159fc7[_0x27e821(0x1ad)],_0x27e821(0x18e),_0x437db1,_0x59f51f),this[_0x27e821(0x21f)]['delete'](_0x159fc7['id']);}const _0x24ce9d=_0x5e3925['OFcBZ'](getComponentEngine);if(_0x24ce9d&&_0x5e3925[_0x27e821(0x241)](typeof _0x24ce9d['executeEventHandlers'],_0x5e3925[_0x27e821(0x1e9)])){const _0x310a52={'jobId':_0x159fc7['id'],'jobName':_0x159fc7[_0x27e821(0x1ad)],'error':_0x1fc2d6?.[_0x27e821(0x295)],'attemptsMade':_0x159fc7['attemptsMade'],'config':this['jobConfigs'][_0x159fc7[_0x27e821(0x1ad)]]||{}};_0x24ce9d['executeEventHandlers'](_0x5e3925['VtBeH'],_0x310a52,![])['catch'](_0x153db1=>{const _0x4522f4=_0x27e821;_0x56dfff['warn']({'event':_0x4522f4(0x224),'error':_0x153db1['message']},_0x5e3925[_0x4522f4(0x2a6)]);});}const _0x56333c=this['getKafkaService']();if(_0x56333c)try{await _0x56333c[_0x27e821(0x1d3)]('restforge.jobs.failed',_0x27e821(0x288),null,{'jobId':_0x159fc7['id'],'name':_0x159fc7['name'],'error':_0x1fc2d6?.[_0x27e821(0x295)],'attemptsMade':_0x159fc7['attemptsMade']},{'module':_0x27e821(0x28c),'endpoint':_0x159fc7[_0x27e821(0x1ad)]});}catch(_0x35095c){_0x56dfff[_0x27e821(0x191)]({'event':_0x27e821(0x25f),'error':_0x35095c[_0x27e821(0x295)]},_0x5e3925['CqSQr']);}}[a0_0x26ced1(0x1ec)](_0x935a1e,_0x12f038){const _0x1c9134=a0_0x26ced1;logger[_0x1c9134(0x254)]({'event':_0x1c9134(0x265),'jobId':_0x935a1e['id'],'jobName':_0x935a1e[_0x1c9134(0x1ad)],'progress':_0x12f038},_0x1c9134(0x1b0)+_0x935a1e[_0x1c9134(0x1ad)]+'\x20—\x20'+_0x12f038+'%');}}module[a0_0x26ced1(0x21a)]=new JobManager();
1
+ const a0_0x41c21b=a0_0x592e;(function(_0x726184,_0xb66513){const _0x18ae78=a0_0x592e,_0x3c9d34=_0x726184();while(!![]){try{const _0x4db355=-parseInt(_0x18ae78(0x2f6))/0x1+parseInt(_0x18ae78(0x2b1))/0x2+parseInt(_0x18ae78(0x2f3))/0x3*(parseInt(_0x18ae78(0x235))/0x4)+parseInt(_0x18ae78(0x281))/0x5+-parseInt(_0x18ae78(0x276))/0x6*(-parseInt(_0x18ae78(0x2d4))/0x7)+parseInt(_0x18ae78(0x277))/0x8+-parseInt(_0x18ae78(0x336))/0x9;if(_0x4db355===_0xb66513)break;else _0x3c9d34['push'](_0x3c9d34['shift']());}catch(_0x5b2023){_0x3c9d34['push'](_0x3c9d34['shift']());}}}(a0_0x5e0b,0xd7626));const {Queue,Worker}=require('bullmq'),Redis=require(a0_0x41c21b(0x2c3)),crypto=require('crypto'),{v7:uuidv7}=require('uuid'),fs=require('fs'),path=require(a0_0x41c21b(0x213)),{logger}=require(a0_0x41c21b(0x222)),jobValidator=require(a0_0x41c21b(0x246));function a0_0x5e0b(){const _0x33faf2=['zKDmEfa','zgvIDwC','AKHMD2O','zgvSyxLLza','sM9Iig1VBML0B3jPBMCGDgfIBgvZigvUC3vYzwqGka','mYbcDwXStveGuxvLDwvZignYzwf0zwqGkgHPz2GSigrLzMf1BhqSigXVDYK','C3fSlxnJCMLWDhm','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNC3vJy2vZCYCSignVBxbSzxrLzf9HDca9ie5pvYGPlaOGicaGicaGicaGigr1CMf0Aw9Ux21Zid0GjdeSihbYB2DYzxnZid0GmtaWlcbYzxn1BhrFC3vTBwfYEsa9icqYifDirvjfigLKid0Gjdm','mtaZntGWneLvzMforq','AwfnDvq','txLtuuWGreiGBw9KDwXLig5VDcbHDMfPBgfIBgu','y2HPBgq','sM9Iie1HBMfNzxiGCMvHzhK6ia','uMvKAxmGy29UBMvJDgLVBIbMywLSzwq6ia','rMfPBgvKihrVihvWzgf0zsbQB2iGAgLZDg9YEsaOzMfPBgvKktOG','Dhj1zq','z2v0sM9Iu2nOzwr1BgvYCW','sM9IigrPC3bHDgnOzwq6ia','lI4VlI4VC2vYDMLJzxmVA2fMA2ftzxj2AwnL','D2fYBG','te1hrNq','qNLbu0u','B25bzNrLCKPVyKnVBxbSzxrLigHHBMrSzxiGzxjYB3iGkg5VBI1IBg9JA2LUzYK','zMLUza','sM9Iihn0ywXSzwq6ia','BMv4Da','Aw9YzwrPCW','AgLNAa','rMfPBgvKihrVihjLz2LZDgvYigPVyJOG','zNvUy3rPB24','AM9Ix3jLz2LZDhj5x2nVDw50zxjFzxjYB3i','sK9cx0zbsuXfrf9srvrftLrjt05Fse9vuLm','DMzmCwy','ChjVy2vZC2vKt24','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa/lcbSyxn0x2r1CMf0Aw9Ux21Zid0GpYWkicaGicaGicaGica','rMfPBgvKihrVihvWzgf0zsbQB2iGCMvNAxn0CNKGy291BNrLCNm6ia','qunnwfm','Aw5JBhvKzxm','uKvesvnFueftu1DpuKq','zMfPBgvK','rKj4zhu','igPVyIbJB25MAwCOCYKGzNjVBsbWyxLSB2fKl2PVyNmV','zKDKEeG','mta0m2rnuwrXsq','AM9Ix2nVBMzPz19PBNzHBgLK','q3jVBIbYzwDPC3rLCMvKoIa','y29UBMvJDgLVBNm','yNvSBg1XsM9Iswq','C0LMCxq','AM9ItMfTzq','AgfUzgXLCNm','DMfSAwq','yxbPlwrLBgf5zwq','uNzSDfK','zxHLy3v0zvf1zxj5','Cw9jyxy','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa6msWGBgfZDf9KDxjHDgLVBL9TCYa9idOYlaOGicaGicaGicaGia','AM9Ix3jLz2LZDhj5x29MzMXPBMvFzxjYB3i','reXnuw0','BxLZCwW','y3jLyxrLza','teDKsw4','sK9cx0zbsuXfra','ChjVy2vZC0PVyG','vLLQsva','Dg90ywXFzMfPBgvK','sxjxEhu','z2v0tMv4Dfj1BKzYB21cDwXStve','yKj0rhu','sM9IihrPzgfRigrPDgvTDwTHBJOG','B2zMBgLUzq','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNzMfPBgvKjYWGy29TCgXLDgvKx2f0id0GtK9xkcKScIaGicaGicaGicaGzhvYyxrPB25FBxmGpsa/lcbWCM9NCMvZCYa9id8SigvYCM9Yx21LC3nHz2uGpsa/lcbLCNjVCL9ZDgfJAYa9id8Gv0HfuKuGAwqGpsa/','z2v0rgjuExbL','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGC3rHDhvZid0Gj29MzMXPBMuNlcbUzxH0x3j1BL9HDca9ie5vteWSihvWzgf0zwrFyxqGpsbtwvnusu1fu1rbtva','mtiZmZnQCNvZqMi','CxvLDwu','zgLZCgf0y2HezwXHEwvK','mty4ndeYzKzst0jt','A0f5vgi','rhfTzvC','yNvSBg1Xx3jLzgLZx2vYCM9Y','CwjOsgy','u3riyum','C3rYAw5NAwz5','AM9PBG','BM1gtLq','lI4VlI4VDxrPBhmVzgiTBxLZCwW','q0ndwLK','Aw5PDgLHBgL6zwq','EvvWuwe','AM9Ix3n0ywXSzwq','BwvrAMq','z2v0sw5ZDgfUy2u','rMfPBgvKihrVihb1yMXPC2GGsK9cx0nptvbmrvrfrcb0BYblywzRyq','rufRqM4','C1LlwKm','CgfYC2u','BgvUz3rO','uMjQtwq','sM9Iia','CvHpAxy','oMPVyG','BwfUDwfS','BM93','Cgf1C2u','qNvSBe1rifjLzgLZignVBM5Ly3rPB24GDMvYAwzPzwq','zxHWB3j0CW','ChjVz3jLC3m','Du1Jy3m','B25kB2jgywLSzwq','Bwf4qxr0zw1WDhm','z2v0rgjvDgLSCW','rMzuDem','DMfSDwvZ','zxHLy3v0zuv2zw50sgfUzgXLCNm','mYbcDwXStveGv29YA2vYCYbJCMvHDgvKicHJB25JDxjYzw5JEtOG','Du9ewhi','ue1VELa','C2nOzwr1Bgu','wNznEg8','twX3ExG','DhjPBq','ywXS','rMfPBgvKihrVihbHCNnLigPVyIbJB25MAwC6ia','ChvZAa','vxnfBKG','C3LZDgvT','lI4VlI4VDxrPBhmVzgi','rM9SzgvYihbHEwXVywqVAM9ICY8GDgLKywSGzgL0zw11A2fU','BgLZDePVyNm','B25kB2jdB21WBgv0zwq','zgvZy3jPChrPB24','q1H2zxy','sxnIz2y','yvjfuLG','sK9cx1nivvret1Dox1rjtuvpvvq','EMHOuue','sxPpzg0','zgvSzxrL','AM9IlxnJAgvKDwXLCG','vhbKtwC','mtC2nZG2mtLxuvLnz2G','y29TCgXLDgvK','BxmPlI4U','Bg9JywXOB3n0','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa6msWGBgfZDf9YDw5FyxqGpsbtwvnusu1fu1rbtvaScIaGicaGicaGicaGDxbKyxrLzf9HDca9ifnzu1rjtuvtvefnucbxsevsrsbQB2jFBMfTzsa9idOY','DNHlBu8','q0DVDhC','v1L1s1G','AM9Ix2rIx3vUyxzHAwXHyMXL','ywn0AxzLsgLZDg9YEuLKCW','zxHWB25LBNrPywW','B1rVEgS','z2v0u3rHDgu','zw5ZDxjLvgfIBgvZ','Dg9mB3DLCKnHC2u','vLbMsw8','Bw92zvrVrMfPBgvK','zxHuu0m','rejFvfLqrq','AxnsDw5UAw5N','ihrPzgfRigjPC2eGzgKTy2fUy2vSicHZDgf0ztOG','icSGmsWkicaGicaGicaGicbUzxH0x3j1BL9HDca9idOZlcb1CgrHDgvKx2f0id0Gu1LtveLnrvnuqu1qifDirvjfigPVyL9Uyw1Lid0GoJq','vuHpChm','DhjPz2DLCMvKqNK','sM9IignHBMnLBgXLzcbIEsbVBKjLzM9YzuPVyKv4zwn1Dgu6ia','AwHwtue','DxbKyxrLsM9IsgLZDg9YEunVBxbSzxrLza','yxbPlwnHBMnLBa','DgLTzw91Da','B3jHy2XL','C3vJy2vZCW','BwLU','DxrMoa','zw50CMLLCW','zgLZCgf0y2G','AM9Ix21HBMfNzxjFC2H1DgrVD25FC3rHCNq','AM9Ix21HBMfNzxjFywXYzwfKEv9PBML0AwfSAxPLza','qur1qva','ANrpAKm','AgfUzgXLCG','lIbkB2iGu2nOzwr1BgvYihrPzgfRigfRyw4GywT0AwyU','BwzWtxy','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','zgvMyxvSDa','zMLUAxnOzwrpBG','BwvZC2fNzq','sM9Iie1HBMfNzxiGC2H1DhrPBMCGzg93BIaODgLTzw91DdOG','Cgf0Aa','zg1zuMi','r3Hizu0','CgLK','z2v0ug9VBa','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsaKmsWGBgfZDf9YDw5FyxqGpsbot1COksWkicaGicaGicaGicb1CgrHDgvKx2f0id0GtK9xkcKGv0HfuKuGAM9Ix25HBwuGpsaKmG','sK9cx0vwru5u','z2v0sgvHBhrOu3rHDhvZ','zgjFB3jHy2XLx3vUyxzHAwXHyMXL','D2fPDgLUzW','tezNvwG','CxvLDwvZ','y3jVBG','lI4VlI4VDxrPBhmVzgiTB3jHy2XL','Dw5RBM93BG','lI4VlI4VDxrPBhmVBg9Nz2vY','CxvPDa','BxmPoIa','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticG6msWGoJiSidOZlca6ncWGoJuSicDYDw5UAw5NjYWGoJySidO3lca6ocWGu1LtveLnrvnuqu1qlca6osWGu1LtveLnrvnuqu1qkq','AMrmsMS','ywn0AxzL','AM9ICW','Du1fzvi','BwfW','y3DK','C2v0qwXSsM9IC09MzMXPBMu','BgLZDfj1BM5PBMC','y3jVBL9YzwDPC3rLCMvK','EwvKyvi','CMvZDgzVCMDLlMPVyNmUy29TCgXLDgvK','icHPzdOG','vxD5qu8','z2v0sM9ICW','BMfTzq','mteWohDHyKnZAG','Cgf5Bg9Hza','icHHDhrLBxb0ia','y29TCg9Uzw50rw5NAw5L','AxnqyxvZzwq','Aw5PDgLHBerLBgf5','CMvHzgrPCLn5BMm','rMfPBgvKihrVihvWzgf0zsbQB2iGAgLZDg9YEsaOy29TCgXLDgvKktOG','iokaLca','sM9IigrPC3bHDgnOzwqGkgrLBgf5zwqG','y2f0y2G','qNzmtvO','A1ftBuK','sfLmA20','Evfowwu','yxr0zw1WDhnnywrL','quncuLK','lI9QB2iTDMfSAwrHDg9Y','DgrLrM4','AM9Ix21HBMfNzxjFCMvHzhK','zxjYB3i','DxbZzxj0sM9Iu2nOzwr1BgvY','ihjLBw92zwqGkhDHCYa','C3rHBgXLza','sM9IihbYB2DYzxnZoIa','sM9IigHHBMrSzxiGy29TCgXLDgvKoIa','B25bzNrLCKPVyKzHAwXLzcbOyw5KBgvYigvYCM9YicHUB24TyMXVy2TPBMCP','ywz0zxjFAM9Ix2nVBxbSzxrLx2HVB2TFzxjYB3i','ktOG','rMfPBgvKihrVigvUC3vYzsbQB2iGDgfIBgvZoIa','zgjFBxLZCwXFDw5HDMfPBgfIBgu','CwvctvC','zxHPC3rZu3LUyW','B25bzNrLCKPVyKzHAwXLza','AM9Ix2nVBMzPz19WyxjZzv9LCNjVCG','z2v0s2fMA2ftzxj2AwnL','AM9Ix2nVBxbSzxrLza','vezQu1O','ywXYzwfKEsbLEgLZDhm','wun5vxK','CgfNzq','z2v0','wffAvfq','tezRwuS','zw52','DxbKyxrLsM9IsgLZDg9YEuzHAwXLza','qKHVBeO','rMz0s2q','C2H1DgrVD24','uKvesvnFse9tva','y2XVC2u','zhvWBgLJyxrL','CMv0CNK','zvPdwwW','B25czwzVCMvkB2jfEgvJDxrL','rejFvfLqrsaN','jYb0AwrHAYbKAwr1A3vUzYb1BNr1AYbQB2iGBw9UAxrVCMLUzYb0ywjSzxm','C3bSAxrtCwXtDgf0zw1LBNrZ','rMfPBgvKihrVigLUC2vYDcbQB2iGAgLZDg9YEtOG','CMvHzezPBgvtEw5J','wfPRww8','zxjYB3jZ','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNC3vJy2vZCYCSignVBxbSzxrLzf9HDca9ie5pvYGPlaOGicaGicaGicaGigr1CMf0Aw9Ux21Zid0GpYWGChjVz3jLC3mGpsaXmdaSihjLC3vSDf9ZDw1Tyxj5id0GpYbxsevsrsbPzca9id8','CgLUzW','CMv0DxjUDMfSDwu','ndiWnZHjtePOCxa','nJe4mJGWzLjHALnw','A2v5CW','zxHLy3v0zvrYyw5Zywn0Aw9U','qwvSDM0','CenWq0G','AM9Ix2vUC3vYzv90ywjSzxnFD2fYBG','B25kB2jqCM9NCMvZCW','vMHLC28','B3nQy1u','zMLSDgvY','mte4mdiZmgTlu29WyW','DgLTzxn0yw1W','EKfMwNq','yMfJA29MzG','D29YA2LUz0rPCG','sgfUzgXLCIb0AwrHAYbKAxrLBxvRyw4GDw50DwSGAM9IoIa','C3vIC3rYAw5N','Aw5MBW','id0G','C3bSAxq','CMvNAxn0zxjkB2i','x3nVDxjJzuzPBgu','Cg9ZDgDYzxnXBc5ZCwW','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsaKmsWGBgfZDf9KDxjHDgLVBL9TCYa9icqYlaOGicaGicaGicaGia','y2fUy2vSsM9I','z2v0q2fJAgvnyw5Hz2vY','y3jLyxrLqNvSBe1rq29UBMvJDgLVBG','BwLNzuS','D29YA2vYCW','Eg5UyMO','ChvIBgLZAev2zw50','Aw5PDgLHBgL6zq','Cg9ZDgDYzxnXBa','CMy6','DgLTzxn0yw1WCW','rNDdtwG','qNvSBe1rifjLzgLZignVBM5Ly3rPB24GzxjYB3i6ia','DxbKyxrLuhjVz3jLC3m','wxzeBe8','zLburNu','AM9Ix2rPC3bHDgnOzwrFzgvSyxLLza','AM9Ix3DVCMTLCNnFy3jLyxrLza','zgf0yq','AM9Ix2HPC3rVCNLFzMfPBgvKx2vYCM9Y','Bg9HzePVyKnVBMzPz3m','z2v0sM9Iq291BNrZ','DxbKyxrLuMvNAxn0CNLdB3vUDgvYCW','s0vttxK','yxbP','AM9Iq29UzMLNCW'];a0_0x5e0b=function(){return _0x33faf2;};return a0_0x5e0b();}let componentEngine=null;function a0_0x592e(_0x2ce35e,_0x3b1718){_0x2ce35e=_0x2ce35e-0x1e7;const _0x5e0bfb=a0_0x5e0b();let _0x592e31=_0x5e0bfb[_0x2ce35e];if(a0_0x592e['cIWufA']===undefined){var _0x4184f1=function(_0x4ea78e){const _0x1cb60b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2e7a07='',_0x3bd0bb='';for(let _0x5dc0ba=0x0,_0x1215db,_0x4f84e1,_0xe97f22=0x0;_0x4f84e1=_0x4ea78e['charAt'](_0xe97f22++);~_0x4f84e1&&(_0x1215db=_0x5dc0ba%0x4?_0x1215db*0x40+_0x4f84e1:_0x4f84e1,_0x5dc0ba++%0x4)?_0x2e7a07+=String['fromCharCode'](0xff&_0x1215db>>(-0x2*_0x5dc0ba&0x6)):0x0){_0x4f84e1=_0x1cb60b['indexOf'](_0x4f84e1);}for(let _0x54124b=0x0,_0x1cca58=_0x2e7a07['length'];_0x54124b<_0x1cca58;_0x54124b++){_0x3bd0bb+='%'+('00'+_0x2e7a07['charCodeAt'](_0x54124b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3bd0bb);};a0_0x592e['moBIGC']=_0x4184f1,a0_0x592e['JdLxTa']={},a0_0x592e['cIWufA']=!![];}const _0x46e40e=_0x5e0bfb[0x0],_0x39c5c3=_0x2ce35e+_0x46e40e,_0x4c5d52=a0_0x592e['JdLxTa'][_0x39c5c3];return!_0x4c5d52?(_0x592e31=a0_0x592e['moBIGC'](_0x592e31),a0_0x592e['JdLxTa'][_0x39c5c3]=_0x592e31):_0x592e31=_0x4c5d52,_0x592e31;}function getComponentEngine(){const _0x29272d=a0_0x41c21b,_0x4e99ce={'pCBbz':function(_0xc75ac2,_0x1ab6ae){return _0xc75ac2(_0x1ab6ae);},'XZkYo':'../../utils/component-engine'};if(!componentEngine)try{const _0x4fc837=_0x4e99ce['pCBbz'](require,_0x4e99ce[_0x29272d(0x271)]);componentEngine=_0x4fc837[_0x29272d(0x238)]||_0x4fc837;}catch(_0x4c3e50){}return componentEngine;}class JobManager{constructor(){const _0x30b2e2=a0_0x41c21b,_0x39f89d={'vfLqf':'2|0|7|1|6|4|5|3'},_0x538c85=_0x39f89d[_0x30b2e2(0x2c9)][_0x30b2e2(0x28a)]('|');let _0xecd940=0x0;while(!![]){switch(_0x538c85[_0xecd940++]){case'0':this[_0x30b2e2(0x293)]={};continue;case'1':this['handlers']={};continue;case'2':this['queues']={};continue;case'3':this['activeHistoryIds']=new Map();continue;case'4':this[_0x30b2e2(0x301)]=![];continue;case'5':this['workingDir']=process[_0x30b2e2(0x22b)]();continue;case'6':this['connections']=[];continue;case'7':this['jobConfigs']={};continue;}break;}}['createBullMQConnection'](){const _0x5cccff=a0_0x41c21b,_0x14f79b={'yVPUm':_0x5cccff(0x2f9),'AIptC':_0x5cccff(0x1e7),'zWYDA':_0x5cccff(0x249)},_0x5c7a76=new Redis({'host':process[_0x5cccff(0x261)][_0x5cccff(0x266)]||_0x14f79b['AIptC'],'port':parseInt(process[_0x5cccff(0x261)]['REDIS_PORT'],0xa)||0x18ec,'password':process[_0x5cccff(0x261)][_0x5cccff(0x2cf)]||undefined,'db':parseInt(process['env']['REDIS_DB'],0xa)||0x0,'maxRetriesPerRequest':null,'retryStrategy'(_0x55b0a7){const _0x57569b=_0x5cccff,_0x2d8325=Math[_0x57569b(0x203)](_0x55b0a7*0x32,0x7d0);return _0x2d8325;}});return _0x5c7a76['on'](_0x14f79b['zWYDA'],_0x251a3f=>{const _0x5c0e7b=_0x5cccff;logger['error']({'event':_0x14f79b['yVPUm'],'error':_0x251a3f[_0x5c0e7b(0x211)]},_0x5c0e7b(0x29b)+_0x251a3f[_0x5c0e7b(0x211)]);}),this[_0x5cccff(0x2d7)]['push'](_0x5c7a76),_0x5c7a76;}async[a0_0x41c21b(0x296)](){const _0x4119f3=a0_0x41c21b,_0x3616d1={'BvLMZ':'Job\x20Manager\x20sudah\x20diinisialisasi,\x20skip','yedaR':_0x4119f3(0x312),'osjcU':'job_ensure_tables_error','nuMGl':'job_no_configs','VPfIo':'Tidak\x20ada\x20job\x20config\x20ditemukan\x20di\x20payload/jobs/.\x20Job\x20Manager\x20aktif\x20tanpa\x20cron.','zhhQA':_0x4119f3(0x221),'ZvMxo':function(_0x2bcfbf,_0x3f799a,_0x37239d){return _0x2bcfbf(_0x3f799a,_0x37239d);},'EAkBn':function(_0x5b0ab0,_0x5a17ab){return _0x5b0ab0*_0x5a17ab;},'DqmeW':_0x4119f3(0x2c4),'WAjYq':'low','MpvIT':function(_0x509ec7,_0x23b35f,_0x45bd6e){return _0x509ec7(_0x23b35f,_0x45bd6e);},'XbgTG':function(_0xbbee3c,_0x463ae5,_0x487943){return _0xbbee3c(_0x463ae5,_0x487943);},'ADuAP':'completed','fGLxP':_0x4119f3(0x2d0),'WClhc':_0x4119f3(0x314),'uMccs':'error','mfhXv':'job_register_failed'};if(this['initialized']){logger[_0x4119f3(0x2bc)]({'event':_0x4119f3(0x208)},_0x3616d1[_0x4119f3(0x240)]);return;}logger['info']({'event':'job_manager_init_start'},'Initializing\x20Job\x20Manager...');const _0x238b87=this[_0x4119f3(0x291)]();try{await _0x238b87[_0x4119f3(0x274)](),logger['info']({'event':'job_redis_connected'},_0x3616d1[_0x4119f3(0x22f)]);}catch(_0x2cb0f2){logger[_0x4119f3(0x249)]({'event':'job_redis_failed','error':_0x2cb0f2[_0x4119f3(0x211)]},_0x4119f3(0x2b6)+_0x2cb0f2[_0x4119f3(0x211)]+_0x4119f3(0x20c));try{await _0x238b87['quit']();}catch(_0x2e7266){}this['connections']=this[_0x4119f3(0x2d7)]['filter'](_0x2f1b92=>_0x2f1b92!==_0x238b87);return;}try{await _0x238b87['quit']();}catch(_0xa420d2){}this[_0x4119f3(0x2d7)]=this['connections'][_0x4119f3(0x280)](_0x259e05=>_0x259e05!==_0x238b87);try{await this[_0x4119f3(0x1f1)]();}catch(_0x3ce189){logger[_0x4119f3(0x2bc)]({'event':_0x3616d1[_0x4119f3(0x27f)],'error':_0x3ce189[_0x4119f3(0x211)]},_0x4119f3(0x252)+_0x3ce189[_0x4119f3(0x211)]+'.\x20DB\x20monitoring\x20disabled.');}const _0x2d5804=this['loadJobConfigs']();_0x2d5804[_0x4119f3(0x30a)]===0x0&&logger[_0x4119f3(0x288)]({'event':_0x3616d1['nuMGl']},_0x3616d1[_0x4119f3(0x1f3)]);const _0x66e655=[];for(const _0x420483 of _0x2d5804){const _0x4ed1d1=jobValidator['validateConfig'](_0x420483,this[_0x4119f3(0x285)]);_0x4ed1d1[_0x4119f3(0x2dc)]?_0x66e655['push'](_0x420483):logger[_0x4119f3(0x249)]({'event':_0x4119f3(0x2d5),'name':_0x420483['name']||_0x3616d1[_0x4119f3(0x331)],'errors':_0x4ed1d1[_0x4119f3(0x272)]},'Job\x20config\x20invalid:\x20'+(_0x420483['name']||_0x4119f3(0x221))+_0x4119f3(0x23d)+_0x4ed1d1[_0x4119f3(0x272)]['join'](';\x20'));}const _0xcf6e01=process['env']['RESTFORGE_PROJECT_NAME']||'default',_0x553fbb=process['env']['JOB_REDIS_PREFIX']||_0x4119f3(0x298)+_0xcf6e01+_0x4119f3(0x30e),_0x10f73c=_0x3616d1['ZvMxo'](parseInt,process[_0x4119f3(0x261)]['JOB_RETENTION_HOURS'],0xa)||0x48,_0x5e79a7=_0x3616d1[_0x4119f3(0x320)](parseInt,process['env'][_0x4119f3(0x2c8)],0xa)||0xa8,_0x459b71={'removeOnComplete':{'age':_0x3616d1[_0x4119f3(0x307)](_0x10f73c,0xe10)},'removeOnFail':{'age':_0x5e79a7*0xe10}},_0x214f76={'high-priority':_0x3616d1[_0x4119f3(0x2f8)],'default':'default','low-priority':_0x3616d1['WAjYq']};for(const [_0x5007b4,_0x218603]of Object['entries'](_0x214f76)){this[_0x4119f3(0x21e)][_0x5007b4]=new Queue(_0x218603,{'connection':this['createBullMQConnection'](),'prefix':_0x553fbb,'defaultJobOptions':_0x459b71});}logger[_0x4119f3(0x288)]({'event':'job_queues_created','count':0x3},_0x4119f3(0x2ae));const _0x423831=_0x3616d1[_0x4119f3(0x320)](parseInt,process['env']['JOB_CONCURRENCY'],0xa)||0x5,_0x2ccffa=_0x3616d1['MpvIT'](parseInt,process['env']['JOB_STALLED_INTERVAL'],0xa)||0x7530,_0x50034c=_0x3616d1['XbgTG'](parseInt,process[_0x4119f3(0x261)]['JOB_MAX_STALLED_COUNT'],0xa)||0x2;for(const [_0x585d0e,_0x409f78]of Object['entries'](_0x214f76)){const _0x27e2a6=new Worker(_0x409f78,async _0x3b340d=>this['processJob'](_0x3b340d),{'connection':this['createBullMQConnection'](),'prefix':_0x553fbb,'concurrency':_0x423831,'stalledInterval':_0x2ccffa,'maxStalledCount':_0x50034c});_0x27e2a6['on'](_0x3616d1[_0x4119f3(0x209)],(_0xaa53a5,_0x206a03)=>this[_0x4119f3(0x32b)](_0xaa53a5,_0x206a03)),_0x27e2a6['on'](_0x3616d1[_0x4119f3(0x2a9)],(_0x452397,_0x2b297d)=>this[_0x4119f3(0x316)](_0x452397,_0x2b297d)),_0x27e2a6['on'](_0x3616d1['WClhc'],(_0x74071f,_0x452e78)=>this[_0x4119f3(0x27d)](_0x74071f,_0x452e78)),_0x27e2a6['on'](_0x4119f3(0x24c),_0x2f1967=>{const _0xfe9dd8=_0x4119f3;logger['warn']({'event':_0xfe9dd8(0x303),'jobId':_0x2f1967},_0xfe9dd8(0x2c1)+_0x2f1967);}),_0x27e2a6['on'](_0x3616d1[_0x4119f3(0x315)],_0x4c5243=>{const _0x4ec387=_0x4119f3;logger['error']({'event':'bullmq_worker_error','queue':_0x585d0e,'error':_0x4c5243['message']},'BullMQ\x20Worker\x20error\x20('+_0x585d0e+_0x4ec387(0x251)+_0x4c5243[_0x4ec387(0x211)]);}),this[_0x4119f3(0x293)][_0x585d0e]=_0x27e2a6;}logger['info']({'event':_0x4119f3(0x2a0),'count':0x3,'concurrency':_0x423831},_0x4119f3(0x31c)+_0x423831+')');let _0x1c8eee=0x0;for(const _0xddf0f0 of _0x66e655){try{await this[_0x4119f3(0x28b)](_0xddf0f0),_0x1c8eee++;}catch(_0x43d9b1){logger['error']({'event':_0x3616d1['mfhXv'],'name':_0xddf0f0['name'],'error':_0x43d9b1[_0x4119f3(0x211)]},_0x4119f3(0x2c5)+_0xddf0f0['name']+'\x20—\x20'+_0x43d9b1['message']);}}this[_0x4119f3(0x301)]=!![];const _0x51da9b=this[_0x4119f3(0x2d7)][_0x4119f3(0x30a)];logger['info']({'event':_0x4119f3(0x248),'registeredJobs':_0x1c8eee,'totalConfigs':_0x66e655[_0x4119f3(0x30a)],'redisConnections':_0x51da9b},_0x4119f3(0x2b5)+_0x1c8eee+'\x20job(s)\x20registered,\x20'+_0x51da9b+'\x20Redis\x20connections');}async[a0_0x41c21b(0x265)](){const _0x3f3f86=a0_0x41c21b,_0x5d8449={'WYuKX':function(_0x152dd0,_0x2c8ccc,_0x56b9d8){return _0x152dd0(_0x2c8ccc,_0x56b9d8);},'iaMuT':_0x3f3f86(0x207),'ACBRY':function(_0x22175a,_0x518119){return _0x22175a<_0x518119;},'ZvQKu':function(_0x2c69a3,_0x528c3a){return _0x2c69a3===_0x528c3a;},'VqtvN':'Job\x20Manager\x20shutdown\x20complete'};if(!this[_0x3f3f86(0x301)])return;const _0x2f9b38=_0x5d8449[_0x3f3f86(0x1eb)](parseInt,process['env'][_0x3f3f86(0x330)],0xa)||0x2710;logger[_0x3f3f86(0x288)]({'event':_0x5d8449[_0x3f3f86(0x2b2)],'timeoutMs':_0x2f9b38},_0x3f3f86(0x212)+_0x2f9b38+_0x3f3f86(0x338));const _0x4dc683=Object['values'](this['workers'])[_0x3f3f86(0x22a)](async _0xfbdd67=>{const _0x46d330=_0x3f3f86;try{await _0xfbdd67[_0x46d330(0x311)]();}catch(_0x59838d){}});await Promise['all'](_0x4dc683);const _0x493828=Date[_0x3f3f86(0x310)]();while(_0x5d8449[_0x3f3f86(0x245)](Date[_0x3f3f86(0x310)]()-_0x493828,_0x2f9b38)){let _0x2ae597=0x0;for(const _0x3e8e02 of Object['values'](this['queues'])){try{const _0x3f8a02=await _0x3e8e02['getJobCounts'](_0x3f3f86(0x227));_0x2ae597+=_0x3f8a02['active']||0x0;}catch(_0x371aed){}}if(_0x5d8449['ZvQKu'](_0x2ae597,0x0))break;await new Promise(_0x3868e3=>setTimeout(_0x3868e3,0x1f4));}const _0xe4726=Object['values'](this['workers'])[_0x3f3f86(0x22a)](async _0x42607a=>{const _0x47c9dc=_0x3f3f86;try{await _0x42607a[_0x47c9dc(0x267)]();}catch(_0x106eb2){}});await Promise[_0x3f3f86(0x323)](_0xe4726);const _0x29effa=Object[_0x3f3f86(0x31a)](this['queues'])[_0x3f3f86(0x22a)](async _0x39d165=>{try{await _0x39d165['close']();}catch(_0x24d936){}});await Promise['all'](_0x29effa);for(const _0x57b3f6 of this[_0x3f3f86(0x2d7)]){try{await _0x57b3f6[_0x3f3f86(0x223)]();}catch(_0x38aa38){}}this['queues']={},this['workers']={},this['connections']=[],await this[_0x3f3f86(0x22c)](),this[_0x3f3f86(0x1ed)]['clear'](),this['initialized']=![],logger['info']({'event':'job_manager_shutdown_complete'},_0x5d8449['VqtvN']);}[a0_0x41c21b(0x2a3)](){const _0x40c171=a0_0x41c21b,_0x31de32={'TFjSZ':'job_config_dir_missing','VOBgM':_0x40c171(0x257),'oToxk':'job_configs_loaded'},_0x55552c=path[_0x40c171(0x2fd)](this[_0x40c171(0x285)],_0x40c171(0x236),'jobs');if(!fs['existsSync'](_0x55552c))return logger[_0x40c171(0x288)]({'event':_0x31de32[_0x40c171(0x25a)],'path':_0x55552c},_0x40c171(0x329)),[];const _0x2abbde=fs[_0x40c171(0x23b)](_0x55552c)[_0x40c171(0x280)](_0x28fc5b=>_0x28fc5b['endsWith']('.json')),_0x33046d=[];for(const _0x4f709c of _0x2abbde){const _0x3ef018=path[_0x40c171(0x2fd)](_0x55552c,_0x4f709c);try{const _0x363f0e=fs['readFileSync'](_0x3ef018,_0x40c171(0x204)),_0x263cdb=JSON[_0x40c171(0x309)](_0x363f0e);_0x263cdb['_sourceFile']=_0x4f709c,_0x33046d['push'](_0x263cdb);}catch(_0x3069ea){logger['error']({'event':_0x31de32['VOBgM'],'file':_0x4f709c,'error':_0x3069ea[_0x40c171(0x211)]},_0x40c171(0x324)+_0x4f709c+_0x40c171(0x23d)+_0x3069ea['message']);}}return logger['info']({'event':_0x31de32[_0x40c171(0x1ef)],'count':_0x33046d['length']},'Loaded\x20'+_0x33046d['length']+_0x40c171(0x2d2)),_0x33046d;}async['registerJob'](_0x29eed8){const _0x11256f=a0_0x41c21b,_0x36cf43={'sIfqt':function(_0x46ef8b,_0x4f7424){return _0x46ef8b!==_0x4f7424;},'XQZTT':'default','FfTtC':'cron','ihVMA':_0x11256f(0x1ee),'WdNhP':function(_0x5910df,_0x4c043b){return _0x5910df===_0x4c043b;},'YBPVA':function(_0x111724,_0x592402){return _0x111724===_0x592402;},'yBJrX':'online'},_0x2435ae=path[_0x11256f(0x2fd)](this[_0x11256f(0x285)],'src',_0x11256f(0x228),_0x29eed8['handler']+'.js');this[_0x11256f(0x2db)][_0x29eed8['name']]=require(_0x2435ae),this['jobConfigs'][_0x29eed8[_0x11256f(0x234)]]=_0x29eed8;if(_0x29eed8['type']==='cron'&&_0x36cf43['sIfqt'](_0x29eed8['enabled'],![])){const _0x399130=this['queues'][_0x29eed8['queue']||_0x36cf43[_0x11256f(0x25f)]];await _0x399130[_0x11256f(0x24a)](_0x29eed8[_0x11256f(0x234)],{'pattern':_0x29eed8['schedule'],'tz':_0x29eed8['timezone']||undefined},{'name':_0x29eed8[_0x11256f(0x234)],'data':{'handler':_0x29eed8['handler'],'triggeredBy':_0x36cf43[_0x11256f(0x319)],'metadata':_0x29eed8['metadata']||{}},'opts':{'attempts':_0x29eed8['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0x29eed8[_0x11256f(0x269)]?.[_0x11256f(0x284)]||_0x36cf43[_0x11256f(0x1fd)],'delay':_0x29eed8['retry']?.[_0x11256f(0x23a)]||0x1388},'timeout':_0x29eed8['timeout']||0x7530}}),logger[_0x11256f(0x288)]({'event':_0x11256f(0x22e),'name':_0x29eed8['name'],'schedule':_0x29eed8['schedule'],'queue':_0x29eed8['queue']||_0x36cf43[_0x11256f(0x25f)]},_0x11256f(0x2d6)+_0x29eed8['name']+'\x20['+_0x29eed8[_0x11256f(0x31f)]+']');}const _0x9ec54a=_0x36cf43['WdNhP'](_0x29eed8['type'],_0x36cf43[_0x11256f(0x319)])&&_0x36cf43[_0x11256f(0x2d9)](_0x29eed8['enabled'],![])?'online':_0x11256f(0x2ef);let _0x177ab9=null;_0x36cf43['YBPVA'](_0x9ec54a,_0x36cf43['yBJrX'])&&(_0x177ab9=await this['getNextRunFromBullMQ'](_0x29eed8['name'])),await this['upsertJobRegistry'](_0x29eed8,_0x9ec54a,_0x177ab9);}async[a0_0x41c21b(0x2e8)](_0x49e29c){const _0xd4116a=a0_0x41c21b,_0x3be1f1={'FftKd':'job_history_insert_bg_error','mfpMv':function(_0x63e02c,_0x481ed4){return _0x63e02c+_0x481ed4;},'vxKmO':function(_0x5e6608,_0x21a1ab){return _0x5e6608===_0x21a1ab;},'Aelvm':_0xd4116a(0x2dd),'CXvev':function(_0x53aea1,_0x44b309){return _0x53aea1===_0x44b309;},'BHolJ':_0xd4116a(0x2a7),'fGdxH':_0xd4116a(0x30f),'YCyUy':'cron','yQNYe':_0xd4116a(0x20f),'VXoPR':function(_0x2fc5e6,_0x270495){return _0x2fc5e6+_0x270495;},'tdeFn':function(_0x30fd4e){return _0x30fd4e();},'zAfZt':function(_0xb9d29e,_0x446bf3){return _0xb9d29e===_0x446bf3;},'ACMXS':_0xd4116a(0x2c6),'eOhuk':function(_0x5fd163,_0x26554e){return _0x5fd163(_0x26554e);},'RbjMd':'job_handler_done'},_0x33de58=this[_0xd4116a(0x2a8)][_0x49e29c[_0xd4116a(0x234)]],_0x1b2399=this['handlers'][_0x49e29c[_0xd4116a(0x234)]];if(!_0x1b2399)throw new Error(_0xd4116a(0x286)+_0x49e29c['name']);const _0x1242fe=logger['child']({'jobId':_0x49e29c['id'],'jobName':_0x49e29c[_0xd4116a(0x234)]});_0x1242fe['info']({'event':'job_started','attempt':_0x49e29c['attemptsMade']+0x1,'triggeredBy':_0x49e29c[_0xd4116a(0x2a1)]?.[_0xd4116a(0x1fb)]||_0xd4116a(0x221)},'Job\x20started:\x20'+_0x49e29c[_0xd4116a(0x234)]+_0xd4116a(0x237)+_0x3be1f1[_0xd4116a(0x20d)](_0x49e29c[_0xd4116a(0x244)],0x1)+')');const _0x288139=uuidv7(),_0x57297e=_0x49e29c['data']?.['triggeredBy']||'unknown',_0x3586a9=this['insertJobHistory']({'id':_0x288139,'jobName':_0x49e29c[_0xd4116a(0x234)],'bullmqJobId':_0x49e29c['id'],'triggerType':_0x3be1f1[_0xd4116a(0x1e9)](_0x57297e,_0x3be1f1[_0xd4116a(0x27a)])?'delayed':_0x3be1f1[_0xd4116a(0x32d)](_0x57297e,_0x3be1f1[_0xd4116a(0x263)])?_0x3be1f1[_0xd4116a(0x2d3)]:_0x3be1f1['YCyUy'],'triggeredBy':_0x57297e===_0x3be1f1[_0xd4116a(0x25c)]?'system':_0x57297e,'queue':_0x33de58?.['queue']||_0x3be1f1[_0xd4116a(0x243)],'attempt':_0x3be1f1['VXoPR'](_0x49e29c['attemptsMade'],0x1),'configFile':_0x33de58?.['_sourceFile']||null})['catch'](_0x377f7a=>{const _0x37d46e=_0xd4116a;_0x1242fe['warn']({'event':_0x3be1f1[_0x37d46e(0x264)],'error':_0x377f7a['message']},'Background\x20insert\x20job\x20history\x20failed:\x20'+_0x377f7a[_0x37d46e(0x211)]);});this[_0xd4116a(0x1ed)]['set'](_0x49e29c['id'],{'historyId':_0x288139,'insertPromise':_0x3586a9});const _0x11f667=this['buildContext'](_0x49e29c,_0x33de58,_0x1242fe),_0x379252=_0x3be1f1[_0xd4116a(0x247)](getComponentEngine);if(_0x379252&&_0x3be1f1[_0xd4116a(0x283)](typeof _0x379252['executeEventHandlers'],_0x3be1f1[_0xd4116a(0x2cd)])){const _0x250520=await _0x379252['executeEventHandlers'](_0xd4116a(0x26b),_0x11f667,!![]);if(!_0x250520[_0xd4116a(0x202)])throw new Error(_0xd4116a(0x1fc)+_0x250520['error']);}const _0x498da9=await _0x3be1f1['eOhuk'](_0x1b2399,_0x11f667);return _0x1242fe[_0xd4116a(0x288)]({'event':_0x3be1f1[_0xd4116a(0x30b)],'result':_0x498da9},_0xd4116a(0x24e)+_0x49e29c[_0xd4116a(0x234)]),_0x498da9;}['buildContext'](_0x50d57c,_0x5641d3,_0x4f3f6a){const _0x231fcf=a0_0x41c21b,_0x971eca={'LGdIn':_0x231fcf(0x219),'CGotw':'job-scheduler'};return{'jobId':_0x50d57c['id'],'jobName':_0x50d57c[_0x231fcf(0x234)],'attempt':_0x50d57c[_0x231fcf(0x244)]+0x1,'maxAttempts':_0x5641d3?.['retry']?.[_0x231fcf(0x317)]||0x3,'payload':_0x50d57c['data']||{},'config':_0x5641d3||{},'db':this['getDbUtils'](),'redis':this['getRedisClient'](),'logger':_0x4f3f6a,'kafka':this['getKafkaService'](),'cache':this[_0x231fcf(0x290)](),'updateProgress':async _0x6124bf=>{const _0x57c1c8=_0x231fcf;await _0x50d57c[_0x57c1c8(0x29c)](_0x6124bf);},'emit':async(_0x16a167,_0x296303)=>{const _0x56bf76=_0x231fcf,_0x1f359e=this[_0x56bf76(0x258)]();_0x1f359e&&await _0x1f359e[_0x56bf76(0x295)](_0x16a167,_0x971eca[_0x56bf76(0x2e6)],null,_0x296303,{'module':_0x971eca[_0x56bf76(0x1ea)],'endpoint':_0x50d57c[_0x56bf76(0x234)]});},'job':_0x50d57c};}['getDbType'](){const _0x5b1019=a0_0x41c21b,_0x337297={'IzOdm':_0x5b1019(0x297)};return(process[_0x5b1019(0x261)][_0x5b1019(0x1f6)]||_0x337297[_0x5b1019(0x332)])[_0x5b1019(0x1f2)]();}async[a0_0x41c21b(0x1f1)](){const _0x574135=a0_0x41c21b,_0x10d63f={'KtufJ':'Database\x20tidak\x20tersedia,\x20skip\x20auto-create\x20job\x20tables','zyAqE':_0x574135(0x28d),'uMcnd':'oracle.sql','dQYih':_0x574135(0x2af),'mtBVm':'utf8','jHfwj':_0x574135(0x25b)},_0x4abc47=this['getDbUtils']();if(!_0x4abc47){logger['warn']({'event':_0x574135(0x1ec)},_0x10d63f['KtufJ']);return;}const _0x5674fc=this['getDbType'](),_0x3a9e1e={'postgresql':_0x10d63f['zyAqE'],'oracle':_0x10d63f['uMcnd'],'mysql':'mysql.sql'},_0x4adca7=_0x3a9e1e[_0x5674fc];if(!_0x4adca7){logger[_0x574135(0x2bc)]({'event':'job_db_type_unsupported','dbType':_0x5674fc},_0x574135(0x26c)+_0x5674fc+_0x574135(0x26d));return;}const _0x3c9e2d=path['join'](__dirname,_0x10d63f['dQYih'],_0x4adca7);if(!fs[_0x574135(0x255)](_0x3c9e2d)){logger[_0x574135(0x2bc)]({'event':'job_sql_not_found','path':_0x3c9e2d},'SQL\x20script\x20tidak\x20ditemukan:\x20'+_0x3c9e2d);return;}const _0x62a33c=fs[_0x574135(0x270)](_0x3c9e2d,_0x10d63f['mtBVm']),_0x5c1656=this['splitSqlStatements'](_0x62a33c,_0x5674fc);let _0x2c6b97=0x0;for(const _0x428cca of _0x5c1656){try{await _0x4abc47[_0x574135(0x2df)](_0x428cca),_0x2c6b97++;}catch(_0x3a6989){const _0x26c703=(_0x3a6989['message']||'')[_0x574135(0x1f2)](),_0x27c6d3=_0x26c703['includes'](_0x10d63f[_0x574135(0x2ab)])||_0x26c703[_0x574135(0x2ce)]('ora-00955')||_0x26c703[_0x574135(0x2ce)](_0x574135(0x268));!_0x27c6d3&&logger[_0x574135(0x2bc)]({'event':_0x574135(0x27c),'error':_0x3a6989['message']},'Job\x20ensureTables\x20warning:\x20'+_0x3a6989[_0x574135(0x211)]);}}logger[_0x574135(0x288)]({'event':'job_tables_ensured','dbType':_0x5674fc,'executed':_0x2c6b97},_0x574135(0x2ad)+_0x5674fc+')');}[a0_0x41c21b(0x26e)](_0x5b2d64,_0x2c0f1e){const _0x4ce0d6=a0_0x41c21b,_0x1bd232={'CCCZY':function(_0x5ed460,_0x20e6ec){return _0x5ed460===_0x20e6ec;},'yijPP':'oracle'};let _0x1239ad;return _0x1bd232[_0x4ce0d6(0x300)](_0x2c0f1e,_0x1bd232['yijPP'])?_0x1239ad=_0x5b2d64[_0x4ce0d6(0x28a)](/\n\/\s*(?:\n|$)/):_0x1239ad=_0x5b2d64[_0x4ce0d6(0x28a)](/;\s*(?:\n|$)/),_0x1239ad['map'](_0x5772a4=>_0x5772a4[_0x4ce0d6(0x322)]())[_0x4ce0d6(0x280)](_0x3dea76=>{const _0x39db48=_0x4ce0d6;if(_0x3dea76['length']===0x0)return![];const _0x274624=_0x3dea76[_0x39db48(0x28a)]('\x0a')[_0x39db48(0x280)](_0x232d64=>!_0x232d64[_0x39db48(0x322)]()['startsWith']('--')&&_0x232d64[_0x39db48(0x322)]()[_0x39db48(0x30a)]>0x0);return _0x274624[_0x39db48(0x30a)]>0x0;});}async['upsertJobRegistry'](_0x265ca4,_0x365bfb='online',_0x1608f6=null){const _0x63c89a=a0_0x41c21b,_0x30165a={'UAQnM':_0x63c89a(0x1ee),'exTSC':function(_0x12eca6,_0x33836a){return _0x12eca6===_0x33836a;},'ByASE':_0x63c89a(0x2e4)},_0x1f556a=this['getDbUtils']();if(!_0x1f556a)return;const _0x50678f=this['getDbType'](),_0x9d25ad=[_0x265ca4[_0x63c89a(0x234)],_0x265ca4['description']||_0x265ca4[_0x63c89a(0x234)],_0x265ca4['type']||'cron',_0x265ca4[_0x63c89a(0x31f)]||null,_0x265ca4['queue']||'default',_0x265ca4['handler'],_0x265ca4[_0x63c89a(0x28c)]||'',_0x265ca4[_0x63c89a(0x200)]||0x7530,_0x265ca4[_0x63c89a(0x269)]?.[_0x63c89a(0x317)]||0x3,_0x265ca4[_0x63c89a(0x269)]?.['backoff']||_0x30165a['UAQnM'],_0x365bfb,_0x1608f6];try{if(_0x30165a[_0x63c89a(0x1f5)](_0x50678f,'oracle'))await _0x1f556a['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)',_0x9d25ad);else _0x50678f===_0x30165a[_0x63c89a(0x2be)]?await _0x1f556a[_0x63c89a(0x2df)]('INSERT\x20INTO\x20job_registry\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(job_name,\x20display_name,\x20type,\x20schedule,\x20queue,\x20handler,\x20config_file,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout,\x20retry_max,\x20retry_backoff,\x20status,\x20next_run_at,\x20created_at,\x20updated_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20NOW(),\x20NOW())\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20DUPLICATE\x20KEY\x20UPDATE\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display_name\x20=\x20VALUES(display_name),\x20type\x20=\x20VALUES(type),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20schedule\x20=\x20VALUES(schedule),\x20queue\x20=\x20VALUES(queue),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20handler\x20=\x20VALUES(handler),\x20config_file\x20=\x20VALUES(config_file),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout\x20=\x20VALUES(timeout),\x20retry_max\x20=\x20VALUES(retry_max),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20retry_backoff\x20=\x20VALUES(retry_backoff),\x20status\x20=\x20VALUES(status),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20VALUES(next_run_at)',_0x9d25ad):await _0x1f556a[_0x63c89a(0x2df)]('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()',_0x9d25ad);}catch(_0x5722b8){logger['warn']({'event':'job_registry_upsert_error','name':_0x265ca4[_0x63c89a(0x234)],'error':_0x5722b8[_0x63c89a(0x211)]},'Failed\x20to\x20upsert\x20job\x20registry:\x20'+_0x265ca4['name']+'\x20—\x20'+_0x5722b8[_0x63c89a(0x211)]);}}async['insertJobHistory'](_0x1abda0){const _0x4670a2=a0_0x41c21b,_0x40604f={'UHOps':_0x4670a2(0x327),'nrLzM':_0x4670a2(0x20f),'qoIav':function(_0x379cad,_0x3cdbce){return _0x379cad===_0x3cdbce;},'Isbgf':'oracle','LMGFt':_0x4670a2(0x2e4),'itlDn':'running'},_0x52a5aa=this['getDbUtils']();if(!_0x52a5aa)return;const _0x4a70c4=this[_0x4670a2(0x2f1)](),_0xd81020=[_0x1abda0['id'],_0x1abda0[_0x4670a2(0x2da)],_0x1abda0[_0x4670a2(0x2d8)]||null,_0x1abda0['triggerType']||_0x4670a2(0x21f),_0x1abda0['triggeredBy']||_0x40604f[_0x4670a2(0x1fa)],_0x1abda0['queue']||_0x40604f['nrLzM'],_0x1abda0['attempt']||0x1,_0x1abda0['configFile']||null,process[_0x4670a2(0x216)]];try{if(_0x40604f[_0x4670a2(0x2e0)](_0x4a70c4,_0x40604f[_0x4670a2(0x32e)]))await _0x52a5aa[_0x4670a2(0x2df)](_0x4670a2(0x225),_0xd81020);else _0x40604f[_0x4670a2(0x2e0)](_0x4a70c4,_0x40604f[_0x4670a2(0x2bd)])?await _0x52a5aa['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())',_0xd81020):await _0x52a5aa[_0x4670a2(0x2df)]('INSERT\x20INTO\x20job_history\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(id,\x20job_name,\x20bullmq_job_id,\x20trigger_type,\x20triggered_by,\x20status,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20queue,\x20attempt,\x20config_file,\x20started_at,\x20worker_pid,\x20created_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20($1,\x20$2,\x20$3,\x20$4,\x20$5,\x20\x27running\x27,\x20$6,\x20$7,\x20$8,\x20NOW(),\x20$9,\x20NOW())',_0xd81020);await this['updateRegistryStatus'](_0x1abda0['jobName'],_0x40604f['itlDn']);}catch(_0x25b039){logger['warn']({'event':'job_history_insert_error','jobName':_0x1abda0['jobName'],'error':_0x25b039['message']},_0x4670a2(0x26f)+_0x25b039['message']);}}async[a0_0x41c21b(0x1fe)](_0x3ccc9d,_0x369375,_0x1f9f7c){const _0x4279d2=a0_0x41c21b,_0x488558={'jtOjC':function(_0x391c4b,_0x387869){return _0x391c4b===_0x387869;},'IGAFV':function(_0x2cf6d4,_0x307932){return _0x2cf6d4===_0x307932;},'PMozP':'job_history_complete_error'},_0xc63511=this['getDbUtils']();if(!_0xc63511)return;const _0x3ed161=this[_0x4279d2(0x2f1)](),_0x5badfe=_0x1f9f7c?String(_0x1f9f7c)['substring'](0x0,0x1f4):null;try{if(_0x488558[_0x4279d2(0x20a)](_0x3ed161,_0x4279d2(0x201)))await _0xc63511[_0x4279d2(0x2df)]('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',[_0x369375,_0x5badfe,_0x3ccc9d]);else _0x488558['IGAFV'](_0x3ed161,_0x4279d2(0x2e4))?await _0xc63511[_0x4279d2(0x2df)](_0x4279d2(0x273),[_0x369375,_0x5badfe,_0x3ccc9d]):await _0xc63511['executeQuery'](_0x4279d2(0x2b0),[_0x369375,_0x5badfe,_0x3ccc9d]);}catch(_0x41a398){logger[_0x4279d2(0x2bc)]({'event':_0x488558[_0x4279d2(0x31e)],'historyId':_0x3ccc9d,'error':_0x41a398[_0x4279d2(0x211)]},_0x4279d2(0x23c)+_0x41a398[_0x4279d2(0x211)]);}}async[a0_0x41c21b(0x262)](_0x448935,_0x30cec6,_0x422a76,_0x4eeda9,_0x284a45){const _0x1ba06b=a0_0x41c21b,_0x425098={'VYjIP':function(_0x193020,_0x493ef4){return _0x193020===_0x493ef4;},'LFgUh':function(_0x1ef4b2,_0xfd8868){return _0x1ef4b2===_0xfd8868;},'owGzn':function(_0x3ae9a0,_0x30384e){return _0x3ae9a0||_0x30384e;}},_0x50ed9f=this[_0x1ba06b(0x318)]();if(!_0x50ed9f)return;const _0x550811=this[_0x1ba06b(0x2f1)](),_0x12ef97=_0x4eeda9?String(_0x4eeda9)['substring'](0x0,0x3e8):null,_0x11aa11=_0x284a45?String(_0x284a45)[_0x1ba06b(0x287)](0x0,0xfa0):null;try{if(_0x425098[_0x1ba06b(0x2e9)](_0x550811,'oracle'))await _0x50ed9f[_0x1ba06b(0x2df)]('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',[_0x30cec6,_0x422a76||0x0,_0x12ef97,_0x11aa11,_0x448935]);else _0x425098[_0x1ba06b(0x21d)](_0x550811,_0x1ba06b(0x2e4))?await _0x50ed9f['executeQuery'](_0x1ba06b(0x2f0),[_0x30cec6,_0x422a76||0x0,_0x12ef97,_0x11aa11,_0x448935]):await _0x50ed9f[_0x1ba06b(0x2df)]('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27failed\x27,\x20completed_at\x20=\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20$1,\x20progress\x20=\x20$2,\x20error_message\x20=\x20$3,\x20error_stack\x20=\x20$4\x20WHERE\x20id\x20=\x20$5',[_0x30cec6,_0x425098['owGzn'](_0x422a76,0x0),_0x12ef97,_0x11aa11,_0x448935]);}catch(_0x5850b1){logger['warn']({'event':_0x1ba06b(0x2a2),'historyId':_0x448935,'error':_0x5850b1['message']},_0x1ba06b(0x2b7)+_0x5850b1[_0x1ba06b(0x211)]);}}async['updateRegistryStatus'](_0x2d65df,_0x4d82b9){const _0x588ace=a0_0x41c21b,_0x18587e={'GxHeM':_0x588ace(0x2e4)},_0x3fb8cd=this[_0x588ace(0x318)]();if(!_0x3fb8cd)return;const _0x5d7913=this[_0x588ace(0x2f1)]();try{if(_0x5d7913===_0x588ace(0x201))await _0x3fb8cd[_0x588ace(0x2df)](_0x588ace(0x1e8),[_0x4d82b9,_0x2d65df]);else _0x5d7913===_0x18587e[_0x588ace(0x215)]?await _0x3fb8cd[_0x588ace(0x2df)]('UPDATE\x20job_registry\x20SET\x20last_status\x20=\x20?,\x20last_run_at\x20=\x20NOW()\x20WHERE\x20job_name\x20=\x20?',[_0x4d82b9,_0x2d65df]):await _0x3fb8cd[_0x588ace(0x2df)](_0x588ace(0x218),[_0x4d82b9,_0x2d65df]);}catch(_0x1d11c0){}}async[a0_0x41c21b(0x2a5)](_0x49b8ab,_0x3e20ea,_0x39e2cf,_0x3f8a74){const _0x116be0=a0_0x41c21b,_0xe39fe5={'HYLkm':function(_0x2d34b3,_0x5845a0){return _0x2d34b3===_0x5845a0;},'KESMy':'success','bBtDu':_0x116be0(0x2ea),'IrWxu':'mysql','RvltY':_0x116be0(0x2c7)},_0x54aa0a=this['getDbUtils']();if(!_0x54aa0a)return;const _0x41795d=this['getDbType'](),_0x4f11f9=_0xe39fe5[_0x116be0(0x242)](_0x3e20ea,_0xe39fe5[_0x116be0(0x2a6)])?'total_success':_0xe39fe5[_0x116be0(0x2ed)];try{if(_0xe39fe5[_0x116be0(0x242)](_0x41795d,'oracle'))await _0x54aa0a['executeQuery'](_0x116be0(0x2e1)+_0x4f11f9+_0x116be0(0x289)+_0x4f11f9+_0x116be0(0x1f9),[_0x3e20ea,_0x39e2cf,_0x3f8a74,_0x49b8ab]);else _0x41795d===_0xe39fe5[_0x116be0(0x2eb)]?await _0x54aa0a['executeQuery'](_0x116be0(0x2cb)+_0x4f11f9+_0x116be0(0x289)+_0x4f11f9+'\x20+\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20?\x20WHERE\x20job_name\x20=\x20?',[_0x3e20ea,_0x39e2cf,_0x3f8a74,_0x49b8ab]):await _0x54aa0a['executeQuery'](_0x116be0(0x28e)+_0x4f11f9+_0x116be0(0x289)+_0x4f11f9+'\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',[_0x3e20ea,_0x39e2cf,_0x3f8a74,_0x49b8ab]);}catch(_0x2042d2){logger['warn']({'event':_0xe39fe5[_0x116be0(0x2de)],'jobName':_0x49b8ab,'error':_0x2042d2['message']},_0x116be0(0x2cc)+_0x2042d2[_0x116be0(0x211)]);}}async['getNextRunFromBullMQ'](_0x5deb5c){const _0x3218dd=a0_0x41c21b,_0x5d9311={'qeBMW':function(_0x4befd6,_0xb0824e){return _0x4befd6===_0xb0824e;},'nHraV':'default','StHaC':_0x3218dd(0x2c6)},_0x4181ee=this['jobConfigs'][_0x5deb5c];if(!_0x4181ee||_0x4181ee['type']!=='cron'||_0x5d9311[_0x3218dd(0x254)](_0x4181ee['enabled'],![]))return null;const _0x2cf846=this['queues'][_0x4181ee[_0x3218dd(0x2f4)]||_0x5d9311['nHraV']];if(!_0x2cf846)return null;try{if(typeof _0x2cf846[_0x3218dd(0x2b9)]===_0x5d9311[_0x3218dd(0x2fb)]){const _0x85ef74=await _0x2cf846['getJobSchedulers'](0x0,0x64),_0x2381f1=_0x85ef74[_0x3218dd(0x2c0)](_0x5b091a=>_0x5b091a['name']===_0x5deb5c);return _0x2381f1?.['next']?new Date(_0x2381f1[_0x3218dd(0x2c2)]):null;}}catch(_0x1bfb52){}return null;}async[a0_0x41c21b(0x22c)](){const _0x553e4b=a0_0x41c21b,_0x41d026={'ZRjGW':_0x553e4b(0x201),'GdIko':_0x553e4b(0x2e2)},_0x4bf8ba=this['getDbUtils']();if(!_0x4bf8ba)return;const _0x34b3d5=this['getDbType']();try{if(_0x34b3d5===_0x41d026['ZRjGW'])await _0x4bf8ba[_0x553e4b(0x2df)](_0x553e4b(0x2f2));else _0x34b3d5===_0x553e4b(0x2e4)?await _0x4bf8ba[_0x553e4b(0x2df)]('UPDATE\x20job_registry\x20SET\x20status\x20=\x20\x27offline\x27,\x20next_run_at\x20=\x20NULL'):await _0x4bf8ba[_0x553e4b(0x2df)]('UPDATE\x20job_registry\x20SET\x20status\x20=\x20\x27offline\x27,\x20next_run_at\x20=\x20NULL,\x20updated_at\x20=\x20NOW()');}catch(_0x3207a3){logger[_0x553e4b(0x2bc)]({'event':_0x41d026['GdIko'],'error':_0x3207a3['message']},'Failed\x20to\x20set\x20jobs\x20offline:\x20'+_0x3207a3[_0x553e4b(0x211)]);}}[a0_0x41c21b(0x318)](){const _0x91498d=a0_0x41c21b,_0x36ae9e={'VDRXJ':function(_0x277953,_0x3ed75f){return _0x277953(_0x3ed75f);},'FBxdu':function(_0x43769f,_0x33cd72){return _0x43769f===_0x33cd72;},'xQgJW':'mysql','JbKYz':function(_0x38c0fa,_0x32b166){return _0x38c0fa(_0x32b166);},'uODXr':_0x91498d(0x328),'eZCYl':'db_pg_unavailable'},_0x5737aa=(process[_0x91498d(0x261)][_0x91498d(0x1f6)]||'postgresql')[_0x91498d(0x1f2)]();if(_0x5737aa===_0x91498d(0x201))try{const _0x8ed86=_0x36ae9e['VDRXJ'](require,_0x91498d(0x220));return{'executeQuery':(_0x29b91f,_0x1c0ffe)=>_0x8ed86['executeQuery'](_0x29b91f,_0x1c0ffe),'executeTransaction':_0x405e68=>_0x8ed86['executeTransaction'](_0x405e68),'getPool':()=>_0x8ed86['getPool']()};}catch(_0x33de46){return logger[_0x91498d(0x2bc)]({'event':_0x91498d(0x21b)},'Oracle\x20DB\x20module\x20not\x20available'),null;}if(_0x36ae9e[_0x91498d(0x2d1)](_0x5737aa,_0x36ae9e['xQgJW']))try{const _0x28fa9a=require(_0x91498d(0x2ff));return{'executeQuery':(_0xc9a72c,_0x21b948)=>_0x28fa9a[_0x91498d(0x2df)](_0xc9a72c,_0x21b948),'executeTransaction':_0x5af4f4=>_0x28fa9a[_0x91498d(0x279)](_0x5af4f4),'getPool':()=>_0x28fa9a['getPool']()};}catch(_0x277b41){return logger['warn']({'event':_0x91498d(0x253)},_0x91498d(0x2b3)),null;}try{const _0x4e7eb5=_0x36ae9e['JbKYz'](require,_0x36ae9e[_0x91498d(0x31d)]);return{'executeQuery':_0x4e7eb5['executeQuery'],'executeTransaction':_0x4e7eb5['executeTransaction'],'getPool':_0x4e7eb5[_0x91498d(0x217)]};}catch(_0x136aa7){return logger[_0x91498d(0x2bc)]({'event':_0x36ae9e[_0x91498d(0x26a)]},'PostgreSQL\x20DB\x20module\x20not\x20available'),null;}}['getRedisClient'](){const _0x54d8b8=a0_0x41c21b;try{const _0x4232c5=require(_0x54d8b8(0x20e));return _0x4232c5['getClient']?_0x4232c5['getClient']():_0x4232c5;}catch(_0x5c7014){return null;}}[a0_0x41c21b(0x258)](){const _0x54ab62=a0_0x41c21b,_0x5aa7ae={'qbhHf':_0x54ab62(0x2bb)};try{if(process[_0x54ab62(0x261)]['KAFKA_ENABLED']===_0x54ab62(0x2b8)){const _0x3983fc=require(_0x5aa7ae[_0x54ab62(0x2fa)]);return _0x3983fc[_0x54ab62(0x305)]?_0x3983fc['getInstance']():_0x3983fc;}}catch(_0x5c0127){}return null;}[a0_0x41c21b(0x290)](){const _0x267f75=a0_0x41c21b,_0x3041aa={'aRERX':function(_0x72fd7e,_0x5c5e17){return _0x72fd7e(_0x5c5e17);},'fPTFu':'../../utils/cache-manager'};try{return _0x3041aa[_0x267f75(0x32f)](require,_0x3041aa[_0x267f75(0x29e)]);}catch(_0x40d3a6){return null;}}async[a0_0x41c21b(0x206)](_0x58bc36,_0x1831ff={}){const _0x1a7fb2=a0_0x41c21b,_0x394487={'kAyTb':_0x1a7fb2(0x2a7)},_0x13210c=this[_0x1a7fb2(0x2a8)][_0x58bc36];if(!_0x13210c)throw new Error(_0x1a7fb2(0x2ee)+_0x58bc36);const _0x3a7a6=this[_0x1a7fb2(0x21e)][_0x13210c[_0x1a7fb2(0x2f4)]||'default'],_0x1fc2d1=await _0x3a7a6['add'](_0x58bc36,{..._0x1831ff,'handler':_0x13210c['handler'],'triggeredBy':_0x394487[_0x1a7fb2(0x2f7)]},{'attempts':_0x13210c['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0x13210c[_0x1a7fb2(0x269)]?.[_0x1a7fb2(0x284)]||_0x1a7fb2(0x1ee),'delay':_0x13210c['retry']?.['initialDelay']||0x1388},'timeout':_0x13210c[_0x1a7fb2(0x200)]||0x7530});return logger[_0x1a7fb2(0x288)]({'event':'job_dispatched','jobId':_0x1fc2d1['id'],'name':_0x58bc36,'triggeredBy':_0x394487[_0x1a7fb2(0x2f7)]},_0x1a7fb2(0x2ba)+_0x58bc36+'\x20(id:\x20'+_0x1fc2d1['id']+')'),{'jobId':_0x1fc2d1['id'],'name':_0x58bc36};}async[a0_0x41c21b(0x2f5)](_0x2b80d0,_0x9faad={},_0x18b8ab=0x0){const _0x5f3db6=a0_0x41c21b,_0x12f51f={'yUpQa':'default'},_0xbdaf5c=this['jobConfigs'][_0x2b80d0];if(!_0xbdaf5c)throw new Error(_0x5f3db6(0x2ee)+_0x2b80d0);const _0x5a4725=this['queues'][_0xbdaf5c['queue']||_0x12f51f[_0x5f3db6(0x302)]],_0x406a8d=await _0x5a4725['add'](_0x2b80d0,{..._0x9faad,'handler':_0xbdaf5c[_0x5f3db6(0x20b)],'triggeredBy':_0x5f3db6(0x2dd)},{'delay':_0x18b8ab,'attempts':_0xbdaf5c[_0x5f3db6(0x269)]?.['maxAttempts']||0x3,'backoff':{'type':_0xbdaf5c['retry']?.['backoff']||_0x5f3db6(0x1ee),'delay':_0xbdaf5c[_0x5f3db6(0x269)]?.[_0x5f3db6(0x23a)]||0x1388},'timeout':_0xbdaf5c['timeout']||0x7530});return logger[_0x5f3db6(0x288)]({'event':_0x5f3db6(0x29f),'jobId':_0x406a8d['id'],'name':_0x2b80d0,'delayMs':_0x18b8ab},_0x5f3db6(0x23e)+_0x18b8ab+_0x5f3db6(0x224)+_0x2b80d0+_0x5f3db6(0x231)+_0x406a8d['id']+')'),{'jobId':_0x406a8d['id'],'name':_0x2b80d0};}async['getJobStatus'](_0x49fa8f){const _0x41e4a3=a0_0x41c21b;for(const _0x9ded05 of Object[_0x41e4a3(0x31a)](this['queues'])){const _0x3b424a=await _0x9ded05['getJob'](_0x49fa8f);if(_0x3b424a){const _0x5ee248=await _0x3b424a[_0x41e4a3(0x1f0)]();return{'jobId':_0x3b424a['id'],'name':_0x3b424a[_0x41e4a3(0x234)],'state':_0x5ee248,'progress':_0x3b424a['progress'],'attemptsMade':_0x3b424a[_0x41e4a3(0x244)],'failedReason':_0x3b424a['failedReason'],'returnvalue':_0x3b424a[_0x41e4a3(0x275)],'data':_0x3b424a[_0x41e4a3(0x2a1)],'timestamps':{'created':_0x3b424a[_0x41e4a3(0x282)],'started':_0x3b424a['processedOn'],'completed':_0x3b424a['finishedOn']}};}}return null;}[a0_0x41c21b(0x32a)](){const _0x497326=a0_0x41c21b;return Object[_0x497326(0x31a)](this[_0x497326(0x2a8)])['map'](_0x1cc441=>({'name':_0x1cc441[_0x497326(0x234)],'description':_0x1cc441[_0x497326(0x32c)]||'','type':_0x1cc441['type'],'schedule':_0x1cc441['schedule'],'handler':_0x1cc441[_0x497326(0x20b)],'enabled':_0x1cc441['enabled']!==![],'queue':_0x1cc441['queue']||'default','timeout':_0x1cc441['timeout']||0x7530,'retry':_0x1cc441[_0x497326(0x269)]||{'maxAttempts':0x3,'backoff':'exponential','initialDelay':0x1388},'metadata':_0x1cc441['metadata']||{}}));}async[a0_0x41c21b(0x22d)](){const _0x2e23ec=a0_0x41c21b,_0x264a79=[];for(const [_0x1a100d,_0x3563ab]of Object['entries'](this['queues'])){const _0x430351=await _0x3563ab[_0x2e23ec(0x233)]([_0x2e23ec(0x227)]);for(const _0x5e30fb of _0x430351){_0x264a79[_0x2e23ec(0x325)]({'jobId':_0x5e30fb['id'],'name':_0x5e30fb[_0x2e23ec(0x234)],'queue':_0x1a100d,'progress':_0x5e30fb['progress'],'attemptsMade':_0x5e30fb[_0x2e23ec(0x244)],'startedAt':_0x5e30fb[_0x2e23ec(0x2ca)]});}}return _0x264a79;}async['getHistory'](_0x2331b7={}){const _0x3904f7=a0_0x41c21b,_0x510243={'TpdMg':function(_0x596476,_0x47d2e0,_0x41184e){return _0x596476(_0x47d2e0,_0x41184e);},'UwyAO':function(_0x5ecf53,_0x216992,_0x5dd4af){return _0x5ecf53(_0x216992,_0x5dd4af);},'uMEeR':function(_0xf34aed,_0x52a19b){return _0xf34aed*_0x52a19b;},'jdLJk':function(_0x5295d5,_0x4b0bab){return _0x5295d5-_0x4b0bab;}},_0x198283=_0x510243[_0x3904f7(0x335)](parseInt,_0x2331b7[_0x3904f7(0x25d)],0xa)||0x1,_0x4ba85b=Math['min'](_0x510243[_0x3904f7(0x232)](parseInt,_0x2331b7['limit'],0xa)||0x14,0x64),_0x2bd382=_0x510243[_0x3904f7(0x229)](_0x198283-0x1,_0x4ba85b),_0x3ab7df=_0x510243[_0x3904f7(0x226)](_0x2bd382+_0x4ba85b,0x1),_0xc1d20e=[];for(const [_0x2b212c,_0x379937]of Object[_0x3904f7(0x205)](this['queues'])){const _0x401aae=await _0x379937[_0x3904f7(0x233)]([_0x3904f7(0x337)],_0x2bd382,_0x3ab7df),_0x72774c=await _0x379937['getJobs']([_0x3904f7(0x2d0)],_0x2bd382,_0x3ab7df);for(const _0x31bec1 of[..._0x401aae,..._0x72774c]){const _0x1ca375=await _0x31bec1[_0x3904f7(0x1f0)]();_0xc1d20e[_0x3904f7(0x325)]({'jobId':_0x31bec1['id'],'name':_0x31bec1[_0x3904f7(0x234)],'state':_0x1ca375,'queue':_0x2b212c,'attemptsMade':_0x31bec1['attemptsMade'],'failedReason':_0x31bec1['failedReason'],'returnvalue':_0x31bec1['returnvalue'],'timestamps':{'created':_0x31bec1[_0x3904f7(0x282)],'started':_0x31bec1[_0x3904f7(0x2ca)],'completed':_0x31bec1[_0x3904f7(0x210)]}});}}return _0xc1d20e['sort']((_0x43749c,_0x3a8e12)=>(_0x3a8e12[_0x3904f7(0x299)][_0x3904f7(0x2e5)]||0x0)-(_0x43749c[_0x3904f7(0x299)]['created']||0x0)),{'jobs':_0xc1d20e['slice'](0x0,_0x4ba85b),'total':_0xc1d20e['length'],'page':_0x198283,'limit':_0x4ba85b};}async[a0_0x41c21b(0x28f)](_0x1856a8){const _0x1d8de2=a0_0x41c21b,_0x571080={'dmYRb':function(_0x48b3b4,_0x3c1ec1){return _0x48b3b4===_0x3c1ec1;},'Vheso':_0x1d8de2(0x227),'UsEnH':'Job\x20cancelled\x20via\x20API','DLMQm':_0x1d8de2(0x1ff),'XKmcM':function(_0x4cdbed,_0x1ef4c7){return _0x4cdbed===_0x1ef4c7;},'FwCMh':'waiting','VNwDR':'delayed'};for(const _0x166796 of Object[_0x1d8de2(0x31a)](this['queues'])){const _0x82344e=await _0x166796['getJob'](_0x1856a8);if(_0x82344e){const _0x330840=await _0x82344e[_0x1d8de2(0x1f0)]();if(_0x571080[_0x1d8de2(0x214)](_0x330840,_0x571080[_0x1d8de2(0x27e)]))return await _0x82344e[_0x1d8de2(0x1f4)](new Error(_0x571080[_0x1d8de2(0x326)]),_0x571080[_0x1d8de2(0x2e3)],!![]),{'success':!![],'message':_0x1d8de2(0x30c)+_0x1856a8+'\x20cancelled\x20(was\x20active)'};if(_0x571080['XKmcM'](_0x330840,_0x571080[_0x1d8de2(0x29a)])||_0x571080['dmYRb'](_0x330840,_0x571080['VNwDR']))return await _0x82344e['remove'](),{'success':!![],'message':_0x1d8de2(0x30c)+_0x1856a8+_0x1d8de2(0x24b)+_0x330840+')'};return{'success':![],'message':'Job\x20'+_0x1856a8+_0x1d8de2(0x1f8)+_0x330840+')'};}}return{'success':![],'message':'Job\x20'+_0x1856a8+'\x20tidak\x20ditemukan'};}async[a0_0x41c21b(0x21a)](){const _0x37faad=a0_0x41c21b,_0x56601e={'YvDlO':_0x37faad(0x227),'jwnHe':_0x37faad(0x2ac),'xnnbj':'paused','pYGRX':_0x37faad(0x21c)},_0x6ba6bd={};for(const [_0x297e10,_0x8b39c0]of Object[_0x37faad(0x205)](this[_0x37faad(0x21e)])){try{const _0x5cc23b=await _0x8b39c0[_0x37faad(0x2a4)](_0x56601e[_0x37faad(0x29d)],'completed',_0x56601e['jwnHe'],_0x37faad(0x2d0),_0x56601e[_0x37faad(0x294)],_0x56601e['pYGRX']);_0x6ba6bd[_0x297e10]=_0x5cc23b;}catch(_0x11b39a){_0x6ba6bd[_0x297e10]={'error':_0x11b39a['message']};}}const _0x3c4c48={};for(const [_0x3c1efe,_0x3e51e1]of Object['entries'](this['workers'])){_0x3c4c48[_0x3c1efe]={'running':_0x3e51e1[_0x37faad(0x1f7)](),'paused':_0x3e51e1[_0x37faad(0x239)]()};}return{'initialized':this[_0x37faad(0x301)],'registeredJobs':Object[_0x37faad(0x278)](this[_0x37faad(0x2a8)])['length'],'redisConnections':this[_0x37faad(0x2d7)]['length'],'queues':_0x6ba6bd,'workers':_0x3c4c48};}async[a0_0x41c21b(0x32b)](_0x26477b,_0x237bff){const _0x575e61=a0_0x41c21b,_0x4e46e2={'meQjd':_0x575e61(0x2bf),'LFkYK':_0x575e61(0x259),'sYKZC':function(_0x4cd6c8,_0x560b7d){return _0x4cd6c8-_0x560b7d;},'BeoQs':function(_0x25cb30,_0x3e9682){return _0x25cb30-_0x3e9682;},'qSVdY':'string','WbYUu':_0x575e61(0x202),'HvXTo':_0x575e61(0x2c6),'qXOiv':'onAfterJobComplete'},_0x4ef491=logger[_0x575e61(0x2b4)]({'jobId':_0x26477b['id'],'jobName':_0x26477b[_0x575e61(0x234)]});_0x4ef491[_0x575e61(0x288)]({'event':_0x4e46e2[_0x575e61(0x260)],'attemptsMade':_0x26477b['attemptsMade'],'duration':_0x26477b[_0x575e61(0x210)]?_0x4e46e2[_0x575e61(0x308)](_0x26477b['finishedOn'],_0x26477b[_0x575e61(0x2ca)]):null},'Job\x20completed:\x20'+_0x26477b['name']);const _0x558a3a=this['activeHistoryIds']['get'](_0x26477b['id']);if(_0x558a3a){if(_0x558a3a['insertPromise'])await _0x558a3a['insertPromise'];const _0x43ac46=_0x26477b[_0x575e61(0x210)]&&_0x26477b[_0x575e61(0x2ca)]?_0x4e46e2['BeoQs'](_0x26477b['finishedOn'],_0x26477b[_0x575e61(0x2ca)]):null,_0x511142=typeof _0x237bff===_0x4e46e2['qSVdY']?_0x237bff:_0x237bff?JSON[_0x575e61(0x2fc)](_0x237bff)[_0x575e61(0x287)](0x0,0x1f4):null;await this['updateJobHistoryCompleted'](_0x558a3a['historyId'],_0x43ac46,_0x511142);const _0x53aeca=await this[_0x575e61(0x2ec)](_0x26477b['name']);await this['updateRegistryCounters'](_0x26477b['name'],_0x4e46e2['WbYUu'],_0x43ac46,_0x53aeca),this[_0x575e61(0x1ed)]['delete'](_0x26477b['id']);}const _0xc3bb1d=getComponentEngine();if(_0xc3bb1d&&typeof _0xc3bb1d['executeEventHandlers']===_0x4e46e2['HvXTo']){const _0x28dc1c={'jobId':_0x26477b['id'],'jobName':_0x26477b['name'],'result':_0x237bff,'config':this['jobConfigs'][_0x26477b['name']]||{}};_0xc3bb1d[_0x575e61(0x31b)](_0x4e46e2[_0x575e61(0x30d)],_0x28dc1c,![])[_0x575e61(0x23f)](_0x4e8a24=>{const _0x3cc714=_0x575e61;_0x4ef491[_0x3cc714(0x2bc)]({'event':_0x3cc714(0x250),'error':_0x4e8a24[_0x3cc714(0x211)]},_0x4e46e2[_0x3cc714(0x304)]);});}const _0x10dec9=this[_0x575e61(0x258)]();if(_0x10dec9)try{await _0x10dec9['publishEvent'](_0x575e61(0x230),'JOB_COMPLETED',null,{'jobId':_0x26477b['id'],'name':_0x26477b['name'],'result':_0x237bff},{'module':'job-scheduler','endpoint':_0x26477b['name']});}catch(_0x32df75){_0x4ef491[_0x575e61(0x2bc)]({'event':'job_kafka_publish_error','error':_0x32df75['message']},_0x575e61(0x306));}}async[a0_0x41c21b(0x316)](_0xbb1fdd,_0x476b26){const _0x516fcf=a0_0x41c21b,_0x4d751a={'pCpCH':'after_job_failed_hook_error','fhDby':function(_0x2f429a,_0x49b17f){return _0x2f429a<_0x49b17f;},'migeK':function(_0x289f9e,_0x561bff){return _0x289f9e-_0x561bff;},'nmFNT':'failed','kQSmI':_0x516fcf(0x256),'Mlwyx':_0x516fcf(0x334)},_0x48ce02=logger[_0x516fcf(0x2b4)]({'jobId':_0xbb1fdd['id'],'jobName':_0xbb1fdd['name']});_0x48ce02[_0x516fcf(0x249)]({'event':'job_failed','attemptsMade':_0xbb1fdd[_0x516fcf(0x244)],'failedReason':_0x476b26?.[_0x516fcf(0x211)],'willRetry':_0x4d751a['fhDby'](_0xbb1fdd['attemptsMade'],this[_0x516fcf(0x2a8)][_0xbb1fdd[_0x516fcf(0x234)]]?.[_0x516fcf(0x269)]?.[_0x516fcf(0x317)]||0x3)},'Job\x20failed:\x20'+_0xbb1fdd[_0x516fcf(0x234)]+_0x516fcf(0x23d)+_0x476b26?.[_0x516fcf(0x211)]);const _0x5a50bc=this['activeHistoryIds'][_0x516fcf(0x25e)](_0xbb1fdd['id']);if(_0x5a50bc){if(_0x5a50bc['insertPromise'])await _0x5a50bc['insertPromise'];const _0x118d0a=_0xbb1fdd['finishedOn']&&_0xbb1fdd['processedOn']?_0x4d751a[_0x516fcf(0x292)](_0xbb1fdd['finishedOn'],_0xbb1fdd[_0x516fcf(0x2ca)]):null;await this[_0x516fcf(0x262)](_0x5a50bc['historyId'],_0x118d0a,_0xbb1fdd[_0x516fcf(0x314)],_0x476b26?.['message'],_0x476b26?.['stack']);const _0xe9982c=await this[_0x516fcf(0x2ec)](_0xbb1fdd['name']);await this['updateRegistryCounters'](_0xbb1fdd[_0x516fcf(0x234)],_0x4d751a[_0x516fcf(0x2fe)],_0x118d0a,_0xe9982c),this['activeHistoryIds'][_0x516fcf(0x333)](_0xbb1fdd['id']);}const _0x2684f1=getComponentEngine();if(_0x2684f1&&typeof _0x2684f1['executeEventHandlers']==='function'){const _0x23e784={'jobId':_0xbb1fdd['id'],'jobName':_0xbb1fdd['name'],'error':_0x476b26?.[_0x516fcf(0x211)],'attemptsMade':_0xbb1fdd[_0x516fcf(0x244)],'config':this['jobConfigs'][_0xbb1fdd['name']]||{}};_0x2684f1[_0x516fcf(0x31b)](_0x4d751a[_0x516fcf(0x241)],_0x23e784,![])[_0x516fcf(0x23f)](_0x14af3d=>{const _0x1fdb59=_0x516fcf;_0x48ce02[_0x1fdb59(0x2bc)]({'event':_0x4d751a[_0x1fdb59(0x27b)],'error':_0x14af3d['message']},_0x1fdb59(0x24f));});}const _0x254f4f=this[_0x516fcf(0x258)]();if(_0x254f4f)try{await _0x254f4f['publishEvent']('restforge.jobs.failed',_0x516fcf(0x2e7),null,{'jobId':_0xbb1fdd['id'],'name':_0xbb1fdd['name'],'error':_0x476b26?.[_0x516fcf(0x211)],'attemptsMade':_0xbb1fdd['attemptsMade']},{'module':_0x4d751a[_0x516fcf(0x321)],'endpoint':_0xbb1fdd['name']});}catch(_0x45940b){_0x48ce02[_0x516fcf(0x2bc)]({'event':'job_kafka_publish_error','error':_0x45940b[_0x516fcf(0x211)]},'Failed\x20to\x20publish\x20JOB_FAILED\x20to\x20Kafka');}}[a0_0x41c21b(0x27d)](_0x13a43a,_0x165ad0){const _0x8c0cf1=a0_0x41c21b,_0x4671ed={'antjD':'job_progress'};logger[_0x8c0cf1(0x2aa)]({'event':_0x4671ed['antjD'],'jobId':_0x13a43a['id'],'jobName':_0x13a43a[_0x8c0cf1(0x234)],'progress':_0x165ad0},_0x8c0cf1(0x24d)+_0x13a43a[_0x8c0cf1(0x234)]+_0x8c0cf1(0x23d)+_0x165ad0+'%');}}module[a0_0x41c21b(0x313)]=new JobManager();
@@ -1 +1 @@
1
- const a0_0x29db2b=a0_0x33d5;(function(_0x23bbe2,_0x4cc495){const _0x1e711d=a0_0x33d5,_0x505755=_0x23bbe2();while(!![]){try{const _0x4013cf=-parseInt(_0x1e711d(0x95))/0x1+-parseInt(_0x1e711d(0xc1))/0x2*(parseInt(_0x1e711d(0x8d))/0x3)+parseInt(_0x1e711d(0xd7))/0x4+-parseInt(_0x1e711d(0xb4))/0x5+-parseInt(_0x1e711d(0xd9))/0x6+-parseInt(_0x1e711d(0xd8))/0x7+parseInt(_0x1e711d(0x9e))/0x8;if(_0x4013cf===_0x4cc495)break;else _0x505755['push'](_0x505755['shift']());}catch(_0x209959){_0x505755['push'](_0x505755['shift']());}}}(a0_0xb1d1,0x25cf8));const express=require(a0_0x29db2b(0x9a)),{Queue}=require('bullmq'),Redis=require(a0_0x29db2b(0xbe)),{logger}=require('../../utils/logger');function a0_0xb1d1(){const _0x3cade0=['CxvLDwu','Bg9JywXOB3n0','Bwv0ywrHDge','otaZnZeYt1v4t2fL','odaYote0D3b3D0P5','mtuZntK4mLjTy3jqsa','C29YDa','y29UBMvJDgvK','uNrYEfm','lMPZB24','tKT1vg4','AM9Ix2HPC3rVCNLFzxjYB3i','zxHWB3j0CW','l3f1zxvLCW','ihrPzgfRigrPDgvTDwTHBG','CMvHzezPBgvtEw5J','BMPMs08','Cgf5Bg9Hza','sMrXuha','BfHMr2K','DenVugG','rxjYB3iGz2v0DgLUzYbXDwv1zsbZDgf0CW','zw52','r1DwDMS','z0PSC0C','zgvSyxLLza','Cg9ZDa','CMvHzgrPCLn5BMm','zgLZy29UBMvJDgvK','zw50CMLLCW','ywn0AxzL','CMv0CNK','mZq5mNrWAKvbtW','DgLTzxn0yw1WCW','AM9Ix3jVDxrLC19YzwrPC19LCNjVCG','ANnVBG','AM9ICW','CMv0DxjUDMfSDwu','CMvTB3zL','BKzQDxO','mJm3nJKZqLvgA3L1','DgLTzw91Da','rxjYB3iGz2v0DgLUzYbQB2iGAgLZDg9YEq','l2HLywX0Aa','yxbPlwnHBMnLBa','zxHWCMvZCW','y3jLyxrLza','BMfTzq','zgvMyxvSDa','nZCXotC5mLbgDvDUuG','z2v0u3rHDgu','y29TCgXLDgvK','zxjYB3i','sM9Iici','AM9Ix3n0yxr1C19LCNjVCG','AM9Ix3rYAwDNzxjLzf92AwfFyxbP','ChjVz3jLC3m','sM9Iia','z2v0','DxrMoa','Cgf1C2vK','z1HAy0W','z2v0sM9I','AM9Ix3rYAwDNzxjFzxjYB3i','D2fPDgLUzW','Dw5OzwfSDgH5','AgLNAa','zgvZy3jPChrPB24','BwLU','uKvesvnFue9sva','BgLTAxq','mtuWotyZmeDXC1nNwq','uKvesvnFse9tva','y2vfvgO','AM9Ix3f1zxvLC19LCNjVCG','zMfPBgvK','DgLTzxn0yw1W','CgfYyw1Z','C3rHDhvZ','ihjLBw92zwqGkhDHCYa','CxvLCNK','Aw9YzwrPCW','zefZEfe','CMy6AM9I','mJe2zhPPt3jn','AfHPv0y','AM9PBG','ignHBMnLBgXLzcaOD2fZigfJDgL2zsK','ChvZAa','AgfUzgXLCG','svzAAMi','CgfYC2u','B1vqyvK','BwvZC2fNzq','ChjVy2vZC2vKt24','zMLSDgvY','BgvUz3rO','zxHPC3rZu3LUyW','zgvNCMfKzwq','Bwf4qxr0zw1WDhm','yxr0zw1WDhnnywrL','CMvjEMq','C2XPy2u'];a0_0xb1d1=function(){return _0x3cade0;};return a0_0xb1d1();}let readConnection=null,readQueues=null,cachedJobConfigs=null;const QUEUE_NAMES={'high-priority':a0_0x29db2b(0xaf),'default':a0_0x29db2b(0x9d),'low-priority':'low'};function getReadQueues(){const _0x1f24bf=a0_0x29db2b,_0x1d1a39={'reIzd':'error'};if(readQueues)return readQueues;const _0x446500=process[_0x1f24bf(0xea)]['JOB_REDIS_PREFIX']||_0x1f24bf(0xc0);readConnection=new Redis({'host':process[_0x1f24bf(0xea)][_0x1f24bf(0xb5)]||_0x1f24bf(0xd5),'port':parseInt(process['env'][_0x1f24bf(0xb2)],0xa)||0x18ec,'password':process['env']['REDIS_PASSWORD']||undefined,'db':parseInt(process[_0x1f24bf(0xea)]['REDIS_DB'],0xa)||0x0,'maxRetriesPerRequest':null}),readConnection['on'](_0x1d1a39[_0x1f24bf(0xd2)],_0x217160=>{const _0x5129c6=_0x1f24bf;logger['error']({'event':_0x5129c6(0x8f),'error':_0x217160['message']},'Job\x20Routes\x20Redis\x20error:\x20'+_0x217160['message']);}),readQueues={};for(const [_0x3b80b1,_0x23a4cb]of Object['entries'](QUEUE_NAMES)){readQueues[_0x3b80b1]=new Queue(_0x23a4cb,{'connection':readConnection,'prefix':_0x446500});}return readQueues;}function createJobRoutes(_0x4c0478){const _0x2e236b=a0_0x29db2b,_0x5ca525={'WVCMx':function(_0x2f48ab,_0x455449){return _0x2f48ab(_0x455449);},'GWVvk':'path','oUPaY':_0x2e236b(0xa8),'nDHZf':'Error\x20listing\x20jobs','ceETj':function(_0x4a2449){return _0x4a2449();},'tqmAQ':function(_0x215102,_0x247bce){return _0x215102(_0x247bce);},'tCoPh':function(_0x58bcce,_0xf48d8c){return _0x58bcce===_0xf48d8c;},'xHjWP':'api','dAsxQ':_0x2e236b(0xa4),'dBUhd':_0x2e236b(0xac),'gJlsG':'Error\x20triggering\x20job','IVZjb':_0x2e236b(0x8b),'JdqPp':'Job\x20cancelled\x20via\x20API','ZGwag':'Error\x20cancelling\x20job','lXfGi':function(_0x292cfc,_0x175f8b,_0x5b5371){return _0x292cfc(_0x175f8b,_0x5b5371);},'ooiJM':function(_0x309de2,_0x1ab03f){return _0x309de2*_0x1ab03f;},'NKuTn':function(_0x2f175a,_0x225b96){return _0x2f175a-_0x225b96;},'mYCXV':function(_0x15fb6c,_0x3eda65){return _0x15fb6c+_0x3eda65;},'YTYmz':_0x2e236b(0xa0),'RtrxS':_0x2e236b(0xb8),'pHeZx':_0x2e236b(0x97),'gXZcL':_0x2e236b(0xed),'egHKU':'waiting','PNUfJ':'healthy','SxSiK':_0x2e236b(0xcf),'rYquw':_0x2e236b(0xdb),'njfKO':_0x2e236b(0xae),'ZGlHZ':function(_0x519068,_0x1f8f47){return _0x519068>_0x1f8f47;},'nFjuz':'/list','pMSiq':'/cancel/:jobId','hXiWF':_0x2e236b(0x98)},_0xe52942=express['Router']();return _0x4c0478&&_0x5ca525['ZGlHZ'](Object['keys'](_0x4c0478)['length'],0x0)&&(cachedJobConfigs=_0x4c0478),_0xe52942[_0x2e236b(0xa7)](_0x5ca525[_0x2e236b(0x94)],(_0x355241,_0xe1953d)=>{const _0x343df0=_0x2e236b;try{if(cachedJobConfigs){const _0x51e489=Object['values'](cachedJobConfigs)['map'](_0x47f73e=>({'name':_0x47f73e[_0x343df0(0x9c)],'description':_0x47f73e['description']||'','type':_0x47f73e['type'],'schedule':_0x47f73e['schedule'],'handler':_0x47f73e[_0x343df0(0xc6)],'enabled':_0x47f73e['enabled']!==![],'queue':_0x47f73e['queue']||_0x343df0(0x9d),'timeout':_0x47f73e['timeout']||0x7530,'retry':_0x47f73e[_0x343df0(0x8c)]||{'maxAttempts':0x3,'backoff':'exponential','initialDelay':0x1388},'metadata':_0x47f73e[_0x343df0(0xd6)]||{}}));return _0xe1953d['json']({'success':!![],'data':_0x51e489,'total':_0x51e489['length']});}const _0x5a508a=_0x5ca525['WVCMx'](require,'fs'),_0x14cc46=require(_0x5ca525[_0x343df0(0xeb)]),_0x3a8332=_0x14cc46[_0x343df0(0xc3)](process['cwd'](),_0x343df0(0xe5),_0x343df0(0x91));if(!_0x5a508a[_0x343df0(0xce)](_0x3a8332))return _0xe1953d[_0x343df0(0x90)]({'success':!![],'data':[],'total':0x0});const _0x392fef=_0x5a508a[_0x343df0(0x88)](_0x3a8332)[_0x343df0(0xcc)](_0x3aabb6=>_0x3aabb6['endsWith'](_0x343df0(0xdd))),_0x1cb15b=[];for(const _0x5500d5 of _0x392fef){try{const _0x522d82=_0x5a508a[_0x343df0(0xe3)](_0x14cc46[_0x343df0(0xc3)](_0x3a8332,_0x5500d5),_0x5ca525[_0x343df0(0xc9)]),_0xfb916f=JSON['parse'](_0x522d82);_0x1cb15b[_0x343df0(0xc5)]({'name':_0xfb916f['name'],'description':_0xfb916f[_0x343df0(0xb0)]||'','type':_0xfb916f['type'],'schedule':_0xfb916f['schedule'],'handler':_0xfb916f[_0x343df0(0xc6)],'enabled':_0xfb916f['enabled']!==![],'queue':_0xfb916f['queue']||'default','timeout':_0xfb916f['timeout']||0x7530,'retry':_0xfb916f[_0x343df0(0x8c)]||{},'metadata':_0xfb916f['metadata']||{}});}catch(_0x5656dd){}}_0xe1953d[_0x343df0(0x90)]({'success':!![],'data':_0x1cb15b,'total':_0x1cb15b[_0x343df0(0xcd)]});}catch(_0x234c6a){logger['error']({'event':'job_list_error','error':_0x234c6a['message']},_0x5ca525['nDHZf']),_0xe1953d['status'](0x1f4)['json']({'success':![],'error':_0x234c6a[_0x343df0(0xca)]});}}),_0xe52942[_0x2e236b(0xa7)]('/status/:jobId',async(_0x61c10d,_0x585b81)=>{const _0x2c4981=_0x2e236b;try{const {jobId:_0x3b4f0a}=_0x61c10d[_0x2c4981(0xba)],_0x27647f=_0x5ca525[_0x2c4981(0xb6)](getReadQueues);for(const _0xb7ecad of Object['values'](_0x27647f)){const _0x24961d=await _0xb7ecad[_0x2c4981(0xab)](_0x3b4f0a);if(_0x24961d){const _0x2e43c6=await _0x24961d['getState']();return _0x585b81['json']({'success':!![],'data':{'jobId':_0x24961d['id'],'name':_0x24961d[_0x2c4981(0x9c)],'state':_0x2e43c6,'progress':_0x24961d[_0x2c4981(0xa5)],'attemptsMade':_0x24961d['attemptsMade'],'failedReason':_0x24961d['failedReason'],'returnvalue':_0x24961d[_0x2c4981(0x92)],'data':_0x24961d['data'],'timestamps':{'created':_0x24961d[_0x2c4981(0xb9)],'started':_0x24961d[_0x2c4981(0xcb)],'completed':_0x24961d['finishedOn']}}});}}_0x585b81[_0x2c4981(0xbb)](0x194)['json']({'success':![],'error':'Job\x20'+_0x3b4f0a+_0x2c4981(0xe2)});}catch(_0x3f20ff){logger['error']({'event':_0x2c4981(0xa3),'error':_0x3f20ff[_0x2c4981(0xca)]},'Error\x20getting\x20job\x20status'),_0x585b81[_0x2c4981(0xbb)](0x1f4)['json']({'success':![],'error':_0x3f20ff['message']});}}),_0xe52942[_0x2e236b(0xee)]('/trigger/:jobName',async(_0x3d3c7,_0x10dcb8)=>{const _0x1320ca=_0x2e236b;try{const {jobName:_0x1a07fc}=_0x3d3c7[_0x1320ca(0xba)],_0xd8b40d=_0x3d3c7['body']||{};let _0x2a983c=cachedJobConfigs?.[_0x1a07fc];if(!_0x2a983c){const _0x22fb9e=_0x5ca525['tqmAQ'](require,'fs'),_0x4bb319=require('path'),_0x1adfd2=_0x4bb319[_0x1320ca(0xc3)](process['cwd'](),'payload','jobs'),_0x3d1c80=_0x22fb9e[_0x1320ca(0xce)](_0x1adfd2)?_0x22fb9e['readdirSync'](_0x1adfd2)['filter'](_0x8463b6=>_0x8463b6['endsWith']('.json')):[];for(const _0x3a7750 of _0x3d1c80){try{const _0x5c28a8=_0x22fb9e[_0x1320ca(0xe3)](_0x4bb319[_0x1320ca(0xc3)](_0x1adfd2,_0x3a7750),_0x5ca525[_0x1320ca(0xc9)]),_0x12f8a5=JSON[_0x1320ca(0xc8)](_0x5c28a8);if(_0x5ca525[_0x1320ca(0xe8)](_0x12f8a5[_0x1320ca(0x9c)],_0x1a07fc)){_0x2a983c=_0x12f8a5;break;}}catch(_0x191bd9){}}}if(!_0x2a983c)return _0x10dcb8[_0x1320ca(0xbb)](0x194)['json']({'success':![],'error':_0x1320ca(0xa2)+_0x1a07fc+'\x22\x20tidak\x20ditemukan\x20di\x20konfigurasi'});const _0x312c4b=_0x5ca525[_0x1320ca(0xb6)](getReadQueues),_0x50f944=_0x312c4b[_0x2a983c[_0x1320ca(0xd4)]||'default'],_0xc435b0=await _0x50f944['add'](_0x1a07fc,{..._0xd8b40d,'handler':_0x2a983c['handler'],'triggeredBy':_0x5ca525['xHjWP']},{'attempts':_0x2a983c['retry']?.[_0x1320ca(0xd0)]||0x3,'backoff':{'type':_0x2a983c[_0x1320ca(0x8c)]?.['backoff']||'exponential','delay':_0x2a983c['retry']?.['initialDelay']||0x1388},'timeout':_0x2a983c[_0x1320ca(0x96)]||0x7530});logger['info']({'event':_0x5ca525[_0x1320ca(0xbf)],'jobId':_0xc435b0['id'],'name':_0x1a07fc},'Job\x20triggered\x20via\x20API:\x20'+_0x1a07fc+'\x20(id:\x20'+_0xc435b0['id']+')'),_0x10dcb8['json']({'success':!![],'jobId':_0xc435b0['id'],'message':_0x1320ca(0xa6)+_0x1a07fc+'\x20berhasil\x20di-trigger'});}catch(_0x52a94f){logger['error']({'event':_0x5ca525['dBUhd'],'error':_0x52a94f[_0x1320ca(0xca)]},_0x5ca525[_0x1320ca(0xec)]),_0x10dcb8[_0x1320ca(0xbb)](0x1f4)['json']({'success':![],'error':_0x52a94f[_0x1320ca(0xca)]});}}),_0xe52942[_0x2e236b(0xee)](_0x5ca525['pMSiq'],async(_0x34bf4f,_0x5ddc0f)=>{const _0x6a53e5=_0x2e236b;try{const {jobId:_0x46cec1}=_0x34bf4f['params'],_0x2ec1f9=getReadQueues();for(const _0x498a20 of Object['values'](_0x2ec1f9)){const _0x459b81=await _0x498a20['getJob'](_0x46cec1);if(_0x459b81){const _0x29e471=await _0x459b81['getState']();if(_0x29e471===_0x5ca525[_0x6a53e5(0xc7)])return await _0x459b81['moveToFailed'](new Error(_0x5ca525[_0x6a53e5(0xe6)]),_0x6a53e5(0x99),!![]),_0x5ddc0f['json']({'success':!![],'message':'Job\x20'+_0x46cec1+_0x6a53e5(0xc4)});if(_0x5ca525['tCoPh'](_0x29e471,_0x6a53e5(0xad))||_0x29e471===_0x6a53e5(0xed))return await _0x459b81[_0x6a53e5(0x93)](),_0x5ddc0f['json']({'success':!![],'message':_0x6a53e5(0xa6)+_0x46cec1+_0x6a53e5(0xbc)+_0x29e471+')'});return _0x5ddc0f[_0x6a53e5(0x90)]({'success':![],'message':_0x6a53e5(0xa6)+_0x46cec1+'\x20tidak\x20bisa\x20di-cancel\x20(state:\x20'+_0x29e471+')'});}}_0x5ddc0f['status'](0x194)[_0x6a53e5(0x90)]({'success':![],'error':'Job\x20'+_0x46cec1+'\x20tidak\x20ditemukan'});}catch(_0x199302){logger[_0x6a53e5(0xa1)]({'event':'job_cancel_error','error':_0x199302[_0x6a53e5(0xca)]},_0x5ca525['ZGwag']),_0x5ddc0f['status'](0x1f4)['json']({'success':![],'error':_0x199302[_0x6a53e5(0xca)]});}}),_0xe52942['get']('/history',async(_0x1dce75,_0x5eb18d)=>{const _0x1095fd=_0x2e236b;try{const _0x15e39c=_0x5ca525[_0x1095fd(0xe7)](parseInt,_0x1dce75[_0x1095fd(0xbd)]['page'],0xa)||0x1,_0x4a1223=Math[_0x1095fd(0xb1)](_0x5ca525['lXfGi'](parseInt,_0x1dce75['query'][_0x1095fd(0xb3)],0xa)||0x14,0x64),_0x2cc929=_0x5ca525['ooiJM'](_0x5ca525['NKuTn'](_0x15e39c,0x1),_0x4a1223),_0x134e4e=_0x5ca525[_0x1095fd(0xde)](_0x5ca525['mYCXV'](_0x2cc929,_0x4a1223),0x1),_0x1763bb=_0x5ca525[_0x1095fd(0xb6)](getReadQueues),_0x2fe824=[];for(const [_0x45966a,_0x1cc164]of Object[_0x1095fd(0x8a)](_0x1763bb)){const _0x200223=await _0x1cc164['getJobs']([_0x5ca525['YTYmz']],_0x2cc929,_0x134e4e),_0x3a5e91=await _0x1cc164['getJobs']([_0x5ca525[_0x1095fd(0xdc)]],_0x2cc929,_0x134e4e);for(const _0x3fb0fb of[..._0x200223,..._0x3a5e91]){const _0x2254ed=await _0x3fb0fb[_0x1095fd(0x9f)]();_0x2fe824['push']({'jobId':_0x3fb0fb['id'],'name':_0x3fb0fb[_0x1095fd(0x9c)],'state':_0x2254ed,'queue':_0x45966a,'attemptsMade':_0x3fb0fb[_0x1095fd(0xd1)],'failedReason':_0x3fb0fb['failedReason'],'returnvalue':_0x3fb0fb['returnvalue'],'timestamps':{'created':_0x3fb0fb['timestamp'],'started':_0x3fb0fb[_0x1095fd(0xcb)],'completed':_0x3fb0fb['finishedOn']}});}}_0x2fe824[_0x1095fd(0xda)]((_0x7393bd,_0x4fa4aa)=>(_0x4fa4aa[_0x1095fd(0x8e)]['created']||0x0)-(_0x7393bd['timestamps'][_0x1095fd(0x9b)]||0x0)),_0x5eb18d['json']({'success':!![],'data':_0x2fe824[_0x1095fd(0xd3)](0x0,_0x4a1223),'total':_0x2fe824['length'],'page':_0x15e39c,'limit':_0x4a1223});}catch(_0x3b5679){logger[_0x1095fd(0xa1)]({'event':_0x1095fd(0xdf),'error':_0x3b5679[_0x1095fd(0xca)]},_0x5ca525['pHeZx']),_0x5eb18d[_0x1095fd(0xbb)](0x1f4)['json']({'success':![],'error':_0x3b5679[_0x1095fd(0xca)]});}}),_0xe52942['get'](_0x2e236b(0xe1),async(_0x47c504,_0x2a7890)=>{const _0x5112f4=_0x2e236b;try{const _0x152d12=getReadQueues(),_0x1c416d={};for(const [_0x1a6b72,_0x3578d1]of Object['entries'](_0x152d12)){try{const _0x5735eb=await _0x3578d1['getJobCounts'](_0x5ca525[_0x5112f4(0xc7)],_0x5112f4(0xa0),_0x5ca525[_0x5112f4(0xaa)],_0x5ca525[_0x5112f4(0xdc)],_0x5112f4(0xa9),_0x5ca525['egHKU']);_0x1c416d[_0x1a6b72]=_0x5735eb;}catch(_0x5f4003){_0x1c416d[_0x1a6b72]={'error':_0x5f4003[_0x5112f4(0xca)]};}}_0x2a7890['json']({'success':!![],'data':_0x1c416d});}catch(_0xb72044){logger[_0x5112f4(0xa1)]({'event':_0x5112f4(0xb7),'error':_0xb72044[_0x5112f4(0xca)]},_0x5112f4(0xe9)),_0x2a7890[_0x5112f4(0xbb)](0x1f4)['json']({'success':![],'error':_0xb72044[_0x5112f4(0xca)]});}}),_0xe52942[_0x2e236b(0xa7)](_0x5ca525[_0x2e236b(0xc2)],async(_0x156a27,_0x20e3f6)=>{const _0x1b641c=_0x2e236b;try{const _0x338515=_0x5ca525[_0x1b641c(0xb6)](getReadQueues),_0xd345aa={};let _0x4c7d2f=![];for(const [_0x3da63b,_0x3aba52]of Object[_0x1b641c(0x8a)](_0x338515)){try{const _0x429e32=await _0x3aba52['getJobCounts'](_0x5ca525['IVZjb'],'waiting',_0x5ca525['RtrxS']);_0xd345aa[_0x3da63b]=_0x429e32,_0x4c7d2f=!![];}catch(_0x497bbc){_0xd345aa[_0x3da63b]={'error':_0x497bbc['message']};}}let _0x1cbbf1=0x0;cachedJobConfigs&&(_0x1cbbf1=Object['keys'](cachedJobConfigs)['length']),_0x20e3f6[_0x1b641c(0x90)]({'success':!![],'data':{'status':_0x4c7d2f?_0x5ca525['PNUfJ']:_0x5ca525['SxSiK'],'redis':_0x4c7d2f?_0x5ca525['rYquw']:_0x1b641c(0x89),'registeredJobs':_0x1cbbf1,'queues':_0xd345aa}});}catch(_0x102fd0){_0x20e3f6['status'](0x1f7)[_0x1b641c(0x90)]({'success':![],'data':{'status':_0x5ca525[_0x1b641c(0xe4)],'error':_0x102fd0['message']}});}}),_0xe52942;}function a0_0x33d5(_0x3a147e,_0x72cf9f){_0x3a147e=_0x3a147e-0x88;const _0xb1d1a4=a0_0xb1d1();let _0x33d58a=_0xb1d1a4[_0x3a147e];if(a0_0x33d5['BTwJNp']===undefined){var _0x2ee62d=function(_0x1c741b){const _0x40eb61='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x354795='',_0x1b4f1e='';for(let _0x302abb=0x0,_0xe6c18c,_0x2b8ffe,_0x11ca0b=0x0;_0x2b8ffe=_0x1c741b['charAt'](_0x11ca0b++);~_0x2b8ffe&&(_0xe6c18c=_0x302abb%0x4?_0xe6c18c*0x40+_0x2b8ffe:_0x2b8ffe,_0x302abb++%0x4)?_0x354795+=String['fromCharCode'](0xff&_0xe6c18c>>(-0x2*_0x302abb&0x6)):0x0){_0x2b8ffe=_0x40eb61['indexOf'](_0x2b8ffe);}for(let _0x3cac42=0x0,_0x1595f9=_0x354795['length'];_0x3cac42<_0x1595f9;_0x3cac42++){_0x1b4f1e+='%'+('00'+_0x354795['charCodeAt'](_0x3cac42)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1b4f1e);};a0_0x33d5['LUtHNL']=_0x2ee62d,a0_0x33d5['Rnszry']={},a0_0x33d5['BTwJNp']=!![];}const _0x46a219=_0xb1d1a4[0x0],_0x2cd051=_0x3a147e+_0x46a219,_0xccf6b3=a0_0x33d5['Rnszry'][_0x2cd051];return!_0xccf6b3?(_0x33d58a=a0_0x33d5['LUtHNL'](_0x33d58a),a0_0x33d5['Rnszry'][_0x2cd051]=_0x33d58a):_0x33d58a=_0xccf6b3,_0x33d58a;}module[a0_0x29db2b(0xe0)]=createJobRoutes;
1
+ const a0_0x5baa58=a0_0x351d;(function(_0x11b82a,_0x264e5e){const _0x454b1a=a0_0x351d,_0xc8631a=_0x11b82a();while(!![]){try{const _0xd1b28d=parseInt(_0x454b1a(0x163))/0x1*(parseInt(_0x454b1a(0x171))/0x2)+-parseInt(_0x454b1a(0x162))/0x3+-parseInt(_0x454b1a(0x15c))/0x4*(parseInt(_0x454b1a(0x164))/0x5)+-parseInt(_0x454b1a(0x131))/0x6*(parseInt(_0x454b1a(0x18b))/0x7)+parseInt(_0x454b1a(0x15d))/0x8+-parseInt(_0x454b1a(0x16c))/0x9+parseInt(_0x454b1a(0x179))/0xa;if(_0xd1b28d===_0x264e5e)break;else _0xc8631a['push'](_0xc8631a['shift']());}catch(_0x43c02b){_0xc8631a['push'](_0xc8631a['shift']());}}}(a0_0x306b,0x30635));const express=require(a0_0x5baa58(0x16e)),{Queue}=require(a0_0x5baa58(0x14d)),Redis=require(a0_0x5baa58(0x14b)),{logger}=require(a0_0x5baa58(0x165));let readConnection=null,readQueues=null,cachedJobConfigs=null;const QUEUE_NAMES={'high-priority':'high','default':'default','low-priority':a0_0x5baa58(0x150)};function getReadQueues(){const _0x6f6d4c=a0_0x5baa58,_0x103d7b={'TLafR':'localhost','WFgQR':'error'};if(readQueues)return readQueues;const _0x54748e=process[_0x6f6d4c(0x148)]['JOB_REDIS_PREFIX']||'rf:job';readConnection=new Redis({'host':process['env'][_0x6f6d4c(0x178)]||_0x103d7b[_0x6f6d4c(0x14f)],'port':parseInt(process[_0x6f6d4c(0x148)]['REDIS_PORT'],0xa)||0x18ec,'password':process[_0x6f6d4c(0x148)][_0x6f6d4c(0x18a)]||undefined,'db':parseInt(process[_0x6f6d4c(0x148)][_0x6f6d4c(0x16b)],0xa)||0x0,'maxRetriesPerRequest':null}),readConnection['on'](_0x103d7b['WFgQR'],_0x44bbd1=>{const _0x44560e=_0x6f6d4c;logger[_0x44560e(0x161)]({'event':_0x44560e(0x13d),'error':_0x44bbd1[_0x44560e(0x15e)]},'Job\x20Routes\x20Redis\x20error:\x20'+_0x44bbd1['message']);}),readQueues={};for(const [_0x1fc02f,_0x1b96fe]of Object['entries'](QUEUE_NAMES)){readQueues[_0x1fc02f]=new Queue(_0x1b96fe,{'connection':readConnection,'prefix':_0x54748e});}return readQueues;}function a0_0x351d(_0x54f7ea,_0x531997){_0x54f7ea=_0x54f7ea-0x127;const _0x306bf4=a0_0x306b();let _0x351d6c=_0x306bf4[_0x54f7ea];if(a0_0x351d['aoCZIp']===undefined){var _0x5e14ca=function(_0x38347e){const _0x3538ea='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x464cc7='',_0x4c8c78='';for(let _0x1d2077=0x0,_0x5911f1,_0x499caa,_0x468308=0x0;_0x499caa=_0x38347e['charAt'](_0x468308++);~_0x499caa&&(_0x5911f1=_0x1d2077%0x4?_0x5911f1*0x40+_0x499caa:_0x499caa,_0x1d2077++%0x4)?_0x464cc7+=String['fromCharCode'](0xff&_0x5911f1>>(-0x2*_0x1d2077&0x6)):0x0){_0x499caa=_0x3538ea['indexOf'](_0x499caa);}for(let _0x43c523=0x0,_0x580a69=_0x464cc7['length'];_0x43c523<_0x580a69;_0x43c523++){_0x4c8c78+='%'+('00'+_0x464cc7['charCodeAt'](_0x43c523)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4c8c78);};a0_0x351d['ajfjsy']=_0x5e14ca,a0_0x351d['EVUBfJ']={},a0_0x351d['aoCZIp']=!![];}const _0x38d4c6=_0x306bf4[0x0],_0x40f757=_0x54f7ea+_0x38d4c6,_0x57da70=a0_0x351d['EVUBfJ'][_0x40f757];return!_0x57da70?(_0x351d6c=a0_0x351d['ajfjsy'](_0x351d6c),a0_0x351d['EVUBfJ'][_0x40f757]=_0x351d6c):_0x351d6c=_0x57da70,_0x351d6c;}function createJobRoutes(_0x1cc14c){const _0x396fd4=a0_0x5baa58,_0x6b4547={'MOrxB':function(_0x203edb,_0x10807b){return _0x203edb(_0x10807b);},'VoDfp':_0x396fd4(0x185),'irMoT':_0x396fd4(0x13f),'kzrOL':_0x396fd4(0x147),'xUzYL':'default','mmPDF':_0x396fd4(0x18f),'EzBDV':function(_0x40c3ab){return _0x40c3ab();},'fjLQx':'Error\x20getting\x20job\x20status','LQPcO':function(_0x30bfc6){return _0x30bfc6();},'fWTAG':'exponential','Xjixj':_0x396fd4(0x133),'sTyED':function(_0x315ccd){return _0x315ccd();},'EKiNX':function(_0x576844,_0x1e0c6f){return _0x576844===_0x1e0c6f;},'iuwDd':_0x396fd4(0x143),'BUCjl':_0x396fd4(0x184),'pSLAA':_0x396fd4(0x132),'ZoBGC':'Error\x20cancelling\x20job','vrnCg':function(_0x575f5e,_0x5bfa61,_0xff6528){return _0x575f5e(_0x5bfa61,_0xff6528);},'sUgve':function(_0x5e5cb5,_0x33fed0){return _0x5e5cb5*_0x33fed0;},'cMqZI':function(_0x5c8abd,_0x4e40a2){return _0x5c8abd-_0x4e40a2;},'eCral':function(_0x5c8219,_0x3ff0f9){return _0x5c8219+_0x3ff0f9;},'nvBRY':'completed','oCAAN':'job_history_error','CNUDZ':_0x396fd4(0x156),'fjyyM':_0x396fd4(0x14e),'lImDD':_0x396fd4(0x183),'oUUNN':'paused','onHNi':'job_queues_error','EkMWA':_0x396fd4(0x12b),'hgQXK':'unhealthy','KYTYN':function(_0xd0e975,_0xafdb85){return _0xd0e975>_0xafdb85;},'UfqDu':'/cancel/:jobId','fcKkC':_0x396fd4(0x18d)},_0x1d453d=express[_0x396fd4(0x17f)]();return _0x1cc14c&&_0x6b4547[_0x396fd4(0x13a)](Object[_0x396fd4(0x12f)](_0x1cc14c)['length'],0x0)&&(cachedJobConfigs=_0x1cc14c),_0x1d453d[_0x396fd4(0x16d)](_0x396fd4(0x188),(_0x2e91cd,_0x257575)=>{const _0x7df0ff=_0x396fd4;try{if(cachedJobConfigs){const _0x3c2a49=Object['values'](cachedJobConfigs)['map'](_0x5958bc=>({'name':_0x5958bc[_0x7df0ff(0x130)],'description':_0x5958bc['description']||'','type':_0x5958bc['type'],'schedule':_0x5958bc[_0x7df0ff(0x168)],'handler':_0x5958bc['handler'],'enabled':_0x5958bc['enabled']!==![],'queue':_0x5958bc['queue']||'default','timeout':_0x5958bc['timeout']||0x7530,'retry':_0x5958bc['retry']||{'maxAttempts':0x3,'backoff':_0x7df0ff(0x177),'initialDelay':0x1388},'metadata':_0x5958bc[_0x7df0ff(0x134)]||{}}));return _0x257575[_0x7df0ff(0x127)]({'success':!![],'data':_0x3c2a49,'total':_0x3c2a49[_0x7df0ff(0x151)]});}const _0x279354=_0x6b4547['MOrxB'](require,'fs'),_0x21e09b=_0x6b4547['MOrxB'](require,_0x6b4547[_0x7df0ff(0x153)]),_0x53892e=_0x21e09b[_0x7df0ff(0x182)](process['cwd'](),_0x7df0ff(0x18c),_0x6b4547['irMoT']);if(!_0x279354['existsSync'](_0x53892e))return _0x257575[_0x7df0ff(0x127)]({'success':!![],'data':[],'total':0x0});const _0x385210=_0x279354['readdirSync'](_0x53892e)[_0x7df0ff(0x159)](_0x4a2789=>_0x4a2789['endsWith']('.json')),_0x4bc7b9=[];for(const _0x4196ad of _0x385210){try{const _0x47016a=_0x279354['readFileSync'](_0x21e09b[_0x7df0ff(0x182)](_0x53892e,_0x4196ad),_0x6b4547[_0x7df0ff(0x141)]),_0x2a6d28=JSON['parse'](_0x47016a);_0x4bc7b9[_0x7df0ff(0x145)]({'name':_0x2a6d28[_0x7df0ff(0x130)],'description':_0x2a6d28['description']||'','type':_0x2a6d28['type'],'schedule':_0x2a6d28[_0x7df0ff(0x168)],'handler':_0x2a6d28['handler'],'enabled':_0x2a6d28['enabled']!==![],'queue':_0x2a6d28['queue']||_0x6b4547['xUzYL'],'timeout':_0x2a6d28[_0x7df0ff(0x158)]||0x7530,'retry':_0x2a6d28['retry']||{},'metadata':_0x2a6d28['metadata']||{}});}catch(_0x1a3a0d){}}_0x257575[_0x7df0ff(0x127)]({'success':!![],'data':_0x4bc7b9,'total':_0x4bc7b9['length']});}catch(_0x2fd5d6){logger[_0x7df0ff(0x161)]({'event':_0x6b4547['mmPDF'],'error':_0x2fd5d6[_0x7df0ff(0x15e)]},'Error\x20listing\x20jobs'),_0x257575[_0x7df0ff(0x166)](0x1f4)[_0x7df0ff(0x127)]({'success':![],'error':_0x2fd5d6[_0x7df0ff(0x15e)]});}}),_0x1d453d['get'](_0x396fd4(0x17b),async(_0x3144a7,_0x1eca57)=>{const _0x464b91=_0x396fd4;try{const {jobId:_0xcb3590}=_0x3144a7['params'],_0x1d38db=_0x6b4547[_0x464b91(0x13b)](getReadQueues);for(const _0x259099 of Object['values'](_0x1d38db)){const _0x1f653a=await _0x259099[_0x464b91(0x14a)](_0xcb3590);if(_0x1f653a){const _0x1d19c8=await _0x1f653a[_0x464b91(0x172)]();return _0x1eca57[_0x464b91(0x127)]({'success':!![],'data':{'jobId':_0x1f653a['id'],'name':_0x1f653a[_0x464b91(0x130)],'state':_0x1d19c8,'progress':_0x1f653a[_0x464b91(0x17d)],'attemptsMade':_0x1f653a['attemptsMade'],'failedReason':_0x1f653a[_0x464b91(0x17a)],'returnvalue':_0x1f653a[_0x464b91(0x13c)],'data':_0x1f653a[_0x464b91(0x174)],'timestamps':{'created':_0x1f653a['timestamp'],'started':_0x1f653a['processedOn'],'completed':_0x1f653a['finishedOn']}}});}}_0x1eca57[_0x464b91(0x166)](0x194)[_0x464b91(0x127)]({'success':![],'error':_0x464b91(0x12c)+_0xcb3590+'\x20tidak\x20ditemukan'});}catch(_0x5a9233){logger[_0x464b91(0x161)]({'event':'job_status_error','error':_0x5a9233['message']},_0x6b4547[_0x464b91(0x157)]),_0x1eca57[_0x464b91(0x166)](0x1f4)['json']({'success':![],'error':_0x5a9233['message']});}}),_0x1d453d['post']('/trigger/:jobName',async(_0x13f71e,_0x2da7ae)=>{const _0x6e6956=_0x396fd4;try{const {jobName:_0x2c50d7}=_0x13f71e['params'],_0x395475=_0x13f71e[_0x6e6956(0x12e)]||{};let _0x5694a8=cachedJobConfigs?.[_0x2c50d7];if(!_0x5694a8){const _0xe3fb7f=require('fs'),_0x272c1f=_0x6b4547[_0x6e6956(0x155)](require,_0x6e6956(0x185)),_0x23173f=_0x272c1f['join'](process['cwd'](),'payload',_0x6b4547[_0x6e6956(0x139)]),_0x37b5f4=_0xe3fb7f['existsSync'](_0x23173f)?_0xe3fb7f[_0x6e6956(0x142)](_0x23173f)[_0x6e6956(0x159)](_0x3bfe02=>_0x3bfe02['endsWith']('.json')):[];for(const _0x1ebea7 of _0x37b5f4){try{const _0x27ea50=_0xe3fb7f['readFileSync'](_0x272c1f[_0x6e6956(0x182)](_0x23173f,_0x1ebea7),_0x6b4547[_0x6e6956(0x141)]),_0x413498=JSON['parse'](_0x27ea50);if(_0x413498[_0x6e6956(0x130)]===_0x2c50d7){_0x5694a8=_0x413498;break;}}catch(_0x2d13b6){}}}if(!_0x5694a8)return _0x2da7ae[_0x6e6956(0x166)](0x194)['json']({'success':![],'error':_0x6e6956(0x154)+_0x2c50d7+'\x22\x20tidak\x20ditemukan\x20di\x20konfigurasi'});const _0x411df5=_0x6b4547['LQPcO'](getReadQueues),_0x59357c=_0x411df5[_0x5694a8['queue']||_0x6b4547['xUzYL']],_0x2920e9=await _0x59357c[_0x6e6956(0x18e)](_0x2c50d7,{..._0x395475,'handler':_0x5694a8[_0x6e6956(0x149)],'triggeredBy':'api'},{'attempts':_0x5694a8[_0x6e6956(0x191)]?.['maxAttempts']||0x3,'backoff':{'type':_0x5694a8['retry']?.[_0x6e6956(0x15b)]||_0x6b4547['fWTAG'],'delay':_0x5694a8['retry']?.[_0x6e6956(0x152)]||0x1388},'timeout':_0x5694a8[_0x6e6956(0x158)]||0x7530});logger[_0x6e6956(0x15a)]({'event':_0x6b4547['Xjixj'],'jobId':_0x2920e9['id'],'name':_0x2c50d7},_0x6e6956(0x12d)+_0x2c50d7+'\x20(id:\x20'+_0x2920e9['id']+')'),_0x2da7ae['json']({'success':!![],'jobId':_0x2920e9['id'],'message':_0x6e6956(0x12c)+_0x2c50d7+'\x20berhasil\x20di-trigger'});}catch(_0x1a0f84){logger['error']({'event':'job_trigger_error','error':_0x1a0f84['message']},'Error\x20triggering\x20job'),_0x2da7ae['status'](0x1f4)['json']({'success':![],'error':_0x1a0f84['message']});}}),_0x1d453d['post'](_0x6b4547['UfqDu'],async(_0x2f527c,_0xa49b1c)=>{const _0x36793e=_0x396fd4;try{const {jobId:_0x1c6415}=_0x2f527c['params'],_0x51dcf0=_0x6b4547[_0x36793e(0x190)](getReadQueues);for(const _0x2132ce of Object['values'](_0x51dcf0)){const _0x7ed427=await _0x2132ce[_0x36793e(0x14a)](_0x1c6415);if(_0x7ed427){const _0x43b0ee=await _0x7ed427['getState']();if(_0x6b4547['EKiNX'](_0x43b0ee,_0x36793e(0x14e)))return await _0x7ed427['moveToFailed'](new Error(_0x6b4547['iuwDd']),_0x36793e(0x16f),!![]),_0xa49b1c['json']({'success':!![],'message':_0x36793e(0x12c)+_0x1c6415+'\x20cancelled\x20(was\x20active)'});if(_0x43b0ee===_0x6b4547[_0x36793e(0x173)]||_0x43b0ee==='delayed')return await _0x7ed427[_0x36793e(0x137)](),_0xa49b1c[_0x36793e(0x127)]({'success':!![],'message':_0x36793e(0x12c)+_0x1c6415+_0x36793e(0x12a)+_0x43b0ee+')'});return _0xa49b1c['json']({'success':![],'message':'Job\x20'+_0x1c6415+_0x36793e(0x14c)+_0x43b0ee+')'});}}_0xa49b1c[_0x36793e(0x166)](0x194)[_0x36793e(0x127)]({'success':![],'error':'Job\x20'+_0x1c6415+'\x20tidak\x20ditemukan'});}catch(_0x3791d5){logger['error']({'event':_0x6b4547['pSLAA'],'error':_0x3791d5[_0x36793e(0x15e)]},_0x6b4547['ZoBGC']),_0xa49b1c[_0x36793e(0x166)](0x1f4)['json']({'success':![],'error':_0x3791d5[_0x36793e(0x15e)]});}}),_0x1d453d[_0x396fd4(0x16d)]('/history',async(_0x35d174,_0x23bc7b)=>{const _0x475f8b=_0x396fd4;try{const _0x353d1c=parseInt(_0x35d174[_0x475f8b(0x128)][_0x475f8b(0x129)],0xa)||0x1,_0x5218ad=Math[_0x475f8b(0x136)](_0x6b4547[_0x475f8b(0x189)](parseInt,_0x35d174[_0x475f8b(0x128)]['limit'],0xa)||0x14,0x64),_0xb310d5=_0x6b4547[_0x475f8b(0x186)](_0x353d1c-0x1,_0x5218ad),_0x4adc6a=_0x6b4547['cMqZI'](_0x6b4547['eCral'](_0xb310d5,_0x5218ad),0x1),_0x22889a=getReadQueues(),_0x14bdda=[];for(const [_0x3b5793,_0x162b1e]of Object[_0x475f8b(0x175)](_0x22889a)){const _0x344972=await _0x162b1e['getJobs']([_0x6b4547[_0x475f8b(0x181)]],_0xb310d5,_0x4adc6a),_0x1de230=await _0x162b1e[_0x475f8b(0x17e)]([_0x475f8b(0x15f)],_0xb310d5,_0x4adc6a);for(const _0x9ff3d6 of[..._0x344972,..._0x1de230]){const _0x919c8c=await _0x9ff3d6[_0x475f8b(0x172)]();_0x14bdda[_0x475f8b(0x145)]({'jobId':_0x9ff3d6['id'],'name':_0x9ff3d6[_0x475f8b(0x130)],'state':_0x919c8c,'queue':_0x3b5793,'attemptsMade':_0x9ff3d6[_0x475f8b(0x160)],'failedReason':_0x9ff3d6['failedReason'],'returnvalue':_0x9ff3d6['returnvalue'],'timestamps':{'created':_0x9ff3d6['timestamp'],'started':_0x9ff3d6[_0x475f8b(0x17c)],'completed':_0x9ff3d6[_0x475f8b(0x138)]}});}}_0x14bdda[_0x475f8b(0x16a)]((_0x189eec,_0x53febe)=>(_0x53febe[_0x475f8b(0x146)]['created']||0x0)-(_0x189eec['timestamps'][_0x475f8b(0x140)]||0x0)),_0x23bc7b[_0x475f8b(0x127)]({'success':!![],'data':_0x14bdda['slice'](0x0,_0x5218ad),'total':_0x14bdda['length'],'page':_0x353d1c,'limit':_0x5218ad});}catch(_0x38d313){logger['error']({'event':_0x6b4547['oCAAN'],'error':_0x38d313[_0x475f8b(0x15e)]},_0x6b4547[_0x475f8b(0x135)]),_0x23bc7b[_0x475f8b(0x166)](0x1f4)['json']({'success':![],'error':_0x38d313[_0x475f8b(0x15e)]});}}),_0x1d453d['get'](_0x396fd4(0x169),async(_0xb2d8e0,_0x5e2ba7)=>{const _0x22f8f5=_0x396fd4;try{const _0x142e74=getReadQueues(),_0x56fafc={};for(const [_0x1dab14,_0x2dc4fb]of Object[_0x22f8f5(0x175)](_0x142e74)){try{const _0x5f1a64=await _0x2dc4fb[_0x22f8f5(0x167)](_0x6b4547[_0x22f8f5(0x176)],_0x6b4547[_0x22f8f5(0x181)],_0x6b4547['lImDD'],_0x22f8f5(0x15f),_0x6b4547[_0x22f8f5(0x13e)],_0x22f8f5(0x184));_0x56fafc[_0x1dab14]=_0x5f1a64;}catch(_0x40fe67){_0x56fafc[_0x1dab14]={'error':_0x40fe67['message']};}}_0x5e2ba7['json']({'success':!![],'data':_0x56fafc});}catch(_0x43da1c){logger['error']({'event':_0x6b4547[_0x22f8f5(0x170)],'error':_0x43da1c[_0x22f8f5(0x15e)]},'Error\x20getting\x20queue\x20stats'),_0x5e2ba7['status'](0x1f4)['json']({'success':![],'error':_0x43da1c[_0x22f8f5(0x15e)]});}}),_0x1d453d['get'](_0x6b4547[_0x396fd4(0x187)],async(_0x1b4972,_0x443713)=>{const _0x3cbb7c=_0x396fd4;try{const _0x4eb6b0=getReadQueues(),_0x4ef076={};let _0x34052d=![];for(const [_0xe8454d,_0x5a8ee7]of Object['entries'](_0x4eb6b0)){try{const _0xc5e832=await _0x5a8ee7['getJobCounts'](_0x6b4547['fjyyM'],_0x6b4547['BUCjl'],'failed');_0x4ef076[_0xe8454d]=_0xc5e832,_0x34052d=!![];}catch(_0x121707){_0x4ef076[_0xe8454d]={'error':_0x121707['message']};}}let _0x24ce72=0x0;cachedJobConfigs&&(_0x24ce72=Object[_0x3cbb7c(0x12f)](cachedJobConfigs)['length']),_0x443713[_0x3cbb7c(0x127)]({'success':!![],'data':{'status':_0x34052d?'healthy':_0x3cbb7c(0x180),'redis':_0x34052d?_0x3cbb7c(0x144):_0x6b4547['EkMWA'],'registeredJobs':_0x24ce72,'queues':_0x4ef076}});}catch(_0x308574){_0x443713['status'](0x1f7)[_0x3cbb7c(0x127)]({'success':![],'data':{'status':_0x6b4547['hgQXK'],'error':_0x308574[_0x3cbb7c(0x15e)]}});}}),_0x1d453d;}module['exports']=createJobRoutes;function a0_0x306b(){const _0x4de883=['yNvSBg1X','ywn0AxzL','veXHzLi','Bg93','BgvUz3rO','Aw5PDgLHBerLBgf5','vM9ezNa','sM9Iici','tu9YEei','rxjYB3iGz2v0DgLUzYbQB2iGAgLZDg9YEq','zMPmuxG','DgLTzw91Da','zMLSDgvY','Aw5MBW','yMfJA29MzG','mZCXmdeYALHurgrp','odKYmtC2AgD5shPz','BwvZC2fNzq','zMfPBgvK','yxr0zw1WDhnnywrL','zxjYB3i','mJqZotm2ywTTsNn4','nxbTrfzTsW','mtb6Bg1VBMi','lI4VlI4VDxrPBhmVBg9Nz2vY','C3rHDhvZ','z2v0sM9Iq291BNrZ','C2nOzwr1Bgu','l3f1zxvLCW','C29YDa','uKvesvnFrei','mJG0mtq4rLrdCvjv','z2v0','zxHWCMvZCW','yxbPlwnHBMnLBa','B25itMK','mti4nduWrLjgvvrd','z2v0u3rHDgu','qLvdAMW','zgf0yq','zw50CMLLCW','zMP5Eu0','zxHWB25LBNrPywW','uKvesvnFse9tva','odu1nJyWsefvB2H3','zMfPBgvKuMvHC29U','l3n0yxr1CY86AM9Iswq','ChjVy2vZC2vKt24','ChjVz3jLC3m','z2v0sM9ICW','uM91DgvY','zgvNCMfKzwq','BNzcuLK','AM9PBG','zgvSyxLLza','D2fPDgLUzW','Cgf0Aa','C1vNDMu','zMnlA0m','l2XPC3q','DNjUq2C','uKvesvnFueftu1DpuKq','mtu0q0vfsxLA','Cgf5Bg9Hza','l2HLywX0Aa','ywrK','AM9Ix2XPC3rFzxjYB3i','C1r5ruq','CMv0CNK','ANnVBG','CxvLCNK','CgfNzq','ihjLBw92zwqGkhDHCYa','zgLZy29UBMvJDgvK','sM9Iia','sM9IihrYAwDNzxjLzcb2AweGqvbjoIa','yM9KEq','A2v5CW','BMfTzq','ntG5ogDcDg5uuG','AM9Ix2nHBMnLBf9LCNjVCG','AM9Ix3rYAwDNzxjLzf92AwfFyxbP','Bwv0ywrHDge','q05vrfO','BwLU','CMvTB3zL','zMLUAxnOzwrpBG','AxjnB1q','s1Luwu4','rxPcrfy','CMv0DxjUDMfSDwu','AM9Ix3jVDxrLC19YzwrPC19LCNjVCG','B1vvtK4','AM9ICW','y3jLyxrLza','A3PYt0W','CMvHzgrPCLn5BMm','sM9IignHBMnLBgXLzcb2AweGqvbj','y29UBMvJDgvK','ChvZAa','DgLTzxn0yw1WCW','DxrMoa','zw52','AgfUzgXLCG','z2v0sM9I','Aw9YzwrPCW','ihrPzgfRigjPC2eGzgKTy2fUy2vSicHZDgf0ztOG'];a0_0x306b=function(){return _0x4de883;};return a0_0x306b();}