@restforgejs/platform 5.0.1 → 5.0.3

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 (168) 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/migrate/migrate-runner.js +393 -393
  5. package/generators/lib/payload/payload-runner.js +20 -0
  6. package/generators/lib/templates/dashboard-catalog.js +1 -1
  7. package/generators/lib/templates/db-connection-env.js +1 -1
  8. package/generators/lib/templates/dbschema-catalog.js +1 -1
  9. package/generators/lib/templates/field-validation-catalog.js +1 -1
  10. package/generators/lib/templates/mysql-template.js +1 -1
  11. package/generators/lib/templates/oracle-template.js +1 -1
  12. package/generators/lib/templates/postgres-template.js +1 -1
  13. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  14. package/generators/lib/templates/sqlite-template.js +1 -1
  15. package/integrity-manifest.json +18 -18
  16. package/package.json +1 -1
  17. package/scripts/verify-integrity.js +1 -1
  18. package/server.js +1 -1
  19. package/src/components/handlers/adjust_handler.js +1 -1
  20. package/src/components/handlers/audit_handler.js +1 -1
  21. package/src/components/handlers/delete_handler.js +1 -1
  22. package/src/components/handlers/export_handler.js +1 -1
  23. package/src/components/handlers/import_handler.js +1 -1
  24. package/src/components/handlers/insert_handler.js +1 -1
  25. package/src/components/handlers/update_handler.js +1 -1
  26. package/src/components/handlers/upload_handler.js +1 -1
  27. package/src/components/handlers/workflow_handler.js +1 -1
  28. package/src/components/integrations/webhook.js +1 -1
  29. package/src/consumers/baseConsumer.js +1 -1
  30. package/src/consumers/declarativeMapper.js +1 -1
  31. package/src/consumers/handlers/apiHandler.js +1 -1
  32. package/src/consumers/handlers/consoleHandler.js +1 -1
  33. package/src/consumers/handlers/databaseHandler.js +1 -1
  34. package/src/consumers/handlers/index.js +1 -1
  35. package/src/consumers/handlers/kafkaHandler.js +1 -1
  36. package/src/consumers/index.js +1 -1
  37. package/src/consumers/messageTransformer.js +1 -1
  38. package/src/consumers/validator.js +1 -1
  39. package/src/core/db/dialect/base-dialect.js +1 -1
  40. package/src/core/db/dialect/index.js +1 -1
  41. package/src/core/db/dialect/mysql-dialect.js +1 -1
  42. package/src/core/db/dialect/oracle-dialect.js +1 -1
  43. package/src/core/db/dialect/postgres-dialect.js +1 -1
  44. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  45. package/src/core/db/flatten-helper.js +1 -1
  46. package/src/core/db/query-builder-error.js +1 -1
  47. package/src/core/db/query-builder.js +1 -1
  48. package/src/core/db/relation-helper.js +1 -1
  49. package/src/core/handlers/delete_handler.js +1 -1
  50. package/src/core/handlers/insert_handler.js +1 -1
  51. package/src/core/handlers/update_handler.js +1 -1
  52. package/src/core/models/base-model.js +1 -1
  53. package/src/core/utils/cache-manager.js +1 -1
  54. package/src/core/utils/component-engine.js +1 -1
  55. package/src/core/utils/context-builder.js +1 -1
  56. package/src/core/utils/datetime-formatter.js +1 -1
  57. package/src/core/utils/datetime-parser.js +1 -1
  58. package/src/core/utils/db.js +1 -1
  59. package/src/core/utils/logger.js +1 -1
  60. package/src/core/utils/payload-loader.js +1 -1
  61. package/src/core/utils/security-checks.js +1 -1
  62. package/src/middleware/body-options.js +1 -1
  63. package/src/middleware/cors.js +1 -1
  64. package/src/middleware/idempotency.js +1 -1
  65. package/src/middleware/rate-limiter.js +1 -1
  66. package/src/middleware/request-logger.js +1 -1
  67. package/src/middleware/security-headers.js +1 -1
  68. package/src/models/base-model-mysql.js +1 -1
  69. package/src/models/base-model-oracle.js +1 -1
  70. package/src/models/base-model-sqlite.js +1 -1
  71. package/src/models/base-model.js +1 -1
  72. package/src/pro/caching/redis-client.js +1 -1
  73. package/src/pro/caching/redis-helper.js +1 -1
  74. package/src/pro/consumers/baseConsumer.js +1 -1
  75. package/src/pro/consumers/declarativeMapper.js +1 -1
  76. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  77. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  78. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  79. package/src/pro/consumers/handlers/index.js +1 -1
  80. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  81. package/src/pro/consumers/index.js +1 -1
  82. package/src/pro/consumers/messageTransformer.js +1 -1
  83. package/src/pro/consumers/validator.js +1 -1
  84. package/src/pro/database/base-model-mysql.js +1 -1
  85. package/src/pro/database/base-model-oracle.js +1 -1
  86. package/src/pro/database/base-model-sqlite.js +1 -1
  87. package/src/pro/database/db-mysql.js +1 -1
  88. package/src/pro/database/db-oracle.js +1 -1
  89. package/src/pro/database/db-sqlite.js +1 -1
  90. package/src/pro/excel/excel-generator.js +1 -1
  91. package/src/pro/excel/excel-parser.js +1 -1
  92. package/src/pro/excel/export-service.js +1 -1
  93. package/src/pro/excel/export_handler.js +1 -1
  94. package/src/pro/excel/import-service.js +1 -1
  95. package/src/pro/excel/import-validator.js +1 -1
  96. package/src/pro/excel/import_handler.js +1 -1
  97. package/src/pro/excel/upsert-builder.js +1 -1
  98. package/src/pro/idgen/idgen-routes.js +1 -1
  99. package/src/pro/integrations/lookup-resolver.js +1 -1
  100. package/src/pro/integrations/upload-handler-v2.js +1 -1
  101. package/src/pro/integrations/upload-handler.js +1 -1
  102. package/src/pro/integrations/webhook.js +1 -1
  103. package/src/pro/locking/lock-routes.js +1 -1
  104. package/src/pro/locking/resource-lock-manager.js +1 -1
  105. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  106. package/src/pro/messaging/kafkaService.js +1 -1
  107. package/src/pro/messaging/messagehubService.js +1 -1
  108. package/src/pro/messaging/rabbitmqService.js +1 -1
  109. package/src/pro/scheduler/job-manager.js +1 -1
  110. package/src/pro/scheduler/job-routes.js +1 -1
  111. package/src/pro/scheduler/job-validator.js +1 -1
  112. package/src/pro/storage/base-storage-provider.js +1 -1
  113. package/src/pro/storage/file-metadata-helper.js +1 -1
  114. package/src/pro/storage/index.js +1 -1
  115. package/src/pro/storage/local-storage-provider.js +1 -1
  116. package/src/pro/storage/s3-storage-provider.js +1 -1
  117. package/src/pro/storage/upload-cleanup-job.js +1 -1
  118. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  119. package/src/pro/storage/upload-pending-tracker.js +1 -1
  120. package/src/pro/websocket/broadcast-helper.js +1 -1
  121. package/src/pro/websocket/index.js +1 -1
  122. package/src/pro/websocket/livesync-server.js +1 -1
  123. package/src/pro/websocket/ws-broadcaster.js +1 -1
  124. package/src/services/export-service.js +1 -1
  125. package/src/services/import-service.js +1 -1
  126. package/src/services/kafkaConsumerService.js +1 -1
  127. package/src/services/kafkaService.js +1 -1
  128. package/src/services/messagehubService.js +1 -1
  129. package/src/services/rabbitmqService.js +1 -1
  130. package/src/utils/cache-invalidation-registry.js +1 -1
  131. package/src/utils/cache-manager.js +1 -1
  132. package/src/utils/component-engine.js +1 -1
  133. package/src/utils/config-extractor.js +1 -1
  134. package/src/utils/consumerLogger.js +1 -1
  135. package/src/utils/context-builder.js +1 -1
  136. package/src/utils/dashboard-helpers.js +1 -1
  137. package/src/utils/dateHelper.js +1 -1
  138. package/src/utils/datetime-formatter.js +1 -1
  139. package/src/utils/datetime-parser.js +1 -1
  140. package/src/utils/db-bootstrap.js +1 -1
  141. package/src/utils/db-mysql.js +1 -1
  142. package/src/utils/db-oracle.js +1 -1
  143. package/src/utils/db-sqlite.js +1 -1
  144. package/src/utils/db.js +1 -1
  145. package/src/utils/demo-generator.js +1 -1
  146. package/src/utils/excel-generator.js +1 -1
  147. package/src/utils/excel-parser.js +1 -1
  148. package/src/utils/file-watcher.js +1 -1
  149. package/src/utils/id-generator.js +1 -1
  150. package/src/utils/idempotency-manager.js +1 -1
  151. package/src/utils/import-validator.js +1 -1
  152. package/src/utils/license-client.js +1 -1
  153. package/src/utils/lock-manager.js +1 -1
  154. package/src/utils/logger.js +1 -1
  155. package/src/utils/lookup-resolver.js +1 -1
  156. package/src/utils/payload-loader.js +1 -1
  157. package/src/utils/processor-response.js +1 -1
  158. package/src/utils/rabbitmq.js +1 -1
  159. package/src/utils/redis-client.js +1 -1
  160. package/src/utils/redis-helper.js +1 -1
  161. package/src/utils/request-scope.js +1 -1
  162. package/src/utils/security-checks.js +1 -1
  163. package/src/utils/service-resolver.js +1 -1
  164. package/src/utils/shutdown-coordinator.js +1 -1
  165. package/src/utils/trusted-keys.js +1 -1
  166. package/src/utils/upload-handler.js +1 -1
  167. package/src/utils/upsert-builder.js +1 -1
  168. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- const a0_0x483524=a0_0x22ee;(function(_0xb587e5,_0x21e4a1){const _0x2b722d=a0_0x22ee,_0x48dded=_0xb587e5();while(!![]){try{const _0x158013=parseInt(_0x2b722d(0x159))/0x1+parseInt(_0x2b722d(0x180))/0x2+-parseInt(_0x2b722d(0x168))/0x3+-parseInt(_0x2b722d(0x14e))/0x4*(parseInt(_0x2b722d(0x19b))/0x5)+parseInt(_0x2b722d(0x19e))/0x6+parseInt(_0x2b722d(0x16c))/0x7*(-parseInt(_0x2b722d(0x172))/0x8)+-parseInt(_0x2b722d(0x19d))/0x9;if(_0x158013===_0x21e4a1)break;else _0x48dded['push'](_0x48dded['shift']());}catch(_0xb836b0){_0x48dded['push'](_0x48dded['shift']());}}}(a0_0x4a60,0x8b4c9));const {createConnection,createChannel,setupInfrastructure,closeConnection,getConfig}=require(a0_0x483524(0x155)),{formatDate}=require(a0_0x483524(0x17b));class RabbitMQService{constructor(){const _0x3b57dd=a0_0x483524,_0xad5c12={'nTgmf':'0|2|3|1|4'},_0x2522f8=_0xad5c12[_0x3b57dd(0x17f)][_0x3b57dd(0x191)]('|');let _0x35fb01=0x0;while(!![]){switch(_0x2522f8[_0x35fb01++]){case'0':this[_0x3b57dd(0x1a5)]=null;continue;case'1':this['isConnected']=![];continue;case'2':this[_0x3b57dd(0x17a)]=null;continue;case'3':this[_0x3b57dd(0x14c)]=getConfig();continue;case'4':this['messageHandlers']=[];continue;}break;}}async[a0_0x483524(0x16a)](){const _0x57c4bc=a0_0x483524,_0x335559={'qtOrM':function(_0x79b068){return _0x79b068();},'jkIqW':_0x57c4bc(0x164),'hdBke':function(_0x299aa4,_0x284a54){return _0x299aa4(_0x284a54);}};try{return this['connection']=await _0x335559[_0x57c4bc(0x15c)](createConnection),this['channel']=await createChannel(this['connection']),await this[_0x57c4bc(0x17a)][_0x57c4bc(0x196)](0x1),console['log']('['+formatDate(new Date())+_0x57c4bc(0x193)),await setupInfrastructure(this[_0x57c4bc(0x17a)]),this[_0x57c4bc(0x16e)]=!![],this[_0x57c4bc(0x1a5)]['on'](_0x335559[_0x57c4bc(0x183)],()=>{const _0x4eba98=_0x57c4bc;console['error']('['+formatDate(new Date())+']\x20Koneksi\x20RabbitMQ\x20terputus'),this[_0x4eba98(0x16e)]=![],setTimeout(()=>this[_0x4eba98(0x18e)](),0x1388);}),!![];}catch(_0x376f99){return console[_0x57c4bc(0x157)]('['+_0x335559[_0x57c4bc(0x195)](formatDate,new Date())+_0x57c4bc(0x197)+_0x376f99[_0x57c4bc(0x153)]),this['isConnected']=![],![];}}async[a0_0x483524(0x18e)](){const _0x4302fa=a0_0x483524,_0x1a9202={'XVfxS':function(_0x55e9a1,_0x184591){return _0x55e9a1(_0x184591);}};console['log']('['+formatDate(new Date())+']\x20Attempting\x20to\x20reconnect\x20to\x20RabbitMQ...');try{await this[_0x4302fa(0x16a)](),this['isConnected']&&(console['log']('['+formatDate(new Date())+']\x20Successfully\x20reconnected\x20to\x20RabbitMQ'),await this['startConsume']());}catch(_0x1c6a54){console[_0x4302fa(0x157)]('['+_0x1a9202[_0x4302fa(0x199)](formatDate,new Date())+_0x4302fa(0x169)+_0x1c6a54['message']),setTimeout(()=>this[_0x4302fa(0x18e)](),0x1388);}}async[a0_0x483524(0x1a0)](_0x7ba26e){const _0x49f737=a0_0x483524,_0x305d49={'OcUbX':function(_0x571fbc,_0x3607c7){return _0x571fbc(_0x3607c7);},'fHnWs':function(_0x180264,_0x1e596b){return _0x180264(_0x1e596b);},'gTQjD':function(_0x1cdd8b,_0x4318eb){return _0x1cdd8b(_0x4318eb);},'zrMEB':function(_0x139f02,_0x35f9df){return _0x139f02===_0x35f9df;},'WYWln':_0x49f737(0x176),'qjNhf':function(_0x6e4175,_0x275735){return _0x6e4175(_0x275735);},'HLIRH':_0x49f737(0x14f),'buCMT':function(_0x3db14c,_0x12e61e){return _0x3db14c(_0x12e61e);},'TyHwH':function(_0x27d55b,_0x54936b){return _0x27d55b(_0x54936b);},'IGewW':function(_0x1e5d2e,_0xc92fd6){return _0x1e5d2e(_0xc92fd6);},'rIRGA':function(_0x3c42a7,_0x4fc162){return _0x3c42a7(_0x4fc162);},'rmXqF':function(_0x326776,_0x21d9ef){return _0x326776(_0x21d9ef);}};try{!this['isConnected']&&(this[_0x49f737(0x1a5)]=await createConnection(),this[_0x49f737(0x17a)]=await _0x305d49[_0x49f737(0x19c)](createChannel,this['connection']),this[_0x49f737(0x16e)]=!![]);const _0x50684a=process[_0x49f737(0x177)]['RESTFORGE_PROJECT_NAME']||_0x49f737(0x189),_0x1aef74=_0x50684a+_0x49f737(0x149);await this['channel']['assertExchange'](_0x1aef74,'direct',{'durable':!![],'autoDelete':![]}),console['log']('['+_0x305d49[_0x49f737(0x166)](formatDate,new Date())+_0x49f737(0x18b)+_0x1aef74+'\x20created/ready'),await this['channel']['assertExchange'](_0x7ba26e['exchange'],_0x49f737(0x163),{'durable':!![],'autoDelete':![]}),console[_0x49f737(0x17c)]('['+_0x305d49[_0x49f737(0x165)](formatDate,new Date())+']\x20Exchange\x20'+_0x7ba26e[_0x49f737(0x18d)]+'\x20created/ready');const _0x77bf2=_0x7ba26e['routingKey']+'_retry',_0x2ae318={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':_0x7ba26e['exchange'],'x-dead-letter-routing-key':_0x7ba26e['routingKey']}};await this['channel']['assertQueue'](_0x77bf2,_0x2ae318),console[_0x49f737(0x17c)]('['+_0x305d49['gTQjD'](formatDate,new Date())+']\x20Retry\x20queue\x20'+_0x77bf2+'\x20created/ready'),await this['channel'][_0x49f737(0x17e)](_0x77bf2,_0x1aef74,_0x7ba26e[_0x49f737(0x161)]),console['log']('['+formatDate(new Date())+']\x20Retry\x20binding\x20for\x20'+_0x7ba26e[_0x49f737(0x161)]+'\x20created');const _0x34c3d3={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x1aef74,'x-dead-letter-routing-key':_0x7ba26e[_0x49f737(0x161)]}};try{const _0x46d15a=await this[_0x49f737(0x17a)][_0x49f737(0x150)](_0x7ba26e[_0x49f737(0x14a)],_0x34c3d3);console[_0x49f737(0x17c)]('['+formatDate(new Date())+_0x49f737(0x14b)+_0x7ba26e['queue']+'\x20'+(_0x305d49[_0x49f737(0x15f)](_0x46d15a['queue'],_0x7ba26e[_0x49f737(0x14a)])?_0x305d49[_0x49f737(0x15d)]:_0x49f737(0x16d))+'\x20with\x20DLX'),await this['channel'][_0x49f737(0x17e)](_0x7ba26e['queue'],_0x7ba26e['exchange'],_0x7ba26e['routingKey']),console['log']('['+_0x305d49['qjNhf'](formatDate,new Date())+']\x20Binding\x20'+_0x7ba26e[_0x49f737(0x18d)]+'\x20->\x20'+_0x7ba26e[_0x49f737(0x14a)]+'\x20('+_0x7ba26e['routingKey']+_0x49f737(0x154));}catch(_0x2cc80a){if(_0x2cc80a[_0x49f737(0x153)][_0x49f737(0x175)](_0x49f737(0x158))&&_0x2cc80a[_0x49f737(0x153)][_0x49f737(0x175)](_0x305d49['HLIRH'])){console['error']('\x0a['+_0x305d49['buCMT'](formatDate,new Date())+']\x20ERROR:\x20Queue\x20'+_0x7ba26e[_0x49f737(0x14a)]+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console[_0x49f737(0x157)](_0x49f737(0x181));const _0x230be7=_0x7ba26e['routingKey']+_0x49f737(0x179),_0x597642=await this['channel'][_0x49f737(0x150)](_0x230be7,_0x34c3d3);console['log']('['+_0x305d49[_0x49f737(0x15a)](formatDate,new Date())+']\x20Alternative\x20queue\x20'+_0x230be7+'\x20created\x20with\x20DLX'),await this[_0x49f737(0x17a)][_0x49f737(0x17e)](_0x230be7,_0x7ba26e['exchange'],_0x7ba26e['routingKey']),console['log']('['+_0x305d49[_0x49f737(0x1a4)](formatDate,new Date())+']\x20Binding\x20'+_0x7ba26e['exchange']+_0x49f737(0x188)+_0x230be7+'\x20('+_0x7ba26e[_0x49f737(0x161)]+')\x20created'),_0x7ba26e[_0x49f737(0x14a)]=_0x230be7;}else{console['error']('['+_0x305d49['rIRGA'](formatDate,new Date())+_0x49f737(0x19a)+_0x7ba26e[_0x49f737(0x14a)]+':',_0x2cc80a[_0x49f737(0x153)]);throw _0x2cc80a;}}return!![];}catch(_0x405e0f){return console[_0x49f737(0x157)]('['+_0x305d49[_0x49f737(0x19f)](formatDate,new Date())+']\x20Error\x20saat\x20setup\x20infrastruktur:\x20'+_0x405e0f['message']),![];}}async['sendToQueue'](_0x3625eb,_0x308440){const _0x4da0a6=a0_0x483524,_0x392849={'iivFE':_0x4da0a6(0x178),'mNnwb':function(_0x5db1e6,_0x1b6afd){return _0x5db1e6(_0x1b6afd);}};if(!this[_0x4da0a6(0x16e)])try{await this[_0x4da0a6(0x16a)]();}catch(_0xa80aad){return{'success':![],'message':_0x4da0a6(0x184)+_0xa80aad['message'],'data':null};}try{const _0x90fa09=_0x308440['auto_retry']!==undefined?_0x308440['auto_retry']:![],_0x5da965=_0x308440[_0x4da0a6(0x16b)]||0x3,_0x59f422={'rabbitmq':{'exchange':_0x308440[_0x4da0a6(0x18d)],'queue':_0x308440['queue'],'routing_key':_0x308440[_0x4da0a6(0x161)],'auto_retry':_0x90fa09,'max_retries':_0x5da965},'message':_0x3625eb};await this['setupCollectorInfrastructure'](_0x308440);const _0x36ef53=new Date(),_0x116b2e={'timestamp':_0x36ef53['toISOString'](),'content':JSON[_0x4da0a6(0x192)](_0x59f422)},_0x1ce2ff=this['channel'][_0x4da0a6(0x194)](_0x308440['exchange'],_0x308440[_0x4da0a6(0x161)],Buffer[_0x4da0a6(0x186)](JSON['stringify'](_0x116b2e)),{'persistent':!![],'contentType':'application/json','timestamp':_0x36ef53['getTime'](),'messageId':_0x36ef53['getTime']()+'-'+Math[_0x4da0a6(0x185)]()[_0x4da0a6(0x1a3)](0x24)[_0x4da0a6(0x1a2)](0x7),'headers':{'x-auto-retry':_0x90fa09,'x-max-retry':_0x5da965,'x-retry-count':0x0,'x-retry-interval':0x2710}});if(_0x1ce2ff){console[_0x4da0a6(0x17c)]('['+formatDate(_0x36ef53)+']\x20Message\x20sent\x20to\x20RabbitMQ\x20successfully:',{'exchange':_0x308440[_0x4da0a6(0x18d)],'routing_key':_0x308440[_0x4da0a6(0x161)],'queue':_0x308440['queue'],'sendAt':_0x36ef53[_0x4da0a6(0x1a6)]()});const _0x5dfe3c='queue-'+_0x36ef53[_0x4da0a6(0x1a1)]()+'-'+Math[_0x4da0a6(0x185)]()[_0x4da0a6(0x1a3)](0x24)[_0x4da0a6(0x1a2)](0x7);return{'success':!![],'message':_0x392849['iivFE'],'data':{'id':_0x5dfe3c,'queueInfo':{'exchange':_0x308440['exchange'],'queue':_0x308440[_0x4da0a6(0x14a)],'routingKey':_0x308440[_0x4da0a6(0x161)]}}};}else throw new Error(_0x4da0a6(0x173));}catch(_0x216123){return console[_0x4da0a6(0x157)]('['+_0x392849['mNnwb'](formatDate,new Date())+']\x20Error\x20sending\x20to\x20RabbitMQ:\x20'+_0x216123[_0x4da0a6(0x153)]),{'success':![],'message':'Error:\x20'+_0x216123['message'],'data':null};}}['registerMessageHandler'](_0x3720ff){const _0x3c12f5=a0_0x483524,_0x2a5472={'ioJyU':function(_0x17e02c,_0x1da27e){return _0x17e02c===_0x1da27e;},'gxWqM':_0x3c12f5(0x187),'Evvpq':function(_0x315191,_0x48d68c){return _0x315191(_0x48d68c);}};_0x2a5472[_0x3c12f5(0x160)](typeof _0x3720ff,_0x2a5472['gxWqM'])?(this[_0x3c12f5(0x151)]['push'](_0x3720ff),console[_0x3c12f5(0x17c)]('['+_0x2a5472['Evvpq'](formatDate,new Date())+_0x3c12f5(0x156))):console['error']('['+formatDate(new Date())+_0x3c12f5(0x15b));}async['processMessage'](_0x577d28){const _0x15be71=a0_0x483524,_0x5cbe96={'mgOCl':function(_0x3a84c5,_0x38b64e){return _0x3a84c5(_0x38b64e);}};if(this[_0x15be71(0x151)][_0x15be71(0x198)]===0x0)return console['warn']('['+_0x5cbe96['mgOCl'](formatDate,new Date())+_0x15be71(0x18f)),!![];try{for(const _0xfdcc35 of this[_0x15be71(0x151)]){await _0x5cbe96['mgOCl'](_0xfdcc35,_0x577d28);}return!![];}catch(_0x45eb91){return console[_0x15be71(0x157)]('['+formatDate(new Date())+']\x20Error\x20processing\x20message:\x20'+_0x45eb91[_0x15be71(0x153)]),![];}}async[a0_0x483524(0x152)](){const _0x3254de=a0_0x483524,_0x1437a6={'egWQK':function(_0x47d30a,_0x595fe8){return _0x47d30a!==_0x595fe8;},'ctAvm':function(_0x373cda,_0x301534){return _0x373cda(_0x301534);},'qenmk':'---','rguKJ':function(_0x4ef1ef,_0x364f7e){return _0x4ef1ef(_0x364f7e);}};if(!this['isConnected'])return console['error']('['+_0x1437a6['ctAvm'](formatDate,new Date())+_0x3254de(0x15e)),![];try{return console['log']('['+_0x1437a6['ctAvm'](formatDate,new Date())+_0x3254de(0x171)+this[_0x3254de(0x14c)]['queue']+_0x3254de(0x16f)),this[_0x3254de(0x17a)][_0x3254de(0x167)](this[_0x3254de(0x14c)][_0x3254de(0x14a)],async _0x3f4c7c=>{const _0x1a02ae=_0x3254de;if(_0x1437a6[_0x1a02ae(0x170)](_0x3f4c7c,null)){const _0x5bd21e=new Date();let _0x1ace5d;try{_0x1ace5d=JSON['parse'](_0x3f4c7c['content']['toString']());}catch(_0x1f85ff){console[_0x1a02ae(0x157)]('['+formatDate(_0x5bd21e)+']\x20Failed\x20to\x20parse\x20message:\x20'+_0x1f85ff['message']),console['error'](_0x1a02ae(0x14d)+_0x3f4c7c['content'][_0x1a02ae(0x1a3)]()),this[_0x1a02ae(0x17a)]['ack'](_0x3f4c7c);return;}const _0x5d801f=_0x3f4c7c['properties'][_0x1a02ae(0x17d)]?new Date(_0x3f4c7c['properties']['timestamp']):new Date(),_0x2a4551=await this[_0x1a02ae(0x18a)](_0x1ace5d);_0x2a4551?(console['log']('['+_0x1437a6['ctAvm'](formatDate,new Date())+_0x1a02ae(0x18c)),this[_0x1a02ae(0x17a)]['ack'](_0x3f4c7c)):(console[_0x1a02ae(0x157)]('['+formatDate(new Date())+_0x1a02ae(0x162)),this['channel']['nack'](_0x3f4c7c,![],!![])),console['log'](_0x1437a6['qenmk']);}},{'noAck':![]}),!![];}catch(_0x4ef88c){return console[_0x3254de(0x157)]('['+_0x1437a6[_0x3254de(0x174)](formatDate,new Date())+']\x20Failed\x20to\x20start\x20consuming:\x20'+_0x4ef88c['message']),![];}}async['close'](){const _0x4d4afc=a0_0x483524,_0x4a0a40={'ynCRY':function(_0x26f73f,_0x1204f5){return _0x26f73f(_0x1204f5);}};this['connection']&&(await _0x4a0a40[_0x4d4afc(0x182)](closeConnection,this[_0x4d4afc(0x1a5)]),this['isConnected']=![]);}}let instance=null;function a0_0x4a60(){const _0xd20ec5=['xsboBYbOyw5KBgvYCYbYzwDPC3rLCMvKihrVihbYB2nLC3mGBwvZC2fNzxm','zxHWB3j0CW','C3bSAxq','C3rYAw5NAwz5','xsbqCMvMzxrJAcbKAwf0DxiGA2uGmq','ChvIBgLZAa','AgrcA2u','ChjLzMv0y2G','xsbgywLSzwqGDg8GAw5PDgLHBgL6zsbsywjIAxrnutOG','BgvUz3rO','wfzMEfm','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','nJvJBvL3uvm','t2nvyLG','mtC2mJG1n2r5vNvbAq','odK4nJi2DhnqANP3','CM1yCuy','C2v0DxbdB2XSzwn0B3jjBMzYyxn0CNvJDhvYzq','z2v0vgLTzq','C3vIC3rYAw5N','Dg9tDhjPBMC','suDLD1C','y29UBMvJDgLVBG','Dg9ju09tDhjPBMC','lxjLDhj5lwv4y2HHBMDL','CxvLDwu','xsbrDwv1zsa','y29UzMLN','twvZC2fNzsbJB250zw50oIa','mtmZmte2ue14DKHn','Ec1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEq','yxnZzxj0uxvLDwu','BwvZC2fNzuHHBMrSzxjZ','C3rHCNrdB25ZDw1L','BwvZC2fNzq','ksbJCMvHDgvK','lI4VDxrPBhmVCMfIyML0Bxe','xsbnzxnZywDLigHHBMrSzxiGCMvNAxn0zxjLza','zxjYB3i','Aw5LCxvPDMfSzw50igfYzW','mta3mZeWmKjUDwnrAW','vhLiD0G','xsbnzxnZywDLigHHBMrSzxiGBxvZDcbIzsbHigz1BMn0Aw9U','CxrpCK0','v1LxBg4','xsbdyw5UB3qGC3rHCNqGy29UC3vTAw5NoIbUB3qGy29UBMvJDgvKihrVifjHyMjPDe1r','ENjnrui','Aw9kEvu','CM91DgLUz0TLEq','xsbgywLSzwqGDg8GChjVy2vZCYbTzxnZywDLlcbYzxf1zxvPBMC','zgLYzwn0','y2XVC2u','z1rrAKq','zKHUv3m','y29UC3vTzq','nJy1ntu5t05Nz1fb','xsbgywLSzwqGDg8GCMvJB25Uzwn0ihrVifjHyMjPDe1roIa','Aw5PDgLHBgL6zq','Bwf4x3jLDhjPzxm','mti3ng1SsK9nsq','zM91BMq','AxndB25Uzwn0zwq','iI4UlG','zwDxuuS','xsbtDgfYDcbJB25ZDw1PBMCGBwvZC2fNzxmGzNjVBsbXDwv1zsaI','mty0ofz5BMzfrG','rMfPBgvKihrVihnLBMqGBwvZC2fNzsb0BYbsywjIAxrnuq','CMD1s0O','Aw5JBhvKzxm','y3jLyxrLzc9YzwfKEq','zw52','rgf0ysbZzw50ihrVihf1zxvLihn1y2nLC3nMDwXSEq','x3f1zxvL','y2HHBM5LBa','lI4VDxrPBhmVzgf0zuHLBhbLCG','Bg9N','DgLTzxn0yw1W','yMLUzff1zxvL','BLrNBwy','ndCXmdGYANbhrMzQ','vhj5Aw5NigfSDgvYBMf0AxzLihf1zxvLig5HBwuUlI4','Ew5duLK','AMTjCvC','q2fUBM90ignVBM5Ly3qGDg8GuMfIyML0tve6ia','CMfUzg9T','zNjVBq','zNvUy3rPB24','ic0+ia','zgvMyxvSDa','ChjVy2vZC01LC3nHz2u','xsbszxrYEsbLEgnOyw5Nzsa','xsbnzxnZywDLihbYB2nLC3nLzcbZDwnJzxnZzNvSBhK','zxHJAgfUz2u','CMvJB25Uzwn0'];a0_0x4a60=function(){return _0xd20ec5;};return a0_0x4a60();}function a0_0x22ee(_0x236aed,_0x4c727f){_0x236aed=_0x236aed-0x149;const _0x4a6040=a0_0x4a60();let _0x22ee15=_0x4a6040[_0x236aed];if(a0_0x22ee['gIPQnh']===undefined){var _0x1f4746=function(_0xbe380b){const _0x19b087='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2eba19='',_0x51dd29='';for(let _0x44da54=0x0,_0x20f570,_0x366ec8,_0x206a93=0x0;_0x366ec8=_0xbe380b['charAt'](_0x206a93++);~_0x366ec8&&(_0x20f570=_0x44da54%0x4?_0x20f570*0x40+_0x366ec8:_0x366ec8,_0x44da54++%0x4)?_0x2eba19+=String['fromCharCode'](0xff&_0x20f570>>(-0x2*_0x44da54&0x6)):0x0){_0x366ec8=_0x19b087['indexOf'](_0x366ec8);}for(let _0xef1982=0x0,_0x5b1b38=_0x2eba19['length'];_0xef1982<_0x5b1b38;_0xef1982++){_0x51dd29+='%'+('00'+_0x2eba19['charCodeAt'](_0xef1982)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x51dd29);};a0_0x22ee['unhHlY']=_0x1f4746,a0_0x22ee['MGTnbO']={},a0_0x22ee['gIPQnh']=!![];}const _0x502511=_0x4a6040[0x0],_0x1d58a8=_0x236aed+_0x502511,_0x300b9a=a0_0x22ee['MGTnbO'][_0x1d58a8];return!_0x300b9a?(_0x22ee15=a0_0x22ee['unhHlY'](_0x22ee15),a0_0x22ee['MGTnbO'][_0x1d58a8]=_0x22ee15):_0x22ee15=_0x300b9a,_0x22ee15;}function getInstance(){return!instance&&(instance=new RabbitMQService()),instance;}module[a0_0x483524(0x190)]={'getInstance':getInstance};
1
+ function a0_0x2494(_0x1f9e45,_0x509946){_0x1f9e45=_0x1f9e45-0x8d;const _0x8c5f90=a0_0x8c5f();let _0x249461=_0x8c5f90[_0x1f9e45];if(a0_0x2494['MRzxOU']===undefined){var _0x52851f=function(_0x229abd){const _0x1b9213='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5a0e8f='',_0x1b9f10='';for(let _0x4e4278=0x0,_0x1ce5d9,_0xe1dd72,_0x16f9bf=0x0;_0xe1dd72=_0x229abd['charAt'](_0x16f9bf++);~_0xe1dd72&&(_0x1ce5d9=_0x4e4278%0x4?_0x1ce5d9*0x40+_0xe1dd72:_0xe1dd72,_0x4e4278++%0x4)?_0x5a0e8f+=String['fromCharCode'](0xff&_0x1ce5d9>>(-0x2*_0x4e4278&0x6)):0x0){_0xe1dd72=_0x1b9213['indexOf'](_0xe1dd72);}for(let _0x297e10=0x0,_0x5543d4=_0x5a0e8f['length'];_0x297e10<_0x5543d4;_0x297e10++){_0x1b9f10+='%'+('00'+_0x5a0e8f['charCodeAt'](_0x297e10)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1b9f10);};a0_0x2494['jUTneo']=_0x52851f,a0_0x2494['BbuTcO']={},a0_0x2494['MRzxOU']=!![];}const _0x190a27=_0x8c5f90[0x0],_0x4054fe=_0x1f9e45+_0x190a27,_0x800b78=a0_0x2494['BbuTcO'][_0x4054fe];return!_0x800b78?(_0x249461=a0_0x2494['jUTneo'](_0x249461),a0_0x2494['BbuTcO'][_0x4054fe]=_0x249461):_0x249461=_0x800b78,_0x249461;}const a0_0x22982a=a0_0x2494;(function(_0x3f4f78,_0x221184){const _0x2a5740=a0_0x2494,_0x188d57=_0x3f4f78();while(!![]){try{const _0x37078a=parseInt(_0x2a5740(0xa4))/0x1+parseInt(_0x2a5740(0xac))/0x2+parseInt(_0x2a5740(0x9c))/0x3+-parseInt(_0x2a5740(0xb2))/0x4+parseInt(_0x2a5740(0xcd))/0x5*(-parseInt(_0x2a5740(0x9e))/0x6)+-parseInt(_0x2a5740(0xaf))/0x7*(parseInt(_0x2a5740(0x90))/0x8)+-parseInt(_0x2a5740(0x9f))/0x9*(-parseInt(_0x2a5740(0x8f))/0xa);if(_0x37078a===_0x221184)break;else _0x188d57['push'](_0x188d57['shift']());}catch(_0x27cc5a){_0x188d57['push'](_0x188d57['shift']());}}}(a0_0x8c5f,0x7e615));const {createConnection,createChannel,setupInfrastructure,closeConnection,getConfig}=require(a0_0x22982a(0xd3)),{formatDate}=require('../utils/dateHelper');function a0_0x8c5f(){const _0x132d76=['Dg9tDhjPBMC','yxnZzxj0rxHJAgfUz2u','lI4VDxrPBhmVCMfIyML0Bxe','zNvUy3rPB24','yxv0B19YzxrYEq','BwvZC2fNzq','ENrsAuG','y29UzMLN','Aw5JBhvKzxm','zxHJAgfUz2u','xsbtDwnJzxnZzNvSBhKGCMvJB25Uzwn0zwqGDg8GuMfIyML0tve','DgLTzxn0yw1W','q2fUBM90ignVBM5Ly3qGDg8GuMfIyML0tve6ia','CxvLDwu','zxjYB3i','C3vIC3rYAw5N','q1vMzfa','xsbszxrYEsbIAw5KAw5NigzVCIa','x3jLDhj5','CgfYC2u','ndbeCezgyKe','mtm2DgzWq3rJ','tgL6s2q','xsbgywLSzwqGDg8GChjVy2vZCYbTzxnZywDLlcbYzxf1zxvPBMC','C3rHCNrdB25ZDw1L','C3rYAw5NAwz5','Dg9ju09tDhjPBMC','BgvUz3rO','y2XVC2u','xsbgywLSzwqGDg8GAw5PDgLHBgL6zsbsywjIAxrnutOG','xsbcAw5KAw5Nia','zM91BMq','yxnZzxj0uxvLDwu','mtuZotK1ngLmEeHLAa','C2v0DxbdB2XSzwn0B3jjBMzYyxn0CNvJDhvYzq','mtu0nZK0r0Pqu0j2','nJmWotu0DePbzKnY','AxndB25Uzwn0zwq','y29UBMvJDgLVBG','xsblB25LA3nPifjHyMjPDe1rihrLCNb1DhvZ','zMfvtvO','otK4mda5DxviqM1Z','ksbJCMvHDgvK','zxDpvLi','zvb2rNC','xsboBYbOyw5KBgvYCYbYzwDPC3rLCMvKihrVihbYB2nLC3mGBwvZC2fNzxm','Bwf4x3jLDhjPzxm','zwrkrum','xsbqCMvMzxrJAcbKAwf0DxiGA2uGmq','mte4ntm2y2Lmse5s','CNnTyw4','BwvZC2fNzuHHBMrSzxjZ','mZi2ndeWCeHZr0zb','CMfUzg9T','y3jLyxrLzc9YzwfKEq','nJe0nJG0z0n0v2zK','iI4UlG','ls0T','DwHtv0C','CM91DgLUz0TLEq','ignYzwf0zwqVCMvHzhK','nNW3Fdj8nhWWFdf8nxWZ','xsbbDhrLBxb0Aw5NihrVihjLy29UBMvJDcb0BYbsywjIAxrnus4UlG','yMLUzff1zxvL','Aw5PDgLHBgL6zq','q0nqD1u','xsbfCNjVCIbZzw5KAw5NihrVifjHyMjPDe1roIa','zgLYzwn0','CxvLDwuT','D2fYBG','z0XJB3q','xsbgywLSzwqGDg8GC3rHCNqGy29UC3vTAw5NoIa','rxjYB3i6ia','xsbfuLjpuJOGuxvLDwuG','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','Bg9N','y29UDgvUDa','ic0+ia','z2v0vgLTzq','lxjLDhj5lwv4y2HHBMDL','y2HHBM5LBa','xsbnzxnZywDLigHHBMrSzxiGCMvNAxn0zxjLza','nZvJswr4tNm','qxvste0','yKf3s0u','ywnR'];a0_0x8c5f=function(){return _0x132d76;};return a0_0x8c5f();}class RabbitMQService{constructor(){const _0x15df7b=a0_0x22982a,_0x37e760={'edJEC':function(_0x3b37d9){return _0x3b37d9();}};this[_0x15df7b(0xa1)]=null,this[_0x15df7b(0xcb)]=null,this['config']=_0x37e760[_0x15df7b(0xaa)](getConfig),this['isConnected']=![],this['messageHandlers']=[];}async['initialize'](){const _0x36d7d6=a0_0x22982a,_0x243a45={'faUMZ':function(_0x4af4f6,_0x5437e0){return _0x4af4f6(_0x5437e0);},'JlReI':function(_0x2e36e1,_0x129890,_0xd35cd7){return _0x2e36e1(_0x129890,_0xd35cd7);},'qsWBr':function(_0x49bfeb,_0x591b03){return _0x49bfeb(_0x591b03);},'ewOVR':'close'};try{const _0x32d0af=_0x36d7d6(0xb8)['split']('|');let _0x22be98=0x0;while(!![]){switch(_0x32d0af[_0x22be98++]){case'0':await _0x243a45['qsWBr'](setupInfrastructure,this[_0x36d7d6(0xcb)]);continue;case'1':this[_0x36d7d6(0xa0)]=!![];continue;case'2':await this[_0x36d7d6(0xcb)]['prefetch'](0x1);continue;case'3':return!![];case'4':console['log']('['+formatDate(new Date())+_0x36d7d6(0xab));continue;case'5':this[_0x36d7d6(0xa1)]['on'](_0x243a45[_0x36d7d6(0xa6)],()=>{const _0x1ab0a7=_0x36d7d6;console['error']('['+_0x243a45[_0x1ab0a7(0xa3)](formatDate,new Date())+_0x1ab0a7(0xa2)),this[_0x1ab0a7(0xa0)]=![],_0x243a45['JlReI'](setTimeout,()=>this['reconnect'](),0x1388);});continue;case'6':this[_0x36d7d6(0xa1)]=await createConnection();continue;case'7':this[_0x36d7d6(0xcb)]=await _0x243a45['qsWBr'](createChannel,this['connection']);continue;}break;}}catch(_0x45e60e){return console[_0x36d7d6(0xdf)]('['+formatDate(new Date())+_0x36d7d6(0x98)+_0x45e60e['message']),this['isConnected']=![],![];}}async['reconnect'](){const _0x33b47e=a0_0x22982a,_0x24874c={'rsman':function(_0x1294ca,_0xc081ee){return _0x1294ca(_0xc081ee);},'ecNON':function(_0x2e661f,_0x4abc39){return _0x2e661f(_0x4abc39);}};console['log']('['+_0x24874c[_0x33b47e(0xad)](formatDate,new Date())+_0x33b47e(0xb9));try{await this[_0x33b47e(0xbb)](),this['isConnected']&&(console[_0x33b47e(0xc6)]('['+formatDate(new Date())+_0x33b47e(0xdb)),await this[_0x33b47e(0x93)]());}catch(_0x1c18b9){console['error']('['+_0x24874c['ecNON'](formatDate,new Date())+']\x20Failed\x20to\x20reconnect\x20to\x20RabbitMQ:\x20'+_0x1c18b9[_0x33b47e(0xd6)]),setTimeout(()=>this['reconnect'](),0x1388);}}async['setupCollectorInfrastructure'](_0x13b819){const _0x5296b5=a0_0x22982a,_0x47fd08={'efIJs':_0x5296b5(0xbe),'ePvFw':function(_0x72f3a4,_0x5112a1){return _0x72f3a4(_0x5112a1);},'aHGCH':function(_0x4017ff,_0x3f4ac1){return _0x4017ff===_0x3f4ac1;},'CUfdP':_0x5296b5(0x9a),'AuRLM':function(_0x38e3be,_0x252558){return _0x38e3be(_0x252558);}};try{!this['isConnected']&&(this[_0x5296b5(0xa1)]=await createConnection(),this[_0x5296b5(0xcb)]=await createChannel(this[_0x5296b5(0xa1)]),this[_0x5296b5(0xa0)]=!![]);const _0x39d7ac=process['env'][_0x5296b5(0xc5)]||'default',_0x39c8c5=_0x39d7ac+_0x5296b5(0xca);await this['channel'][_0x5296b5(0xd2)](_0x39c8c5,_0x47fd08['efIJs'],{'durable':!![],'autoDelete':![]}),console['log']('['+formatDate(new Date())+']\x20Retry\x20exchange\x20'+_0x39c8c5+_0x5296b5(0xb7)),await this['channel']['assertExchange'](_0x13b819['exchange'],_0x5296b5(0xbe),{'durable':!![],'autoDelete':![]}),console[_0x5296b5(0xc6)]('['+_0x47fd08['ePvFw'](formatDate,new Date())+']\x20Exchange\x20'+_0x13b819[_0x5296b5(0xda)]+_0x5296b5(0xb7));const _0x2edfc1=_0x13b819['routingKey']+_0x5296b5(0x8d),_0x189461={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':_0x13b819['exchange'],'x-dead-letter-routing-key':_0x13b819[_0x5296b5(0xb6)]}};await this['channel'][_0x5296b5(0x9b)](_0x2edfc1,_0x189461),console[_0x5296b5(0xc6)]('['+formatDate(new Date())+']\x20Retry\x20queue\x20'+_0x2edfc1+_0x5296b5(0xb7)),await this[_0x5296b5(0xcb)]['bindQueue'](_0x2edfc1,_0x39c8c5,_0x13b819[_0x5296b5(0xb6)]),console[_0x5296b5(0xc6)]('['+formatDate(new Date())+_0x5296b5(0xe2)+_0x13b819[_0x5296b5(0xb6)]+'\x20created');const _0x288aa5={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x39c8c5,'x-dead-letter-routing-key':_0x13b819[_0x5296b5(0xb6)]}};try{const _0x4336cb=await this[_0x5296b5(0xcb)]['assertQueue'](_0x13b819[_0x5296b5(0xde)],_0x288aa5);console['log']('['+_0x47fd08['ePvFw'](formatDate,new Date())+']\x20Queue\x20'+_0x13b819[_0x5296b5(0xde)]+'\x20'+(_0x47fd08['aHGCH'](_0x4336cb[_0x5296b5(0xde)],_0x13b819[_0x5296b5(0xde)])?_0x5296b5(0xb1):_0x47fd08[_0x5296b5(0xe1)])+'\x20with\x20DLX'),await this[_0x5296b5(0xcb)]['bindQueue'](_0x13b819[_0x5296b5(0xde)],_0x13b819['exchange'],_0x13b819['routingKey']),console[_0x5296b5(0xc6)]('['+_0x47fd08['ePvFw'](formatDate,new Date())+_0x5296b5(0x99)+_0x13b819[_0x5296b5(0xda)]+_0x5296b5(0xc8)+_0x13b819['queue']+'\x20('+_0x13b819['routingKey']+_0x5296b5(0xa5));}catch(_0x192e72){if(_0x192e72[_0x5296b5(0xd6)][_0x5296b5(0xd9)]('inequivalent\x20arg')&&_0x192e72['message'][_0x5296b5(0xd9)]('x-dead-letter-routing-key')){console[_0x5296b5(0xdf)]('\x0a['+_0x47fd08[_0x5296b5(0xce)](formatDate,new Date())+_0x5296b5(0xc4)+_0x13b819[_0x5296b5(0xde)]+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console[_0x5296b5(0xdf)]('Trying\x20alternative\x20queue\x20name...');const _0x2589ba=_0x13b819[_0x5296b5(0xb6)]+'_queue',_0x34c84f=await this['channel']['assertQueue'](_0x2589ba,_0x288aa5);console[_0x5296b5(0xc6)]('['+_0x47fd08[_0x5296b5(0xa7)](formatDate,new Date())+']\x20Alternative\x20queue\x20'+_0x2589ba+'\x20created\x20with\x20DLX'),await this[_0x5296b5(0xcb)][_0x5296b5(0xba)](_0x2589ba,_0x13b819['exchange'],_0x13b819[_0x5296b5(0xb6)]),console[_0x5296b5(0xc6)]('['+_0x47fd08[_0x5296b5(0xa7)](formatDate,new Date())+_0x5296b5(0x99)+_0x13b819[_0x5296b5(0xda)]+'\x20->\x20'+_0x2589ba+'\x20('+_0x13b819['routingKey']+')\x20created'),_0x13b819['queue']=_0x2589ba;}else{console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20queue\x20'+_0x13b819[_0x5296b5(0xde)]+':',_0x192e72['message']);throw _0x192e72;}}return!![];}catch(_0x1bd0ef){return console['error']('['+_0x47fd08['ePvFw'](formatDate,new Date())+']\x20Error\x20saat\x20setup\x20infrastruktur:\x20'+_0x1bd0ef['message']),![];}}async['sendToQueue'](_0x2d4b91,_0x25cb21){const _0x2da4dd=a0_0x22982a,_0x9909c3={'IpIFm':function(_0x569d93,_0xe721ac){return _0x569d93(_0xe721ac);},'gLcot':'Failed\x20to\x20send\x20message\x20to\x20RabbitMQ','YLpCQ':function(_0x41f0a3,_0x2edfd6){return _0x41f0a3(_0x2edfd6);}};if(!this['isConnected'])try{await this['initialize']();}catch(_0x49ec67){return{'success':![],'message':_0x2da4dd(0xdd)+_0x49ec67['message'],'data':null};}try{const _0x128d6c=_0x25cb21[_0x2da4dd(0xd5)]!==undefined?_0x25cb21['auto_retry']:![],_0x1c7ba1=_0x25cb21[_0x2da4dd(0xa9)]||0x3,_0x10bae3={'rabbitmq':{'exchange':_0x25cb21[_0x2da4dd(0xda)],'queue':_0x25cb21['queue'],'routing_key':_0x25cb21[_0x2da4dd(0xb6)],'auto_retry':_0x128d6c,'max_retries':_0x1c7ba1},'message':_0x2d4b91};await this[_0x2da4dd(0x9d)](_0x25cb21);const _0x27fe48=new Date(),_0x2b8ede={'timestamp':_0x27fe48[_0x2da4dd(0x95)](),'content':JSON[_0x2da4dd(0x94)](_0x10bae3)},_0x3af103=this[_0x2da4dd(0xcb)]['publish'](_0x25cb21['exchange'],_0x25cb21[_0x2da4dd(0xb6)],Buffer['from'](JSON['stringify'](_0x2b8ede)),{'persistent':!![],'contentType':'application/json','timestamp':_0x27fe48['getTime'](),'messageId':_0x27fe48[_0x2da4dd(0xc9)]()+'-'+Math[_0x2da4dd(0xb0)]()[_0x2da4dd(0xd1)](0x24)[_0x2da4dd(0xe0)](0x7),'headers':{'x-auto-retry':_0x128d6c,'x-max-retry':_0x1c7ba1,'x-retry-count':0x0,'x-retry-interval':0x2710}});if(_0x3af103){console['log']('['+_0x9909c3['IpIFm'](formatDate,_0x27fe48)+']\x20Message\x20sent\x20to\x20RabbitMQ\x20successfully:',{'exchange':_0x25cb21['exchange'],'routing_key':_0x25cb21[_0x2da4dd(0xb6)],'queue':_0x25cb21['queue'],'sendAt':_0x27fe48[_0x2da4dd(0x95)]()});const _0x33f2ff=_0x2da4dd(0xbf)+_0x27fe48['getTime']()+'-'+Math[_0x2da4dd(0xb0)]()['toString'](0x24)['substring'](0x7);return{'success':!![],'message':'Data\x20sent\x20to\x20queue\x20successfully','data':{'id':_0x33f2ff,'queueInfo':{'exchange':_0x25cb21[_0x2da4dd(0xda)],'queue':_0x25cb21['queue'],'routingKey':_0x25cb21[_0x2da4dd(0xb6)]}}};}else throw new Error(_0x9909c3[_0x2da4dd(0xc1)]);}catch(_0x1ce315){return console[_0x2da4dd(0xdf)]('['+_0x9909c3['YLpCQ'](formatDate,new Date())+_0x2da4dd(0xbd)+_0x1ce315[_0x2da4dd(0xd6)]),{'success':![],'message':_0x2da4dd(0xc3)+_0x1ce315['message'],'data':null};}}['registerMessageHandler'](_0x511293){const _0x2c367a=a0_0x22982a,_0x962464={'fVTsr':function(_0x579366,_0x51b2fd){return _0x579366===_0x51b2fd;},'ztRiH':function(_0x5b41d9,_0x31d2c1){return _0x5b41d9(_0x31d2c1);}};_0x962464['fVTsr'](typeof _0x511293,_0x2c367a(0xd4))?(this['messageHandlers']['push'](_0x511293),console['log']('['+formatDate(new Date())+_0x2c367a(0xcc))):console['error']('['+_0x962464[_0x2c367a(0xd7)](formatDate,new Date())+']\x20Message\x20handler\x20must\x20be\x20a\x20function');}async['processMessage'](_0x2369af){const _0x5b28aa=a0_0x22982a,_0x86bca6={'nGYnc':function(_0x19c6ae,_0x28f467){return _0x19c6ae(_0x28f467);},'VSsik':function(_0x43c8bb,_0x509f02){return _0x43c8bb(_0x509f02);}};if(this[_0x5b28aa(0xae)][_0x5b28aa(0x96)]===0x0)return console[_0x5b28aa(0xc0)]('['+formatDate(new Date())+_0x5b28aa(0xa8)),!![];try{for(const _0x46d7ad of this[_0x5b28aa(0xae)]){await _0x86bca6['nGYnc'](_0x46d7ad,_0x2369af);}return!![];}catch(_0x363c59){return console[_0x5b28aa(0xdf)]('['+_0x86bca6['VSsik'](formatDate,new Date())+']\x20Error\x20processing\x20message:\x20'+_0x363c59[_0x5b28aa(0xd6)]),![];}}async[a0_0x22982a(0x93)](){const _0x573cd6=a0_0x22982a,_0x162ea7={'bAwKE':function(_0x1e5cd8,_0x281510){return _0x1e5cd8!==_0x281510;},'CCPwU':function(_0x280d88,_0x2e8152){return _0x280d88(_0x2e8152);},'LizKd':_0x573cd6(0xb4),'uhSWG':function(_0x3ef6a8,_0xcea6b1){return _0x3ef6a8(_0xcea6b1);}};if(!this['isConnected'])return console[_0x573cd6(0xdf)]('['+formatDate(new Date())+']\x20Cannot\x20start\x20consuming:\x20not\x20connected\x20to\x20RabbitMQ'),![];try{return console['log']('['+formatDate(new Date())+']\x20Start\x20consuming\x20messages\x20from\x20queue\x20\x22'+this['config']['queue']+_0x573cd6(0xb3)),this[_0x573cd6(0xcb)]['consume'](this[_0x573cd6(0xd8)][_0x573cd6(0xde)],async _0x4db157=>{const _0xe5c979=_0x573cd6;if(_0x162ea7[_0xe5c979(0xcf)](_0x4db157,null)){const _0x1910bf=new Date();let _0x4dd1b0;try{_0x4dd1b0=JSON[_0xe5c979(0x8e)](_0x4db157[_0xe5c979(0xc7)][_0xe5c979(0xd1)]());}catch(_0x596d94){console[_0xe5c979(0xdf)]('['+_0x162ea7[_0xe5c979(0xbc)](formatDate,_0x1910bf)+']\x20Failed\x20to\x20parse\x20message:\x20'+_0x596d94['message']),console[_0xe5c979(0xdf)]('Message\x20content:\x20'+_0x4db157['content'][_0xe5c979(0xd1)]()),this['channel'][_0xe5c979(0xd0)](_0x4db157);return;}const _0x1c6936=_0x4db157['properties'][_0xe5c979(0xdc)]?new Date(_0x4db157['properties'][_0xe5c979(0xdc)]):new Date(),_0xd0b3d7=await this['processMessage'](_0x4dd1b0);_0xd0b3d7?(console['log']('['+formatDate(new Date())+']\x20Message\x20processed\x20successfully'),this[_0xe5c979(0xcb)]['ack'](_0x4db157)):(console[_0xe5c979(0xdf)]('['+_0x162ea7[_0xe5c979(0xbc)](formatDate,new Date())+_0xe5c979(0x92)),this['channel']['nack'](_0x4db157,![],!![])),console[_0xe5c979(0xc6)](_0x162ea7[_0xe5c979(0x91)]);}},{'noAck':![]}),!![];}catch(_0x5d4f37){return console['error']('['+_0x162ea7[_0x573cd6(0xb5)](formatDate,new Date())+_0x573cd6(0xc2)+_0x5d4f37[_0x573cd6(0xd6)]),![];}}async[a0_0x22982a(0x97)](){const _0x431ffe=a0_0x22982a;this['connection']&&(await closeConnection(this[_0x431ffe(0xa1)]),this['isConnected']=![]);}}let instance=null;function getInstance(){return!instance&&(instance=new RabbitMQService()),instance;}module['exports']={'getInstance':getInstance};
@@ -1 +1 @@
1
- const a0_0x1b568a=a0_0x1e6b;(function(_0x935de9,_0x243904){const _0x47fa5e=a0_0x1e6b,_0x4362d6=_0x935de9();while(!![]){try{const _0x270af4=-parseInt(_0x47fa5e(0x1da))/0x1*(parseInt(_0x47fa5e(0x1cd))/0x2)+-parseInt(_0x47fa5e(0x11e))/0x3+parseInt(_0x47fa5e(0xc4))/0x4*(parseInt(_0x47fa5e(0x195))/0x5)+parseInt(_0x47fa5e(0x1ce))/0x6*(parseInt(_0x47fa5e(0x13f))/0x7)+parseInt(_0x47fa5e(0x1a1))/0x8+-parseInt(_0x47fa5e(0x121))/0x9*(-parseInt(_0x47fa5e(0x1ba))/0xa)+-parseInt(_0x47fa5e(0x171))/0xb;if(_0x270af4===_0x243904)break;else _0x4362d6['push'](_0x4362d6['shift']());}catch(_0x269515){_0x4362d6['push'](_0x4362d6['shift']());}}}(a0_0x51c0,0xd6b1a));const {Queue,Worker}=require('bullmq'),Redis=require(a0_0x1b568a(0x1ad)),crypto=require('crypto'),{v7:uuidv7}=require('uuid'),fs=require('fs'),path=require('path'),{logger}=require('../../utils/logger'),jobValidator=require(a0_0x1b568a(0xd0));let componentEngine=null;function a0_0x1e6b(_0x2a1ab3,_0xacb7a7){_0x2a1ab3=_0x2a1ab3-0xb1;const _0x51c013=a0_0x51c0();let _0x1e6ba6=_0x51c013[_0x2a1ab3];if(a0_0x1e6b['Nfezlq']===undefined){var _0x4052bc=function(_0x2eb355){const _0x275a7f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x140b98='',_0x23cde3='';for(let _0x80487=0x0,_0xb34f23,_0x528bb2,_0x59a2d7=0x0;_0x528bb2=_0x2eb355['charAt'](_0x59a2d7++);~_0x528bb2&&(_0xb34f23=_0x80487%0x4?_0xb34f23*0x40+_0x528bb2:_0x528bb2,_0x80487++%0x4)?_0x140b98+=String['fromCharCode'](0xff&_0xb34f23>>(-0x2*_0x80487&0x6)):0x0){_0x528bb2=_0x275a7f['indexOf'](_0x528bb2);}for(let _0x5771ec=0x0,_0x4d4f8a=_0x140b98['length'];_0x5771ec<_0x4d4f8a;_0x5771ec++){_0x23cde3+='%'+('00'+_0x140b98['charCodeAt'](_0x5771ec)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x23cde3);};a0_0x1e6b['IQVReE']=_0x4052bc,a0_0x1e6b['FHjrrI']={},a0_0x1e6b['Nfezlq']=!![];}const _0x4fc55a=_0x51c013[0x0],_0x480f97=_0x2a1ab3+_0x4fc55a,_0x46d6dc=a0_0x1e6b['FHjrrI'][_0x480f97];return!_0x46d6dc?(_0x1e6ba6=a0_0x1e6b['IQVReE'](_0x1e6ba6),a0_0x1e6b['FHjrrI'][_0x480f97]=_0x1e6ba6):_0x1e6ba6=_0x46d6dc,_0x1e6ba6;}function getComponentEngine(){const _0x51cbef=a0_0x1b568a,_0x1b985a={'dhbgT':function(_0x21e858,_0x3183f1){return _0x21e858(_0x3183f1);},'tqnvc':_0x51cbef(0x10b)};if(!componentEngine)try{const _0x5f0ffc=_0x1b985a[_0x51cbef(0x162)](require,_0x1b985a['tqnvc']);componentEngine=_0x5f0ffc[_0x51cbef(0x11c)]||_0x5f0ffc;}catch(_0x40fe87){}return componentEngine;}function a0_0x51c0(){const _0x2ae384=['y29UzMLNrMLSzq','AM9Iq29UzMLNCW','A2v5CW','z2v0sM9ICW','rM5KCgS','icSGmsWkicaGicaGicaGicbUzxH0x3j1BL9HDca9id8Gv0HfuKuGAM9Ix25HBwuGpsa/','vhHpvNO','BuzIAMi','rxrqCKm','sM9Iia','BxLZCwWUC3fS','DxbKyxrLuMvNAxn0CNLdB3vUDgvYCW','rMfPBgvKihrVihvWzgf0zsbQB2iGAgLZDg9YEsaOzMfPBgvKktOG','zw50CMLLCW','BgLZDfj1BM5PBMC','B0fVz0G','id0G','oMPVyG','sM9IignHBMnLBgXLzcb2AweGqvbj','ywn0AxzLsgLZDg9YEuLKCW','CMPAAM4','AM9PBG','z2v0sM9Iu3rHDhvZ','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGC3rHDhvZid0Gj29MzMXPBMuNlcbUzxH0x3j1BL9HDca9ie5vteWSihvWzgf0zwrFyxqGpsbot1COkq','BMfTzq','qxjQA24','C3bSAxq','zgHIz1q','yxr0zw1WDhnnywrL','u1rlBvq','AM9Ix3nXBf9UB3rFzM91BMq','AM9Ix3jLz2LZDhj5x29MzMXPBMvFzxjYB3i','CxvLDwvZ','Dw5RBM93BG','AgLNAa','z2v0rgjuExbL','z2v0s2fMA2ftzxj2AwnL','DgLTzxn0yw1W','zgvMyxvSDa','BwfUDwfS','B2zMBgLUzq','sM9Iie1HBMfNzxiGCMvHzhK6ia','mJG1otKXmNnMtKLPEq','B25bzNrLCKPVyKzHAwXLzcbOyw5KBgvYigvYCM9YicHUB24TyMXVy2TPBMCP','sM9IigzHAwXLzdOG','DgLTzw91Da','z2v0ug9VBa','C3vJy2vZCW','u1fmihnJCMLWDcb0AwrHAYbKAxrLBxvRyw46ia','Aw5PDgLHBgL6zwq','sM9Iie1HBMfNzxiGC2H1DhrPBMCGzg93BIaODgLTzw91DdOG','qNvSBe1rifjLzgLZignVBM5Ly3rPB24GzxjYB3i6ia','zxHWB3j0CW','z2v0','DxbZzxj0sM9Iu2nOzwr1BgvY','uvbZzxy','zgjFCgDFDw5HDMfPBgfIBgu','yNvSBg1XsM9Iswq','ywrK','wvnvz2e','zgvSzxrL','z2v0sw5ZDgfUy2u','shzUyvK','s0fgs0fFru5bqKXfra','AM9Ix3jLzgLZx2nVBM5Ly3rLza','wfrmwe0','AM9Ix2nVBMzPz19WyxjZzv9LCNjVCG','sM9Iig1VBML0B3jPBMCGDgfIBgvZigvUC3vYzwqGka','Aw5MBW','CMvZDgzVCMDLlMPVyNmUy29TCgXLDgvK','rgncAgS','zgLZCgf0y2HezwXHEwvK','CMv0CNK','ywXYzwfKEsbLEgLZDhm','zxHLy3v0zvrYyw5Zywn0Aw9U','uKXnEM8','C3rHy2S','u1Pyshy','ntbTyunyu2q','B3jHy2XL','sK9cx1jfvevoveLptL9it1vsuW','AgfUzgXLCG','ywjsEMC','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','qNvSBe1rifjLzgLZignVBM5Ly3rPB24GDMvYAwzPzwq','sM9IihrPzgfRigrPDgvTDwTHBJOG','AM9Ix21HBMfNzxjFAw5PDf9ZDgfYDa','D2fPDgLUzW','C3rHBgXLza','CvPJr3q','nde5oduXmM9iuKLYEa','vgHjre0','yNvSBg1Xx3DVCMTLCL9LCNjVCG','iokaLca','DxbKyxrLuMvNAxn0CNLtDgf0Dxm','ChvIBgLZAev2zw50','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsaKmsWGBgfZDf9YDw5FyxqGpsbot1COksWkicaGicaGicaGicb1CgrHDgvKx2f0id0GtK9xkcKGv0HfuKuGAM9Ix25HBwuGpsaKmG','Aw5Zzxj0sM9IsgLZDg9YEq','AM9Ix3jLz2LZDhj5x2nVDw50zxjFzxjYB3i','DhLWzq','zxjYB3i','ywn0AxzL','Aw9YzwrPCW','DhjPBq','B25SAw5L','lIbeqIbTB25PDg9YAw5NigrPC2fIBgvKlG','ChjVz3jLC3m','AM9Ix2THzMTHx3b1yMXPC2HFzxjYB3i','z09TvwG','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticG/lca/lca/lca/lca/lcaNCNvUBMLUzYCSid8Sid8Sid8Sie5pvYGPlca/lcbot1COksK','AM9Ix3jLz2LZDgvYx2zHAwXLza','icSGmsWkicaGicaGicaGicbUzxH0x3j1BL9HDca9icqZlcb1CgrHDgvKx2f0id0GtK9xkcKGv0HfuKuGAM9Ix25HBwuGpsaKna','sM9IigvUC3vYzvrHyMXLCYb3yxjUAw5NoIa','D1bICMq','Bwv0ywrHDge','mJGWr3HoA0nA','Aw5PDgLHBgL6zq','yxbPlwnHBMnLBa','rMfPBgvKihrVihbHCNnLigPVyIbJB25MAwC6ia','B25kB2jgywLSzwq','AgfUzgXLCNm','y3jVBG','y3jLyxrLqNvSBe1rq29UBMvJDgLVBG','sM9Iihn0yxj0zwq6ia','BwfW','lI4VlI4VDxrPBhmVzgiTBxLZCwW','ChjVy2vZC2vKt24','vfjlAKu','B3jHy2XLlNnXBa','zffZvKq','AK9NsMW','z2v0rgjvDgLSCW','Dg90ywXFzMfPBgvK','sM9IihbYB2DYzxnZoIa','mJiYqvPpCxPi','mtqXndGZmgXxrw1qsq','AhDjB3i','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa6msWGBgfZDf9YDw5FyxqGpsbtwvnusu1fu1rbtvaScIaGicaGicaGicaGDxbKyxrLzf9HDca9ifnzu1rjtuvtvefnucbxsevsrsbQB2jFBMfTzsa9idOY','C3vIC3rYAw5N','zxjYB3jZ','CMv0DxjUDMfSDwu','y3jLyxrLza','B25czwzVCMvkB2jfEgvJDxrL','AM9Ix2rIx3r5CgvFDw5ZDxbWB3j0zwq','z2v0q2fJAgvnyw5Hz2vY','wMXRzfe','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNC3vJy2vZCYCSignVBxbSzxrLzf9HDca9ifnzu1rjtuvtvefnucWkicaGicaGicaGicbKDxjHDgLVBL9TCYa9idOXlcbWCM9NCMvZCYa9ideWmcWGCMvZDwX0x3n1Bw1HCNKGpsa6mIbxsevsrsbPzca9idOZ','mZaYmuvHr3PMvW','Dun5C3m','B25bzNrLCKPVyKnVBxbSzxrL','zwXby2S','zMLUAxnOzwrpBG','uKvesvnFueftu1DpuKq','zgjFB3jHy2XLx3vUyxzHAwXHyMXL','rKjlvxa','yu50rfu','yLrHANe','De9hve4','uhHcrM8','C3rHCNrZv2L0Aa','wuTZBMW','ChvZAa','Dg9mB3DLCKnHC2u','tuvsr0uGsu5utYbQB2jFCMvNAxn0CNKGCGOGicaGicaGicaGifvtsu5hicHtruXfq1qGoJeGqvmGAM4GrLjptsbevufmksbZie9oicHYlMPVyL9Uyw1Lid0GCY5QBIKkicaGicaGicaGicbxsevoie1bveniruqGveHftIbvuerbveuGu0vucIaGicaGicaGicaGicbKAxnWBgf5x25HBwuGpsa6mIWGDhLWzsa9idOZlcbZy2HLzhvSzsa9idO0lcbXDwv1zsa9idO1laOGicaGicaGicaGicaGAgfUzgXLCIa9idO2lcbJB25MAwDFzMLSzsa9idO3lcb0Aw1LB3v0id0GoJGSihjLDhj5x21HEca9idO5laOGicaGicaGicaGicaGCMv0CNLFyMfJA29MzIa9idOXmcWGC3rHDhvZid0GoJeXlcbUzxH0x3j1BL9HDca9idOXmIWGDxbKyxrLzf9HDca9ifnzu1rjtuvtvefnuaOGicaGicaGicaGifDiru4GtK9uie1bveniruqGveHftIbjtLnfuLqkicaGicaGicaGicaGicHQB2jFBMfTzsWGzgLZCgXHEv9Uyw1Llcb0ExbLlcbZy2HLzhvSzsWGCxvLDwuSigHHBMrSzxiSignVBMzPz19MAwXLlaOGicaGicaGicaGicaGihrPBwvVDxqSihjLDhj5x21HEcWGCMv0CNLFyMfJA29MzIWGC3rHDhvZlcbUzxH0x3j1BL9HDcWGy3jLyxrLzf9HDcWGDxbKyxrLzf9HDcKkicaGicaGicaGicbwquXvrvmGkdOXlca6mIWGoJmSidO0lca6nsWGoJySidO3lca6ocWGoJKSidOXmcWGoJeXlca6mtiSifnzu1rjtuvtvefnucWGu1LtveLnrvnuqu1qkq','D1HNEKW','B25bzNrLCKPVyKnVBxbSzxrLigHHBMrSzxiGzxjYB3iGkg5VBI1IBg9JA2LUzYK','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNC3vJy2vZCYCSignVBxbSzxrLzf9HDca9ie5pvYGPlaOGicaGicaGicaGigr1CMf0Aw9Ux21Zid0GpYWGChjVz3jLC3mGpsaXmdaSihjLC3vSDf9ZDw1Tyxj5id0GpYbxsevsrsbPzca9id8','rMfPBgvKihrVigLUC2vYDcbQB2iGAgLZDg9YEtOG','BM93','rejFvfLqrsaN','BwvZC2fNzq','CMvNAxn0zxjkB2i','DMfSDwvZ','vK9ACgm','vuvqs28','Aw5PDgLHBerLBgf5','zMfPBgvK','yxbP','rMfPBgvKihrVihjLz2LZDgvYigPVyJOG','AM9IlxnJAgvKDwXLCG','mZe3mZm2CMHZwMDI','u0jlAhy','nxWYFdb8nNWZFdf8n3W0','Cw11BKu','zMLSDgvY','yxr0zw1WDa','AxnsDw5UAw5N','AM9Ix21HBMfNzxjFC2H1DgrVD25FC3rHCNq','AM9Ix2vUC3vYzv90ywjSzxnFD2fYBG','D29YA2vYCW','sNfUy0O','DxbZzxj0sM9IuMvNAxn0CNK','lI9QB2iTDMfSAwrHDg9Y','z2v0uMvKAxndBgLLBNq','tvnpz2q','CxvLDwu','zw5HyMXLza','AM9ICW','zw52','B05Wy2G','AgLZDg9YEuLK','C3rYAw5NAwz5','CgLUzW','DgLTzxn0yw1WCW','B2vSzKy','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGC3rHDhvZid0Gj29MzMXPBMuNlcbUzxH0x3j1BL9HDca9ie5vteW','sMnKrM4','C29YDa','t3b2EKG','qMfJA2DYB3vUzcbPBNnLCNqGAM9IigHPC3rVCNKGzMfPBgvKoIa','yNvPBgrdB250zxH0','ywXS','AM9Ix3f1zxvLC19JCMvHDgvK','sK9cx1nuquXmrurFsu5urvjwquW','Dg90ywXFC3vJy2vZCW','icSGmsWkicaGicaGicaGicbUzxH0x3j1BL9HDca9idOZlcb1CgrHDgvKx2f0id0Gu1LtveLnrvnuqu1qifDirvjfigPVyL9Uyw1Lid0GoJq','AM9Ix3jLz2LZDhj5x3vWC2vYDf9LCNjVCG','AMnNsva','Bwf4qxr0zw1WDhm','uMvKAxmGy29UBMvJDgLVBIbMywLSzwq6ia','rMfPBgvKihrVihb1yMXPC2GGsK9cx0nptvbmrvrfrcb0BYblywzRyq','y2HPBgq','BxLZCwW','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa/lcbSyxn0x3j1BL9HDca9ie5pvYGPifDirvjfigPVyL9Uyw1Lid0GpW','yxbPlwrLBgf5zwq','y29TCgXLDgvK','qNvSBe1rifDVCMTLCIbLCNjVCIaO','y2rvrMW','zNvUy3rPB24','z2v0tMv4Dfj1BKzYB21cDwXStve','rMfPBgvKihrVihvWzgf0zsbQB2iGCMvNAxn0CNKGy291BNrLCNm6ia','uKvesvnFrei','CMvHzezPBgvtEw5J','ihrPzgfRigrPDgvTDwTHBG','yMfJA29MzG','CxvPDa','Dxb1qNi','zxHWB25LBNrPywW','z2v0sM9Iq291BNrZ','Bg9lvvm','v3rtvxe','y29UBMvJDgLVBNm','AM9Ix2HPC3rVCNLFzMfPBgvKx2vYCM9Y','zwHMsNm','zgvSyxLLza','EvPYExO','C3rYAw5N','z2v0q2XPzw50','zxHLy3v0zuv2zw50sgfUzgXLCNm','yNvSBg1Xx3jLzgLZx2vYCM9Y','BwLU','lI4VlI4VDxrPBhmVy29TCg9Uzw50lwvUz2LUzq','AM9Ix21HBMfNzxjFywXYzwfKEv9PBML0AwfSAxPLza','qKD4rK8','zMLUza','ChjVy2vZC0PVyG','z2v0u3rHDgu','shHwuMW','BgvUz3rO','CfryyKe','BxmPlI4U','DhjPz2DLCMvKqNK','C3LZDgvT','y3DK','zMfPBgvKuMvHC29U','DxbKyxrLuhjVz3jLC3m','Bg93','CfDYyue','y29TCg9Uzw50rw5NAw5L','rgXfrfC','mZG3mtKYown2Du5pBW','jYb0AwrHAYbKAwr1A3vUzYb1BNr1AYbQB2iGBw9UAxrVCMLUzYb0ywjSzxm','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGC3rHDhvZid0Gj29MzMXPBMuNlcbUzxH0x3j1BL9HDca9ie5vteWSihvWzgf0zwrFyxqGpsbtwvnusu1fu1rbtva','mta0mdrhAKvntNO','mYbcDwXStveGv29YA2vYCYbJCMvHDgvKicHJB25JDxjYzw5JEtOG','EKv4rgq','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticG6msWGoJiSidOZlca6ncWGoJuSicDYDw5UAw5NjYWGoJySidO3lca6ocWGu1LtveLnrvnuqu1qlca6osWGu1LtveLnrvnuqu1qkq','CMy6','C2nOzwr1Bgu','rMfPBgvKihrVihvWzgf0zsbQB2iGAgLZDg9YEsaOy29TCgXLDgvKktOG','C3bSAxrtCwXtDgf0zw1LBNrZ','BMv4Da','lI4VlI4VC2vYDMLJzxmVA2fMA2ftzxj2AwnL','Auvcq20','zgvZy3jPChrPB24','igPVyIHZksbYzwDPC3rLCMvKlca','D2fYBG','ywz0zxjFAM9Ix2nVBxbSzxrLx2HVB2TFzxjYB3i','t1bJwgS','sM9Iie1HBMfNzxiGC2H1DgrVD24Gy29TCgXLDgu','B25kB2jdB21WBgv0zwq','reTbsNG','Aw5Zzxj0uhjVBwLZzq','s09xuwS','AM9ItMfTzq','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa/lcbSyxn0x2r1CMf0Aw9Ux21Zid0GpYWkicaGicaGicaGica','Bg9TBwm','sK9cx1nivvret1Dox1rjtuvpvvq','zuTyseK','igPVyIbJB25MAwCOCYKGzNjVBsbWyxLSB2fKl2PVyNmV','x3nVDxjJzuzPBgu','z2v0sM9I','t3jHy2XLiercig1VzhvSzsbUB3qGyxzHAwXHyMXL','ndjwywfTq0u','Bg9HzePVyKnVBMzPz3m','su1iANe','sM9Iihn0ywXSzwq6ia','AM9Ix2rPC3bHDgnOzwq','D0TPEg8','zxHLy3v0zvf1zxj5','Cg9ZDgDYzxnXBa'];a0_0x51c0=function(){return _0x2ae384;};return a0_0x51c0();}class JobManager{constructor(){const _0x506c7a=a0_0x1b568a,_0x2f4003=_0x506c7a(0xc6)[_0x506c7a(0x161)]('|');let _0x458d3a=0x0;while(!![]){switch(_0x2f4003[_0x458d3a++]){case'0':this[_0x506c7a(0x148)]={};continue;case'1':this[_0x506c7a(0x178)]=![];continue;case'2':this['workers']={};continue;case'3':this['connections']=[];continue;case'4':this[_0x506c7a(0x15a)]=new Map();continue;case'5':this[_0x506c7a(0x167)]={};continue;case'6':this['handlers']={};continue;case'7':this['workingDir']=process[_0x506c7a(0x117)]();continue;}break;}}[a0_0x1b568a(0x1c1)](){const _0x5bf1c5=a0_0x1b568a,_0x53c053={'LMNXT':_0x5bf1c5(0x109),'elAck':'localhost','zYYvI':function(_0x1c0ee7,_0x5e7aec,_0x5b24a5){return _0x1c0ee7(_0x5e7aec,_0x5b24a5);}},_0x126eef=new Redis({'host':process['env']['REDIS_HOST']||_0x53c053[_0x5bf1c5(0x1dd)],'port':parseInt(process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process[_0x5bf1c5(0xd6)][_0x5bf1c5(0x1df)]||undefined,'db':_0x53c053['zYYvI'](parseInt,process['env'][_0x5bf1c5(0xf7)],0xa)||0x0,'maxRetriesPerRequest':null,'retryStrategy'(_0xe01dfd){const _0x97ab03=Math['min'](_0xe01dfd*0x32,0x7d0);return _0x97ab03;}});return _0x126eef['on'](_0x5bf1c5(0x1ab),_0xb3b7ee=>{const _0x4f4b0a=_0x5bf1c5;logger['error']({'event':_0x53c053['LMNXT'],'error':_0xb3b7ee[_0x4f4b0a(0xba)]},_0x4f4b0a(0x17a)+_0xb3b7ee['message']);}),this['connections']['push'](_0x126eef),_0x126eef;}async[a0_0x1b568a(0x1bb)](){const _0x485fd3=a0_0x1b568a,_0x33cc7b={'ZziUK':'job_stalled','oAogH':_0x485fd3(0x10c),'PFvje':_0x485fd3(0x19d),'bTajq':'Initializing\x20Job\x20Manager...','VRhbx':_0x485fd3(0x19b),'rjZjn':'job_ensure_tables_error','IMHjq':'job_no_configs','QPASW':'Tidak\x20ada\x20job\x20config\x20ditemukan\x20di\x20payload/jobs/.\x20Job\x20Manager\x20aktif\x20tanpa\x20cron.','SWYhP':'unknown','wPbrd':'default','TRKjE':function(_0x3377f3,_0x4c60cb,_0x47cf1d){return _0x3377f3(_0x4c60cb,_0x47cf1d);},'TQJTb':function(_0x109a70,_0x3f371f){return _0x109a70*_0x3f371f;},'PxBFo':function(_0x323dc0,_0x5255a4){return _0x323dc0*_0x5255a4;},'YElPD':_0x485fd3(0xe4),'ZpDiB':function(_0x11062c,_0xfc7f45,_0x16ce53){return _0x11062c(_0xfc7f45,_0x16ce53);},'YxOBN':_0x485fd3(0xc0),'zzffz':_0x485fd3(0x1b1),'yZryz':_0x485fd3(0x19f),'oNpch':_0x485fd3(0x1ab),'wXgzL':'job_workers_created'};if(this['initialized']){logger[_0x485fd3(0x12e)]({'event':_0x33cc7b[_0x485fd3(0x156)]},'Job\x20Manager\x20sudah\x20diinisialisasi,\x20skip');return;}logger['info']({'event':_0x33cc7b['PFvje']},_0x33cc7b[_0x485fd3(0x1e3)]);const _0x163dcb=this['createBullMQConnection']();try{await _0x163dcb[_0x485fd3(0xda)](),logger[_0x485fd3(0x18b)]({'event':_0x485fd3(0x187)},_0x33cc7b['VRhbx']);}catch(_0x33f386){logger['error']({'event':'job_redis_failed','error':_0x33f386['message']},_0x485fd3(0xeb)+_0x33f386[_0x485fd3(0xba)]+'.\x20Job\x20Scheduler\x20tidak\x20akan\x20aktif.');try{await _0x163dcb[_0x485fd3(0xfb)]();}catch(_0xa7e707){}this['connections']=this[_0x485fd3(0x101)]['filter'](_0x2b4bda=>_0x2b4bda!==_0x163dcb);return;}try{await _0x163dcb['quit']();}catch(_0x436bcd){}this[_0x485fd3(0x101)]=this['connections']['filter'](_0x42052a=>_0x42052a!==_0x163dcb);try{await this['ensureTables']();}catch(_0x4f68ac){logger['warn']({'event':_0x33cc7b[_0x485fd3(0x15b)],'error':_0x4f68ac[_0x485fd3(0xba)]},'Failed\x20to\x20ensure\x20job\x20tables:\x20'+_0x4f68ac[_0x485fd3(0xba)]+_0x485fd3(0x1b0));}const _0x16e099=this['loadJobConfigs']();_0x16e099['length']===0x0&&logger[_0x485fd3(0x18b)]({'event':_0x33cc7b[_0x485fd3(0x141)]},_0x33cc7b['QPASW']);const _0x5f0a4d=[];for(const _0x18fb18 of _0x16e099){const _0x295309=jobValidator['validateConfig'](_0x18fb18,this['workingDir']);_0x295309['valid']?_0x5f0a4d['push'](_0x18fb18):logger['error']({'event':'job_config_invalid','name':_0x18fb18[_0x485fd3(0x15f)]||_0x485fd3(0x168),'errors':_0x295309['errors']},'Job\x20config\x20invalid:\x20'+(_0x18fb18['name']||_0x33cc7b['SWYhP'])+_0x485fd3(0x1a4)+_0x295309[_0x485fd3(0x1d2)][_0x485fd3(0x15c)](';\x20'));}const _0x3783ba=process['env'][_0x485fd3(0x19a)]||_0x33cc7b[_0x485fd3(0x1b8)],_0x5bbea2=process[_0x485fd3(0xd6)]['JOB_REDIS_PREFIX']||_0x485fd3(0x125)+_0x3783ba+_0x485fd3(0x158),_0x2ea9c1=_0x33cc7b[_0x485fd3(0x1c6)](parseInt,process[_0x485fd3(0xd6)][_0x485fd3(0x197)],0xa)||0x48,_0x4d30c7=_0x33cc7b[_0x485fd3(0x1c6)](parseInt,process[_0x485fd3(0xd6)]['JOB_FAILED_RETENTION_HOURS'],0xa)||0xa8,_0xb2e7b3={'removeOnComplete':{'age':_0x33cc7b['TQJTb'](_0x2ea9c1,0xe10)},'removeOnFail':{'age':_0x33cc7b[_0x485fd3(0x1e5)](_0x4d30c7,0xe10)}},_0x3da72a={'high-priority':_0x485fd3(0x169),'default':_0x485fd3(0x16d),'low-priority':_0x485fd3(0x11a)};for(const [_0x26fe24,_0x743abc]of Object['entries'](_0x3da72a)){this['queues'][_0x26fe24]=new Queue(_0x743abc,{'connection':this[_0x485fd3(0x1c1)](),'prefix':_0x5bbea2,'defaultJobOptions':_0xb2e7b3});}logger[_0x485fd3(0x18b)]({'event':_0x33cc7b['YElPD'],'count':0x3},'3\x20BullMQ\x20Queues\x20created\x20(high,\x20default,\x20low)');const _0x4da85b=_0x33cc7b['ZpDiB'](parseInt,process['env']['JOB_CONCURRENCY'],0xa)||0x5,_0x3daa7b=parseInt(process['env'][_0x485fd3(0xe5)],0xa)||0x7530,_0x30999d=_0x33cc7b['ZpDiB'](parseInt,process[_0x485fd3(0xd6)]['JOB_MAX_STALLED_COUNT'],0xa)||0x2;for(const [_0x347a30,_0x36dda2]of Object['entries'](_0x3da72a)){const _0xc4a1d6=new Worker(_0x36dda2,async _0x4519e3=>this[_0x485fd3(0x10f)](_0x4519e3),{'connection':this['createBullMQConnection'](),'prefix':_0x5bbea2,'concurrency':_0x4da85b,'stalledInterval':_0x3daa7b,'maxStalledCount':_0x30999d});_0xc4a1d6['on']('completed',(_0x379fcb,_0x9b6b86)=>this[_0x485fd3(0x132)](_0x379fcb,_0x9b6b86)),_0xc4a1d6['on'](_0x33cc7b['YxOBN'],(_0x15d640,_0x2c2ff3)=>this[_0x485fd3(0x1be)](_0x15d640,_0x2c2ff3)),_0xc4a1d6['on'](_0x33cc7b['zzffz'],(_0x4aba15,_0x1cc65c)=>this['onJobProgress'](_0x4aba15,_0x1cc65c)),_0xc4a1d6['on'](_0x33cc7b[_0x485fd3(0x105)],_0x3e190f=>{const _0x5f3c20=_0x485fd3;logger['warn']({'event':_0x33cc7b['ZziUK'],'jobId':_0x3e190f},_0x5f3c20(0x142)+_0x3e190f);}),_0xc4a1d6['on'](_0x33cc7b[_0x485fd3(0xd7)],_0x1bf1de=>{const _0x9fc3e=_0x485fd3;logger[_0x9fc3e(0x1ab)]({'event':_0x9fc3e(0x1a3),'queue':_0x347a30,'error':_0x1bf1de['message']},_0x9fc3e(0xf2)+_0x347a30+'):\x20'+_0x1bf1de[_0x9fc3e(0xba)]);}),this[_0x485fd3(0xcd)][_0x347a30]=_0xc4a1d6;}logger['info']({'event':_0x33cc7b[_0x485fd3(0xb4)],'count':0x3,'concurrency':_0x4da85b},_0x485fd3(0x122)+_0x4da85b+')');let _0x15a2ea=0x0;for(const _0x1cb15d of _0x5f0a4d){try{await this[_0x485fd3(0xbb)](_0x1cb15d),_0x15a2ea++;}catch(_0x209268){logger[_0x485fd3(0x1ab)]({'event':_0x485fd3(0x1b5),'name':_0x1cb15d['name'],'error':_0x209268['message']},_0x485fd3(0xc2)+_0x1cb15d[_0x485fd3(0x15f)]+'\x20—\x20'+_0x209268[_0x485fd3(0xba)]);}}this[_0x485fd3(0x178)]=!![];const _0x550573=this['connections'][_0x485fd3(0x112)];logger[_0x485fd3(0x18b)]({'event':'job_manager_ready','registeredJobs':_0x15a2ea,'totalConfigs':_0x5f0a4d[_0x485fd3(0x112)],'redisConnections':_0x550573},_0x485fd3(0x170)+_0x15a2ea+_0x485fd3(0x12d)+_0x550573+'\x20Redis\x20connections');}async['shutdown'](){const _0x281041=a0_0x1b568a,_0x2f4104={'mqgkc':function(_0x522b23,_0x5de14c,_0x16906e){return _0x522b23(_0x5de14c,_0x16906e);},'LabaD':function(_0x350f97,_0x25ac78){return _0x350f97<_0x25ac78;},'hwIor':function(_0x3ee207,_0x218bd9){return _0x3ee207-_0x218bd9;}};if(!this['initialized'])return;const _0x43cd8c=_0x2f4104['mqgkc'](parseInt,process[_0x281041(0xd6)][_0x281041(0x139)],0xa)||0x2710;logger[_0x281041(0x18b)]({'event':_0x281041(0xcb),'timeoutMs':_0x43cd8c},_0x281041(0x179)+_0x43cd8c+_0x281041(0x114));const _0xcf8e1c=Object['values'](this[_0x281041(0xcd)])['map'](async _0x802449=>{try{await _0x802449['pause']();}catch(_0x50bf1b){}});await Promise[_0x281041(0xe3)](_0xcf8e1c);const _0x1e0f57=Date['now']();while(_0x2f4104['LabaD'](_0x2f4104[_0x281041(0x1cf)](Date[_0x281041(0xb8)](),_0x1e0f57),_0x43cd8c)){let _0x51f7d0=0x0;for(const _0x1d525e of Object[_0x281041(0xbc)](this[_0x281041(0x167)])){try{const _0x3bdfbd=await _0x1d525e[_0x281041(0xfe)]('active');_0x51f7d0+=_0x3bdfbd[_0x281041(0x1ac)]||0x0;}catch(_0x2dc89b){}}if(_0x51f7d0===0x0)break;await new Promise(_0x5d3266=>setTimeout(_0x5d3266,0x1f4));}const _0x33ac01=Object[_0x281041(0xbc)](this[_0x281041(0xcd)])['map'](async _0x16875e=>{try{await _0x16875e['close']();}catch(_0x471748){}});await Promise['all'](_0x33ac01);const _0x39759b=Object[_0x281041(0xbc)](this['queues'])[_0x281041(0x1c3)](async _0x4cceb7=>{try{await _0x4cceb7['close']();}catch(_0x265a7e){}});await Promise['all'](_0x39759b);for(const _0x14d35d of this[_0x281041(0x101)]){try{await _0x14d35d['quit']();}catch(_0x333c32){}}this['queues']={},this[_0x281041(0xcd)]={},this['connections']=[],await this['setAllJobsOffline'](),this['activeHistoryIds']['clear'](),this[_0x281041(0x178)]=![],logger[_0x281041(0x18b)]({'event':'job_manager_shutdown_complete'},_0x281041(0x131));}[a0_0x1b568a(0x140)](){const _0x51246b=a0_0x1b568a,_0x48304d={'QWnvQ':_0x51246b(0xd5),'wFGLg':'job_configs_loaded'},_0x2b0ce8=path['join'](this['workingDir'],'payload',_0x48304d['QWnvQ']);if(!fs['existsSync'](_0x2b0ce8))return logger['info']({'event':'job_config_dir_missing','path':_0x2b0ce8},'Folder\x20payload/jobs/\x20tidak\x20ditemukan'),[];const _0x175a3b=fs['readdirSync'](_0x2b0ce8)['filter'](_0x26b1ed=>_0x26b1ed['endsWith']('.json')),_0x130219=[];for(const _0x1fb2cc of _0x175a3b){const _0x3cb3a8=path['join'](_0x2b0ce8,_0x1fb2cc);try{const _0x151b1d=fs[_0x51246b(0xf8)](_0x3cb3a8,'utf8'),_0x2a7777=JSON['parse'](_0x151b1d);_0x2a7777[_0x51246b(0x13c)]=_0x1fb2cc,_0x130219[_0x51246b(0xb1)](_0x2a7777);}catch(_0x3a85bb){logger[_0x51246b(0x1ab)]({'event':_0x51246b(0x189),'file':_0x1fb2cc,'error':_0x3a85bb['message']},_0x51246b(0x1bd)+_0x1fb2cc+'\x20—\x20'+_0x3a85bb['message']);}}return logger[_0x51246b(0x18b)]({'event':_0x48304d['wFGLg'],'count':_0x130219[_0x51246b(0x112)]},'Loaded\x20'+_0x130219['length']+_0x51246b(0x13b)),_0x130219;}async[a0_0x1b568a(0xbb)](_0x11f9ab){const _0x390f08=a0_0x1b568a,_0x54f1a4={'fIDNO':'jobs','dEadN':function(_0x469d39,_0x526c3c){return _0x469d39(_0x526c3c);},'DKAJx':function(_0x23ca9d,_0x4f725e){return _0x23ca9d===_0x4f725e;},'oelfF':function(_0x527218,_0x5e756b){return _0x527218!==_0x5e756b;},'qZcGt':_0x390f08(0x1c0),'ZdpDb':_0x390f08(0x16d),'fSTrX':_0x390f08(0x16f),'OpvzH':function(_0x2003c3,_0x262331){return _0x2003c3===_0x262331;}},_0x12f211=path[_0x390f08(0x15c)](this['workingDir'],'src',_0x54f1a4['fIDNO'],_0x11f9ab['handler']+'.js');this[_0x390f08(0x1bf)][_0x11f9ab['name']]=_0x54f1a4['dEadN'](require,_0x12f211),this['jobConfigs'][_0x11f9ab[_0x390f08(0x15f)]]=_0x11f9ab;if(_0x54f1a4[_0x390f08(0x133)](_0x11f9ab[_0x390f08(0x1aa)],'cron')&&_0x54f1a4[_0x390f08(0xdc)](_0x11f9ab['enabled'],![])){const _0x577ad3=this['queues'][_0x11f9ab['queue']||_0x390f08(0x16d)];await _0x577ad3[_0x390f08(0x17d)](_0x11f9ab[_0x390f08(0x15f)],{'pattern':_0x11f9ab['schedule'],'tz':_0x11f9ab['timezone']||undefined},{'name':_0x11f9ab['name'],'data':{'handler':_0x11f9ab[_0x390f08(0x198)],'triggeredBy':_0x54f1a4[_0x390f08(0x1a0)],'metadata':_0x11f9ab[_0x390f08(0x1b9)]||{}},'opts':{'attempts':_0x11f9ab[_0x390f08(0x18f)]?.['maxAttempts']||0x3,'backoff':{'type':_0x11f9ab[_0x390f08(0x18f)]?.[_0x390f08(0xfa)]||_0x390f08(0xfd),'delay':_0x11f9ab['retry']?.['initialDelay']||0x1388},'timeout':_0x11f9ab['timeout']||0x7530}}),logger['info']({'event':'cron_registered','name':_0x11f9ab['name'],'schedule':_0x11f9ab['schedule'],'queue':_0x11f9ab[_0x390f08(0xd3)]||_0x54f1a4['ZdpDb']},'Cron\x20registered:\x20'+_0x11f9ab[_0x390f08(0x15f)]+'\x20['+_0x11f9ab[_0x390f08(0x126)]+']');}const _0x3c00e1=_0x11f9ab[_0x390f08(0x1aa)]===_0x54f1a4[_0x390f08(0x1a0)]&&_0x54f1a4['oelfF'](_0x11f9ab[_0x390f08(0xd4)],![])?_0x390f08(0x1af):_0x54f1a4['fSTrX'];let _0x3a39be=null;_0x54f1a4[_0x390f08(0xe0)](_0x3c00e1,_0x390f08(0x1af))&&(_0x3a39be=await this[_0x390f08(0xf5)](_0x11f9ab[_0x390f08(0x15f)])),await this['upsertJobRegistry'](_0x11f9ab,_0x3c00e1,_0x3a39be);}async['processJob'](_0x3e99ac){const _0x1ae079=a0_0x1b568a,_0x4d49b1={'pMQVf':'job_history_insert_bg_error','UFuKS':'job_started','TFpUV':function(_0x3eddd7,_0x3d8161){return _0x3eddd7+_0x3d8161;},'abRzg':function(_0x51627b){return _0x51627b();},'jcgIP':function(_0x5293ee,_0x44cdef){return _0x5293ee===_0x44cdef;},'jOgJl':'api-delayed','IvBwl':_0x1ae079(0x104),'cdUFl':function(_0x152cbf,_0xe124c6){return _0x152cbf===_0xe124c6;},'GspRg':_0x1ae079(0x16e),'EtPrC':'default','iWYhu':function(_0x54184b){return _0x54184b();},'MHkqv':_0x1ae079(0x1d5),'DmCpq':function(_0xbe9f81,_0x167fa4){return _0xbe9f81(_0x167fa4);},'XmcFV':'job_handler_done'},_0x672618=this[_0x1ae079(0x148)][_0x3e99ac['name']],_0x274e34=this[_0x1ae079(0x1bf)][_0x3e99ac[_0x1ae079(0x15f)]];if(!_0x274e34)throw new Error('Handler\x20tidak\x20ditemukan\x20untuk\x20job:\x20'+_0x3e99ac[_0x1ae079(0x15f)]);const _0x511e7e=logger[_0x1ae079(0xed)]({'jobId':_0x3e99ac['id'],'jobName':_0x3e99ac[_0x1ae079(0x15f)]});_0x511e7e['info']({'event':_0x4d49b1['UFuKS'],'attempt':_0x4d49b1['TFpUV'](_0x3e99ac[_0x1ae079(0x163)],0x1),'triggeredBy':_0x3e99ac['data']?.['triggeredBy']||'unknown'},_0x1ae079(0x1c2)+_0x3e99ac['name']+'\x20(attempt\x20'+(_0x3e99ac['attemptsMade']+0x1)+')');const _0x330219=_0x4d49b1[_0x1ae079(0x199)](uuidv7),_0x33c159=_0x3e99ac['data']?.[_0x1ae079(0x115)]||_0x1ae079(0x168),_0x6399be=this['insertJobHistory']({'id':_0x330219,'jobName':_0x3e99ac['name'],'bullmqJobId':_0x3e99ac['id'],'triggerType':_0x4d49b1[_0x1ae079(0xe9)](_0x33c159,_0x4d49b1[_0x1ae079(0x1c9)])?_0x4d49b1['IvBwl']:_0x4d49b1[_0x1ae079(0xf3)](_0x33c159,_0x1ae079(0xc1))?_0x4d49b1['GspRg']:'cron','triggeredBy':_0x33c159==='cron'?_0x1ae079(0x116):_0x33c159,'queue':_0x672618?.['queue']||_0x4d49b1[_0x1ae079(0x14f)],'attempt':_0x3e99ac['attemptsMade']+0x1,'configFile':_0x672618?.['_sourceFile']||null})['catch'](_0x45571d=>{const _0x32d5db=_0x1ae079;_0x511e7e[_0x32d5db(0x12e)]({'event':_0x4d49b1['pMQVf'],'error':_0x45571d[_0x32d5db(0xba)]},_0x32d5db(0xe1)+_0x45571d[_0x32d5db(0xba)]);});this[_0x1ae079(0x15a)]['set'](_0x3e99ac['id'],{'historyId':_0x330219,'insertPromise':_0x6399be});const _0x24a7aa=this['buildContext'](_0x3e99ac,_0x672618,_0x511e7e),_0x93913e=_0x4d49b1['iWYhu'](getComponentEngine);if(_0x93913e&&_0x4d49b1[_0x1ae079(0xe9)](typeof _0x93913e['executeEventHandlers'],_0x1ae079(0xf4))){const _0xe8911e=await _0x93913e['executeEventHandlers'](_0x4d49b1['MHkqv'],_0x24a7aa,!![]);if(!_0xe8911e[_0x1ae079(0x176)])throw new Error('Job\x20cancelled\x20by\x20onBeforeJobExecute:\x20'+_0xe8911e[_0x1ae079(0x1ab)]);}const _0x2e470f=await _0x4d49b1['DmCpq'](_0x274e34,_0x24a7aa);return _0x511e7e[_0x1ae079(0x18b)]({'event':_0x4d49b1['XmcFV'],'result':_0x2e470f},'Job\x20handler\x20completed:\x20'+_0x3e99ac['name']),_0x2e470f;}[a0_0x1b568a(0xe2)](_0x1e9e1f,_0x38ab62,_0x4411e3){const _0x587f88=a0_0x1b568a,_0x5643c1={'loKUS':'JOB_EVENT','eKXHI':function(_0x5e0d17,_0x51efbc){return _0x5e0d17||_0x51efbc;}};return{'jobId':_0x1e9e1f['id'],'jobName':_0x1e9e1f[_0x587f88(0x15f)],'attempt':_0x1e9e1f[_0x587f88(0x163)]+0x1,'maxAttempts':_0x38ab62?.[_0x587f88(0x18f)]?.['maxAttempts']||0x3,'payload':_0x1e9e1f['data']||{},'config':_0x5643c1[_0x587f88(0x13a)](_0x38ab62,{}),'db':this['getDbUtils'](),'redis':this['getRedisClient'](),'logger':_0x4411e3,'kafka':this[_0x587f88(0x16b)](),'cache':this[_0x587f88(0x1d7)](),'updateProgress':async _0x38f729=>{const _0x5ac422=_0x587f88;await _0x1e9e1f[_0x5ac422(0x119)](_0x38f729);},'emit':async(_0x462631,_0x4ee30a)=>{const _0x252c86=_0x587f88,_0x49431b=this['getKafkaService']();_0x49431b&&await _0x49431b[_0x252c86(0x1a6)](_0x462631,_0x5643c1[_0x252c86(0xff)],null,_0x4ee30a,{'module':_0x252c86(0xc3),'endpoint':_0x1e9e1f[_0x252c86(0x15f)]});},'job':_0x1e9e1f};}[a0_0x1b568a(0x16a)](){const _0x4ec402=a0_0x1b568a,_0x345b99={'DlEDW':'postgresql'};return(process[_0x4ec402(0xd6)]['DB_TYPE']||_0x345b99[_0x4ec402(0x11d)])[_0x4ec402(0xb2)]();}async['ensureTables'](){const _0x35216e=a0_0x1b568a,_0x29669f={'lommc':'job_db_unavailable','CbRbI':'postgresql.sql','aNtDU':_0x35216e(0x1c7),'XTLXM':'sql-scripts','ThIDM':_0x35216e(0x190),'ZxybI':'ora-00955','DcBhk':'duplicate','UEPKo':'job_tables_ensured'},_0x38435f=this['getDbUtils']();if(!_0x38435f){logger[_0x35216e(0x12e)]({'event':_0x29669f[_0x35216e(0x138)]},'Database\x20tidak\x20tersedia,\x20skip\x20auto-create\x20job\x20tables');return;}const _0x7bd9e8=this[_0x35216e(0x16a)](),_0x40841b={'postgresql':_0x29669f['CbRbI'],'oracle':_0x29669f[_0x35216e(0x1e2)],'mysql':_0x35216e(0x151)},_0x5c1c5a=_0x40841b[_0x7bd9e8];if(!_0x5c1c5a){logger['warn']({'event':_0x35216e(0x1d6),'dbType':_0x7bd9e8},_0x35216e(0xb9)+_0x7bd9e8+_0x35216e(0x11f));return;}const _0x6eaaf7=path['join'](__dirname,_0x29669f[_0x35216e(0x188)],_0x5c1c5a);if(!fs['existsSync'](_0x6eaaf7)){logger['warn']({'event':_0x35216e(0x165),'path':_0x6eaaf7},_0x35216e(0x177)+_0x6eaaf7);return;}const _0x182680=fs[_0x35216e(0xf8)](_0x6eaaf7,'utf8'),_0x1b78ca=this['splitSqlStatements'](_0x182680,_0x7bd9e8);let _0x3e50ff=0x0;for(const _0x2af91f of _0x1b78ca){try{await _0x38435f['executeQuery'](_0x2af91f),_0x3e50ff++;}catch(_0x237d7d){const _0x11e5ec=(_0x237d7d[_0x35216e(0xba)]||'')[_0x35216e(0xb2)](),_0x397d6e=_0x11e5ec['includes'](_0x29669f[_0x35216e(0x1a2)])||_0x11e5ec['includes'](_0x29669f['ZxybI'])||_0x11e5ec['includes'](_0x29669f[_0x35216e(0x18d)]);!_0x397d6e&&logger['warn']({'event':_0x35216e(0xcc),'error':_0x237d7d[_0x35216e(0xba)]},_0x35216e(0x1b7)+_0x237d7d['message']);}}logger[_0x35216e(0x18b)]({'event':_0x29669f[_0x35216e(0xbe)],'dbType':_0x7bd9e8,'executed':_0x3e50ff},_0x35216e(0x18a)+_0x7bd9e8+')');}[a0_0x1b568a(0x128)](_0x1bb1c9,_0x419374){const _0x26a51e=a0_0x1b568a,_0xb899fc={'mmAHf':function(_0x44dd07,_0x43107a){return _0x44dd07===_0x43107a;},'gOmUh':function(_0x1fc6f9,_0xcafed3){return _0x1fc6f9>_0xcafed3;},'pTXbA':function(_0xd41a7f,_0x498249){return _0xd41a7f===_0x498249;}};let _0x5807ee;return _0xb899fc[_0x26a51e(0x113)](_0x419374,'oracle')?_0x5807ee=_0x1bb1c9['split'](/\n\/\s*(?:\n|$)/):_0x5807ee=_0x1bb1c9['split'](/;\s*(?:\n|$)/),_0x5807ee['map'](_0x37e76e=>_0x37e76e['trim']())['filter'](_0x486150=>{const _0x565bf0=_0x26a51e;if(_0xb899fc['mmAHf'](_0x486150['length'],0x0))return![];const _0x24ebf5=_0x486150[_0x565bf0(0x161)]('\x0a')[_0x565bf0(0xc8)](_0x40cf15=>!_0x40cf15['trim']()[_0x565bf0(0x1e6)]('--')&&_0x40cf15[_0x565bf0(0x1ae)]()[_0x565bf0(0x112)]>0x0);return _0xb899fc[_0x565bf0(0x1b3)](_0x24ebf5[_0x565bf0(0x112)],0x0);});}async[a0_0x1b568a(0xcf)](_0x2acfef,_0x8215c0=a0_0x1b568a(0x1af),_0x35aaa8=null){const _0x686394=a0_0x1b568a,_0x1067d8={'QlUxt':'cron','phoUG':_0x686394(0x16d),'EHXEt':_0x686394(0xfd),'WtSUq':_0x686394(0xee),'BGxFO':_0x686394(0xe8)},_0x2bbb36=this[_0x686394(0x1ca)]();if(!_0x2bbb36)return;const _0x4ec77a=this[_0x686394(0x16a)](),_0x4aad3a=[_0x2acfef[_0x686394(0x15f)],_0x2acfef['description']||_0x2acfef[_0x686394(0x15f)],_0x2acfef['type']||_0x1067d8['QlUxt'],_0x2acfef['schedule']||null,_0x2acfef['queue']||_0x1067d8['phoUG'],_0x2acfef['handler'],_0x2acfef[_0x686394(0x13c)]||'',_0x2acfef[_0x686394(0x174)]||0x7530,_0x2acfef['retry']?.['maxAttempts']||0x3,_0x2acfef[_0x686394(0x18f)]?.[_0x686394(0xfa)]||_0x1067d8['EHXEt'],_0x8215c0,_0x35aaa8];try{if(_0x4ec77a==='oracle')await _0x2bbb36[_0x686394(0x145)](_0x686394(0xb3),_0x4aad3a);else _0x4ec77a===_0x1067d8[_0x686394(0x100)]?await _0x2bbb36['executeQuery']('INSERT\x20INTO\x20job_registry\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(job_name,\x20display_name,\x20type,\x20schedule,\x20queue,\x20handler,\x20config_file,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout,\x20retry_max,\x20retry_backoff,\x20status,\x20next_run_at,\x20created_at,\x20updated_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20NOW(),\x20NOW())\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20DUPLICATE\x20KEY\x20UPDATE\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display_name\x20=\x20VALUES(display_name),\x20type\x20=\x20VALUES(type),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20schedule\x20=\x20VALUES(schedule),\x20queue\x20=\x20VALUES(queue),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20handler\x20=\x20VALUES(handler),\x20config_file\x20=\x20VALUES(config_file),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout\x20=\x20VALUES(timeout),\x20retry_max\x20=\x20VALUES(retry_max),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20retry_backoff\x20=\x20VALUES(retry_backoff),\x20status\x20=\x20VALUES(status),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20VALUES(next_run_at)',_0x4aad3a):await _0x2bbb36['executeQuery']('INSERT\x20INTO\x20job_registry\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(job_name,\x20display_name,\x20type,\x20schedule,\x20queue,\x20handler,\x20config_file,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout,\x20retry_max,\x20retry_backoff,\x20status,\x20next_run_at,\x20created_at,\x20updated_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20($1,\x20$2,\x20$3,\x20$4,\x20$5,\x20$6,\x20$7,\x20$8,\x20$9,\x20$10,\x20$11,\x20$12,\x20NOW(),\x20NOW())\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20CONFLICT\x20(job_name)\x20DO\x20UPDATE\x20SET\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display_name\x20=\x20EXCLUDED.display_name,\x20type\x20=\x20EXCLUDED.type,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20schedule\x20=\x20EXCLUDED.schedule,\x20queue\x20=\x20EXCLUDED.queue,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20handler\x20=\x20EXCLUDED.handler,\x20config_file\x20=\x20EXCLUDED.config_file,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout\x20=\x20EXCLUDED.timeout,\x20retry_max\x20=\x20EXCLUDED.retry_max,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20retry_backoff\x20=\x20EXCLUDED.retry_backoff,\x20status\x20=\x20EXCLUDED.status,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20EXCLUDED.next_run_at,\x20updated_at\x20=\x20NOW()',_0x4aad3a);}catch(_0x4378d3){logger[_0x686394(0x12e)]({'event':_0x1067d8[_0x686394(0x10d)],'name':_0x2acfef[_0x686394(0x15f)],'error':_0x4378d3[_0x686394(0xba)]},'Failed\x20to\x20upsert\x20job\x20registry:\x20'+_0x2acfef[_0x686394(0x15f)]+'\x20—\x20'+_0x4378d3[_0x686394(0xba)]);}}async[a0_0x1b568a(0x1a8)](_0x437c27){const _0x5d1dd1=a0_0x1b568a,_0x1d36c2={'lxPLy':'cron','EKexG':_0x5d1dd1(0x116),'FBKUp':_0x5d1dd1(0x16d),'NChWc':'oracle','ehfJs':function(_0x222268,_0x4854a2){return _0x222268===_0x4854a2;},'zWXRP':_0x5d1dd1(0xee),'HxVRl':'job_history_insert_error'},_0x4f885f=this['getDbUtils']();if(!_0x4f885f)return;const _0x36b806=this['getDbType'](),_0x37dd5c=[_0x437c27['id'],_0x437c27['jobName'],_0x437c27[_0x5d1dd1(0x180)]||null,_0x437c27['triggerType']||_0x1d36c2['lxPLy'],_0x437c27['triggeredBy']||_0x1d36c2['EKexG'],_0x437c27['queue']||_0x1d36c2[_0x5d1dd1(0x1e1)],_0x437c27[_0x5d1dd1(0xc9)]||0x1,_0x437c27[_0x5d1dd1(0x147)]||null,process['pid']];try{if(_0x36b806===_0x1d36c2['NChWc'])await _0x4f885f['executeQuery'](_0x5d1dd1(0x124),_0x37dd5c);else _0x1d36c2[_0x5d1dd1(0x103)](_0x36b806,_0x1d36c2['zWXRP'])?await _0x4f885f['executeQuery'](_0x5d1dd1(0x1b4),_0x37dd5c):await _0x4f885f['executeQuery']('INSERT\x20INTO\x20job_history\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(id,\x20job_name,\x20bullmq_job_id,\x20trigger_type,\x20triggered_by,\x20status,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20queue,\x20attempt,\x20config_file,\x20started_at,\x20worker_pid,\x20created_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20($1,\x20$2,\x20$3,\x20$4,\x20$5,\x20\x27running\x27,\x20$6,\x20$7,\x20$8,\x20NOW(),\x20$9,\x20NOW())',_0x37dd5c);await this[_0x5d1dd1(0x1a5)](_0x437c27['jobName'],'running');}catch(_0x3f6731){logger[_0x5d1dd1(0x12e)]({'event':_0x1d36c2[_0x5d1dd1(0x111)],'jobName':_0x437c27[_0x5d1dd1(0x136)],'error':_0x3f6731['message']},_0x5d1dd1(0xb7)+_0x3f6731['message']);}}async['updateJobHistoryCompleted'](_0xee08e7,_0x42cb98,_0x392e0b){const _0x5f0d8a=a0_0x1b568a,_0x2e2ef2={'lzMeH':'mysql','LStRJ':'job_history_complete_error'},_0xb2095b=this[_0x5f0d8a(0x1ca)]();if(!_0xb2095b)return;const _0x5a4ab7=this[_0x5f0d8a(0x16a)](),_0xf5a0e3=_0x392e0b?String(_0x392e0b)['substring'](0x0,0x1f4):null;try{if(_0x5a4ab7===_0x5f0d8a(0x196))await _0xb2095b['executeQuery'](_0x5f0d8a(0x1d9),[_0x42cb98,_0xf5a0e3,_0xee08e7]);else _0x5a4ab7===_0x2e2ef2['lzMeH']?await _0xb2095b[_0x5f0d8a(0x145)](_0x5f0d8a(0xb6),[_0x42cb98,_0xf5a0e3,_0xee08e7]):await _0xb2095b['executeQuery']('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27success\x27,\x20completed_at\x20=\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20$1,\x20progress\x20=\x20100,\x20result_summary\x20=\x20$2\x20WHERE\x20id\x20=\x20$3',[_0x42cb98,_0xf5a0e3,_0xee08e7]);}catch(_0x2424bc){logger[_0x5f0d8a(0x12e)]({'event':_0x2e2ef2['LStRJ'],'historyId':_0xee08e7,'error':_0x2424bc[_0x5f0d8a(0xba)]},_0x5f0d8a(0x127)+_0x2424bc[_0x5f0d8a(0xba)]);}}async['updateJobHistoryFailed'](_0x27368c,_0x51649a,_0x45181d,_0x15bd14,_0x2d972c){const _0xdf1e23=a0_0x1b568a,_0x403166={'dQsVD':function(_0x493cc1,_0x4f2c51){return _0x493cc1(_0x4f2c51);},'GcpCG':function(_0x3266a5,_0x366f1b){return _0x3266a5===_0x366f1b;},'qTZiy':_0xdf1e23(0x196),'mFbjb':function(_0x4b475b,_0x394042){return _0x4b475b||_0x394042;}},_0x1783b2=this[_0xdf1e23(0x1ca)]();if(!_0x1783b2)return;const _0x5d645a=this['getDbType'](),_0x48c7c6=_0x15bd14?_0x403166[_0xdf1e23(0x1c8)](String,_0x15bd14)[_0xdf1e23(0x1d1)](0x0,0x3e8):null,_0x414161=_0x2d972c?_0x403166['dQsVD'](String,_0x2d972c)[_0xdf1e23(0x1d1)](0x0,0xfa0):null;try{if(_0x403166['GcpCG'](_0x5d645a,_0x403166['qTZiy']))await _0x1783b2['executeQuery']('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27failed\x27,\x20completed_at\x20=\x20SYSTIMESTAMP,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20:1,\x20progress\x20=\x20:2,\x20error_message\x20=\x20:3,\x20error_stack\x20=\x20:4\x20WHERE\x20id\x20=\x20:5',[_0x51649a,_0x403166['mFbjb'](_0x45181d,0x0),_0x48c7c6,_0x414161,_0x27368c]);else _0x5d645a==='mysql'?await _0x1783b2['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?',[_0x51649a,_0x403166[_0xdf1e23(0x14e)](_0x45181d,0x0),_0x48c7c6,_0x414161,_0x27368c]):await _0x1783b2[_0xdf1e23(0x145)]('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',[_0x51649a,_0x45181d||0x0,_0x48c7c6,_0x414161,_0x27368c]);}catch(_0x457302){logger[_0xdf1e23(0x12e)]({'event':_0xdf1e23(0x102),'historyId':_0x27368c,'error':_0x457302[_0xdf1e23(0xba)]},_0xdf1e23(0x153)+_0x457302[_0xdf1e23(0xba)]);}}async['updateRegistryStatus'](_0x42176d,_0x20fa6a){const _0x51ca23=a0_0x1b568a,_0x948870={'KOWQk':function(_0x4ab96e,_0x1ba6a5){return _0x4ab96e===_0x1ba6a5;},'actMv':'oracle','MSOgd':function(_0x3598ab,_0x5cf322){return _0x3598ab===_0x5cf322;},'wKixo':'mysql'},_0x3735a5=this['getDbUtils']();if(!_0x3735a5)return;const _0x4e5d10=this['getDbType']();try{if(_0x948870[_0x51ca23(0x135)](_0x4e5d10,_0x948870['actMv']))await _0x3735a5['executeQuery'](_0x51ca23(0x1d0),[_0x20fa6a,_0x42176d]);else _0x948870[_0x51ca23(0xd2)](_0x4e5d10,_0x948870[_0x51ca23(0x144)])?await _0x3735a5['executeQuery'](_0x51ca23(0xef),[_0x20fa6a,_0x42176d]):await _0x3735a5[_0x51ca23(0x145)](_0x51ca23(0x1a7),[_0x20fa6a,_0x42176d]);}catch(_0x106269){}}async[a0_0x1b568a(0x152)](_0x432791,_0x4dfe11,_0x97d624,_0x5dafe9){const _0x319f80=a0_0x1b568a,_0x5b514e={'UanvH':function(_0x531d61,_0x5b37ba){return _0x531d61===_0x5b37ba;},'OPcXk':_0x319f80(0xe6),'riGUP':function(_0x15cebf,_0x20adf9){return _0x15cebf===_0x20adf9;},'WIhXO':function(_0x5a8015,_0x27ea2b){return _0x5a8015===_0x27ea2b;},'ASUaB':_0x319f80(0xee)},_0x3859d4=this['getDbUtils']();if(!_0x3859d4)return;const _0x9cab81=this[_0x319f80(0x16a)](),_0x237766=_0x5b514e['UanvH'](_0x4dfe11,_0x319f80(0x176))?_0x5b514e[_0x319f80(0x130)]:_0x319f80(0x1cb);try{if(_0x5b514e['riGUP'](_0x9cab81,_0x319f80(0x196)))await _0x3859d4['executeQuery']('UPDATE\x20job_registry\x20SET\x20last_status\x20=\x20:1,\x20last_duration_ms\x20=\x20:2,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x237766+_0x319f80(0x157)+_0x237766+_0x319f80(0xe7),[_0x4dfe11,_0x97d624,_0x5dafe9,_0x432791]);else _0x5b514e['WIhXO'](_0x9cab81,_0x5b514e['ASUaB'])?await _0x3859d4['executeQuery'](_0x319f80(0x137)+_0x237766+'\x20=\x20'+_0x237766+_0x319f80(0x14c),[_0x4dfe11,_0x97d624,_0x5dafe9,_0x432791]):await _0x3859d4['executeQuery']('UPDATE\x20job_registry\x20SET\x20last_status\x20=\x20$1,\x20last_duration_ms\x20=\x20$2,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x237766+_0x319f80(0x157)+_0x237766+_0x319f80(0x1b6),[_0x4dfe11,_0x97d624,_0x5dafe9,_0x432791]);}catch(_0x21177d){logger['warn']({'event':_0x319f80(0x1a9),'jobName':_0x432791,'error':_0x21177d[_0x319f80(0xba)]},_0x319f80(0xf6)+_0x21177d['message']);}}async['getNextRunFromBullMQ'](_0x184e40){const _0x2ed7a4=a0_0x1b568a,_0x209fc5={'NCVue':function(_0x50335a,_0x2995be){return _0x50335a===_0x2995be;},'QcrMV':_0x2ed7a4(0x16d)},_0x4f3e68=this['jobConfigs'][_0x184e40];if(!_0x4f3e68||_0x4f3e68['type']!=='cron'||_0x209fc5['NCVue'](_0x4f3e68[_0x2ed7a4(0xd4)],![]))return null;const _0x129926=this['queues'][_0x4f3e68['queue']||_0x209fc5['QcrMV']];if(!_0x129926)return null;try{if(typeof _0x129926['getJobSchedulers']==='function'){const _0x721317=await _0x129926['getJobSchedulers'](0x0,0x64),_0x116f5b=_0x721317[_0x2ed7a4(0x10e)](_0x5bc3f4=>_0x5bc3f4['name']===_0x184e40);return _0x116f5b?.[_0x2ed7a4(0x129)]?new Date(_0x116f5b['next']):null;}}catch(_0x38c292){}return null;}async['setAllJobsOffline'](){const _0x515120=a0_0x1b568a,_0x121cad={'VOZpc':function(_0x5712c2,_0x53bf9e){return _0x5712c2===_0x53bf9e;},'FMnni':'mysql'},_0x4301ea=this['getDbUtils']();if(!_0x4301ea)return;const _0x4d0cbe=this['getDbType']();try{if(_0x121cad[_0x515120(0xbd)](_0x4d0cbe,_0x515120(0x196)))await _0x4301ea['executeQuery'](_0x515120(0x120));else _0x4d0cbe===_0x121cad['FMnni']?await _0x4301ea[_0x515120(0x145)](_0x515120(0xdd)):await _0x4301ea[_0x515120(0x145)](_0x515120(0x15e));}catch(_0x4b8752){logger['warn']({'event':_0x515120(0x166),'error':_0x4b8752['message']},'Failed\x20to\x20set\x20jobs\x20offline:\x20'+_0x4b8752[_0x515120(0xba)]);}}['getDbUtils'](){const _0x35ebba=a0_0x1b568a,_0x5d7bb0={'QPsev':_0x35ebba(0x146),'YSUga':function(_0x3ebbbf,_0x2a3c41){return _0x3ebbbf(_0x2a3c41);},'BfrZl':_0x35ebba(0x1e0),'RLMzo':function(_0x196c89,_0x3b988d){return _0x196c89===_0x3b988d;},'pWraA':_0x35ebba(0xee),'ZeMbS':function(_0x55501b,_0x1051ca){return _0x55501b(_0x1051ca);},'auAts':_0x35ebba(0x1c4),'qmunE':'db_mysql_unavailable','STKmT':'MySQL\x20DB\x20module\x20not\x20available'},_0x513a7e=(process[_0x35ebba(0xd6)]['DB_TYPE']||_0x5d7bb0[_0x35ebba(0x17e)])[_0x35ebba(0xb2)]();if(_0x513a7e===_0x35ebba(0x196))try{const _0x55a698=_0x5d7bb0[_0x35ebba(0x182)](require,'../../utils/db-oracle');return{'executeQuery':(_0x337d33,_0x58efbd)=>_0x55a698[_0x35ebba(0x145)](_0x337d33,_0x58efbd),'executeTransaction':_0x1f3b01=>_0x55a698[_0x35ebba(0x191)](_0x1f3b01),'getPool':()=>_0x55a698[_0x35ebba(0x175)]()};}catch(_0x3d8fc7){return logger[_0x35ebba(0x12e)]({'event':_0x5d7bb0['BfrZl']},_0x35ebba(0x13e)),null;}if(_0x5d7bb0[_0x35ebba(0x192)](_0x513a7e,_0x5d7bb0[_0x35ebba(0x11b)]))try{const _0x40b02b=_0x5d7bb0['ZeMbS'](require,_0x5d7bb0['auAts']);return{'executeQuery':(_0x5a76d0,_0x5e1154)=>_0x40b02b[_0x35ebba(0x145)](_0x5a76d0,_0x5e1154),'executeTransaction':_0x1eed0d=>_0x40b02b['executeTransaction'](_0x1eed0d),'getPool':()=>_0x40b02b[_0x35ebba(0x175)]()};}catch(_0x158333){return logger[_0x35ebba(0x12e)]({'event':_0x5d7bb0[_0x35ebba(0xc7)]},_0x5d7bb0[_0x35ebba(0x164)]),null;}try{const _0x3946c3=_0x5d7bb0['YSUga'](require,'../../utils/db');return{'executeQuery':_0x3946c3['executeQuery'],'executeTransaction':_0x3946c3['executeTransaction'],'getPool':_0x3946c3[_0x35ebba(0x175)]};}catch(_0x512992){return logger[_0x35ebba(0x12e)]({'event':_0x35ebba(0x17f)},'PostgreSQL\x20DB\x20module\x20not\x20available'),null;}}[a0_0x1b568a(0xd1)](){const _0x4c67a1=a0_0x1b568a,_0x490cab={'ewyBx':function(_0x19f576,_0x20966c){return _0x19f576(_0x20966c);},'rONTY':'../../utils/redis-client'};try{const _0x314fb3=_0x490cab['ewyBx'](require,_0x490cab['rONTY']);return _0x314fb3[_0x4c67a1(0x107)]?_0x314fb3['getClient']():_0x314fb3;}catch(_0xc4b39f){return null;}}['getKafkaService'](){const _0x1cf8e5=a0_0x1b568a,_0x322793={'ElYdc':function(_0x26a5c7,_0x217e21){return _0x26a5c7===_0x217e21;},'iFJuU':_0x1cf8e5(0x12a)};try{if(_0x322793['ElYdc'](process['env'][_0x1cf8e5(0x186)],'true')){const _0xe0591d=require(_0x322793['iFJuU']);return _0xe0591d[_0x1cf8e5(0x184)]?_0xe0591d['getInstance']():_0xe0591d;}}catch(_0x146362){}return null;}['getCacheManager'](){const _0x273e4d=a0_0x1b568a,_0x5e6651={'iEBCm':function(_0x24557c,_0x2c4c02){return _0x24557c(_0x2c4c02);}};try{return _0x5e6651[_0x273e4d(0x12b)](require,'../../utils/cache-manager');}catch(_0x57c499){return null;}}async['dispatch'](_0x522b88,_0x5c4787={}){const _0x2347a1=a0_0x1b568a,_0x261b04={'TxOVz':_0x2347a1(0x16d),'qBpSJ':'api'},_0x120a01=this[_0x2347a1(0x148)][_0x522b88];if(!_0x120a01)throw new Error('Job\x20tidak\x20ditemukan:\x20'+_0x522b88);const _0x2b5e33=this[_0x2347a1(0x167)][_0x120a01['queue']||_0x261b04[_0x2347a1(0x14d)]],_0x5fa4f3=await _0x2b5e33[_0x2347a1(0x181)](_0x522b88,{..._0x5c4787,'handler':_0x120a01[_0x2347a1(0x198)],'triggeredBy':_0x261b04['qBpSJ']},{'attempts':_0x120a01[_0x2347a1(0x18f)]?.['maxAttempts']||0x3,'backoff':{'type':_0x120a01['retry']?.['backoff']||'exponential','delay':_0x120a01['retry']?.[_0x2347a1(0xbf)]||0x1388},'timeout':_0x120a01[_0x2347a1(0x174)]||0x7530});return logger[_0x2347a1(0x18b)]({'event':_0x2347a1(0x143),'jobId':_0x5fa4f3['id'],'name':_0x522b88,'triggeredBy':_0x2347a1(0xc1)},'Job\x20dispatched:\x20'+_0x522b88+'\x20(id:\x20'+_0x5fa4f3['id']+')'),{'jobId':_0x5fa4f3['id'],'name':_0x522b88};}async[a0_0x1b568a(0x18e)](_0x26c7e8,_0xc4acf7={},_0x2dacb9=0x0){const _0x5cee63=a0_0x1b568a,_0x56466a={'upuBr':_0x5cee63(0xf0),'SBKhv':'exponential'},_0x2b6e7e=this[_0x5cee63(0x148)][_0x26c7e8];if(!_0x2b6e7e)throw new Error(_0x5cee63(0x19c)+_0x26c7e8);const _0x4d1563=this[_0x5cee63(0x167)][_0x2b6e7e[_0x5cee63(0xd3)]||_0x5cee63(0x16d)],_0x3e8498=await _0x4d1563[_0x5cee63(0x181)](_0x26c7e8,{..._0xc4acf7,'handler':_0x2b6e7e['handler'],'triggeredBy':_0x56466a[_0x5cee63(0xfc)]},{'delay':_0x2dacb9,'attempts':_0x2b6e7e[_0x5cee63(0x18f)]?.[_0x5cee63(0xea)]||0x3,'backoff':{'type':_0x2b6e7e[_0x5cee63(0x18f)]?.['backoff']||_0x56466a[_0x5cee63(0xc5)],'delay':_0x2b6e7e['retry']?.[_0x5cee63(0xbf)]||0x1388},'timeout':_0x2b6e7e[_0x5cee63(0x174)]||0x7530});return logger[_0x5cee63(0x18b)]({'event':'job_dispatched_delayed','jobId':_0x3e8498['id'],'name':_0x26c7e8,'delayMs':_0x2dacb9},'Job\x20dispatched\x20(delayed\x20'+_0x2dacb9+'ms):\x20'+_0x26c7e8+'\x20(id:\x20'+_0x3e8498['id']+')'),{'jobId':_0x3e8498['id'],'name':_0x26c7e8};}async[a0_0x1b568a(0x15d)](_0x44ffd1){const _0xac53cc=a0_0x1b568a;for(const _0x2b574d of Object[_0xac53cc(0xbc)](this['queues'])){const _0x88f68f=await _0x2b574d[_0xac53cc(0x13d)](_0x44ffd1);if(_0x88f68f){const _0x2ad8a8=await _0x88f68f['getState']();return{'jobId':_0x88f68f['id'],'name':_0x88f68f[_0xac53cc(0x15f)],'state':_0x2ad8a8,'progress':_0x88f68f[_0xac53cc(0x1b1)],'attemptsMade':_0x88f68f['attemptsMade'],'failedReason':_0x88f68f['failedReason'],'returnvalue':_0x88f68f['returnvalue'],'data':_0x88f68f['data'],'timestamps':{'created':_0x88f68f[_0xac53cc(0x16c)],'started':_0x88f68f['processedOn'],'completed':_0x88f68f[_0xac53cc(0x1de)]}};}}return null;}['listJobs'](){const _0x110c29=a0_0x1b568a;return Object['values'](this['jobConfigs'])[_0x110c29(0x1c3)](_0x587c12=>({'name':_0x587c12['name'],'description':_0x587c12[_0x110c29(0x12c)]||'','type':_0x587c12[_0x110c29(0x1aa)],'schedule':_0x587c12[_0x110c29(0x126)],'handler':_0x587c12['handler'],'enabled':_0x587c12['enabled']!==![],'queue':_0x587c12['queue']||'default','timeout':_0x587c12[_0x110c29(0x174)]||0x7530,'retry':_0x587c12['retry']||{'maxAttempts':0x3,'backoff':'exponential','initialDelay':0x1388},'metadata':_0x587c12['metadata']||{}}));}async[a0_0x1b568a(0x155)](){const _0x308273=a0_0x1b568a,_0x1b4af0=[];for(const [_0x15a7f0,_0x48a5a0]of Object[_0x308273(0x154)](this['queues'])){const _0x3cfd7e=await _0x48a5a0['getJobs']([_0x308273(0x1ac)]);for(const _0x4b564c of _0x3cfd7e){_0x1b4af0[_0x308273(0xb1)]({'jobId':_0x4b564c['id'],'name':_0x4b564c[_0x308273(0x15f)],'queue':_0x15a7f0,'progress':_0x4b564c['progress'],'attemptsMade':_0x4b564c[_0x308273(0x163)],'startedAt':_0x4b564c['processedOn']});}}return _0x1b4af0;}async['getHistory'](_0x361f51={}){const _0x5a8b99=a0_0x1b568a,_0x11d55c={'uCyss':function(_0x58d88f,_0x2848b4){return _0x58d88f-_0x2848b4;},'YTsYX':_0x5a8b99(0xf1)},_0x362771=parseInt(_0x361f51['page'],0xa)||0x1,_0x1141fd=Math[_0x5a8b99(0x10a)](parseInt(_0x361f51['limit'],0xa)||0x14,0x64),_0x21544a=(_0x362771-0x1)*_0x1141fd,_0xafb8f8=_0x11d55c[_0x5a8b99(0x1db)](_0x21544a+_0x1141fd,0x1),_0x23d515=[];for(const [_0x2e1a8b,_0x3f94f1]of Object['entries'](this['queues'])){const _0x597af7=await _0x3f94f1[_0x5a8b99(0x14a)]([_0x11d55c['YTsYX']],_0x21544a,_0xafb8f8),_0x47a468=await _0x3f94f1['getJobs']([_0x5a8b99(0xc0)],_0x21544a,_0xafb8f8);for(const _0x2265a2 of[..._0x597af7,..._0x47a468]){const _0x3d048c=await _0x2265a2[_0x5a8b99(0x110)]();_0x23d515['push']({'jobId':_0x2265a2['id'],'name':_0x2265a2[_0x5a8b99(0x15f)],'state':_0x3d048c,'queue':_0x2e1a8b,'attemptsMade':_0x2265a2['attemptsMade'],'failedReason':_0x2265a2[_0x5a8b99(0x118)],'returnvalue':_0x2265a2[_0x5a8b99(0x1d3)],'timestamps':{'created':_0x2265a2['timestamp'],'started':_0x2265a2[_0x5a8b99(0x1c5)],'completed':_0x2265a2['finishedOn']}});}}return _0x23d515[_0x5a8b99(0xdf)]((_0x253dbb,_0x2dc627)=>(_0x2dc627[_0x5a8b99(0xdb)]['created']||0x0)-(_0x253dbb[_0x5a8b99(0xdb)][_0x5a8b99(0x1d4)]||0x0)),{'jobs':_0x23d515['slice'](0x0,_0x1141fd),'total':_0x23d515[_0x5a8b99(0x112)],'page':_0x362771,'limit':_0x1141fd};}async['cancelJob'](_0x3a3435){const _0x25aa06=a0_0x1b568a,_0x1e03b7={'JcdFn':function(_0x4ea82e,_0x5a24f8){return _0x4ea82e===_0x5a24f8;},'lIEFi':_0x25aa06(0x159),'jyunn':_0x25aa06(0x1bc),'MyBhs':_0x25aa06(0x19e),'SZXHv':function(_0x546552,_0x32b511){return _0x546552===_0x32b511;}};for(const _0x2913c4 of Object['values'](this['queues'])){const _0x132ef8=await _0x2913c4['getJob'](_0x3a3435);if(_0x132ef8){const _0x3d34f1=await _0x132ef8[_0x25aa06(0x110)]();if(_0x1e03b7['JcdFn'](_0x3d34f1,'active'))return await _0x132ef8['moveToFailed'](new Error(_0x1e03b7['lIEFi']),_0x1e03b7['jyunn'],!![]),{'success':!![],'message':_0x25aa06(0x150)+_0x3a3435+'\x20cancelled\x20(was\x20active)'};if(_0x1e03b7[_0x25aa06(0xde)](_0x3d34f1,_0x1e03b7['MyBhs'])||_0x1e03b7[_0x25aa06(0x194)](_0x3d34f1,'delayed'))return await _0x132ef8['remove'](),{'success':!![],'message':'Job\x20'+_0x3a3435+'\x20removed\x20(was\x20'+_0x3d34f1+')'};return{'success':![],'message':'Job\x20'+_0x3a3435+'\x20tidak\x20bisa\x20di-cancel\x20(state:\x20'+_0x3d34f1+')'};}}return{'success':![],'message':_0x25aa06(0x150)+_0x3a3435+_0x25aa06(0xf9)};}async['getHealthStatus'](){const _0x289cf2=a0_0x1b568a,_0x30f199={'foqNk':_0x289cf2(0x1ac),'IcHbE':_0x289cf2(0xf1)},_0x2f99bc={};for(const [_0xde8b1,_0x169a05]of Object[_0x289cf2(0x154)](this['queues'])){try{const _0x3854b3=await _0x169a05[_0x289cf2(0xfe)](_0x30f199['foqNk'],_0x30f199['IcHbE'],_0x289cf2(0x104),_0x289cf2(0xc0),'paused','waiting');_0x2f99bc[_0xde8b1]=_0x3854b3;}catch(_0x40ee10){_0x2f99bc[_0xde8b1]={'error':_0x40ee10['message']};}}const _0x36b84b={};for(const [_0xa1736e,_0x285a6b]of Object['entries'](this[_0x289cf2(0xcd)])){_0x36b84b[_0xa1736e]={'running':_0x285a6b[_0x289cf2(0xca)](),'paused':_0x285a6b['isPaused']()};}return{'initialized':this['initialized'],'registeredJobs':Object[_0x289cf2(0x149)](this[_0x289cf2(0x148)])[_0x289cf2(0x112)],'redisConnections':this['connections'][_0x289cf2(0x112)],'queues':_0x2f99bc,'workers':_0x36b84b};}async['onJobCompleted'](_0x22abaa,_0x3abeed){const _0x20c719=a0_0x1b568a,_0x564e1f={'KLyAl':_0x20c719(0x12f),'jSfSx':_0x20c719(0xb5),'YKsnl':'job_completed','HvnaY':function(_0x4761f2,_0x5b9d44){return _0x4761f2===_0x5b9d44;},'PIcxD':'job-scheduler','JqncJ':'job_kafka_publish_error','tOGTN':_0x20c719(0xec)},_0x4f4187=logger['child']({'jobId':_0x22abaa['id'],'jobName':_0x22abaa['name']});_0x4f4187[_0x20c719(0x18b)]({'event':_0x564e1f[_0x20c719(0x1e7)],'attemptsMade':_0x22abaa['attemptsMade'],'duration':_0x22abaa['finishedOn']?_0x22abaa['finishedOn']-_0x22abaa['processedOn']:null},'Job\x20completed:\x20'+_0x22abaa['name']);const _0x296007=this['activeHistoryIds'][_0x20c719(0x17c)](_0x22abaa['id']);if(_0x296007){if(_0x296007['insertPromise'])await _0x296007[_0x20c719(0x134)];const _0x5574ee=_0x22abaa[_0x20c719(0x1de)]&&_0x22abaa['processedOn']?_0x22abaa[_0x20c719(0x1de)]-_0x22abaa[_0x20c719(0x1c5)]:null,_0x5f519c=_0x564e1f['HvnaY'](typeof _0x3abeed,_0x20c719(0x106))?_0x3abeed:_0x3abeed?JSON[_0x20c719(0xd9)](_0x3abeed)['substring'](0x0,0x1f4):null;await this['updateJobHistoryCompleted'](_0x296007[_0x20c719(0xd8)],_0x5574ee,_0x5f519c);const _0x1dcf09=await this['getNextRunFromBullMQ'](_0x22abaa['name']);await this[_0x20c719(0x152)](_0x22abaa['name'],_0x20c719(0x176),_0x5574ee,_0x1dcf09),this['activeHistoryIds']['delete'](_0x22abaa['id']);}const _0x434718=getComponentEngine();if(_0x434718&&_0x564e1f[_0x20c719(0x185)](typeof _0x434718[_0x20c719(0x108)],'function')){const _0x1db1d7={'jobId':_0x22abaa['id'],'jobName':_0x22abaa['name'],'result':_0x3abeed,'config':this['jobConfigs'][_0x22abaa[_0x20c719(0x15f)]]||{}};_0x434718['executeEventHandlers'](_0x20c719(0x1dc),_0x1db1d7,![])['catch'](_0x4813c9=>{const _0x4f1b85=_0x20c719;_0x4f4187[_0x4f1b85(0x12e)]({'event':_0x564e1f['KLyAl'],'error':_0x4813c9[_0x4f1b85(0xba)]},_0x564e1f['jSfSx']);});}const _0x366aff=this['getKafkaService']();if(_0x366aff)try{await _0x366aff['publishEvent'](_0x20c719(0x18c),'JOB_COMPLETED',null,{'jobId':_0x22abaa['id'],'name':_0x22abaa['name'],'result':_0x3abeed},{'module':_0x564e1f['PIcxD'],'endpoint':_0x22abaa['name']});}catch(_0x4f7f55){_0x4f4187['warn']({'event':_0x564e1f[_0x20c719(0xce)],'error':_0x4f7f55[_0x20c719(0xba)]},_0x564e1f[_0x20c719(0x1e4)]);}}async[a0_0x1b568a(0x1be)](_0x2fc1f8,_0x1479c0){const _0x4f5ed2=a0_0x1b568a,_0x4aa067={'RNQbw':'job_failed','ZlkdQ':function(_0x4adb6f,_0x5b2e4a){return _0x4adb6f<_0x5b2e4a;},'Fndpk':function(_0x354dc9,_0x4b9c43){return _0x354dc9-_0x4b9c43;},'Arjkn':'failed','zExDd':_0x4f5ed2(0xc3)},_0x51c6a6=logger[_0x4f5ed2(0xed)]({'jobId':_0x2fc1f8['id'],'jobName':_0x2fc1f8['name']});_0x51c6a6['error']({'event':_0x4aa067['RNQbw'],'attemptsMade':_0x2fc1f8['attemptsMade'],'failedReason':_0x1479c0?.[_0x4f5ed2(0xba)],'willRetry':_0x4aa067[_0x4f5ed2(0x1d8)](_0x2fc1f8[_0x4f5ed2(0x163)],this['jobConfigs'][_0x2fc1f8[_0x4f5ed2(0x15f)]]?.[_0x4f5ed2(0x18f)]?.['maxAttempts']||0x3)},_0x4f5ed2(0x173)+_0x2fc1f8[_0x4f5ed2(0x15f)]+'\x20—\x20'+_0x1479c0?.['message']);const _0x525f98=this['activeHistoryIds'][_0x4f5ed2(0x17c)](_0x2fc1f8['id']);if(_0x525f98){if(_0x525f98['insertPromise'])await _0x525f98[_0x4f5ed2(0x134)];const _0x3f0c81=_0x2fc1f8['finishedOn']&&_0x2fc1f8['processedOn']?_0x4aa067[_0x4f5ed2(0x14b)](_0x2fc1f8['finishedOn'],_0x2fc1f8['processedOn']):null;await this['updateJobHistoryFailed'](_0x525f98['historyId'],_0x3f0c81,_0x2fc1f8[_0x4f5ed2(0x1b1)],_0x1479c0?.[_0x4f5ed2(0xba)],_0x1479c0?.[_0x4f5ed2(0x193)]);const _0x42230e=await this['getNextRunFromBullMQ'](_0x2fc1f8['name']);await this[_0x4f5ed2(0x152)](_0x2fc1f8['name'],_0x4aa067[_0x4f5ed2(0x160)],_0x3f0c81,_0x42230e),this[_0x4f5ed2(0x15a)][_0x4f5ed2(0x183)](_0x2fc1f8['id']);}const _0x40523d=getComponentEngine();if(_0x40523d&&typeof _0x40523d[_0x4f5ed2(0x108)]==='function'){const _0xafe331={'jobId':_0x2fc1f8['id'],'jobName':_0x2fc1f8[_0x4f5ed2(0x15f)],'error':_0x1479c0?.['message'],'attemptsMade':_0x2fc1f8[_0x4f5ed2(0x163)],'config':this[_0x4f5ed2(0x148)][_0x2fc1f8[_0x4f5ed2(0x15f)]]||{}};_0x40523d[_0x4f5ed2(0x108)]('onAfterJobFailed',_0xafe331,![])['catch'](_0xb978c1=>{const _0x1c6dbd=_0x4f5ed2;_0x51c6a6['warn']({'event':'after_job_failed_hook_error','error':_0xb978c1[_0x1c6dbd(0xba)]},_0x1c6dbd(0x172));});}const _0x28254d=this[_0x4f5ed2(0x16b)]();if(_0x28254d)try{await _0x28254d[_0x4f5ed2(0x1a6)]('restforge.jobs.failed','JOB_FAILED',null,{'jobId':_0x2fc1f8['id'],'name':_0x2fc1f8[_0x4f5ed2(0x15f)],'error':_0x1479c0?.[_0x4f5ed2(0xba)],'attemptsMade':_0x2fc1f8['attemptsMade']},{'module':_0x4aa067[_0x4f5ed2(0x123)],'endpoint':_0x2fc1f8[_0x4f5ed2(0x15f)]});}catch(_0x3c4fb1){_0x51c6a6['warn']({'event':_0x4f5ed2(0x1b2),'error':_0x3c4fb1['message']},'Failed\x20to\x20publish\x20JOB_FAILED\x20to\x20Kafka');}}['onJobProgress'](_0x5ec39d,_0x501a23){const _0xf99634=a0_0x1b568a;logger['debug']({'event':'job_progress','jobId':_0x5ec39d['id'],'jobName':_0x5ec39d['name'],'progress':_0x501a23},_0xf99634(0x1cc)+_0x5ec39d['name']+_0xf99634(0x1a4)+_0x501a23+'%');}}module[a0_0x1b568a(0x17b)]=new JobManager();
1
+ const a0_0x22225f=a0_0x2230;(function(_0x46dd67,_0x1b432f){const _0x438648=a0_0x2230,_0x50bb2b=_0x46dd67();while(!![]){try{const _0x2f354a=parseInt(_0x438648(0x2a2))/0x1*(-parseInt(_0x438648(0x2d6))/0x2)+-parseInt(_0x438648(0x249))/0x3+-parseInt(_0x438648(0x20f))/0x4+parseInt(_0x438648(0x1bb))/0x5+-parseInt(_0x438648(0x269))/0x6+-parseInt(_0x438648(0x2b2))/0x7*(-parseInt(_0x438648(0x2a9))/0x8)+parseInt(_0x438648(0x226))/0x9*(parseInt(_0x438648(0x209))/0xa);if(_0x2f354a===_0x1b432f)break;else _0x50bb2b['push'](_0x50bb2b['shift']());}catch(_0x56173e){_0x50bb2b['push'](_0x50bb2b['shift']());}}}(a0_0x39bd,0x867f1));const {Queue,Worker}=require('bullmq'),Redis=require('ioredis'),crypto=require(a0_0x22225f(0x23d)),{v7:uuidv7}=require(a0_0x22225f(0x283)),fs=require('fs'),path=require('path'),{logger}=require('../../utils/logger'),jobValidator=require('./job-validator');function a0_0x2230(_0x2e5dc6,_0x3651e0){_0x2e5dc6=_0x2e5dc6-0x1b4;const _0x39bd7d=a0_0x39bd();let _0x223057=_0x39bd7d[_0x2e5dc6];if(a0_0x2230['BXACES']===undefined){var _0x50d758=function(_0x438564){const _0x51858c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x31696b='',_0x23d888='';for(let _0x281ee3=0x0,_0x1eca27,_0x3fb705,_0x28a987=0x0;_0x3fb705=_0x438564['charAt'](_0x28a987++);~_0x3fb705&&(_0x1eca27=_0x281ee3%0x4?_0x1eca27*0x40+_0x3fb705:_0x3fb705,_0x281ee3++%0x4)?_0x31696b+=String['fromCharCode'](0xff&_0x1eca27>>(-0x2*_0x281ee3&0x6)):0x0){_0x3fb705=_0x51858c['indexOf'](_0x3fb705);}for(let _0x3619c2=0x0,_0xf2d201=_0x31696b['length'];_0x3619c2<_0xf2d201;_0x3619c2++){_0x23d888+='%'+('00'+_0x31696b['charCodeAt'](_0x3619c2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x23d888);};a0_0x2230['xtjBTY']=_0x50d758,a0_0x2230['qtJFMI']={},a0_0x2230['BXACES']=!![];}const _0x5c20e5=_0x39bd7d[0x0],_0x682d3b=_0x2e5dc6+_0x5c20e5,_0x4e3637=a0_0x2230['qtJFMI'][_0x682d3b];return!_0x4e3637?(_0x223057=a0_0x2230['xtjBTY'](_0x223057),a0_0x2230['qtJFMI'][_0x682d3b]=_0x223057):_0x223057=_0x4e3637,_0x223057;}function a0_0x39bd(){const _0xf5f253=['zw5KC1DPDgG','lMPZ','Aw5Zzxj0uhjVBwLZzq','DNP4s2m','y3jVBL9YzwDPC3rLCMvK','y3jLyxrLqNvSBe1rq29UBMvJDgLVBG','mtG1ndu4mMPuzevfBq','B3jHy2XL','ywXS','ywXYzwfKEsbLEgLZDhm','BwLU','z2v0rgjuExbL','yxbP','z2v0u3rHDgu','AM9Ix2HPC3rVCNLFAw5Zzxj0x2jNx2vYCM9Y','B2zMBgLUzq','igPVyIbJB25MAwCOCYKGzNjVBsbWyxLSB2fKl2PVyNmV','ug9gugu','Bwf4qxr0zw1WDhm','sM9IignVBMzPzYbPBNzHBgLKoIa','BgzSC0S','yunptwm','icSGmsWkicaGicaGicaGicbUzxH0x3j1BL9HDca9id8Gv0HfuKuGAM9Ix25HBwuGpsa/','C3rYAw5N','zKDZu0e','C3bSAxq','qMfJA2DYB3vUzcbPBNnLCNqGAM9IigHPC3rVCNKGzMfPBgvKoIa','AM9Ix2nVBMzPz3nFBg9HzgvK','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa6msWGBgfZDf9KDxjHDgLVBL9TCYa9idOYlaOGicaGicaGicaGia','rM9SzgvYihbHEwXVywqVAM9ICY8GDgLKywSGzgL0zw11A2fU','C0LRqve','Euzzv08','CMvHzgrPCLn5BMm','q3jVBIbYzwDPC3rLCMvKoIa','rg5cug0','ALj4Dfy','sK9cx1nivvret1Dox1rjtuvpvvq','Aw5JBhvKzxm','nti1ndqWnen6v0HsCG','sM9Iie1HBMfNzxiGC3vKywGGzgLPBMLZAwfSAxnHC2KSihnRAxa','AM9PBG','AM9Iq29UzMLNCW','C3fSlxnJCMLWDhm','z2v0sM9I','Dhj1zq','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNC3vJy2vZCYCSignVBxbSzxrLzf9HDca9ie5pvYGPlaOGicaGicaGicaGigr1CMf0Aw9Ux21Zid0GjdeSihbYB2DYzxnZid0GmtaWlcbYzxn1BhrFC3vTBwfYEsa9icqYifDirvjfigLKid0Gjdm','qNvSBe1rifjLzgLZignVBM5Ly3rPB24GDMvYAwzPzwq','icSGmsWkicaGicaGicaGicbUzxH0x3j1BL9HDca9icqZlcb1CgrHDgvKx2f0id0GtK9xkcKGv0HfuKuGAM9Ix25HBwuGpsaKna','zgvMyxvSDa','Cgf1C2vK','mNWXFdn8nNW3Fdv8nhWW','zgvSyxLLza','AM9Ix3jLzgLZx2nVBM5Ly3rLza','AM9Ix3f1zxvLC19JCMvHDgvK','A0zICvu','DxbKyxrLuMvNAxn0CNLdB3vUDgvYCW','DMfSAwq','zNvUy3rPB24','DhjPBq','z2v0uMvKAxndBgLLBNq','AM9ItMfTzq','lI4VlI4VC2vYDMLJzxmVA2fMA2ftzxj2AwnL','uNLYvvq','y2HPBgq','DxvPza','BwfUDwfS','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa/lcbSyxn0x3j1BL9HDca9ie5pvYGPifDirvjfigPVyL9Uyw1Lid0GpW','ChjVy2vZC2vKt24','z2v0q2fJAgvnyw5Hz2vY','sM9Iihn0ywXSzwq6ia','C3jJ','DhLWzq','z2v0q2XPzw50','qKroCgK','sM9IigHHBMrSzxiGy29TCgXLDgvKoIa','C1LZy1K','ChjVy2vZC0PVyG','AM9Ix2THzMTHx3b1yMXPC2HFzxjYB3i','C2nOzwr1Bgu','ywz0zxjFAM9Ix2zHAwXLzf9OB29Rx2vYCM9Y','BK1muhe','CgLK','y29UzMLNrMLSzq','rMfPBgvKihrVigvUC3vYzsbQB2iGDgfIBgvZoIa','AM9Ix2rPC3bHDgnOzwrFzgvSyxLLza','Dw5RBM93BG','y29UBMvJDgLVBNm','Eg9Uzxy','zw50CMLLCW','CuX2AxC','BgvUz3rO','Aw5PDgLHBerLBgf5','vMfnDKO','Aw5Zzxj0sM9IsgLZDg9YEq','uvLfwLy','mtCWouHmwfzcra','ihjLBw92zwqGkhDHCYa','icSGmsWkicaGicaGicaGicbUzxH0x3j1BL9HDca9idOZlcb1CgrHDgvKx2f0id0Gu1LtveLnrvnuqu1qifDirvjfigPVyL9Uyw1Lid0GoJq','rMfPBgvKihrVihjLz2LZDgvYigPVyJOG','sK9cx1jfvevoveLptL9it1vsuW','y2XVC2u','B25kB2jgywLSzwq','mZyWntzorwTIwva','y29TCgXLDgvK','sM9Iihn0yxj0zwq6ia','zMLSDgvY','iokaLca','sKfXt0S','ChjVz3jLC3m','B25czwzVCMvkB2jfEgvJDxrL','Aw5PDgLHBgL6zwq','nJq0yxjMCe1V','ExHcwwq','q3HXyvm','ChvZAa','AgfUzgXLCNm','ywLgu0W','B3jHltaWotu1','AM9Ix2zHAwXLza','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGC3rHDhvZid0Gj29MzMXPBMuNlcbUzxH0x3j1BL9HDca9ie5vteW','BxLZCwW','BgLZDePVyNm','t1jUBe8','zxHLy3v0zvrYyw5Zywn0Aw9U','se9uCvy','zxHLy3v0zvf1zxj5','v092DvG','uKvesvnFse9tva','BgLTAxq','zxHWB3j0CW','wKDpDgW','yNvSBg1Xx3DVCMTLCL9LCNjVCG','D2fYBG','u1fmihnJCMLWDcb0AwrHAYbKAxrLBxvRyw46ia','DxbKyxrLsM9IsgLZDg9YEuzHAwXLza','EM5YzM0','ywrK','A2PfwuC','rgf0ywjHC2uGDgLKywSGDgvYC2vKAweSihnRAxaGyxv0BY1JCMvHDguGAM9IihrHyMXLCW','zgLZCgf0y2G','zMfPBgvK','ywn0AxzLsgLZDg9YEuLKCW','BLLOy2K','sK9cx0vwru5u','zLnoBgG','B25kB2jdB21WBgv0zwq','rMfPBgvKihrVihvWC2vYDcbQB2iGCMvNAxn0CNK6ia','otm0tfH4u1bj','sK9cx0zbsuXfra','sM9Iia','zhvWBgLJyxrL','sM9Iig1VBML0B3jPBMCGDgfIBgvZigvUC3vYzwqGka','B25kB2jqCM9NCMvZCW','uKvesvnFue9sva','z0Plq1K','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','Bg9JywXOB3n0','zxjYB3jZ','AM9Ix21HBMfNzxjFCMvHzhK','z2v0rgjvDgLSCW','lI4VlI4VDxrPBhmVzgiTB3jHy2XL','zgvSzxrL','D29YA2LUz0rPCG','ALPpEhq','Bw92zvrVrMfPBgvK','C3rYAw5NAwz5','Aw5PDgLHBgL6zq','AgLZDg9YEuLK','rLHxweu','sM9Iie1HBMfNzxiGCMvHzhK6ia','AM9IlxnJAgvKDwXLCG','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNzMfPBgvKjYWGy29TCgXLDgvKx2f0id0GtK9xkcKScIaGicaGicaGicaGzhvYyxrPB25FBxmGpsa/lcbWCM9NCMvZCYa9id8SigvYCM9Yx21LC3nHz2uGpsa/lcbLCNjVCL9ZDgfJAYa9id8Gv0HfuKuGAwqGpsa/','mte3nJiWme1xCuLVCG','AM9ICW','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNzMfPBgvKjYWGy29TCgXLDgvKx2f0id0GtK9xkcKScIaGicaGicaGicaGzhvYyxrPB25FBxmGpsaKmsWGChjVz3jLC3mGpsaKmIWGzxjYB3jFBwvZC2fNzsa9icqZlcbLCNjVCL9ZDgfJAYa9icq0ifDirvjfigLKid0Gjdu','BwPxEMS','rhLkwKC','mYbcDwXStveGuxvLDwvZignYzwf0zwqGkgHPz2GSigrLzMf1BhqSigXVDYK','rxzHv2m','sMrvvM4','B25SAw5L','zgvIDwC','oMPVyG','sM9Iie1HBMfNzxiGC2H1DhrPBMCGzg93BIaODgLTzw91DdOG','y2fUy2vSsM9I','AM9Ix2HPC3rVCNLFAw5Zzxj0x2vYCM9Y','BMv4Da','BLzWrxa','id0G','sM9IigrPC3bHDgnOzwqGkgrLBgf5zwqG','yMfJA29MzG','yxbPlwrLBgf5zwq','zLnkr2y','C3rfrKm','CMvZDgzVCMDLlMPVyNmUzMfPBgvK','sM9IigrPC3bHDgnOzwq6ia','CgfNzq','DxbZzxj0sM9Iu2nOzwr1BgvY','zMLUAxnOzwrpBG','CMvTB3zL','DxrMoa','DgLTzxn0yw1W','Dg9mB3DLCKnHC2u','y0XVsg8','lIbkB2iGu2nOzwr1BgvYihrPzgfRigfRyw4GywT0AwyU','CxvLDwvZ','z2v0sM9Iu2nOzwr1BgvYCW','z2v0sw5ZDgfUy2u','AM9Ix3nXBf9UB3rFzM91BMq','mYbcDwXStveGv29YA2vYCYbJCMvHDgvKicHJB25JDxjYzw5JEtOG','su5trvjuieLove8GAM9Ix3jLz2LZDhj5cIaGicaGicaGicaGkgPVyL9Uyw1LlcbKAxnWBgf5x25HBwuSihr5CguSihnJAgvKDwXLlcbXDwv1zsWGAgfUzgXLCIWGy29UzMLNx2zPBguScIaGicaGicaGicaGihrPBwvVDxqSihjLDhj5x21HEcWGCMv0CNLFyMfJA29MzIWGC3rHDhvZlcbUzxH0x3j1BL9HDcWGy3jLyxrLzf9HDcWGDxbKyxrLzf9HDcKkicaGicaGicaGicbwquXvrvmGkd8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sid8Sie5pvYGPlcbot1COksKkicaGicaGicaGicbptIbevvbmsunbveuGs0vzifvqrefurqOGicaGicaGicaGicaGzgLZCgXHEv9Uyw1Lid0GvKfmvuvtkgrPC3bSyxLFBMfTzsKSihr5CguGpsbwquXvrvmODhLWzsKScIaGicaGicaGicaGicbZy2HLzhvSzsa9ifzbtfvfuYHZy2HLzhvSzsKSihf1zxvLid0GvKfmvuvtkhf1zxvLksWkicaGicaGicaGicaGigHHBMrSzxiGpsbwquXvrvmOAgfUzgXLCIKSignVBMzPz19MAwXLid0GvKfmvuvtkgnVBMzPz19MAwXLksWkicaGicaGicaGicaGihrPBwvVDxqGpsbwquXvrvmODgLTzw91DcKSihjLDhj5x21HEca9ifzbtfvfuYHYzxrYEv9TyxGPlaOGicaGicaGicaGicaGCMv0CNLFyMfJA29MzIa9ifzbtfvfuYHYzxrYEv9IywnRB2zMksWGC3rHDhvZid0GvKfmvuvtkhn0yxr1CYKScIaGicaGicaGicaGicbUzxH0x3j1BL9HDca9ifzbtfvfuYHUzxH0x3j1BL9HDcK','y3DK','Ew9LBxO','DgLTzxPVBMu','lMPZB24','sw90Chm','BgLZDfj1BM5PBMC','su5trvjuieLove8GAM9Ix3jLz2LZDhj5cIaGicaGicaGicaGkgPVyL9Uyw1LlcbKAxnWBgf5x25HBwuSihr5CguSihnJAgvKDwXLlcbXDwv1zsWGAgfUzgXLCIWGy29UzMLNx2zPBguScIaGicaGicaGicaGihrPBwvVDxqSihjLDhj5x21HEcWGCMv0CNLFyMfJA29MzIWGC3rHDhvZlcbUzxH0x3j1BL9HDcWGy3jLyxrLzf9HDcWGDxbKyxrLzf9HDcKkicaGicaGicaGicbwquXvrvmGkcqXlcaKmIWGjdmSicq0lcaKnsWGjdySicq3lcaKocWGjdKSicqXmcWGjdeXlcaKmtiSie5pvYGPlcbot1COksKkicaGicaGicaGicbptIbdt05gteLdvcaOAM9Ix25HBwuPierpifvqrefursbtrvqkicaGicaGicaGicaGigrPC3bSyxLFBMfTzsa9ievyq0XvrevelMrPC3bSyxLFBMfTzsWGDhLWzsa9ievyq0XvrevelNr5CguScIaGicaGicaGicaGicbZy2HLzhvSzsa9ievyq0XvrevelNnJAgvKDwXLlcbXDwv1zsa9ievyq0XvrevelNf1zxvLlaOGicaGicaGicaGicaGAgfUzgXLCIa9ievyq0XvrevelMHHBMrSzxiSignVBMzPz19MAwXLid0GrvHdtfveruqUy29UzMLNx2zPBguScIaGicaGicaGicaGicb0Aw1LB3v0id0GrvHdtfveruqUDgLTzw91DcWGCMv0CNLFBwf4id0GrvHdtfveruqUCMv0CNLFBwf4laOGicaGicaGicaGicaGCMv0CNLFyMfJA29MzIa9ievyq0XvrevelNjLDhj5x2jHy2TVzMySihn0yxr1CYa9ievyq0XvrevelNn0yxr1CYWkicaGicaGicaGicaGig5LEhrFCNvUx2f0id0GrvHdtfveruqUBMv4Df9YDw5FyxqSihvWzgf0zwrFyxqGpsbot1COkq','zw5HyMXLza','rfbit1y','sK9cx1nuquXmrurFsu5urvjwquW','y3jVBG','BM93','ywz0zxjFAM9Ix2nVBxbSzxrLx2HVB2TFzxjYB3i','z2v0tMv4Dfj1BKzYB21cDwXStve','zgjFBxLZCwXFDw5HDMfPBgfIBgu','sgfUzgXLCIb0AwrHAYbKAxrLBxvRyw4GDw50DwSGAM9IoIa','AM9Ix3jLz2LZDhj5x2nVDw50zxjFzxjYB3i','tM1yCM4','EwrcCe8','D29YA2vYCW','Bg9HzePVyKnVBMzPz3m','DgLTzxn0yw1WCW','DMfSAwrHDgvdB25MAwC','DMfSDwvZ','uefOtMK','Cgf5Bg9Hza','DhjPz2DLCMvKqNK','y2XLyxi','Aw5MBW','rMfPBgvKihrVihvWzgf0zsbQB2iGAgLZDg9YEsaOy29TCgXLDgvKktOG','sMXgtuS','rK1QAem','zxjYB3i','txLtuuWGreiGBw9KDwXLig5VDcbHDMfPBgfIBgu','BwvZC2fNzq','y0D6wu4','z2v0sM9Iq291BNrZ','twfQv0e','wM1KBei','mZi4nty3mhbOAhHbEa','C3rHCNrZv2L0Aa','z2v0sM9ICW','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGC3rHDhvZid0Gj29MzMXPBMuNlcbUzxH0x3j1BL9HDca9ie5vteWSihvWzgf0zwrFyxqGpsbot1COkq','BwfW','y3jLyxrLza','ndm3mduWne11yMfoBa','zxHLy3v0zuv2zw50sgfUzgXLCNm','zgf0yq','yNvSBg1XsM9Iswq','tvzLCLO','AM9Ix21HBMfNzxjFC2H1DgrVD25Fy29TCgXLDgu','zxHWB25LBNrPywW','CMvNAxn0zxjkB2i','B3jHy2XLlNnXBa','AgTczuC','C3bSAxrtCwXtDgf0zw1LBNrZ','CxvLDwu','DxbKyxrLuMvNAxn0CNLtDgf0Dxm','sK9cx1jfreLtx1bsruzjwa','t2r0CMy','uKvesvnFrei','yNvPBgrdB250zxH0','AM9Ix2HPC3rVCNLFzMfPBgvKx2vYCM9Y','DgLTzw91Da','icHHDhrLBxb0ia','y2f0y2G','AM9Ix2vUC3vYzv90ywjSzxnFzxjYB3i','BMfTzq','otbduNPPtLq','zgjFB3jHy2XLx3vUyxzHAwXHyMXL','senAqxm','sM9IignVBxbSzxrLzdOG','C2v0','AM9Ix2rIx3vUyxzHAwXHyMXL','qLnYAu8','C3vIC3rYAw5N','yxr0zw1WDhnnywrL','rgTMqvi','zfzlq1i','zw52','AgfUzgXLCG','rejFvfLqrq','ChvIBgLZAev2zw50','AM9Ix2nVBxbSzxrLza','AxnqyxvZzwq','sM9IignHBMnLBgXLzcb2AweGqvbj','CMvHzezPBgvtEw5J','ywn0AxzL','vgLKywSGywrHigPVyIbJB25MAwCGzgL0zw11A2fUigrPihbHEwXVywqVAM9ICY8UiePVyIbnyw5Hz2vYigfRDgLMihrHBNbHignYB24U','Cg9ZDgDYzxnXBc5ZCwW','AM9Ix3jLzgLZx2zHAwXLza','y3j5ChrV','CMv0CNK','sK9cx0zbsuXfrf9srvrftLrjt05Fse9vuLm','CxvPDa','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticGKmsWGjdiSicqZlcaKncWGjduSicDYDw5UAw5NjYWGjdySicq3lcaKocWGtK9xkcKSicq5lcbot1COksK','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNC3vJy2vZCYCSignVBxbSzxrLzf9HDca9ifnzu1rjtuvtvefnucWkicaGicaGicaGicbKDxjHDgLVBL9TCYa9idOXlcbWCM9NCMvZCYa9ideWmcWGCMvZDwX0x3n1Bw1HCNKGpsa6mIbxsevsrsbPzca9idOZ'];a0_0x39bd=function(){return _0xf5f253;};return a0_0x39bd();}let componentEngine=null;function getComponentEngine(){const _0x43be18=a0_0x22225f,_0x369305={'dVKCR':function(_0x824dac,_0x364444){return _0x824dac(_0x364444);}};if(!componentEngine)try{const _0x1a2443=_0x369305[_0x43be18(0x230)](require,'../../utils/component-engine');componentEngine=_0x1a2443['componentEngine']||_0x1a2443;}catch(_0x25c410){}return componentEngine;}class JobManager{constructor(){const _0x3e90ee=a0_0x22225f,_0xce96ee=_0x3e90ee(0x275)['split']('|');let _0x22ce3b=0x0;while(!![]){switch(_0xce96ee[_0x22ce3b++]){case'0':this['activeHistoryIds']=new Map();continue;case'1':this[_0x3e90ee(0x1f5)]={};continue;case'2':this['queues']={};continue;case'3':this[_0x3e90ee(0x26c)]={};continue;case'4':this['workingDir']=process[_0x3e90ee(0x1e2)]();continue;case'5':this['initialized']=![];continue;case'6':this['handlers']={};continue;case'7':this[_0x3e90ee(0x299)]=[];continue;}break;}}[a0_0x22225f(0x248)](){const _0x538da5=a0_0x22225f,_0x21d082={'fSNlh':'bullmq_redis_error','mEGme':_0x538da5(0x2df),'rAcGl':function(_0x49991e,_0x97f8e3,_0x479c7e){return _0x49991e(_0x97f8e3,_0x479c7e);},'CsPEi':function(_0x22fd02,_0x357ef9,_0x4713bf){return _0x22fd02(_0x357ef9,_0x4713bf);},'yFYWO':_0x538da5(0x202)},_0x1865ef=new Redis({'host':process['env'][_0x538da5(0x2c2)]||_0x21d082['mEGme'],'port':_0x21d082['rAcGl'](parseInt,process[_0x538da5(0x231)][_0x538da5(0x2dc)],0xa)||0x18ec,'password':process['env']['REDIS_PASSWORD']||undefined,'db':_0x21d082['CsPEi'](parseInt,process['env'][_0x538da5(0x21e)],0xa)||0x0,'maxRetriesPerRequest':null,'retryStrategy'(_0x2b110d){const _0x501b89=_0x538da5,_0x5ef36f=Math[_0x501b89(0x24d)](_0x2b110d*0x32,0x7d0);return _0x5ef36f;}});return _0x1865ef['on'](_0x21d082[_0x538da5(0x262)],_0x2155a6=>{const _0x1d53cf=_0x538da5;logger[_0x1d53cf(0x202)]({'event':_0x21d082[_0x1d53cf(0x2d3)],'error':_0x2155a6[_0x1d53cf(0x204)]},'BullMQ\x20Redis\x20connection\x20error:\x20'+_0x2155a6[_0x1d53cf(0x204)]);}),this[_0x538da5(0x299)]['push'](_0x1865ef),_0x1865ef;}async[a0_0x22225f(0x1b5)](){const _0x435cd0=a0_0x22225f,_0x584264={'XfQeP':'job_stalled','QYEZV':'Initializing\x20Job\x20Manager...','JdUVn':_0x435cd0(0x23c),'kpuFw':'job_no_configs','XkNoH':'high','hkBeG':'low','Elley':_0x435cd0(0x1c0),'AyFIm':function(_0x5f390c,_0x496062,_0x425087){return _0x5f390c(_0x496062,_0x425087);},'NmXrn':function(_0x4d6b16,_0x24abdc,_0x57499c){return _0x4d6b16(_0x24abdc,_0x57499c);},'lToCC':_0x435cd0(0x2aa),'PAhNi':_0x435cd0(0x202)};if(this['initialized']){logger[_0x435cd0(0x2c7)]({'event':'job_manager_already_initialized'},_0x435cd0(0x26a));return;}logger['info']({'event':'job_manager_init_start'},_0x584264[_0x435cd0(0x2a1)]);const _0x2a5358=this[_0x435cd0(0x248)]();try{await _0x2a5358['ping'](),logger[_0x435cd0(0x1fe)]({'event':_0x435cd0(0x277)},_0x435cd0(0x271));}catch(_0x8a0daa){logger[_0x435cd0(0x202)]({'event':_0x584264[_0x435cd0(0x1c2)],'error':_0x8a0daa['message']},'Redis\x20connection\x20failed:\x20'+_0x8a0daa['message']+_0x435cd0(0x1db));try{await _0x2a5358['quit']();}catch(_0x4870ed){}this[_0x435cd0(0x299)]=this[_0x435cd0(0x299)][_0x435cd0(0x2ac)](_0x18d837=>_0x18d837!==_0x2a5358);return;}try{await _0x2a5358[_0x435cd0(0x240)]();}catch(_0x28df1a){}this['connections']=this[_0x435cd0(0x299)][_0x435cd0(0x2ac)](_0x167856=>_0x167856!==_0x2a5358);try{await this['ensureTables']();}catch(_0x289b3d){logger[_0x435cd0(0x2c7)]({'event':_0x435cd0(0x224),'error':_0x289b3d['message']},_0x435cd0(0x296)+_0x289b3d['message']+'.\x20DB\x20monitoring\x20disabled.');}const _0x1b3297=this[_0x435cd0(0x1f6)]();_0x1b3297[_0x435cd0(0x29d)]===0x0&&logger['info']({'event':_0x584264['kpuFw']},_0x435cd0(0x23a));const _0x2e81fb=[];for(const _0x477d3c of _0x1b3297){const _0x107779=jobValidator[_0x435cd0(0x1f8)](_0x477d3c,this[_0x435cd0(0x2e5)]);_0x107779[_0x435cd0(0x27b)]?_0x2e81fb['push'](_0x477d3c):logger[_0x435cd0(0x202)]({'event':'job_config_invalid','name':_0x477d3c[_0x435cd0(0x225)]||_0x435cd0(0x298),'errors':_0x107779['errors']},_0x435cd0(0x256)+(_0x477d3c['name']||'unknown')+'\x20—\x20'+_0x107779[_0x435cd0(0x2e0)][_0x435cd0(0x26b)](';\x20'));}const _0x3b2dcf=process['env'][_0x435cd0(0x2de)]||'default',_0x4277fa=process['env'][_0x435cd0(0x21c)]||'rf:'+_0x3b2dcf+_0x435cd0(0x1c5),_0x36758d=parseInt(process[_0x435cd0(0x231)][_0x435cd0(0x2a6)],0xa)||0x48,_0x2823a3=parseInt(process['env'][_0x435cd0(0x23f)],0xa)||0xa8,_0x1d3985={'removeOnComplete':{'age':_0x36758d*0xe10},'removeOnFail':{'age':_0x2823a3*0xe10}},_0x1b8745={'high-priority':_0x584264['XkNoH'],'default':'default','low-priority':_0x584264[_0x435cd0(0x218)]};for(const [_0x3b38ab,_0x38a674]of Object['entries'](_0x1b8745)){this[_0x435cd0(0x1dc)][_0x3b38ab]=new Queue(_0x38a674,{'connection':this['createBullMQConnection'](),'prefix':_0x4277fa,'defaultJobOptions':_0x1d3985});}logger['info']({'event':_0x435cd0(0x278),'count':0x3},_0x584264['Elley']);const _0x4f2fd4=_0x584264['AyFIm'](parseInt,process[_0x435cd0(0x231)]['JOB_CONCURRENCY'],0xa)||0x5,_0x3492fd=_0x584264[_0x435cd0(0x1f3)](parseInt,process[_0x435cd0(0x231)][_0x435cd0(0x1eb)],0xa)||0x7530,_0x353bfa=parseInt(process[_0x435cd0(0x231)]['JOB_MAX_STALLED_COUNT'],0xa)||0x2;for(const [_0x3945df,_0x1f1af7]of Object[_0x435cd0(0x29b)](_0x1b8745)){const _0x405f2a=new Worker(_0x1f1af7,async _0x203733=>this[_0x435cd0(0x28f)](_0x203733),{'connection':this['createBullMQConnection'](),'prefix':_0x4277fa,'concurrency':_0x4f2fd4,'stalledInterval':_0x3492fd,'maxStalledCount':_0x353bfa});_0x405f2a['on'](_0x584264['lToCC'],(_0x264889,_0x87f0bf)=>this['onJobCompleted'](_0x264889,_0x87f0bf)),_0x405f2a['on'](_0x435cd0(0x2cf),(_0xa835e1,_0x1fbc69)=>this['onJobFailed'](_0xa835e1,_0x1fbc69)),_0x405f2a['on']('progress',(_0x5cff18,_0x196b01)=>this[_0x435cd0(0x2db)](_0x5cff18,_0x196b01)),_0x405f2a['on']('stalled',_0x33b3ef=>{const _0x22f323=_0x435cd0;logger[_0x22f323(0x2c7)]({'event':_0x584264['XfQeP'],'jobId':_0x33b3ef},_0x22f323(0x288)+_0x33b3ef);}),_0x405f2a['on'](_0x584264[_0x435cd0(0x1fa)],_0x5c787b=>{const _0x1c8694=_0x435cd0;logger[_0x1c8694(0x202)]({'event':_0x1c8694(0x2c6),'queue':_0x3945df,'error':_0x5c787b['message']},'BullMQ\x20Worker\x20error\x20('+_0x3945df+'):\x20'+_0x5c787b[_0x1c8694(0x204)]);}),this['workers'][_0x3945df]=_0x405f2a;}logger[_0x435cd0(0x1fe)]({'event':'job_workers_created','count':0x3,'concurrency':_0x4f2fd4},_0x435cd0(0x1e0)+_0x4f2fd4+')');let _0x5b0d07=0x0;for(const _0x2e3dc7 of _0x2e81fb){try{await this[_0x435cd0(0x216)](_0x2e3dc7),_0x5b0d07++;}catch(_0x1fcedb){logger['error']({'event':'job_register_failed','name':_0x2e3dc7['name'],'error':_0x1fcedb['message']},_0x435cd0(0x2a5)+_0x2e3dc7[_0x435cd0(0x225)]+_0x435cd0(0x2ad)+_0x1fcedb['message']);}}this[_0x435cd0(0x2b1)]=!![];const _0x57323f=this[_0x435cd0(0x299)]['length'];logger['info']({'event':_0x435cd0(0x2e1),'registeredJobs':_0x5b0d07,'totalConfigs':_0x2e81fb['length'],'redisConnections':_0x57323f},_0x435cd0(0x1b8)+_0x5b0d07+'\x20job(s)\x20registered,\x20'+_0x57323f+'\x20Redis\x20connections');}async['shutdown'](){const _0x53d800=a0_0x22225f,_0x59e230={'JIbJB':function(_0x372ee9,_0x9c96b9){return _0x372ee9<_0x9c96b9;},'tTGEh':'active','mjWzk':_0x53d800(0x214),'HOTqV':'Job\x20Manager\x20shutdown\x20complete'};if(!this[_0x53d800(0x2b1)])return;const _0x3d116d=parseInt(process[_0x53d800(0x231)][_0x53d800(0x267)],0xa)||0x2710;logger['info']({'event':'job_manager_shutdown_start','timeoutMs':_0x3d116d},_0x53d800(0x1c6)+_0x3d116d+'ms)...');const _0x30a85e=Object['values'](this[_0x53d800(0x1f5)])[_0x53d800(0x20d)](async _0x58fb8e=>{try{await _0x58fb8e['pause']();}catch(_0x42aff3){}});await Promise['all'](_0x30a85e);const _0x568554=Date[_0x53d800(0x1ed)]();while(_0x59e230['JIbJB'](Date['now']()-_0x568554,_0x3d116d)){let _0x56e599=0x0;for(const _0x3c903b of Object[_0x53d800(0x1f9)](this['queues'])){try{const _0x19d2ba=await _0x3c903b['getJobCounts'](_0x59e230['tTGEh']);_0x56e599+=_0x19d2ba[_0x53d800(0x239)]||0x0;}catch(_0x5af39c){}}if(_0x56e599===0x0)break;await new Promise(_0x2f6eac=>setTimeout(_0x2f6eac,0x1f4));}const _0x4bd9e9=Object['values'](this[_0x53d800(0x1f5)])[_0x53d800(0x20d)](async _0x72da7c=>{try{await _0x72da7c['close']();}catch(_0xf771ee){}});await Promise[_0x53d800(0x24b)](_0x4bd9e9);const _0x74a3b8=Object['values'](this['queues'])[_0x53d800(0x20d)](async _0x2a8bd7=>{const _0x1379cf=_0x53d800;try{await _0x2a8bd7[_0x1379cf(0x2a7)]();}catch(_0x55025f){}});await Promise['all'](_0x74a3b8);for(const _0x3e5d0a of this['connections']){try{await _0x3e5d0a[_0x53d800(0x240)]();}catch(_0x21b52d){}}this[_0x53d800(0x1dc)]={},this['workers']={},this['connections']=[],await this['setAllJobsOffline'](),this['activeHistoryIds'][_0x53d800(0x1fd)](),this[_0x53d800(0x2b1)]=![],logger[_0x53d800(0x1fe)]({'event':_0x59e230[_0x53d800(0x1be)]},_0x59e230[_0x53d800(0x2bf)]);}['loadJobConfigs'](){const _0x15a631=a0_0x22225f,_0x5697a6={'KRLoc':_0x15a631(0x1bc),'DPHOV':_0x15a631(0x1d7),'cLoHo':'job_config_parse_error'},_0x18b68e=path['join'](this[_0x15a631(0x2e5)],_0x15a631(0x1fb),_0x5697a6['KRLoc']);if(!fs['existsSync'](_0x18b68e))return logger['info']({'event':'job_config_dir_missing','path':_0x18b68e},_0x15a631(0x260)),[];const _0x39a7a2=fs[_0x15a631(0x263)](_0x18b68e)[_0x15a631(0x2ac)](_0x38b96c=>_0x38b96c[_0x15a631(0x243)](_0x15a631(0x1e5))),_0x5b7e4d=[];for(const _0x598865 of _0x39a7a2){const _0x2edadb=path['join'](_0x18b68e,_0x598865);try{const _0x5aa718=fs['readFileSync'](_0x2edadb,_0x5697a6[_0x15a631(0x1ea)]),_0x5d1bd0=JSON['parse'](_0x5aa718);_0x5d1bd0['_sourceFile']=_0x598865,_0x5b7e4d['push'](_0x5d1bd0);}catch(_0x580e02){logger['error']({'event':_0x5697a6[_0x15a631(0x1da)],'file':_0x598865,'error':_0x580e02[_0x15a631(0x204)]},'Failed\x20to\x20parse\x20job\x20config:\x20'+_0x598865+'\x20—\x20'+_0x580e02['message']);}}return logger['info']({'event':_0x15a631(0x25e),'count':_0x5b7e4d[_0x15a631(0x29d)]},'Loaded\x20'+_0x5b7e4d['length']+_0x15a631(0x253)),_0x5b7e4d;}async[a0_0x22225f(0x216)](_0x34369b){const _0x161a02=a0_0x22225f,_0x5c97de={'TprWm':_0x161a02(0x1bc),'kjEYG':function(_0x30c435,_0x3a2a1){return _0x30c435(_0x3a2a1);},'nVpEp':function(_0x4a9b93,_0x221845){return _0x4a9b93===_0x221845;},'KoIkE':function(_0x4e36e0,_0x113909){return _0x4e36e0!==_0x113909;},'ktQmY':'cron','lflsK':_0x161a02(0x252),'mDlWm':_0x161a02(0x1c3)},_0x213f41=path[_0x161a02(0x26b)](this['workingDir'],_0x161a02(0x289),_0x5c97de['TprWm'],_0x34369b[_0x161a02(0x232)]+_0x161a02(0x244));this[_0x161a02(0x2b6)][_0x34369b[_0x161a02(0x225)]]=_0x5c97de[_0x161a02(0x2cc)](require,_0x213f41),this['jobConfigs'][_0x34369b[_0x161a02(0x225)]]=_0x34369b;if(_0x5c97de['nVpEp'](_0x34369b['type'],'cron')&&_0x5c97de['KoIkE'](_0x34369b['enabled'],![])){const _0x3fe8fb=this['queues'][_0x34369b[_0x161a02(0x21a)]||_0x161a02(0x273)];await _0x3fe8fb[_0x161a02(0x1d4)](_0x34369b['name'],{'pattern':_0x34369b[_0x161a02(0x291)],'tz':_0x34369b[_0x161a02(0x1e4)]||undefined},{'name':_0x34369b['name'],'data':{'handler':_0x34369b['handler'],'triggeredBy':'cron','metadata':_0x34369b['metadata']||{}},'opts':{'attempts':_0x34369b['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0x34369b['retry']?.[_0x161a02(0x1cd)]||_0x161a02(0x215),'delay':_0x34369b['retry']?.[_0x161a02(0x29e)]||0x1388},'timeout':_0x34369b['timeout']||0x7530}}),logger[_0x161a02(0x1fe)]({'event':_0x161a02(0x247),'name':_0x34369b['name'],'schedule':_0x34369b['schedule'],'queue':_0x34369b[_0x161a02(0x21a)]||'default'},_0x161a02(0x264)+_0x34369b['name']+'\x20['+_0x34369b['schedule']+']');}const _0x2ca09f=_0x34369b[_0x161a02(0x28a)]===_0x5c97de['ktQmY']&&_0x34369b[_0x161a02(0x1e9)]!==![]?_0x161a02(0x1c3):_0x5c97de[_0x161a02(0x257)];let _0x2a29c6=null;_0x5c97de[_0x161a02(0x1ca)](_0x2ca09f,_0x5c97de['mDlWm'])&&(_0x2a29c6=await this[_0x161a02(0x1ef)](_0x34369b['name'])),await this['upsertJobRegistry'](_0x34369b,_0x2ca09f,_0x2a29c6);}async['processJob'](_0x4047d2){const _0x574be0=a0_0x22225f,_0x349c42={'pJavV':'job_started','yurmW':function(_0x16305c,_0x5de4d0){return _0x16305c+_0x5de4d0;},'FMjhC':'unknown','RyrUT':_0x574be0(0x1ce),'ydBpO':'delayed','Ounyw':function(_0x33750c,_0x23f9ea){return _0x33750c===_0x23f9ea;},'ORnlO':_0x574be0(0x1ec),'mIDNV':function(_0x12776a,_0x44e478){return _0x12776a+_0x44e478;},'KFxuC':function(_0xd8f24){return _0xd8f24();},'QpoSA':function(_0x57304e,_0x32fcc1){return _0x57304e===_0x32fcc1;},'yjVIv':'function','HCZAs':_0x574be0(0x2b0),'xonev':function(_0x54e30b,_0x28d0cd){return _0x54e30b(_0x28d0cd);},'GgGtC':'job_handler_done'},_0x4b8750=this[_0x574be0(0x26c)][_0x4047d2['name']],_0x52fb72=this[_0x574be0(0x2b6)][_0x4047d2['name']];if(!_0x52fb72)throw new Error(_0x574be0(0x1f1)+_0x4047d2['name']);const _0x291190=logger[_0x574be0(0x282)]({'jobId':_0x4047d2['id'],'jobName':_0x4047d2['name']});_0x291190[_0x574be0(0x1fe)]({'event':_0x349c42['pJavV'],'attempt':_0x4047d2['attemptsMade']+0x1,'triggeredBy':_0x4047d2[_0x574be0(0x211)]?.['triggeredBy']||_0x574be0(0x298)},_0x574be0(0x2ab)+_0x4047d2[_0x574be0(0x225)]+_0x574be0(0x222)+_0x349c42['yurmW'](_0x4047d2['attemptsMade'],0x1)+')');const _0x3c17b1=uuidv7(),_0xe14384=_0x4047d2['data']?.[_0x574be0(0x1fc)]||_0x349c42[_0x574be0(0x201)],_0x200ba9=this[_0x574be0(0x2a0)]({'id':_0x3c17b1,'jobName':_0x4047d2[_0x574be0(0x225)],'bullmqJobId':_0x4047d2['id'],'triggerType':_0xe14384===_0x349c42[_0x574be0(0x281)]?_0x349c42[_0x574be0(0x1f4)]:_0x349c42['Ounyw'](_0xe14384,'api')?_0x574be0(0x284):_0x349c42[_0x574be0(0x2bd)],'triggeredBy':_0xe14384===_0x574be0(0x1ec)?'system':_0xe14384,'queue':_0x4b8750?.[_0x574be0(0x21a)]||'default','attempt':_0x349c42['mIDNV'](_0x4047d2['attemptsMade'],0x1),'configFile':_0x4b8750?.['_sourceFile']||null})['catch'](_0x5e02d0=>{const _0x880b0=_0x574be0;_0x291190['warn']({'event':_0x880b0(0x251),'error':_0x5e02d0[_0x880b0(0x204)]},_0x880b0(0x25d)+_0x5e02d0[_0x880b0(0x204)]);});this[_0x574be0(0x2d0)][_0x574be0(0x22a)](_0x4047d2['id'],{'historyId':_0x3c17b1,'insertPromise':_0x200ba9});const _0x75f328=this[_0x574be0(0x21f)](_0x4047d2,_0x4b8750,_0x291190),_0x2e2356=_0x349c42['KFxuC'](getComponentEngine);if(_0x2e2356&&_0x349c42['QpoSA'](typeof _0x2e2356[_0x574be0(0x210)],_0x349c42['yjVIv'])){const _0x1b3ba7=await _0x2e2356['executeEventHandlers'](_0x349c42[_0x574be0(0x228)],_0x75f328,!![]);if(!_0x1b3ba7['success'])throw new Error('Job\x20cancelled\x20by\x20onBeforeJobExecute:\x20'+_0x1b3ba7[_0x574be0(0x202)]);}const _0x41f9a8=await _0x349c42[_0x574be0(0x29a)](_0x52fb72,_0x75f328);return _0x291190[_0x574be0(0x1fe)]({'event':_0x349c42['GgGtC'],'result':_0x41f9a8},_0x574be0(0x28d)+_0x4047d2[_0x574be0(0x225)]),_0x41f9a8;}['buildContext'](_0x381999,_0x20c633,_0x2755fb){const _0x133da3=a0_0x22225f,_0x3b0962={'MVerZ':_0x133da3(0x2d2),'yxBYd':function(_0x542a5b,_0x519994){return _0x542a5b||_0x519994;}};return{'jobId':_0x381999['id'],'jobName':_0x381999['name'],'attempt':_0x381999[_0x133da3(0x22e)]+0x1,'maxAttempts':_0x20c633?.['retry']?.['maxAttempts']||0x3,'payload':_0x381999[_0x133da3(0x211)]||{},'config':_0x3b0962[_0x133da3(0x2b3)](_0x20c633,{}),'db':this['getDbUtils'](),'redis':this['getRedisClient'](),'logger':_0x2755fb,'kafka':this['getKafkaService'](),'cache':this['getCacheManager'](),'updateProgress':async _0x22b70d=>{await _0x381999['updateProgress'](_0x22b70d);},'emit':async(_0x128f7a,_0x1c68c5)=>{const _0x3da999=_0x133da3,_0x55a0dd=this['getKafkaService']();_0x55a0dd&&await _0x55a0dd[_0x3da999(0x234)](_0x128f7a,_0x3b0962[_0x3da999(0x213)],null,_0x1c68c5,{'module':'job-scheduler','endpoint':_0x381999['name']});},'job':_0x381999};}[a0_0x22225f(0x24e)](){const _0x1fc06d=a0_0x22225f,_0x338728={'jRxtV':'postgresql'};return(process[_0x1fc06d(0x231)]['DB_TYPE']||_0x338728[_0x1fc06d(0x266)])[_0x1fc06d(0x1d9)]();}async['ensureTables'](){const _0x504a8f=a0_0x22225f,_0x153f3f={'XvHvS':_0x504a8f(0x23b),'YZRFo':_0x504a8f(0x217),'DnBPm':'job_db_type_unsupported','vzxKc':_0x504a8f(0x1d7),'okMjC':_0x504a8f(0x24c),'TRZyO':_0x504a8f(0x2b8),'mEAnx':_0x504a8f(0x2d9),'vflOF':'job_ensure_tables_warn','CxqaS':'job_tables_ensured'},_0x282e70=this['getDbUtils']();if(!_0x282e70){logger['warn']({'event':_0x504a8f(0x22b)},_0x504a8f(0x2cd));return;}const _0xdd9c53=this[_0x504a8f(0x24e)](),_0x3f2825={'postgresql':_0x153f3f['XvHvS'],'oracle':_0x153f3f['YZRFo'],'mysql':'mysql.sql'},_0x34fbdd=_0x3f2825[_0xdd9c53];if(!_0x34fbdd){logger[_0x504a8f(0x2c7)]({'event':_0x153f3f[_0x504a8f(0x265)],'dbType':_0xdd9c53},'DB_TYPE\x20\x27'+_0xdd9c53+'\x27\x20tidak\x20didukung\x20untuk\x20job\x20monitoring\x20tables');return;}const _0x10eb55=path[_0x504a8f(0x26b)](__dirname,_0x504a8f(0x26d),_0x34fbdd);if(!fs['existsSync'](_0x10eb55)){logger[_0x504a8f(0x2c7)]({'event':_0x504a8f(0x1df),'path':_0x10eb55},_0x504a8f(0x2c8)+_0x10eb55);return;}const _0x1b4432=fs[_0x504a8f(0x238)](_0x10eb55,_0x153f3f[_0x504a8f(0x246)]),_0x1c275c=this[_0x504a8f(0x219)](_0x1b4432,_0xdd9c53);let _0x62226f=0x0;for(const _0x578ebf of _0x1c275c){try{await _0x282e70[_0x504a8f(0x2c0)](_0x578ebf),_0x62226f++;}catch(_0x5a1e2b){const _0x4c3493=(_0x5a1e2b[_0x504a8f(0x204)]||'')[_0x504a8f(0x1d9)](),_0x92583f=_0x4c3493['includes'](_0x153f3f['okMjC'])||_0x4c3493['includes'](_0x153f3f['TRZyO'])||_0x4c3493[_0x504a8f(0x268)](_0x153f3f['mEAnx']);!_0x92583f&&logger[_0x504a8f(0x2c7)]({'event':_0x153f3f['vflOF'],'error':_0x5a1e2b['message']},'Job\x20ensureTables\x20warning:\x20'+_0x5a1e2b[_0x504a8f(0x204)]);}}logger[_0x504a8f(0x1fe)]({'event':_0x153f3f[_0x504a8f(0x2b4)],'dbType':_0xdd9c53,'executed':_0x62226f},_0x504a8f(0x2da)+_0xdd9c53+')');}['splitSqlStatements'](_0x3e0431,_0x317853){const _0xf2d3e2=a0_0x22225f,_0x5b6d70={'JAqOK':function(_0x5f05c9,_0x46fbea){return _0x5f05c9===_0x46fbea;},'gPOmP':'oracle'};let _0x530d50;return _0x5b6d70[_0xf2d3e2(0x2ae)](_0x317853,_0x5b6d70['gPOmP'])?_0x530d50=_0x3e0431['split'](/\n\/\s*(?:\n|$)/):_0x530d50=_0x3e0431['split'](/;\s*(?:\n|$)/),_0x530d50['map'](_0x4c16da=>_0x4c16da['trim']())['filter'](_0x144569=>{const _0xc9d64e=_0xf2d3e2;if(_0x144569[_0xc9d64e(0x29d)]===0x0)return![];const _0x3e1de3=_0x144569[_0xc9d64e(0x25c)]('\x0a')[_0xc9d64e(0x2ac)](_0x347525=>!_0x347525['trim']()[_0xc9d64e(0x20a)]('--')&&_0x347525[_0xc9d64e(0x27d)]()['length']>0x0);return _0x3e1de3[_0xc9d64e(0x29d)]>0x0;});}async['upsertJobRegistry'](_0x289f87,_0x44ee3b=a0_0x22225f(0x1c3),_0x165c9=null){const _0xd36599=a0_0x22225f,_0xfeecae={'nddHk':_0xd36599(0x2bb)},_0xf80765=this[_0xd36599(0x2e2)]();if(!_0xf80765)return;const _0x21bba9=this[_0xd36599(0x24e)](),_0x304100=[_0x289f87['name'],_0x289f87['description']||_0x289f87['name'],_0x289f87[_0xd36599(0x28a)]||_0xd36599(0x1ec),_0x289f87['schedule']||null,_0x289f87[_0xd36599(0x21a)]||_0xd36599(0x273),_0x289f87[_0xd36599(0x232)],_0x289f87['_sourceFile']||'',_0x289f87[_0xd36599(0x221)]||0x7530,_0x289f87['retry']?.[_0xd36599(0x255)]||0x3,_0x289f87[_0xd36599(0x23e)]?.[_0xd36599(0x1cd)]||_0xd36599(0x215),_0x44ee3b,_0x165c9];try{if(_0x21bba9===_0xd36599(0x24a))await _0xf80765[_0xd36599(0x2c0)]('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)',_0x304100);else _0x21bba9===_0xfeecae['nddHk']?await _0xf80765[_0xd36599(0x2c0)](_0xd36599(0x1e1),_0x304100):await _0xf80765[_0xd36599(0x2c0)](_0xd36599(0x1e8),_0x304100);}catch(_0x2974be){logger['warn']({'event':'job_registry_upsert_error','name':_0x289f87[_0xd36599(0x225)],'error':_0x2974be[_0xd36599(0x204)]},_0xd36599(0x2d5)+_0x289f87['name']+_0xd36599(0x2ad)+_0x2974be['message']);}}async['insertJobHistory'](_0x4d5448){const _0x391136=a0_0x22225f,_0x2bc9f8={'qmPQj':'system','stEFC':_0x391136(0x273),'jJIWd':function(_0x3318a7,_0x3f0857){return _0x3318a7===_0x3f0857;},'MVsXk':_0x391136(0x2bb),'vAcrE':_0x391136(0x1c8)},_0x26b611=this[_0x391136(0x2e2)]();if(!_0x26b611)return;const _0x55a161=this[_0x391136(0x24e)](),_0x5543f1=[_0x4d5448['id'],_0x4d5448['jobName'],_0x4d5448[_0x391136(0x212)]||null,_0x4d5448['triggerType']||_0x391136(0x1ec),_0x4d5448[_0x391136(0x1fc)]||_0x2bc9f8['qmPQj'],_0x4d5448['queue']||_0x2bc9f8[_0x391136(0x1d0)],_0x4d5448['attempt']||0x1,_0x4d5448[_0x391136(0x295)]||null,process[_0x391136(0x294)]];try{if(_0x55a161==='oracle')await _0x26b611['executeQuery']('INSERT\x20INTO\x20job_history\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(id,\x20job_name,\x20bullmq_job_id,\x20trigger_type,\x20triggered_by,\x20status,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20queue,\x20attempt,\x20config_file,\x20started_at,\x20worker_pid,\x20created_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(:1,\x20:2,\x20:3,\x20:4,\x20:5,\x20\x27running\x27,\x20:6,\x20:7,\x20:8,\x20SYSTIMESTAMP,\x20:9,\x20SYSTIMESTAMP)',_0x5543f1);else _0x2bc9f8['jJIWd'](_0x55a161,_0x2bc9f8['MVsXk'])?await _0x26b611['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())',_0x5543f1):await _0x26b611['executeQuery'](_0x391136(0x241),_0x5543f1);await this[_0x391136(0x21b)](_0x4d5448['jobName'],'running');}catch(_0x3a873b){logger[_0x391136(0x2c7)]({'event':_0x2bc9f8['vAcrE'],'jobName':_0x4d5448[_0x391136(0x27f)],'error':_0x3a873b['message']},'Failed\x20to\x20insert\x20job\x20history:\x20'+_0x3a873b['message']);}}async['updateJobHistoryCompleted'](_0x2ac49f,_0x4c579e,_0x3cec2b){const _0x4a2651=a0_0x22225f,_0x3147b8={'fSJGf':function(_0xb6c741,_0x346a4a){return _0xb6c741===_0x346a4a;},'kFbqU':'oracle','gJKCY':function(_0x4da7d0,_0x4f2c59){return _0x4da7d0===_0x4f2c59;},'ZmdlB':'job_history_complete_error'},_0x2ac7ae=this['getDbUtils']();if(!_0x2ac7ae)return;const _0x3b653b=this[_0x4a2651(0x24e)](),_0x44d8cf=_0x3cec2b?String(_0x3cec2b)['substring'](0x0,0x1f4):null;try{if(_0x3147b8[_0x4a2651(0x1cf)](_0x3b653b,_0x3147b8[_0x4a2651(0x279)]))await _0x2ac7ae['executeQuery'](_0x4a2651(0x242),[_0x4c579e,_0x44d8cf,_0x2ac49f]);else _0x3147b8[_0x4a2651(0x2dd)](_0x3b653b,'mysql')?await _0x2ac7ae['executeQuery']('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27success\x27,\x20completed_at\x20=\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20?,\x20progress\x20=\x20100,\x20result_summary\x20=\x20?\x20WHERE\x20id\x20=\x20?',[_0x4c579e,_0x44d8cf,_0x2ac49f]):await _0x2ac7ae['executeQuery'](_0x4a2651(0x270),[_0x4c579e,_0x44d8cf,_0x2ac49f]);}catch(_0x2be73f){logger[_0x4a2651(0x2c7)]({'event':_0x3147b8[_0x4a2651(0x208)],'historyId':_0x2ac49f,'error':_0x2be73f[_0x4a2651(0x204)]},_0x4a2651(0x1ff)+_0x2be73f[_0x4a2651(0x204)]);}}async[a0_0x22225f(0x2c9)](_0x495a1c,_0x5c2983,_0x12a2e0,_0x2bda84,_0x2640e8){const _0x3a5ed6=a0_0x22225f,_0x46b3ee={'JlFMK':function(_0x2b7097,_0x5cac6f){return _0x2b7097(_0x5cac6f);},'znrfm':_0x3a5ed6(0x24a),'sYscY':function(_0x4ccc17,_0x360f41){return _0x4ccc17||_0x360f41;},'sHakJ':function(_0x4cf164,_0x1ffadb){return _0x4cf164||_0x1ffadb;}},_0x4f654b=this['getDbUtils']();if(!_0x4f654b)return;const _0x3ef4ba=this[_0x3a5ed6(0x24e)](),_0x3fc78b=_0x2bda84?_0x46b3ee['JlFMK'](String,_0x2bda84)['substring'](0x0,0x3e8):null,_0x3094bf=_0x2640e8?_0x46b3ee[_0x3a5ed6(0x200)](String,_0x2640e8)['substring'](0x0,0xfa0):null;try{if(_0x3ef4ba===_0x46b3ee[_0x3a5ed6(0x2ca)])await _0x4f654b['executeQuery']('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27failed\x27,\x20completed_at\x20=\x20SYSTIMESTAMP,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20:1,\x20progress\x20=\x20:2,\x20error_message\x20=\x20:3,\x20error_stack\x20=\x20:4\x20WHERE\x20id\x20=\x20:5',[_0x5c2983,_0x46b3ee[_0x3a5ed6(0x28e)](_0x12a2e0,0x0),_0x3fc78b,_0x3094bf,_0x495a1c]);else _0x3ef4ba===_0x3a5ed6(0x2bb)?await _0x4f654b[_0x3a5ed6(0x2c0)](_0x3a5ed6(0x1ba),[_0x5c2983,_0x12a2e0||0x0,_0x3fc78b,_0x3094bf,_0x495a1c]):await _0x4f654b[_0x3a5ed6(0x2c0)](_0x3a5ed6(0x1bd),[_0x5c2983,_0x46b3ee['sHakJ'](_0x12a2e0,0x0),_0x3fc78b,_0x3094bf,_0x495a1c]);}catch(_0x3cf6a2){logger[_0x3a5ed6(0x2c7)]({'event':_0x3a5ed6(0x220),'historyId':_0x495a1c,'error':_0x3cf6a2[_0x3a5ed6(0x204)]},'Failed\x20to\x20update\x20job\x20history\x20(failed):\x20'+_0x3cf6a2['message']);}}async[a0_0x22225f(0x21b)](_0x44394e,_0x2b1bf){const _0x441b09=a0_0x22225f,_0x183851={'nMLPq':_0x441b09(0x24a),'PoFPe':function(_0x486d29,_0x2d68c2){return _0x486d29===_0x2d68c2;}},_0x47cdb1=this[_0x441b09(0x2e2)]();if(!_0x47cdb1)return;const _0x3822b8=this[_0x441b09(0x24e)]();try{if(_0x3822b8===_0x183851[_0x441b09(0x293)])await _0x47cdb1['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',[_0x2b1bf,_0x44394e]);else _0x183851[_0x441b09(0x254)](_0x3822b8,'mysql')?await _0x47cdb1[_0x441b09(0x2c0)](_0x441b09(0x285),[_0x2b1bf,_0x44394e]):await _0x47cdb1['executeQuery']('UPDATE\x20job_registry\x20SET\x20last_status\x20=\x20$1,\x20last_run_at\x20=\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20updated_at\x20=\x20NOW()\x20WHERE\x20job_name\x20=\x20$2',[_0x2b1bf,_0x44394e]);}catch(_0x24372a){}}async[a0_0x22225f(0x27a)](_0x122ae5,_0x49413d,_0xed3856,_0x5c5a96){const _0x31470e=a0_0x22225f,_0x13b253={'Odtrf':'success','DyJZG':'oracle','UqDfC':_0x31470e(0x1f2)},_0x47079f=this['getDbUtils']();if(!_0x47079f)return;const _0x1aa7a2=this['getDbType'](),_0x31771f=_0x49413d===_0x13b253[_0x31470e(0x21d)]?'total_success':'total_failed';try{if(_0x1aa7a2===_0x13b253[_0x31470e(0x1bf)])await _0x47079f[_0x31470e(0x2c0)](_0x31470e(0x25f)+_0x31771f+'\x20=\x20'+_0x31771f+_0x31470e(0x2a4),[_0x49413d,_0xed3856,_0x5c5a96,_0x122ae5]);else _0x1aa7a2===_0x31470e(0x2bb)?await _0x47079f['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'+_0x31771f+_0x31470e(0x1cb)+_0x31771f+_0x31470e(0x259),[_0x49413d,_0xed3856,_0x5c5a96,_0x122ae5]):await _0x47079f[_0x31470e(0x2c0)]('UPDATE\x20job_registry\x20SET\x20last_status\x20=\x20$1,\x20last_duration_ms\x20=\x20$2,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x31771f+'\x20=\x20'+_0x31771f+_0x31470e(0x272),[_0x49413d,_0xed3856,_0x5c5a96,_0x122ae5]);}catch(_0x120614){logger['warn']({'event':_0x13b253['UqDfC'],'jobName':_0x122ae5,'error':_0x120614['message']},'Failed\x20to\x20update\x20job\x20registry\x20counters:\x20'+_0x120614[_0x31470e(0x204)]);}}async[a0_0x22225f(0x1ef)](_0x5b0f75){const _0x45592b=a0_0x22225f,_0x34a19d={'nYhci':function(_0x3866d2,_0x15c218){return _0x3866d2===_0x15c218;},'ayXPo':function(_0x48cf78,_0x435747){return _0x48cf78===_0x435747;},'jZOxt':_0x45592b(0x27c)},_0x23d28b=this['jobConfigs'][_0x5b0f75];if(!_0x23d28b||_0x23d28b[_0x45592b(0x28a)]!=='cron'||_0x34a19d[_0x45592b(0x2d1)](_0x23d28b[_0x45592b(0x1e9)],![]))return null;const _0x1d5658=this['queues'][_0x23d28b['queue']||'default'];if(!_0x1d5658)return null;try{if(_0x34a19d['ayXPo'](typeof _0x1d5658[_0x45592b(0x1dd)],_0x34a19d[_0x45592b(0x2e6)])){const _0x3eb9bf=await _0x1d5658['getJobSchedulers'](0x0,0x64),_0x5a0cdf=_0x3eb9bf['find'](_0x2e96f2=>_0x2e96f2[_0x45592b(0x225)]===_0x5b0f75);return _0x5a0cdf?.['next']?new Date(_0x5a0cdf[_0x45592b(0x1c9)]):null;}}catch(_0x5903b0){}return null;}async['setAllJobsOffline'](){const _0x590873=a0_0x22225f,_0x30a641={'fGsSA':'job_registry_offline_error'},_0x465e40=this['getDbUtils']();if(!_0x465e40)return;const _0x1e5680=this['getDbType']();try{if(_0x1e5680==='oracle')await _0x465e40[_0x590873(0x2c0)]('UPDATE\x20job_registry\x20SET\x20status\x20=\x20\x27offline\x27,\x20next_run_at\x20=\x20NULL,\x20updated_at\x20=\x20SYSTIMESTAMP');else _0x1e5680===_0x590873(0x2bb)?await _0x465e40['executeQuery'](_0x590873(0x2ba)):await _0x465e40['executeQuery'](_0x590873(0x20c));}catch(_0x3da5d1){logger[_0x590873(0x2c7)]({'event':_0x30a641[_0x590873(0x25b)],'error':_0x3da5d1['message']},'Failed\x20to\x20set\x20jobs\x20offline:\x20'+_0x3da5d1[_0x590873(0x204)]);}}[a0_0x22225f(0x2e2)](){const _0x46cb9e=a0_0x22225f,_0x5e7683={'BSriO':function(_0x4384a7,_0x4f6a30){return _0x4384a7===_0x4f6a30;},'ZGOtl':function(_0x43f773,_0x39d50a){return _0x43f773(_0x39d50a);},'HosxN':_0x46cb9e(0x227),'yuybk':'Oracle\x20DB\x20module\x20not\x20available','WkqeL':function(_0x1c96ee,_0x46be71){return _0x1c96ee===_0x46be71;},'CgMJL':'mysql','crXve':'../../utils/db-mysql'},_0x410757=(process['env'][_0x46cb9e(0x233)]||'postgresql')['toLowerCase']();if(_0x5e7683[_0x46cb9e(0x22c)](_0x410757,'oracle'))try{const _0x59baba=_0x5e7683[_0x46cb9e(0x2c5)](require,_0x46cb9e(0x2e3));return{'executeQuery':(_0x3c917d,_0x2f8e80)=>_0x59baba[_0x46cb9e(0x2c0)](_0x3c917d,_0x2f8e80),'executeTransaction':_0x244586=>_0x59baba['executeTransaction'](_0x244586),'getPool':()=>_0x59baba['getPool']()};}catch(_0x4da421){return logger[_0x46cb9e(0x2c7)]({'event':_0x5e7683['HosxN']},_0x5e7683['yuybk']),null;}if(_0x5e7683['WkqeL'](_0x410757,_0x5e7683['CgMJL']))try{const _0x2e699b=_0x5e7683[_0x46cb9e(0x2c5)](require,_0x5e7683['crXve']);return{'executeQuery':(_0x2a61e3,_0x377445)=>_0x2e699b['executeQuery'](_0x2a61e3,_0x377445),'executeTransaction':_0x5cf8e0=>_0x2e699b['executeTransaction'](_0x5cf8e0),'getPool':()=>_0x2e699b['getPool']()};}catch(_0x5dbcda){return logger['warn']({'event':_0x46cb9e(0x1f0)},_0x46cb9e(0x203)),null;}try{const _0x38159b=require('../../utils/db');return{'executeQuery':_0x38159b['executeQuery'],'executeTransaction':_0x38159b[_0x46cb9e(0x2be)],'getPool':_0x38159b['getPool']};}catch(_0x3d743c){return logger[_0x46cb9e(0x2c7)]({'event':'db_pg_unavailable'},'PostgreSQL\x20DB\x20module\x20not\x20available'),null;}}[a0_0x22225f(0x27e)](){const _0x53f1ab=a0_0x22225f,_0x2963f2={'qLviw':function(_0x3fbd5f,_0x390a52){return _0x3fbd5f(_0x390a52);},'FXWXE':'../../utils/redis-client'};try{const _0x1aeb3e=_0x2963f2[_0x53f1ab(0x29c)](require,_0x2963f2[_0x53f1ab(0x1b7)]);return _0x1aeb3e[_0x53f1ab(0x28b)]?_0x1aeb3e['getClient']():_0x1aeb3e;}catch(_0x3ceb88){return null;}}['getKafkaService'](){const _0x5d0f18=a0_0x22225f,_0x5951bd={'xrwot':function(_0x43b3fb,_0x3327d2){return _0x43b3fb(_0x3327d2);}};try{if(process[_0x5d0f18(0x231)]['KAFKA_ENABLED']===_0x5d0f18(0x26f)){const _0x577bd6=_0x5951bd['xrwot'](require,_0x5d0f18(0x280));return _0x577bd6[_0x5d0f18(0x1de)]?_0x577bd6['getInstance']():_0x577bd6;}}catch(_0x7b6cf4){}return null;}[a0_0x22225f(0x287)](){const _0x117c18={'EYYXo':function(_0x1dbd84,_0xcd3a0b){return _0x1dbd84(_0xcd3a0b);},'RNvBD':'../../utils/cache-manager'};try{return _0x117c18['EYYXo'](require,_0x117c18['RNvBD']);}catch(_0x475f30){return null;}}async[a0_0x22225f(0x2ce)](_0x4d1c30,_0x2ca44e={}){const _0xe29592=a0_0x22225f,_0x42b400={'ShTcb':'exponential','BDNpi':'api'},_0x4c8a47=this['jobConfigs'][_0x4d1c30];if(!_0x4c8a47)throw new Error('Job\x20tidak\x20ditemukan:\x20'+_0x4d1c30);const _0x59239c=this[_0xe29592(0x1dc)][_0x4c8a47[_0xe29592(0x21a)]||_0xe29592(0x273)],_0x27f16f=await _0x59239c[_0xe29592(0x2cb)](_0x4d1c30,{..._0x2ca44e,'handler':_0x4c8a47[_0xe29592(0x232)],'triggeredBy':_0xe29592(0x24f)},{'attempts':_0x4c8a47['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0x4c8a47[_0xe29592(0x23e)]?.['backoff']||_0x42b400['ShTcb'],'delay':_0x4c8a47['retry']?.['initialDelay']||0x1388},'timeout':_0x4c8a47['timeout']||0x7530});return logger[_0xe29592(0x1fe)]({'event':'job_dispatched','jobId':_0x27f16f['id'],'name':_0x4d1c30,'triggeredBy':_0x42b400[_0xe29592(0x28c)]},_0xe29592(0x1d2)+_0x4d1c30+'\x20(id:\x20'+_0x27f16f['id']+')'),{'jobId':_0x27f16f['id'],'name':_0x4d1c30};}async['dispatchDelayed'](_0x1dc17d,_0x1a5a31={},_0x540773=0x0){const _0x1931c4=a0_0x22225f,_0x1254b1={'EvaWc':_0x1931c4(0x297)},_0x14c0de=this[_0x1931c4(0x26c)][_0x1dc17d];if(!_0x14c0de)throw new Error('Job\x20tidak\x20ditemukan:\x20'+_0x1dc17d);const _0x19beeb=this['queues'][_0x14c0de[_0x1931c4(0x21a)]||'default'],_0x2f0db7=await _0x19beeb[_0x1931c4(0x2cb)](_0x1dc17d,{..._0x1a5a31,'handler':_0x14c0de[_0x1931c4(0x232)],'triggeredBy':_0x1931c4(0x1ce)},{'delay':_0x540773,'attempts':_0x14c0de['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0x14c0de['retry']?.['backoff']||'exponential','delay':_0x14c0de['retry']?.[_0x1931c4(0x29e)]||0x1388},'timeout':_0x14c0de['timeout']||0x7530});return logger[_0x1931c4(0x1fe)]({'event':_0x1254b1[_0x1931c4(0x1c1)],'jobId':_0x2f0db7['id'],'name':_0x1dc17d,'delayMs':_0x540773},_0x1931c4(0x1cc)+_0x540773+'ms):\x20'+_0x1dc17d+'\x20(id:\x20'+_0x2f0db7['id']+')'),{'jobId':_0x2f0db7['id'],'name':_0x1dc17d};}async['getJobStatus'](_0x5c9121){const _0x5810bc=a0_0x22225f;for(const _0x2cda26 of Object['values'](this['queues'])){const _0x29b475=await _0x2cda26['getJob'](_0x5c9121);if(_0x29b475){const _0x39cd55=await _0x29b475['getState']();return{'jobId':_0x29b475['id'],'name':_0x29b475['name'],'state':_0x39cd55,'progress':_0x29b475[_0x5810bc(0x2af)],'attemptsMade':_0x29b475[_0x5810bc(0x22e)],'failedReason':_0x29b475['failedReason'],'returnvalue':_0x29b475['returnvalue'],'data':_0x29b475[_0x5810bc(0x211)],'timestamps':{'created':_0x29b475[_0x5810bc(0x1d8)],'started':_0x29b475[_0x5810bc(0x286)],'completed':_0x29b475[_0x5810bc(0x1d5)]}};}}return null;}[a0_0x22225f(0x2bc)](){const _0x5c581d=a0_0x22225f;return Object[_0x5c581d(0x1f9)](this[_0x5c581d(0x26c)])[_0x5c581d(0x20d)](_0x244fc4=>({'name':_0x244fc4['name'],'description':_0x244fc4['description']||'','type':_0x244fc4[_0x5c581d(0x28a)],'schedule':_0x244fc4[_0x5c581d(0x291)],'handler':_0x244fc4['handler'],'enabled':_0x244fc4['enabled']!==![],'queue':_0x244fc4[_0x5c581d(0x21a)]||'default','timeout':_0x244fc4[_0x5c581d(0x221)]||0x7530,'retry':_0x244fc4[_0x5c581d(0x23e)]||{'maxAttempts':0x3,'backoff':'exponential','initialDelay':0x1388},'metadata':_0x244fc4['metadata']||{}}));}async[a0_0x22225f(0x1e7)](){const _0x2c7042=a0_0x22225f,_0x5de499={'OzdCQ':'active'},_0x51d0b2=[];for(const [_0x32c7a3,_0xaf98d8]of Object['entries'](this['queues'])){const _0x991bfe=await _0xaf98d8[_0x2c7042(0x20b)]([_0x5de499['OzdCQ']]);for(const _0x308662 of _0x991bfe){_0x51d0b2['push']({'jobId':_0x308662['id'],'name':_0x308662[_0x2c7042(0x225)],'queue':_0x32c7a3,'progress':_0x308662[_0x2c7042(0x2af)],'attemptsMade':_0x308662['attemptsMade'],'startedAt':_0x308662['processedOn']});}}return _0x51d0b2;}async['getHistory'](_0x53675f={}){const _0x268aee=a0_0x22225f,_0x506dd2={'DkfAR':function(_0x4c3a55,_0x468cfb,_0x2e9393){return _0x4c3a55(_0x468cfb,_0x2e9393);},'gBEfm':'failed'},_0x499576=_0x506dd2[_0x268aee(0x22f)](parseInt,_0x53675f[_0x268aee(0x1d3)],0xa)||0x1,_0x2e0915=Math['min'](_0x506dd2[_0x268aee(0x22f)](parseInt,_0x53675f[_0x268aee(0x2c3)],0xa)||0x14,0x64),_0x49640c=(_0x499576-0x1)*_0x2e0915,_0x111a82=_0x49640c+_0x2e0915-0x1,_0x42a30c=[];for(const [_0x13390a,_0x4e60b7]of Object['entries'](this['queues'])){const _0x225cf6=await _0x4e60b7[_0x268aee(0x20b)](['completed'],_0x49640c,_0x111a82),_0x450ac0=await _0x4e60b7['getJobs']([_0x506dd2['gBEfm']],_0x49640c,_0x111a82);for(const _0x2192c9 of[..._0x225cf6,..._0x450ac0]){const _0x38d816=await _0x2192c9['getState']();_0x42a30c[_0x268aee(0x2b5)]({'jobId':_0x2192c9['id'],'name':_0x2192c9['name'],'state':_0x38d816,'queue':_0x13390a,'attemptsMade':_0x2192c9[_0x268aee(0x22e)],'failedReason':_0x2192c9['failedReason'],'returnvalue':_0x2192c9['returnvalue'],'timestamps':{'created':_0x2192c9[_0x268aee(0x1d8)],'started':_0x2192c9[_0x268aee(0x286)],'completed':_0x2192c9[_0x268aee(0x1d5)]}});}}return _0x42a30c['sort']((_0x336fef,_0x5c24e4)=>(_0x5c24e4[_0x268aee(0x1f7)]['created']||0x0)-(_0x336fef['timestamps'][_0x268aee(0x20e)]||0x0)),{'jobs':_0x42a30c['slice'](0x0,_0x2e0915),'total':_0x42a30c['length'],'page':_0x499576,'limit':_0x2e0915};}async[a0_0x22225f(0x1c7)](_0x48f39e){const _0x379ab3=a0_0x22225f,_0x5ce477={'CaraN':function(_0x5831fc,_0x3caa37){return _0x5831fc===_0x3caa37;},'cGzYN':_0x379ab3(0x239),'WbNpH':_0x379ab3(0x237),'Awztm':'waiting','WOvuX':'delayed'};for(const _0x36a407 of Object[_0x379ab3(0x1f9)](this['queues'])){const _0x40f494=await _0x36a407[_0x379ab3(0x26e)](_0x48f39e);if(_0x40f494){const _0x552ec7=await _0x40f494[_0x379ab3(0x250)]();if(_0x5ce477['CaraN'](_0x552ec7,_0x5ce477[_0x379ab3(0x205)]))return await _0x40f494[_0x379ab3(0x2e7)](new Error(_0x5ce477['WbNpH']),'api-cancel',!![]),{'success':!![],'message':_0x379ab3(0x2d8)+_0x48f39e+'\x20cancelled\x20(was\x20active)'};if(_0x5ce477['CaraN'](_0x552ec7,_0x5ce477['Awztm'])||_0x5ce477['CaraN'](_0x552ec7,_0x5ce477[_0x379ab3(0x2c1)]))return await _0x40f494[_0x379ab3(0x1d6)](),{'success':!![],'message':_0x379ab3(0x2d8)+_0x48f39e+_0x379ab3(0x2a3)+_0x552ec7+')'};return{'success':![],'message':'Job\x20'+_0x48f39e+'\x20tidak\x20bisa\x20di-cancel\x20(state:\x20'+_0x552ec7+')'};}}return{'success':![],'message':'Job\x20'+_0x48f39e+'\x20tidak\x20ditemukan'};}async['getHealthStatus'](){const _0x54f306=a0_0x22225f,_0x3e4985={'vJWCt':_0x54f306(0x239),'ROTlE':_0x54f306(0x276),'zmkij':'waiting'},_0x32c597={};for(const [_0x4c2bca,_0x58f0e3]of Object['entries'](this[_0x54f306(0x1dc)])){try{const _0x354e20=await _0x58f0e3[_0x54f306(0x206)](_0x3e4985['vJWCt'],'completed',_0x3e4985['ROTlE'],_0x54f306(0x2cf),_0x54f306(0x274),_0x3e4985['zmkij']);_0x32c597[_0x4c2bca]=_0x354e20;}catch(_0x22c0c7){_0x32c597[_0x4c2bca]={'error':_0x22c0c7[_0x54f306(0x204)]};}}const _0xe0c52e={};for(const [_0x5eaaea,_0x18f293]of Object['entries'](this[_0x54f306(0x1f5)])){_0xe0c52e[_0x5eaaea]={'running':_0x18f293['isRunning'](),'paused':_0x18f293[_0x54f306(0x236)]()};}return{'initialized':this[_0x54f306(0x2b1)],'registeredJobs':Object['keys'](this['jobConfigs'])['length'],'redisConnections':this[_0x54f306(0x299)]['length'],'queues':_0x32c597,'workers':_0xe0c52e};}async[a0_0x22225f(0x2d4)](_0x1be580,_0x40a426){const _0x66a9e9=a0_0x22225f,_0x3f358c={'sIkAQ':_0x66a9e9(0x1ee),'VaMvJ':function(_0x117915,_0x31f6a4){return _0x117915-_0x31f6a4;},'Iotps':'success','MajWA':function(_0x190ed0,_0x19ab1f){return _0x190ed0===_0x19ab1f;},'EDJEU':_0x66a9e9(0x27c),'uTmuC':_0x66a9e9(0x290)},_0x56a930=logger['child']({'jobId':_0x1be580['id'],'jobName':_0x1be580['name']});_0x56a930['info']({'event':_0x66a9e9(0x235),'attemptsMade':_0x1be580[_0x66a9e9(0x22e)],'duration':_0x1be580['finishedOn']?_0x3f358c[_0x66a9e9(0x29f)](_0x1be580[_0x66a9e9(0x1d5)],_0x1be580[_0x66a9e9(0x286)]):null},_0x66a9e9(0x229)+_0x1be580['name']);const _0x58aab7=this[_0x66a9e9(0x2d0)]['get'](_0x1be580['id']);if(_0x58aab7){if(_0x58aab7[_0x66a9e9(0x245)])await _0x58aab7[_0x66a9e9(0x245)];const _0x4557dc=_0x1be580['finishedOn']&&_0x1be580['processedOn']?_0x1be580['finishedOn']-_0x1be580[_0x66a9e9(0x286)]:null,_0x1927b0=typeof _0x40a426===_0x66a9e9(0x25a)?_0x40a426:_0x40a426?JSON[_0x66a9e9(0x1b4)](_0x40a426)[_0x66a9e9(0x22d)](0x0,0x1f4):null;await this['updateJobHistoryCompleted'](_0x58aab7[_0x66a9e9(0x1b6)],_0x4557dc,_0x1927b0);const _0x3087fd=await this[_0x66a9e9(0x1ef)](_0x1be580['name']);await this[_0x66a9e9(0x27a)](_0x1be580[_0x66a9e9(0x225)],_0x3f358c[_0x66a9e9(0x1e6)],_0x4557dc,_0x3087fd),this[_0x66a9e9(0x2d0)][_0x66a9e9(0x2e4)](_0x1be580['id']);}const _0x39f1d3=getComponentEngine();if(_0x39f1d3&&_0x3f358c[_0x66a9e9(0x207)](typeof _0x39f1d3['executeEventHandlers'],_0x3f358c['EDJEU'])){const _0x22ce00={'jobId':_0x1be580['id'],'jobName':_0x1be580['name'],'result':_0x40a426,'config':this[_0x66a9e9(0x26c)][_0x1be580['name']]||{}};_0x39f1d3['executeEventHandlers']('onAfterJobComplete',_0x22ce00,![])['catch'](_0x39667b=>{const _0x3242d2=_0x66a9e9;_0x56a930[_0x3242d2(0x2c7)]({'event':_0x3f358c[_0x3242d2(0x261)],'error':_0x39667b['message']},'onAfterJobComplete\x20handler\x20error\x20(non-blocking)');});}const _0x157813=this['getKafkaService']();if(_0x157813)try{await _0x157813[_0x66a9e9(0x234)]('restforge.jobs.completed','JOB_COMPLETED',null,{'jobId':_0x1be580['id'],'name':_0x1be580['name'],'result':_0x40a426},{'module':_0x66a9e9(0x1b9),'endpoint':_0x1be580[_0x66a9e9(0x225)]});}catch(_0x1dbef6){_0x56a930['warn']({'event':_0x3f358c['uTmuC'],'error':_0x1dbef6[_0x66a9e9(0x204)]},'Failed\x20to\x20publish\x20JOB_COMPLETED\x20to\x20Kafka');}}async[a0_0x22225f(0x2a8)](_0x5d3d67,_0xdc0f8f){const _0x3e0b21=a0_0x22225f,_0x2babe7={'YbvjX':'onAfterJobFailed\x20handler\x20error\x20(non-blocking)','aCOMc':function(_0x45e2cb,_0x29bf11){return _0x45e2cb<_0x29bf11;},'OomKW':function(_0x49d51c,_0x436b22){return _0x49d51c-_0x436b22;},'aiFSL':function(_0x3fc5bf){return _0x3fc5bf();},'yoemz':'function','tUdsY':'onAfterJobFailed','UPbmJ':'Failed\x20to\x20publish\x20JOB_FAILED\x20to\x20Kafka'},_0x2c7b3a=logger[_0x3e0b21(0x282)]({'jobId':_0x5d3d67['id'],'jobName':_0x5d3d67['name']});_0x2c7b3a[_0x3e0b21(0x202)]({'event':_0x3e0b21(0x2b9),'attemptsMade':_0x5d3d67[_0x3e0b21(0x22e)],'failedReason':_0xdc0f8f?.[_0x3e0b21(0x204)],'willRetry':_0x2babe7[_0x3e0b21(0x258)](_0x5d3d67[_0x3e0b21(0x22e)],this['jobConfigs'][_0x5d3d67['name']]?.['retry']?.[_0x3e0b21(0x255)]||0x3)},'Job\x20failed:\x20'+_0x5d3d67['name']+'\x20—\x20'+_0xdc0f8f?.[_0x3e0b21(0x204)]);const _0x2b4bf1=this[_0x3e0b21(0x2d0)]['get'](_0x5d3d67['id']);if(_0x2b4bf1){if(_0x2b4bf1[_0x3e0b21(0x245)])await _0x2b4bf1['insertPromise'];const _0x5985a6=_0x5d3d67[_0x3e0b21(0x1d5)]&&_0x5d3d67[_0x3e0b21(0x286)]?_0x2babe7['OomKW'](_0x5d3d67[_0x3e0b21(0x1d5)],_0x5d3d67[_0x3e0b21(0x286)]):null;await this[_0x3e0b21(0x2c9)](_0x2b4bf1['historyId'],_0x5985a6,_0x5d3d67[_0x3e0b21(0x2af)],_0xdc0f8f?.[_0x3e0b21(0x204)],_0xdc0f8f?.['stack']);const _0xa38836=await this['getNextRunFromBullMQ'](_0x5d3d67[_0x3e0b21(0x225)]);await this[_0x3e0b21(0x27a)](_0x5d3d67['name'],'failed',_0x5985a6,_0xa38836),this['activeHistoryIds']['delete'](_0x5d3d67['id']);}const _0x27bd0d=_0x2babe7[_0x3e0b21(0x2b7)](getComponentEngine);if(_0x27bd0d&&typeof _0x27bd0d['executeEventHandlers']===_0x2babe7[_0x3e0b21(0x1e3)]){const _0x5b24f5={'jobId':_0x5d3d67['id'],'jobName':_0x5d3d67[_0x3e0b21(0x225)],'error':_0xdc0f8f?.['message'],'attemptsMade':_0x5d3d67[_0x3e0b21(0x22e)],'config':this[_0x3e0b21(0x26c)][_0x5d3d67['name']]||{}};_0x27bd0d[_0x3e0b21(0x210)](_0x2babe7['tUdsY'],_0x5b24f5,![])[_0x3e0b21(0x223)](_0x595ba7=>{const _0x47a5d1=_0x3e0b21;_0x2c7b3a[_0x47a5d1(0x2c7)]({'event':_0x47a5d1(0x292),'error':_0x595ba7['message']},_0x2babe7['YbvjX']);});}const _0x51c80c=this['getKafkaService']();if(_0x51c80c)try{await _0x51c80c['publishEvent'](_0x3e0b21(0x1d1),_0x3e0b21(0x2d7),null,{'jobId':_0x5d3d67['id'],'name':_0x5d3d67['name'],'error':_0xdc0f8f?.[_0x3e0b21(0x204)],'attemptsMade':_0x5d3d67[_0x3e0b21(0x22e)]},{'module':'job-scheduler','endpoint':_0x5d3d67['name']});}catch(_0x1e6fc1){_0x2c7b3a['warn']({'event':'job_kafka_publish_error','error':_0x1e6fc1[_0x3e0b21(0x204)]},_0x2babe7['UPbmJ']);}}['onJobProgress'](_0x59b5be,_0x2bda4b){const _0x494eb6=a0_0x22225f;logger[_0x494eb6(0x1c4)]({'event':'job_progress','jobId':_0x59b5be['id'],'jobName':_0x59b5be['name'],'progress':_0x2bda4b},'Job\x20progress:\x20'+_0x59b5be['name']+_0x494eb6(0x2ad)+_0x2bda4b+'%');}}module[a0_0x22225f(0x2c4)]=new JobManager();
@@ -1 +1 @@
1
- const a0_0x366540=a0_0x40f2;function a0_0x3351(){const _0x175bae=['rxjYB3iGz2v0DgLUzYbQB2iGC3rHDhvZ','vLfKy2K','BwLU','DgLTzw91Da','zgvSyxLLza','C2nOzwr1Bgu','rxjYB3iGz2v0DgLUzYbQB2iGAgLZDg9YEq','zw5KC1DPDgG','zNzurhe','ANnVBG','z2v0sM9Iq291BNrZ','BwvZC2fNzq','z2v0u3rHDgu','CNrQtvi','CgfYC2u','Bw10uvi','mZa0nJC4B0j4y3vW','zw50CMLLCW','nJzfA0Tlv2O','ChjVz3jLC3m','rxjYB3iGBgLZDgLUzYbQB2jZ','yuH6r08','sK9cx1jfreLtx1bsruzjwa','y29TCgXLDgvK','wxrPBfi','C29YDa','mte0nde3ogj3BezmAa','z2v0sM9I','sM9Iia','CMv0DxjUDMfSDwu','CxvLDwu','AM9Ix3f1zxvLC19LCNjVCG','m1fWru1ODa','AgfUzgXLCG','zMLUAxnOzwrpBG','DMfSDwvZ','l3n0yxr1CY86AM9Iswq','zMfPBgvK','zw5HyMXLza','CMvHzgrPCLn5BMm','tKD6y1q','r2zuC3C','sM9IihrYAwDNzxjLzcb2AweGqvbjoIa','icHPzdOG','Ce1JBwK','nteYnta0wNvNsgDL','uM91DgvY','wvPez1u','svPVBgu','uKvesvnFue9sva','l2XPC3q','C3rHDhvZ','uhjkANa','Cgf0Aa','Bg93','CMv0CNK','ndC3mZi0mfDcEfHmva','BMfTzq','yxr0zw1WDhnnywrL','yMfJA29MzG','l3rYAwDNzxiVoMPVyK5HBwu','rNDfCKS','sMf4wfO','Aw9YzwrPCW','ntCWndmWD1viug1t','u3HRBM0','DxrMoa','zxHWB3j0CW','z2v0','sM9Iici','DgLTzxn0yw1W','zw52','BgvUz3rO','zgvNCMfKzwq','AgLNAa','zgvMyxvSDa','zgf0yq','AM9PBG','zxHPC3rZu3LUyW','lMPZB24','zxjYB3i','mtm1mJKXmJbYELLHsgS','CMvHzezPBgvtEw5J','ndm1odG4BKvYAK9T','ywn0AxzL','mZbTv3PXqve','CxvLCNK','vwzqufi','rxjYB3iGz2v0DgLUzYbXDwv1zsbZDgf0CW','zgvZy3jPChrPB24','CgfYyw1Z','rwDjEKW','EwTvDhu','ihrPzgfRigjPC2eGzgKTy2fUy2vSicHZDgf0ztOG','BwfW','l2HLywX0Aa','yxbP','A2v5CW','z2v0sM9ICW','DgLTzxn0yw1WCW','y3DK'];a0_0x3351=function(){return _0x175bae;};return a0_0x3351();}(function(_0x14ddb1,_0x1b6423){const _0x319fe0=a0_0x40f2,_0x203e43=_0x14ddb1();while(!![]){try{const _0x1777d4=-parseInt(_0x319fe0(0x137))/0x1+-parseInt(_0x319fe0(0xdc))/0x2*(-parseInt(_0x319fe0(0xe2))/0x3)+-parseInt(_0x319fe0(0x115))/0x4*(parseInt(_0x319fe0(0x117))/0x5)+-parseInt(_0x319fe0(0xd4))/0x6*(parseInt(_0x319fe0(0x102))/0x7)+-parseInt(_0x319fe0(0xef))/0x8+parseInt(_0x319fe0(0xfa))/0x9+parseInt(_0x319fe0(0x113))/0xa;if(_0x1777d4===_0x1b6423)break;else _0x203e43['push'](_0x203e43['shift']());}catch(_0x31ee80){_0x203e43['push'](_0x203e43['shift']());}}}(a0_0x3351,0x82f4e));const express=require('express'),{Queue}=require('bullmq'),Redis=require(a0_0x366540(0x101)),{logger}=require('../../utils/logger');let readConnection=null,readQueues=null,cachedJobConfigs=null;const QUEUE_NAMES={'high-priority':a0_0x366540(0x10c),'default':a0_0x366540(0x10d),'low-priority':a0_0x366540(0xf8)};function a0_0x40f2(_0x16d7e1,_0x2f1d58){_0x16d7e1=_0x16d7e1-0xd4;const _0x3351ee=a0_0x3351();let _0x40f2c8=_0x3351ee[_0x16d7e1];if(a0_0x40f2['cGcBkY']===undefined){var _0x19788b=function(_0x466d72){const _0x195f52='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x52a73f='',_0x9126ea='';for(let _0x15b95b=0x0,_0x30afff,_0x45ed06,_0x5737f4=0x0;_0x45ed06=_0x466d72['charAt'](_0x5737f4++);~_0x45ed06&&(_0x30afff=_0x15b95b%0x4?_0x30afff*0x40+_0x45ed06:_0x45ed06,_0x15b95b++%0x4)?_0x52a73f+=String['fromCharCode'](0xff&_0x30afff>>(-0x2*_0x15b95b&0x6)):0x0){_0x45ed06=_0x195f52['indexOf'](_0x45ed06);}for(let _0x3b8fbd=0x0,_0x5caf91=_0x52a73f['length'];_0x3b8fbd<_0x5caf91;_0x3b8fbd++){_0x9126ea+='%'+('00'+_0x52a73f['charCodeAt'](_0x3b8fbd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x9126ea);};a0_0x40f2['TihlSi']=_0x19788b,a0_0x40f2['PffIdL']={},a0_0x40f2['cGcBkY']=!![];}const _0x5ae9f3=_0x3351ee[0x0],_0x134ea9=_0x16d7e1+_0x5ae9f3,_0x1f20d1=a0_0x40f2['PffIdL'][_0x134ea9];return!_0x1f20d1?(_0x40f2c8=a0_0x40f2['TihlSi'](_0x40f2c8),a0_0x40f2['PffIdL'][_0x134ea9]=_0x40f2c8):_0x40f2c8=_0x1f20d1,_0x40f2c8;}function getReadQueues(){const _0x573a6b=a0_0x366540,_0x827d7b={'NBNdX':function(_0x15c45c,_0x12965b,_0x4115bc){return _0x15c45c(_0x12965b,_0x4115bc);},'rtjMR':_0x573a6b(0x112)};if(readQueues)return readQueues;const _0x30267c=process['env'][_0x573a6b(0xd8)]||'rf:job';readConnection=new Redis({'host':process[_0x573a6b(0x109)]['REDIS_HOST']||'localhost','port':_0x827d7b['NBNdX'](parseInt,process['env'][_0x573a6b(0xf3)],0xa)||0x18ec,'password':process['env']['REDIS_PASSWORD']||undefined,'db':parseInt(process[_0x573a6b(0x109)]['REDIS_DB'],0xa)||0x0,'maxRetriesPerRequest':null}),readConnection['on'](_0x827d7b[_0x573a6b(0x134)],_0x55e32c=>{const _0x23c004=_0x573a6b;logger[_0x23c004(0x112)]({'event':'job_routes_redis_error','error':_0x55e32c[_0x23c004(0x132)]},'Job\x20Routes\x20Redis\x20error:\x20'+_0x55e32c['message']);}),readQueues={};for(const [_0x241573,_0x480eae]of Object[_0x573a6b(0x138)](QUEUE_NAMES)){readQueues[_0x241573]=new Queue(_0x480eae,{'connection':readConnection,'prefix':_0x30267c});}return readQueues;}function createJobRoutes(_0x54fa53){const _0x2dbb64=a0_0x366540,_0x26f0ef={'fvTDq':function(_0x5a9128,_0x4c4b17){return _0x5a9128(_0x4c4b17);},'PrJjp':function(_0x249480,_0x4930be){return _0x249480(_0x4930be);},'KItLj':_0x2dbb64(0xf7),'IZole':'jobs','YZDgU':'default','yBxHO':_0x2dbb64(0xd6),'ksOgM':function(_0x586c31,_0x1baf86){return _0x586c31(_0x1baf86);},'OBmwZ':_0x2dbb64(0x104),'eWagK':function(_0x307d76,_0x4c0eb3){return _0x307d76===_0x4c0eb3;},'uIneW':_0x2dbb64(0x122),'pyPiu':'exponential','CigcZ':'job_triggered_via_api','JaxXZ':'Error\x20triggering\x20job','ykUtu':'api-cancel','UfPPR':'waiting','FwErK':'delayed','mmtQR':function(_0x125549,_0x21cf90,_0x161f8f){return _0x125549(_0x21cf90,_0x161f8f);},'GzFkp':function(_0x36898a,_0x2da92d){return _0x36898a*_0x2da92d;},'eRWlF':function(_0xb0c5ce,_0x497b0e){return _0xb0c5ce-_0x497b0e;},'xWCgs':function(_0x858781,_0x593eb7){return _0x858781+_0x593eb7;},'KZUZj':function(_0x34e8d7){return _0x34e8d7();},'Sxknm':_0x2dbb64(0xe7),'YtilR':'job_history_error','VQdci':_0x2dbb64(0x12d),'LJqsL':_0x2dbb64(0x11a),'NGzcT':_0x2dbb64(0x116),'EgIzL':function(_0x6fd1d3,_0x25fc06){return _0x6fd1d3>_0x25fc06;},'pMcmi':_0x2dbb64(0xe6),'uCJse':_0x2dbb64(0xfe),'aHzGO':'/cancel/:jobId','GfTsw':'/history','nFvJe':_0x2dbb64(0x121)},_0x3913e3=express[_0x2dbb64(0xf0)]();return _0x54fa53&&_0x26f0ef[_0x2dbb64(0x11d)](Object['keys'](_0x54fa53)['length'],0x0)&&(cachedJobConfigs=_0x54fa53),_0x3913e3[_0x2dbb64(0x106)](_0x2dbb64(0xf4),(_0x2bb2a0,_0x7b695d)=>{const _0x1e0091=_0x2dbb64;try{if(cachedJobConfigs){const _0x55916b=Object['values'](cachedJobConfigs)[_0x1e0091(0x120)](_0x2e3e92=>({'name':_0x2e3e92['name'],'description':_0x2e3e92[_0x1e0091(0x11b)]||'','type':_0x2e3e92['type'],'schedule':_0x2e3e92[_0x1e0091(0x12c)],'handler':_0x2e3e92['handler'],'enabled':_0x2e3e92['enabled']!==![],'queue':_0x2e3e92['queue']||'default','timeout':_0x2e3e92['timeout']||0x7530,'retry':_0x2e3e92['retry']||{'maxAttempts':0x3,'backoff':'exponential','initialDelay':0x1388},'metadata':_0x2e3e92['metadata']||{}}));return _0x7b695d['json']({'success':!![],'data':_0x55916b,'total':_0x55916b[_0x1e0091(0x10a)]});}const _0x16eb49=_0x26f0ef[_0x1e0091(0x12f)](require,'fs'),_0xb76bc4=_0x26f0ef[_0x1e0091(0xf6)](require,_0x26f0ef['KItLj']),_0x33ff5a=_0xb76bc4['join'](process[_0x1e0091(0x126)](),'payload',_0x26f0ef['IZole']);if(!_0x16eb49['existsSync'](_0x33ff5a))return _0x7b695d[_0x1e0091(0x130)]({'success':!![],'data':[],'total':0x0});const _0x1e9bbf=_0x16eb49['readdirSync'](_0x33ff5a)['filter'](_0x32467e=>_0x32467e['endsWith'](_0x1e0091(0x111))),_0x444e78=[];for(const _0x438d6f of _0x1e9bbf){try{const _0xef2f5f=_0x16eb49[_0x1e0091(0x114)](_0xb76bc4[_0x1e0091(0x10f)](_0x33ff5a,_0x438d6f),_0x1e0091(0x104)),_0x501767=JSON[_0x1e0091(0x135)](_0xef2f5f);_0x444e78['push']({'name':_0x501767[_0x1e0091(0xfb)],'description':_0x501767['description']||'','type':_0x501767['type'],'schedule':_0x501767['schedule'],'handler':_0x501767[_0x1e0091(0xe3)],'enabled':_0x501767[_0x1e0091(0xe8)]!==![],'queue':_0x501767[_0x1e0091(0xe0)]||_0x26f0ef['YZDgU'],'timeout':_0x501767[_0x1e0091(0x12a)]||0x7530,'retry':_0x501767['retry']||{},'metadata':_0x501767['metadata']||{}});}catch(_0x28363f){}}_0x7b695d[_0x1e0091(0x130)]({'success':!![],'data':_0x444e78,'total':_0x444e78[_0x1e0091(0x10a)]});}catch(_0x1cbada){logger[_0x1e0091(0x112)]({'event':'job_list_error','error':_0x1cbada[_0x1e0091(0x132)]},_0x26f0ef['yBxHO']),_0x7b695d[_0x1e0091(0xf5)](0x1f4)[_0x1e0091(0x130)]({'success':![],'error':_0x1cbada['message']});}}),_0x3913e3[_0x2dbb64(0x106)](_0x26f0ef[_0x2dbb64(0xee)],async(_0x2640b9,_0x3d077f)=>{const _0x481344=_0x2dbb64;try{const {jobId:_0x48c15e}=_0x2640b9['params'],_0x34ab69=getReadQueues();for(const _0x4c4276 of Object[_0x481344(0xe5)](_0x34ab69)){const _0x2692bf=await _0x4c4276[_0x481344(0xdd)](_0x48c15e);if(_0x2692bf){const _0xc38930=await _0x2692bf[_0x481344(0x133)]();return _0x3d077f[_0x481344(0x130)]({'success':!![],'data':{'jobId':_0x2692bf['id'],'name':_0x2692bf[_0x481344(0xfb)],'state':_0xc38930,'progress':_0x2692bf[_0x481344(0xd5)],'attemptsMade':_0x2692bf[_0x481344(0xfc)],'failedReason':_0x2692bf['failedReason'],'returnvalue':_0x2692bf[_0x481344(0xdf)],'data':_0x2692bf[_0x481344(0x10e)],'timestamps':{'created':_0x2692bf['timestamp'],'started':_0x2692bf['processedOn'],'completed':_0x2692bf[_0x481344(0xe4)]}}});}}_0x3d077f['status'](0x194)[_0x481344(0x130)]({'success':![],'error':'Job\x20'+_0x48c15e+'\x20tidak\x20ditemukan'});}catch(_0xbd41c7){logger['error']({'event':'job_status_error','error':_0xbd41c7['message']},_0x481344(0x127)),_0x3d077f[_0x481344(0xf5)](0x1f4)[_0x481344(0x130)]({'success':![],'error':_0xbd41c7[_0x481344(0x132)]});}}),_0x3913e3['post'](_0x26f0ef['uCJse'],async(_0x3a4a33,_0x3cc66c)=>{const _0x4667f1=_0x2dbb64;try{const {jobName:_0x353f1c}=_0x3a4a33[_0x4667f1(0x11c)],_0x2e530c=_0x3a4a33['body']||{};let _0x2b1970=cachedJobConfigs?.[_0x353f1c];if(!_0x2b1970){const _0xeb6986=_0x26f0ef['fvTDq'](require,'fs'),_0x4d47bb=_0x26f0ef['ksOgM'](require,_0x26f0ef['KItLj']),_0x7bc105=_0x4d47bb['join'](process['cwd'](),'payload',_0x26f0ef[_0x4667f1(0xf2)]),_0x1f3120=_0xeb6986[_0x4667f1(0x110)](_0x7bc105)?_0xeb6986[_0x4667f1(0xe9)](_0x7bc105)['filter'](_0x17a5c4=>_0x17a5c4[_0x4667f1(0x12e)]('.json')):[];for(const _0x2873b9 of _0x1f3120){try{const _0x50d8eb=_0xeb6986['readFileSync'](_0x4d47bb[_0x4667f1(0x10f)](_0x7bc105,_0x2873b9),_0x26f0ef['OBmwZ']),_0x272a87=JSON['parse'](_0x50d8eb);if(_0x26f0ef['eWagK'](_0x272a87[_0x4667f1(0xfb)],_0x353f1c)){_0x2b1970=_0x272a87;break;}}catch(_0xd1a1cf){}}}if(!_0x2b1970)return _0x3cc66c['status'](0x194)[_0x4667f1(0x130)]({'success':![],'error':_0x4667f1(0x107)+_0x353f1c+'\x22\x20tidak\x20ditemukan\x20di\x20konfigurasi'});const _0x4cf0e0=getReadQueues(),_0x3def15=_0x4cf0e0[_0x2b1970[_0x4667f1(0xe0)]||_0x26f0ef[_0x4667f1(0xf1)]],_0x25e80d=await _0x3def15['add'](_0x353f1c,{..._0x2e530c,'handler':_0x2b1970['handler'],'triggeredBy':_0x26f0ef['uIneW']},{'attempts':_0x2b1970['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0x2b1970[_0x4667f1(0xf9)]?.[_0x4667f1(0xfd)]||_0x26f0ef['pyPiu'],'delay':_0x2b1970['retry']?.['initialDelay']||0x1388},'timeout':_0x2b1970['timeout']||0x7530});logger['info']({'event':_0x26f0ef['CigcZ'],'jobId':_0x25e80d['id'],'name':_0x353f1c},_0x4667f1(0xec)+_0x353f1c+_0x4667f1(0xed)+_0x25e80d['id']+')'),_0x3cc66c[_0x4667f1(0x130)]({'success':!![],'jobId':_0x25e80d['id'],'message':_0x4667f1(0xde)+_0x353f1c+'\x20berhasil\x20di-trigger'});}catch(_0x10c478){logger['error']({'event':'job_trigger_error','error':_0x10c478[_0x4667f1(0x132)]},_0x26f0ef[_0x4667f1(0x100)]),_0x3cc66c[_0x4667f1(0xf5)](0x1f4)['json']({'success':![],'error':_0x10c478[_0x4667f1(0x132)]});}}),_0x3913e3['post'](_0x26f0ef[_0x2dbb64(0xd7)],async(_0x552d74,_0x4aa15a)=>{const _0x3fb145=_0x2dbb64;try{const {jobId:_0x3bd1b9}=_0x552d74['params'],_0x38fb51=getReadQueues();for(const _0x1f6f95 of Object['values'](_0x38fb51)){const _0x5c6940=await _0x1f6f95[_0x3fb145(0xdd)](_0x3bd1b9);if(_0x5c6940){const _0x2ad28e=await _0x5c6940[_0x3fb145(0x133)]();if(_0x2ad28e==='active')return await _0x5c6940['moveToFailed'](new Error('Job\x20cancelled\x20via\x20API'),_0x26f0ef[_0x3fb145(0x11e)],!![]),_0x4aa15a['json']({'success':!![],'message':'Job\x20'+_0x3bd1b9+'\x20cancelled\x20(was\x20active)'});if(_0x2ad28e===_0x26f0ef[_0x3fb145(0x119)]||_0x2ad28e===_0x26f0ef[_0x3fb145(0xff)])return await _0x5c6940['remove'](),_0x4aa15a[_0x3fb145(0x130)]({'success':!![],'message':_0x3fb145(0xde)+_0x3bd1b9+'\x20removed\x20(was\x20'+_0x2ad28e+')'});return _0x4aa15a[_0x3fb145(0x130)]({'success':![],'message':'Job\x20'+_0x3bd1b9+_0x3fb145(0x11f)+_0x2ad28e+')'});}}_0x4aa15a['status'](0x194)['json']({'success':![],'error':_0x3fb145(0xde)+_0x3bd1b9+'\x20tidak\x20ditemukan'});}catch(_0x35b852){logger[_0x3fb145(0x112)]({'event':'job_cancel_error','error':_0x35b852[_0x3fb145(0x132)]},'Error\x20cancelling\x20job'),_0x4aa15a['status'](0x1f4)[_0x3fb145(0x130)]({'success':![],'error':_0x35b852[_0x3fb145(0x132)]});}}),_0x3913e3[_0x2dbb64(0x106)](_0x26f0ef[_0x2dbb64(0xeb)],async(_0x4c8492,_0x26a6f3)=>{const _0x43713e=_0x2dbb64;try{const _0xc997f0=_0x26f0ef['mmtQR'](parseInt,_0x4c8492[_0x43713e(0x118)]['page'],0xa)||0x1,_0x552b2c=Math[_0x43713e(0x129)](_0x26f0ef[_0x43713e(0x136)](parseInt,_0x4c8492['query']['limit'],0xa)||0x14,0x64),_0x4ba0cf=_0x26f0ef['GzFkp'](_0x26f0ef['eRWlF'](_0xc997f0,0x1),_0x552b2c),_0x1f2a9a=_0x26f0ef['xWCgs'](_0x4ba0cf,_0x552b2c)-0x1,_0x3a2fbf=_0x26f0ef['KZUZj'](getReadQueues),_0x3863f2=[];for(const [_0x29f5b7,_0x4a5d2b]of Object['entries'](_0x3a2fbf)){const _0x796e13=await _0x4a5d2b[_0x43713e(0x124)]([_0x43713e(0xd9)],_0x4ba0cf,_0x1f2a9a),_0x48fa7e=await _0x4a5d2b['getJobs']([_0x26f0ef[_0x43713e(0x103)]],_0x4ba0cf,_0x1f2a9a);for(const _0x5f5e02 of[..._0x796e13,..._0x48fa7e]){const _0x841a21=await _0x5f5e02[_0x43713e(0x133)]();_0x3863f2['push']({'jobId':_0x5f5e02['id'],'name':_0x5f5e02['name'],'state':_0x841a21,'queue':_0x29f5b7,'attemptsMade':_0x5f5e02[_0x43713e(0xfc)],'failedReason':_0x5f5e02['failedReason'],'returnvalue':_0x5f5e02['returnvalue'],'timestamps':{'created':_0x5f5e02[_0x43713e(0x108)],'started':_0x5f5e02['processedOn'],'completed':_0x5f5e02['finishedOn']}});}}_0x3863f2[_0x43713e(0xdb)]((_0x5f355d,_0x458739)=>(_0x458739[_0x43713e(0x125)]['created']||0x0)-(_0x5f355d[_0x43713e(0x125)]['created']||0x0)),_0x26a6f3[_0x43713e(0x130)]({'success':!![],'data':_0x3863f2['slice'](0x0,_0x552b2c),'total':_0x3863f2['length'],'page':_0xc997f0,'limit':_0x552b2c});}catch(_0x190bb3){logger['error']({'event':_0x26f0ef[_0x43713e(0xda)],'error':_0x190bb3[_0x43713e(0x132)]},_0x26f0ef[_0x43713e(0x128)]),_0x26a6f3['status'](0x1f4)[_0x43713e(0x130)]({'success':![],'error':_0x190bb3[_0x43713e(0x132)]});}}),_0x3913e3[_0x2dbb64(0x106)]('/queues',async(_0x2d0e77,_0x148f30)=>{const _0x3d5ecf=_0x2dbb64;try{const _0x1c9e7e=getReadQueues(),_0xca0e3={};for(const [_0x32b75f,_0x19f73a]of Object['entries'](_0x1c9e7e)){try{const _0x584772=await _0x19f73a[_0x3d5ecf(0x131)](_0x3d5ecf(0x116),'completed',_0x3d5ecf(0x12b),_0x26f0ef[_0x3d5ecf(0x103)],'paused','waiting');_0xca0e3[_0x32b75f]=_0x584772;}catch(_0x141cff){_0xca0e3[_0x32b75f]={'error':_0x141cff[_0x3d5ecf(0x132)]};}}_0x148f30[_0x3d5ecf(0x130)]({'success':!![],'data':_0xca0e3});}catch(_0x4c37f0){logger['error']({'event':_0x3d5ecf(0xe1),'error':_0x4c37f0['message']},_0x26f0ef['LJqsL']),_0x148f30['status'](0x1f4)['json']({'success':![],'error':_0x4c37f0[_0x3d5ecf(0x132)]});}}),_0x3913e3[_0x2dbb64(0x106)](_0x26f0ef['nFvJe'],async(_0x52cdd9,_0x11dc68)=>{const _0x6575eb=_0x2dbb64;try{const _0x5d247f=getReadQueues(),_0x243636={};let _0x771430=![];for(const [_0x927e33,_0x55c686]of Object['entries'](_0x5d247f)){try{const _0x561297=await _0x55c686['getJobCounts'](_0x26f0ef[_0x6575eb(0xea)],_0x26f0ef['UfPPR'],_0x6575eb(0xe7));_0x243636[_0x927e33]=_0x561297,_0x771430=!![];}catch(_0x3d4325){_0x243636[_0x927e33]={'error':_0x3d4325['message']};}}let _0x260910=0x0;cachedJobConfigs&&(_0x260910=Object[_0x6575eb(0x123)](cachedJobConfigs)['length']),_0x11dc68[_0x6575eb(0x130)]({'success':!![],'data':{'status':_0x771430?'healthy':_0x6575eb(0x10b),'redis':_0x771430?'connected':'disconnected','registeredJobs':_0x260910,'queues':_0x243636}});}catch(_0x1f8915){_0x11dc68[_0x6575eb(0xf5)](0x1f7)['json']({'success':![],'data':{'status':'unhealthy','error':_0x1f8915['message']}});}}),_0x3913e3;}module[a0_0x366540(0x105)]=createJobRoutes;
1
+ const a0_0x2bc7d0=a0_0x781b;(function(_0x5940fc,_0x51c358){const _0x373770=a0_0x781b,_0x2e131a=_0x5940fc();while(!![]){try{const _0x3fa4bb=-parseInt(_0x373770(0x1bc))/0x1+parseInt(_0x373770(0x189))/0x2*(parseInt(_0x373770(0x177))/0x3)+parseInt(_0x373770(0x176))/0x4+-parseInt(_0x373770(0x1b4))/0x5*(parseInt(_0x373770(0x191))/0x6)+-parseInt(_0x373770(0x199))/0x7+-parseInt(_0x373770(0x19e))/0x8+parseInt(_0x373770(0x18f))/0x9;if(_0x3fa4bb===_0x51c358)break;else _0x2e131a['push'](_0x2e131a['shift']());}catch(_0x2d70fe){_0x2e131a['push'](_0x2e131a['shift']());}}}(a0_0x6feb,0xdc65e));function a0_0x6feb(){const _0x26daeb=['ignHBMnLBgXLzcaOD2fZigfJDgL2zsK','mteYmJyYnJrgshjUy08','zgvSyxLLza','v1LqvK8','ChjVz3jLC3m','yuPgBLa','nJuYmJmWnhHLDerbuq','CMy6AM9I','zxHWB25LBNrPywW','Cg9ZDa','DgLTzw91Da','DMfSDwvZ','Dw5OzwfSDgH5','ChvZAa','yxbP','zgf0yq','zMfPBgvK','Aw9YzwrPCW','C3rHDhvZ','z2v0sM9ICW','CMv0DxjUDMfSDwu','ANnVBG','z2v0u3rHDgu','Bwv0ywrHDge','sK9cx1jfreLtx1bsruzjwa','C2nOzwr1Bgu','uKvesvnFueftu1DpuKq','zMLUAxnOzwrpBG','nda0nte5mhrUDu5pBW','CgfYyw1Z','zw50CMLLCW','BwfW','tvvdC1O','CgfNzq','ChLVvvK','yKvtyMi','nJGZotb4yNDWyum','zxHPC3rZu3LUyW','AM9Ix2HPC3rVCNLFzxjYB3i','zMfPBgvKuMvHC29U','DgLTzxn0yw1W','ChjVy2vZC2vKt24','AgfUzgXLCG','CgfYC2u','zxjYB3i','DxrMoa','sM9IifjVDxrLCYbszwrPCYbLCNjVCJOG','yM9KEq','BLfXEei','A2v5CW','rMrZr2u','uKLhu1e','zxHWB3j0CW','Bw92zvrVrMfPBgvK','yuzeA1i','AgvHBhrOEq','CMvTB3zL','ihrPzgfRigrPDgvTDwTHBG','z2v0sM9I','y29UBMvJDgvK','Aw5MBW','D2fPDgLUzW','icHPzdOG','DhLWzq','CMvHzgrPCLn5BMm','z2v0','Aw5PDgLHBerLBgf5','BMfTzq','Cgf5Bg9Hza','z2v0sM9Iq291BNrZ','rxjYB3iGz2v0DgLUzYbQB2iGAgLZDg9YEq','AM9Ix3n0yxr1C19LCNjVCG','yxr0zw1WDhnnywrL','CMv0CNK','AM9ICW','mtu0ntaYnhfJtgzdBq','ndaYvxn2Dur0','Bwf4qxr0zw1WDhm','BgvUz3rO','zw52','lMPZB24','r25mDgm','EM1rEwe','AM9PBG','DxnXvhO','Bg93','BwLU','AM9Ix3rYAwDNzxjFzxjYB3i','sM9Iia','lI4VlI4VDxrPBhmVBg9Nz2vY','q0DOrNq','zgvMyxvSDa','zw1ZDhy','ExDUCNq','nJa3nK9Zr05SyG','AM9Ix2nHBMnLBf9LCNjVCG','CxvLDwu','y29TCgXLDgvK','tKvOr1K','zw5HyMXLza','mZC5mZqXnZjZs0Hctxi','zw5KC1DPDgG','mtjJCLvXueG','BwvZC2fNzq','uM91DgvY','rxjYB3iGBgLZDgLUzYbQB2jZ','D2rTuM8','Cgf0Aa','ywn0AxzL'];a0_0x6feb=function(){return _0x26daeb;};return a0_0x6feb();}const express=require('express'),{Queue}=require('bullmq'),Redis=require(a0_0x2bc7d0(0x1a9)),{logger}=require(a0_0x2bc7d0(0x184));let readConnection=null,readQueues=null,cachedJobConfigs=null;const QUEUE_NAMES={'high-priority':'high','default':'default','low-priority':a0_0x2bc7d0(0x180)};function getReadQueues(){const _0x15cc90=a0_0x2bc7d0,_0xc81d36={'zTvoB':_0x15cc90(0x19f)};if(readQueues)return readQueues;const _0x18b6fb=process[_0x15cc90(0x17a)][_0x15cc90(0x1b0)]||_0xc81d36['zTvoB'];readConnection=new Redis({'host':process['env']['REDIS_HOST']||'localhost','port':parseInt(process[_0x15cc90(0x17a)]['REDIS_PORT'],0xa)||0x18ec,'password':process[_0x15cc90(0x17a)][_0x15cc90(0x1b2)]||undefined,'db':parseInt(process['env']['REDIS_DB'],0xa)||0x0,'maxRetriesPerRequest':null}),readConnection['on']('error',_0x36eda2=>{const _0x1e3f0d=_0x15cc90;logger[_0x1e3f0d(0x1c4)]({'event':'job_routes_redis_error','error':_0x36eda2['message']},_0x1e3f0d(0x1c6)+_0x36eda2[_0x1e3f0d(0x192)]);}),readQueues={};for(const [_0x5f1eab,_0x3f420e]of Object[_0x15cc90(0x1b6)](QUEUE_NAMES)){readQueues[_0x5f1eab]=new Queue(_0x3f420e,{'connection':readConnection,'prefix':_0x18b6fb});}return readQueues;}function createJobRoutes(_0x253856){const _0x1588bd=a0_0x2bc7d0,_0x5cc87e={'uacVR':function(_0x3b92f5,_0x46077d){return _0x3b92f5(_0x46077d);},'GgNlE':function(_0x1faea1,_0x235668){return _0x1faea1(_0x235668);},'usqTz':_0x1588bd(0x175),'TeEda':_0x1588bd(0x1c5),'gLLSL':_0x1588bd(0x194),'NEhGY':function(_0x248e3a){return _0x248e3a();},'bESbb':'Error\x20getting\x20job\x20status','FdsGe':function(_0x457040,_0xa7a032){return _0x457040(_0xa7a032);},'aFDkR':function(_0x3b39d4,_0x5b3ec6){return _0x3b39d4(_0x5b3ec6);},'ZfsdK':'path','GnLtc':'default','MUCsZ':_0x1588bd(0x1a6),'AjxPG':_0x1588bd(0x182),'OVEGf':function(_0x1607c1,_0x169d5d){return _0x1607c1===_0x169d5d;},'CGhFt':'Error\x20cancelling\x20job','nQqxB':function(_0x6b3326,_0x221a07,_0x2edd64){return _0x6b3326(_0x221a07,_0x2edd64);},'blZlK':function(_0x182c30,_0xd0f1cb){return _0x182c30*_0xd0f1cb;},'YofRR':function(_0xd4a96c,_0x572793){return _0xd4a96c-_0x572793;},'aJFnP':function(_0x3a5611,_0x282850){return _0x3a5611-_0x282850;},'tymGf':_0x1588bd(0x18c),'ywnrt':_0x1588bd(0x1a8),'YoHTg':'paused','wdmRo':function(_0x2c1ba5){return _0x2c1ba5();},'zbWmP':_0x1588bd(0x197),'RIGSQ':_0x1588bd(0x1d5),'YfbxF':_0x1588bd(0x1cf),'emstv':'degraded','wMrDL':_0x1588bd(0x1d3),'pyoUY':'disconnected','BtlKi':_0x1588bd(0x1a4),'euJKz':function(_0x376244,_0x193984){return _0x376244>_0x193984;},'WYPVO':'/list','zmQya':'/status/:jobId','qernU':'/queues','YdZea':'/health'},_0x3adeb9=express[_0x1588bd(0x193)]();return _0x253856&&_0x5cc87e['euJKz'](Object[_0x1588bd(0x1c9)](_0x253856)[_0x1588bd(0x179)],0x0)&&(cachedJobConfigs=_0x253856),_0x3adeb9[_0x1588bd(0x16c)](_0x5cc87e[_0x1588bd(0x19b)],(_0x193e8b,_0x1efef1)=>{const _0x4eaab1=_0x1588bd;try{if(cachedJobConfigs){const _0x29bc63=Object[_0x4eaab1(0x1a3)](cachedJobConfigs)[_0x4eaab1(0x1b7)](_0x4b213d=>({'name':_0x4b213d['name'],'description':_0x4b213d['description']||'','type':_0x4b213d[_0x4eaab1(0x16a)],'schedule':_0x4b213d[_0x4eaab1(0x1b1)],'handler':_0x4b213d[_0x4eaab1(0x1c2)],'enabled':_0x4b213d[_0x4eaab1(0x18e)]!==![],'queue':_0x4b213d[_0x4eaab1(0x18b)]||_0x4eaab1(0x186),'timeout':_0x4b213d['timeout']||0x7530,'retry':_0x4b213d['retry']||{'maxAttempts':0x3,'backoff':_0x4eaab1(0x1a0),'initialDelay':0x1388},'metadata':_0x4b213d[_0x4eaab1(0x1af)]||{}}));return _0x1efef1['json']({'success':!![],'data':_0x29bc63,'total':_0x29bc63['length']});}const _0x27f66d=_0x5cc87e['uacVR'](require,'fs'),_0x5df1c6=_0x5cc87e['GgNlE'](require,_0x4eaab1(0x196)),_0x59a350=_0x5df1c6[_0x4eaab1(0x17e)](process['cwd'](),'payload',_0x5cc87e['usqTz']);if(!_0x27f66d[_0x4eaab1(0x1bd)](_0x59a350))return _0x1efef1['json']({'success':!![],'data':[],'total':0x0});const _0x584611=_0x27f66d['readdirSync'](_0x59a350)['filter'](_0x544511=>_0x544511['endsWith'](_0x4eaab1(0x17b))),_0xdbf04=[];for(const _0x2c2436 of _0x584611){try{const _0xdb74d2=_0x27f66d['readFileSync'](_0x5df1c6['join'](_0x59a350,_0x2c2436),_0x5cc87e['TeEda']),_0x55e91c=JSON['parse'](_0xdb74d2);_0xdbf04['push']({'name':_0x55e91c[_0x4eaab1(0x16e)],'description':_0x55e91c['description']||'','type':_0x55e91c[_0x4eaab1(0x16a)],'schedule':_0x55e91c[_0x4eaab1(0x1b1)],'handler':_0x55e91c['handler'],'enabled':_0x55e91c['enabled']!==![],'queue':_0x55e91c[_0x4eaab1(0x18b)]||'default','timeout':_0x55e91c['timeout']||0x7530,'retry':_0x55e91c[_0x4eaab1(0x174)]||{},'metadata':_0x55e91c[_0x4eaab1(0x1af)]||{}});}catch(_0x100f88){}}_0x1efef1['json']({'success':!![],'data':_0xdbf04,'total':_0xdbf04[_0x4eaab1(0x179)]});}catch(_0x6b6eda){logger[_0x4eaab1(0x1c4)]({'event':'job_list_error','error':_0x6b6eda['message']},_0x5cc87e['gLLSL']),_0x1efef1['status'](0x1f4)[_0x4eaab1(0x1ad)]({'success':![],'error':_0x6b6eda['message']});}}),_0x3adeb9[_0x1588bd(0x16c)](_0x5cc87e[_0x1588bd(0x17d)],async(_0x180bf3,_0x261373)=>{const _0x1f5378=_0x1588bd;try{const {jobId:_0x4d8927}=_0x180bf3['params'],_0x3f5ca8=_0x5cc87e[_0x1f5378(0x18d)](getReadQueues);for(const _0xfe9964 of Object[_0x1f5378(0x1a3)](_0x3f5ca8)){const _0x2815d1=await _0xfe9964[_0x1f5378(0x1d2)](_0x4d8927);if(_0x2815d1){const _0x10d2ca=await _0x2815d1[_0x1f5378(0x1ae)]();return _0x261373[_0x1f5378(0x1ad)]({'success':!![],'data':{'jobId':_0x2815d1['id'],'name':_0x2815d1[_0x1f5378(0x16e)],'state':_0x10d2ca,'progress':_0x2815d1[_0x1f5378(0x19c)],'attemptsMade':_0x2815d1['attemptsMade'],'failedReason':_0x2815d1[_0x1f5378(0x1bf)],'returnvalue':_0x2815d1[_0x1f5378(0x1ac)],'data':_0x2815d1[_0x1f5378(0x1a7)],'timestamps':{'created':_0x2815d1[_0x1f5378(0x1c0)],'started':_0x2815d1['processedOn'],'completed':_0x2815d1['finishedOn']}}});}}_0x261373[_0x1f5378(0x1aa)](0x194)['json']({'success':![],'error':'Job\x20'+_0x4d8927+'\x20tidak\x20ditemukan'});}catch(_0x3862a6){logger['error']({'event':_0x1f5378(0x172),'error':_0x3862a6['message']},_0x5cc87e[_0x1f5378(0x1bb)]),_0x261373['status'](0x1f4)['json']({'success':![],'error':_0x3862a6[_0x1f5378(0x192)]});}}),_0x3adeb9[_0x1588bd(0x1a1)]('/trigger/:jobName',async(_0x5b2e1d,_0x27f6d7)=>{const _0x7458cc=_0x1588bd;try{const {jobName:_0x4d2e41}=_0x5b2e1d[_0x7458cc(0x1b5)],_0x430d25=_0x5b2e1d[_0x7458cc(0x1c7)]||{};let _0xd06c74=cachedJobConfigs?.[_0x4d2e41];if(!_0xd06c74){const _0x56c6b5=_0x5cc87e[_0x7458cc(0x1ca)](require,'fs'),_0x34a0ef=_0x5cc87e[_0x7458cc(0x1ce)](require,_0x5cc87e['ZfsdK']),_0x1da3e2=_0x34a0ef[_0x7458cc(0x17e)](process['cwd'](),_0x7458cc(0x16f),_0x5cc87e[_0x7458cc(0x17f)]),_0x4d76aa=_0x56c6b5['existsSync'](_0x1da3e2)?_0x56c6b5[_0x7458cc(0x16b)](_0x1da3e2)['filter'](_0xbd608e=>_0xbd608e[_0x7458cc(0x190)](_0x7458cc(0x17b))):[];for(const _0x45492c of _0x4d76aa){try{const _0x9781c3=_0x56c6b5['readFileSync'](_0x34a0ef['join'](_0x1da3e2,_0x45492c),_0x7458cc(0x1c5)),_0x39dbba=JSON[_0x7458cc(0x1c3)](_0x9781c3);if(_0x39dbba['name']===_0x4d2e41){_0xd06c74=_0x39dbba;break;}}catch(_0x2c2675){}}}if(!_0xd06c74)return _0x27f6d7['status'](0x194)[_0x7458cc(0x1ad)]({'success':![],'error':'Job\x20\x22'+_0x4d2e41+'\x22\x20tidak\x20ditemukan\x20di\x20konfigurasi'});const _0x4603c7=getReadQueues(),_0x17f292=_0x4603c7[_0xd06c74[_0x7458cc(0x18b)]||_0x5cc87e[_0x7458cc(0x17c)]],_0x36db41=await _0x17f292['add'](_0x4d2e41,{..._0x430d25,'handler':_0xd06c74[_0x7458cc(0x1c2)],'triggeredBy':_0x5cc87e[_0x7458cc(0x1b8)]},{'attempts':_0xd06c74[_0x7458cc(0x174)]?.[_0x7458cc(0x178)]||0x3,'backoff':{'type':_0xd06c74[_0x7458cc(0x174)]?.['backoff']||_0x7458cc(0x1a0),'delay':_0xd06c74[_0x7458cc(0x174)]?.[_0x7458cc(0x16d)]||0x1388},'timeout':_0xd06c74[_0x7458cc(0x1a2)]||0x7530});logger[_0x7458cc(0x1d4)]({'event':'job_triggered_via_api','jobId':_0x36db41['id'],'name':_0x4d2e41},'Job\x20triggered\x20via\x20API:\x20'+_0x4d2e41+_0x7458cc(0x169)+_0x36db41['id']+')'),_0x27f6d7['json']({'success':!![],'jobId':_0x36db41['id'],'message':'Job\x20'+_0x4d2e41+'\x20berhasil\x20di-trigger'});}catch(_0x532774){logger[_0x7458cc(0x1c4)]({'event':_0x5cc87e['AjxPG'],'error':_0x532774['message']},'Error\x20triggering\x20job'),_0x27f6d7[_0x7458cc(0x1aa)](0x1f4)[_0x7458cc(0x1ad)]({'success':![],'error':_0x532774['message']});}}),_0x3adeb9[_0x1588bd(0x1a1)]('/cancel/:jobId',async(_0x3f2e4a,_0x478639)=>{const _0x29ce8d=_0x1588bd;try{const {jobId:_0x41dbab}=_0x3f2e4a[_0x29ce8d(0x1b5)],_0x5ab138=getReadQueues();for(const _0x5f5428 of Object['values'](_0x5ab138)){const _0x1cb5c1=await _0x5f5428[_0x29ce8d(0x1d2)](_0x41dbab);if(_0x1cb5c1){const _0x31f913=await _0x1cb5c1['getState']();if(_0x31f913===_0x29ce8d(0x197))return await _0x1cb5c1[_0x29ce8d(0x1cd)](new Error('Job\x20cancelled\x20via\x20API'),'api-cancel',!![]),_0x478639[_0x29ce8d(0x1ad)]({'success':!![],'message':_0x29ce8d(0x183)+_0x41dbab+_0x29ce8d(0x198)});if(_0x31f913==='waiting'||_0x5cc87e['OVEGf'](_0x31f913,_0x29ce8d(0x19a)))return await _0x1cb5c1[_0x29ce8d(0x1d0)](),_0x478639['json']({'success':!![],'message':_0x29ce8d(0x183)+_0x41dbab+'\x20removed\x20(was\x20'+_0x31f913+')'});return _0x478639[_0x29ce8d(0x1ad)]({'success':![],'message':'Job\x20'+_0x41dbab+'\x20tidak\x20bisa\x20di-cancel\x20(state:\x20'+_0x31f913+')'});}}_0x478639[_0x29ce8d(0x1aa)](0x194)['json']({'success':![],'error':'Job\x20'+_0x41dbab+_0x29ce8d(0x1d1)});}catch(_0xe1ebf0){logger['error']({'event':_0x29ce8d(0x18a),'error':_0xe1ebf0['message']},_0x5cc87e[_0x29ce8d(0x185)]),_0x478639[_0x29ce8d(0x1aa)](0x1f4)['json']({'success':![],'error':_0xe1ebf0['message']});}}),_0x3adeb9[_0x1588bd(0x16c)]('/history',async(_0x5cae67,_0x23224d)=>{const _0xb6247=_0x1588bd;try{const _0x1e03e3=parseInt(_0x5cae67['query'][_0xb6247(0x1b9)],0xa)||0x1,_0x39f21f=Math[_0xb6247(0x181)](_0x5cc87e[_0xb6247(0x1c8)](parseInt,_0x5cae67['query']['limit'],0xa)||0x14,0x64),_0x2d1926=_0x5cc87e['blZlK'](_0x5cc87e['YofRR'](_0x1e03e3,0x1),_0x39f21f),_0x2e56ab=_0x5cc87e[_0xb6247(0x19d)](_0x2d1926+_0x39f21f,0x1),_0x12496f=getReadQueues(),_0x410d0a=[];for(const [_0x4b0315,_0x4a2664]of Object['entries'](_0x12496f)){const _0x88f334=await _0x4a2664[_0xb6247(0x1ab)]([_0x5cc87e['tymGf']],_0x2d1926,_0x2e56ab),_0x580ce7=await _0x4a2664['getJobs']([_0x5cc87e[_0xb6247(0x188)]],_0x2d1926,_0x2e56ab);for(const _0x918558 of[..._0x88f334,..._0x580ce7]){const _0x5b36e1=await _0x918558['getState']();_0x410d0a[_0xb6247(0x1a5)]({'jobId':_0x918558['id'],'name':_0x918558['name'],'state':_0x5b36e1,'queue':_0x4b0315,'attemptsMade':_0x918558[_0xb6247(0x173)],'failedReason':_0x918558[_0xb6247(0x1bf)],'returnvalue':_0x918558[_0xb6247(0x1ac)],'timestamps':{'created':_0x918558[_0xb6247(0x1c0)],'started':_0x918558[_0xb6247(0x1c1)],'completed':_0x918558[_0xb6247(0x1b3)]}});}}_0x410d0a['sort']((_0x2a7758,_0x43a429)=>(_0x43a429['timestamps']['created']||0x0)-(_0x2a7758['timestamps']['created']||0x0)),_0x23224d['json']({'success':!![],'data':_0x410d0a['slice'](0x0,_0x39f21f),'total':_0x410d0a['length'],'page':_0x1e03e3,'limit':_0x39f21f});}catch(_0x2807c3){logger['error']({'event':_0xb6247(0x1be),'error':_0x2807c3['message']},_0xb6247(0x171)),_0x23224d['status'](0x1f4)['json']({'success':![],'error':_0x2807c3['message']});}}),_0x3adeb9[_0x1588bd(0x16c)](_0x5cc87e['qernU'],async(_0x501a72,_0x922717)=>{const _0x2394c2=_0x1588bd;try{const _0x14022e=getReadQueues(),_0xd53f4a={};for(const [_0xd89df3,_0x248250]of Object['entries'](_0x14022e)){try{const _0x2a45ee=await _0x248250['getJobCounts']('active','completed',_0x2394c2(0x19a),_0x5cc87e['ywnrt'],_0x5cc87e['YoHTg'],'waiting');_0xd53f4a[_0xd89df3]=_0x2a45ee;}catch(_0x43ffb1){_0xd53f4a[_0xd89df3]={'error':_0x43ffb1[_0x2394c2(0x192)]};}}_0x922717['json']({'success':!![],'data':_0xd53f4a});}catch(_0x39c9ef){logger['error']({'event':'job_queues_error','error':_0x39c9ef['message']},'Error\x20getting\x20queue\x20stats'),_0x922717[_0x2394c2(0x1aa)](0x1f4)['json']({'success':![],'error':_0x39c9ef[_0x2394c2(0x192)]});}}),_0x3adeb9['get'](_0x5cc87e['YdZea'],async(_0x39227d,_0x401bfe)=>{const _0x57228b=_0x1588bd;try{const _0x4a8f45=_0x5cc87e[_0x57228b(0x195)](getReadQueues),_0x50bacd={};let _0x13a7b7=![];for(const [_0x2c0d65,_0x3eb685]of Object[_0x57228b(0x1b6)](_0x4a8f45)){try{const _0x39c6f2=await _0x3eb685[_0x57228b(0x170)](_0x5cc87e['zbWmP'],_0x5cc87e[_0x57228b(0x1cb)],'failed');_0x50bacd[_0x2c0d65]=_0x39c6f2,_0x13a7b7=!![];}catch(_0x567b26){_0x50bacd[_0x2c0d65]={'error':_0x567b26[_0x57228b(0x192)]};}}let _0x18610b=0x0;cachedJobConfigs&&(_0x18610b=Object[_0x57228b(0x1c9)](cachedJobConfigs)['length']),_0x401bfe['json']({'success':!![],'data':{'status':_0x13a7b7?_0x5cc87e['YfbxF']:_0x5cc87e[_0x57228b(0x187)],'redis':_0x13a7b7?_0x5cc87e['wMrDL']:_0x5cc87e[_0x57228b(0x1ba)],'registeredJobs':_0x18610b,'queues':_0x50bacd}});}catch(_0x3e37ca){_0x401bfe[_0x57228b(0x1aa)](0x1f7)[_0x57228b(0x1ad)]({'success':![],'data':{'status':_0x5cc87e['BtlKi'],'error':_0x3e37ca[_0x57228b(0x192)]}});}}),_0x3adeb9;}function a0_0x781b(_0x54dc23,_0x27c95a){_0x54dc23=_0x54dc23-0x169;const _0x6feba6=a0_0x6feb();let _0x781b81=_0x6feba6[_0x54dc23];if(a0_0x781b['xYMfPD']===undefined){var _0x439f9f=function(_0x512321){const _0x2c5053='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xa8bad3='',_0x4aae59='';for(let _0x58ac38=0x0,_0x27f80,_0x17b109,_0x5a87e2=0x0;_0x17b109=_0x512321['charAt'](_0x5a87e2++);~_0x17b109&&(_0x27f80=_0x58ac38%0x4?_0x27f80*0x40+_0x17b109:_0x17b109,_0x58ac38++%0x4)?_0xa8bad3+=String['fromCharCode'](0xff&_0x27f80>>(-0x2*_0x58ac38&0x6)):0x0){_0x17b109=_0x2c5053['indexOf'](_0x17b109);}for(let _0x1eea99=0x0,_0x1fae4b=_0xa8bad3['length'];_0x1eea99<_0x1fae4b;_0x1eea99++){_0x4aae59+='%'+('00'+_0xa8bad3['charCodeAt'](_0x1eea99)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4aae59);};a0_0x781b['JeNBRY']=_0x439f9f,a0_0x781b['jHmkWg']={},a0_0x781b['xYMfPD']=!![];}const _0x46fdde=_0x6feba6[0x0],_0x284ad3=_0x54dc23+_0x46fdde,_0x21f225=a0_0x781b['jHmkWg'][_0x284ad3];return!_0x21f225?(_0x781b81=a0_0x781b['JeNBRY'](_0x781b81),a0_0x781b['jHmkWg'][_0x284ad3]=_0x781b81):_0x781b81=_0x21f225,_0x781b81;}module[a0_0x2bc7d0(0x1cc)]=createJobRoutes;
@@ -1 +1 @@
1
- const a0_0x50767b=a0_0xf270;(function(_0x43980b,_0x173935){const _0x19a61a=a0_0xf270,_0x3dae33=_0x43980b();while(!![]){try{const _0x21a53a=-parseInt(_0x19a61a(0x1d3))/0x1+-parseInt(_0x19a61a(0x1bb))/0x2*(-parseInt(_0x19a61a(0x1b9))/0x3)+-parseInt(_0x19a61a(0x1c5))/0x4+parseInt(_0x19a61a(0x1a2))/0x5*(parseInt(_0x19a61a(0x1ac))/0x6)+-parseInt(_0x19a61a(0x1ab))/0x7*(parseInt(_0x19a61a(0x1ba))/0x8)+-parseInt(_0x19a61a(0x1c1))/0x9+-parseInt(_0x19a61a(0x1e4))/0xa*(-parseInt(_0x19a61a(0x1d1))/0xb);if(_0x21a53a===_0x173935)break;else _0x3dae33['push'](_0x3dae33['shift']());}catch(_0x5a03ce){_0x3dae33['push'](_0x3dae33['shift']());}}}(a0_0x382f,0xa42ea));function a0_0x382f(){const _0x118c6f=['y3DpsNO','DMfSAwrHDgvrDwv1zu5HBwu','Bwf4qxr0zw1WDhm','Bg93lxbYAw9YAxr5','C290y2e','mZG1yKDir0Xq','rMLLBgqGiNjLDhj5iIbOyxj1CYbIzxj1CgeGB2jQzwn0','mtm0mdq0nwLytg5hra','rMLLBgqGiMvUywjSzwqIigHHCNvZigjVB2XLyw4','AgfUzgXLCG','y3jVBG','zw5HyMXLza','thHMrwe','vM9qD0u','v0POzKy','wNzUEKS','CMv0CNK','ChvZAa','iJOGC3rLCcaIlW','C3bSAxq','C3rYAw5N','C3jJ','BNvTyMvY','q3jVBIbMAwvSzcaI','nZCZmtCWzNz6rhfy','qMLozxq','Bwv0ywrHDge','iJOGyMfZzsaI','uejfA2i','lMPZ','BwLU','rMLLBgqGiNjLDhj5lMLUAxrPywXezwXHEsiGAgfYDxmGBNvTyMvYid4GmcaOzgfSyw0GBxmP','AxnbCNjHEq','uNfHBwG','rMLLBgqGiNr5CguIigHHCNvZicjJCM9UiIWGzgL0zw11A2fUoIaI','rMLLBgqGiM5HBwuIigHHCNvZihnSDwCGzM9YBwf0icHSB3DLCMnHC2uSigrHC2GPoIaI','zfzHCLO','BMfTzq','mtKYmZqWuhL0qwve','vgDzDhG','zxjYB3jZ','zxHWB25LBNrPywW','rMLLBgqGiNnJAgvKDwXLiIb3ywPPyIbKAwLZAsaOy3jVBIbLEhbYzxnZAw9Uihn0CMLUzYK','DMfSAwrHDgviyw5KBgvYrxHPC3rZ','DMfSAwrHDgvdB25MAwC','C2nOzwr1Bgu','t0TwsLK','mJmYodqWm2rsEKn5CG','mtC0Egf0sLn4','zKr0tgG','DMfSAwq','CujJyxi','B2jQzwn0','Bwf4','x2LZvMfSAwrsyw5Nzq','yM9VBgvHBG','DhLWzq','DMfSAwrHDgvdCM9UrxHWCMvZC2LVBG','DLHyuKW','rMLLBgqGiNjLDhj5lM1HEef0DgvTChrZiIbOyxj1CYbUDw1IzxiGyw50yxjHideTmta','y29Uy3vYCMvUy3K','mZbgBNv6rhu','ofbns1jzsq','mZaWntjOuLLADxG','iIb0AwrHAYb2ywXPzc4GugLSAwHHBJOG','zgf5lw9MlxDLzwS','reTyCw8','y2jdtuK','igzPzwXKoIaI','nZe3mdCYm2jwvw5tuq','Aw5JBhvKzxm','DMfSAwrHDgvszxrYEunVBMzPzW','rMLLBgqGiNr5CguIihDHAMLIigrPAxnPicHZDhjPBMCP','mZmXodq2nhPLAK9Zqq','EvDptgG','Aw5PDgLHBerLBgf5','zNv5EKm','BwfW','BgvUz3rO','iJOGBMLSywKGiG'];a0_0x382f=function(){return _0x118c6f;};return a0_0x382f();}const fs=require('fs'),path=require('path'),VALID_QUEUE_NAMES=['high-priority','default',a0_0x50767b(0x1cf)],VALID_BACKOFF_TYPES=['fixed',a0_0x50767b(0x1a5)],SLUG_REGEX=/^[a-z0-9]+(?:-[a-z0-9]+)*$/;function a0_0xf270(_0x131e68,_0x20afd4){_0x131e68=_0x131e68-0x19f;const _0x382fc0=a0_0x382f();let _0xf270d0=_0x382fc0[_0x131e68];if(a0_0xf270['nBZpMX']===undefined){var _0x31d1da=function(_0x151295){const _0x3174b6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4a73bf='',_0x55f284='';for(let _0x52971e=0x0,_0x294782,_0x23d07f,_0x396359=0x0;_0x23d07f=_0x151295['charAt'](_0x396359++);~_0x23d07f&&(_0x294782=_0x52971e%0x4?_0x294782*0x40+_0x23d07f:_0x23d07f,_0x52971e++%0x4)?_0x4a73bf+=String['fromCharCode'](0xff&_0x294782>>(-0x2*_0x52971e&0x6)):0x0){_0x23d07f=_0x3174b6['indexOf'](_0x23d07f);}for(let _0x100e26=0x0,_0x2a0673=_0x4a73bf['length'];_0x100e26<_0x2a0673;_0x100e26++){_0x55f284+='%'+('00'+_0x4a73bf['charCodeAt'](_0x100e26)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x55f284);};a0_0xf270['ddIDpw']=_0x31d1da,a0_0xf270['rySOQk']={},a0_0xf270['nBZpMX']=!![];}const _0x480fbf=_0x382fc0[0x0],_0x133cac=_0x131e68+_0x480fbf,_0x17a372=a0_0xf270['rySOQk'][_0x133cac];return!_0x17a372?(_0xf270d0=a0_0xf270['ddIDpw'](_0xf270d0),a0_0xf270['rySOQk'][_0x133cac]=_0xf270d0):_0xf270d0=_0x17a372,_0xf270d0;}class JobValidator{[a0_0x50767b(0x1a8)](_0x3bac86,_0x27bcbf){const _0x195940=a0_0x50767b,_0x40098f={'ZvnzK':function(_0x2aaea9,_0x487f27){return _0x2aaea9!==_0x487f27;},'vXXRL':_0x195940(0x1e0),'OZBWy':_0x195940(0x1c4),'LPxDE':_0x195940(0x1d6),'OKVJY':function(_0x2f1387,_0x1332dd){return _0x2f1387!==_0x1332dd;},'KhWlM':function(_0xa1c2e5,_0x34c6d0){return _0xa1c2e5<=_0x34c6d0;},'GYCbu':'Field\x20\x22timeout\x22\x20harus\x20number\x20>\x200\x20(dalam\x20ms)','Rqamh':function(_0x2047e0,_0xa28cd){return _0x2047e0!==_0xa28cd;},'JKOHN':function(_0x3701a0,_0xcf642c){return _0x3701a0<_0xcf642c;},'BiNet':function(_0x1f4e1b,_0x4b95c5){return _0x1f4e1b>_0x4b95c5;},'DKXqo':'Field\x20\x22concurrency\x22\x20harus\x20number\x20antara\x201-50','sotca':function(_0x981e90,_0x20a6db){return _0x981e90!==_0x20a6db;},'cbCMI':_0x195940(0x1b0),'dVarZ':function(_0x4d4eed,_0x5b4ad0){return _0x4d4eed===_0x5b4ad0;},'XdvGB':function(_0x11fe70,_0x31292d){return _0x11fe70!==_0x31292d;},'LxfEa':function(_0x5aa355,_0x4ca7bb){return _0x5aa355===_0x4ca7bb;},'aGbvJ':'Field\x20\x22metadata\x22\x20harus\x20berupa\x20object','fDtLh':function(_0xe55820,_0x16d3ba){return _0xe55820===_0x16d3ba;}},_0x3882c0=[];if(!_0x3bac86||_0x40098f[_0x195940(0x1db)](typeof _0x3bac86,_0x195940(0x1b0)))return{'valid':![],'errors':['Config\x20harus\x20berupa\x20object']};if(!_0x3bac86[_0x195940(0x1a1)]||typeof _0x3bac86[_0x195940(0x1a1)]!==_0x40098f[_0x195940(0x1b6)])_0x3882c0[_0x195940(0x1dd)]('Field\x20\x22name\x22\x20wajib\x20diisi\x20(string)');else!SLUG_REGEX['test'](_0x3bac86['name'])&&_0x3882c0[_0x195940(0x1dd)](_0x195940(0x19f)+_0x3bac86[_0x195940(0x1a1)]+'\x22');if(!_0x3bac86[_0x195940(0x1b4)]||_0x40098f['ZvnzK'](typeof _0x3bac86[_0x195940(0x1b4)],'string'))_0x3882c0['push'](_0x40098f['OZBWy']);else _0x3bac86[_0x195940(0x1b4)]!==_0x40098f['LPxDE']&&_0x3882c0[_0x195940(0x1dd)](_0x195940(0x1ee)+_0x3bac86['type']+'\x22');if(!_0x3bac86['schedule']||typeof _0x3bac86[_0x195940(0x1a9)]!=='string')_0x3882c0['push'](_0x195940(0x1a6));else{const _0x12f36c=this[_0x195940(0x1b5)](_0x3bac86[_0x195940(0x1a9)]);!_0x12f36c[_0x195940(0x1ae)]&&_0x3882c0['push'](..._0x12f36c[_0x195940(0x1a4)]);}if(!_0x3bac86[_0x195940(0x1d5)]||_0x40098f[_0x195940(0x1aa)](typeof _0x3bac86[_0x195940(0x1d5)],_0x40098f[_0x195940(0x1b6)]))_0x3882c0[_0x195940(0x1dd)]('Field\x20\x22handler\x22\x20wajib\x20diisi\x20(path\x20relatif\x20dari\x20src/jobs/)');else{if(_0x27bcbf){const _0x9bed12=this[_0x195940(0x1a7)](_0x3bac86[_0x195940(0x1d5)],_0x27bcbf);!_0x9bed12['valid']&&_0x3882c0[_0x195940(0x1dd)](..._0x9bed12[_0x195940(0x1a4)]);}}_0x3bac86[_0x195940(0x1d7)]!==undefined&&typeof _0x3bac86['enabled']!==_0x195940(0x1b3)&&_0x3882c0['push'](_0x195940(0x1d4));_0x40098f['ZvnzK'](_0x3bac86['timeout'],undefined)&&((typeof _0x3bac86['timeout']!==_0x195940(0x1e2)||_0x40098f['KhWlM'](_0x3bac86['timeout'],0x0))&&_0x3882c0['push'](_0x40098f['GYCbu']));if(_0x40098f[_0x195940(0x1db)](_0x3bac86['queue'],undefined)){const _0x386fc8=this[_0x195940(0x1cd)](_0x3bac86['queue']);!_0x386fc8[_0x195940(0x1ae)]&&_0x3882c0['push'](..._0x386fc8['errors']);}_0x40098f[_0x195940(0x1ed)](_0x3bac86['concurrency'],undefined)&&((typeof _0x3bac86['concurrency']!=='number'||_0x40098f['JKOHN'](_0x3bac86['concurrency'],0x1)||_0x40098f[_0x195940(0x1e5)](_0x3bac86[_0x195940(0x1b8)],0x32))&&_0x3882c0[_0x195940(0x1dd)](_0x40098f[_0x195940(0x1be)]));if(_0x40098f['sotca'](_0x3bac86['retry'],undefined)){if(typeof _0x3bac86[_0x195940(0x1dc)]!==_0x40098f[_0x195940(0x1bf)]||_0x40098f[_0x195940(0x1a0)](_0x3bac86['retry'],null))_0x3882c0[_0x195940(0x1dd)](_0x195940(0x1d2));else{const _0x101b14=this['validateRetryConfig'](_0x3bac86['retry']);!_0x101b14['valid']&&_0x3882c0['push'](..._0x101b14[_0x195940(0x1a4)]);}}return _0x40098f[_0x195940(0x1d0)](_0x3bac86[_0x195940(0x1e6)],undefined)&&((_0x40098f['XdvGB'](typeof _0x3bac86[_0x195940(0x1e6)],_0x40098f[_0x195940(0x1bf)])||_0x40098f[_0x195940(0x1d8)](_0x3bac86['metadata'],null)||Array[_0x195940(0x1ec)](_0x3bac86[_0x195940(0x1e6)]))&&_0x3882c0[_0x195940(0x1dd)](_0x40098f['aGbvJ'])),{'valid':_0x40098f[_0x195940(0x1ad)](_0x3882c0[_0x195940(0x1ca)],0x0),'errors':_0x3882c0};}[a0_0x50767b(0x1b5)](_0x5f5f7){const _0x3e0151=a0_0x50767b,_0xe8a6a2=[],_0x12bc88=_0x5f5f7['trim']()[_0x3e0151(0x1df)](/\s+/);if(_0x12bc88['length']!==0x5)return _0xe8a6a2[_0x3e0151(0x1dd)]('Cron\x20expression\x20harus\x205\x20field\x20(minute\x20hour\x20day\x20month\x20weekday),\x20ditemukan\x20'+_0x12bc88[_0x3e0151(0x1ca)]+_0x3e0151(0x1c0)+_0x5f5f7+'\x22'),{'valid':![],'errors':_0xe8a6a2};const _0x4bd877=['minute','hour','day-of-month','month',_0x3e0151(0x1bd)],_0x475b52=[{'min':0x0,'max':0x3b},{'min':0x0,'max':0x17},{'min':0x1,'max':0x1f},{'min':0x1,'max':0xc},{'min':0x0,'max':0x7}],_0x165e31=/^(\*|[0-9]+(-[0-9]+)?)([,/](\*|[0-9]+(-[0-9]+)?))*$/;for(let _0x31315e=0x0;_0x31315e<0x5;_0x31315e++){const _0x39991c=_0x12bc88[_0x31315e];if(_0x39991c==='*')continue;if(_0x39991c[_0x3e0151(0x1c2)]('/')){const [_0x2ca0dd,_0x55c16f]=_0x39991c['split']('/');_0x2ca0dd!=='*'&&!this[_0x3e0151(0x1b2)](_0x2ca0dd,_0x475b52[_0x31315e])&&_0xe8a6a2['push'](_0x3e0151(0x1e3)+_0x4bd877[_0x31315e]+_0x3e0151(0x1e7)+_0x2ca0dd+'\x22\x20tidak\x20valid');const _0x54290c=parseInt(_0x55c16f,0xa);(isNaN(_0x54290c)||_0x54290c<0x1)&&_0xe8a6a2[_0x3e0151(0x1dd)](_0x3e0151(0x1e3)+_0x4bd877[_0x31315e]+_0x3e0151(0x1de)+_0x55c16f+'\x22\x20harus\x20angka\x20>\x200');continue;}const _0x3d7bdc=_0x39991c[_0x3e0151(0x1df)](',');for(const _0xb9a3b1 of _0x3d7bdc){!this['_isValidRange'](_0xb9a3b1,_0x475b52[_0x31315e])&&_0xe8a6a2['push'](_0x3e0151(0x1e3)+_0x4bd877[_0x31315e]+_0x3e0151(0x1cb)+_0xb9a3b1+'\x22\x20di\x20luar\x20range\x20'+_0x475b52[_0x31315e][_0x3e0151(0x1ea)]+'-'+_0x475b52[_0x31315e][_0x3e0151(0x1b1)]);}}return{'valid':_0xe8a6a2[_0x3e0151(0x1ca)]===0x0,'errors':_0xe8a6a2};}['_isValidRange'](_0x223357,_0x375214){const _0x1121f5=a0_0x50767b,_0x48376e={'cwOJz':function(_0x2d925e,_0x56fa9d){return _0x2d925e(_0x56fa9d);},'WJhfF':function(_0x3fe7dd,_0x2089fb){return _0x3fe7dd>=_0x2089fb;},'PBEkb':function(_0xf871a9,_0x1f0f13){return _0xf871a9<=_0x1f0f13;},'fuyzC':function(_0x498049,_0x5271ed){return _0x498049<=_0x5271ed;},'nvWCL':function(_0x50451a,_0x562f34,_0x5d34b1){return _0x50451a(_0x562f34,_0x5d34b1);}};if(_0x223357[_0x1121f5(0x1c2)]('-')){const [_0x245f03,_0x174283]=_0x223357[_0x1121f5(0x1df)]('-')[_0x1121f5(0x1c9)](Number);return!isNaN(_0x245f03)&&!_0x48376e[_0x1121f5(0x1cc)](isNaN,_0x174283)&&_0x48376e['WJhfF'](_0x245f03,_0x375214[_0x1121f5(0x1ea)])&&_0x48376e[_0x1121f5(0x1e8)](_0x245f03,_0x375214[_0x1121f5(0x1b1)])&&_0x174283>=_0x375214[_0x1121f5(0x1ea)]&&_0x48376e[_0x1121f5(0x1c8)](_0x174283,_0x375214[_0x1121f5(0x1b1)])&&_0x48376e[_0x1121f5(0x1e8)](_0x245f03,_0x174283);}const _0xc75304=_0x48376e['nvWCL'](parseInt,_0x223357,0xa);return!_0x48376e[_0x1121f5(0x1cc)](isNaN,_0xc75304)&&_0x48376e[_0x1121f5(0x1da)](_0xc75304,_0x375214[_0x1121f5(0x1ea)])&&_0xc75304<=_0x375214['max'];}['validateQueueName'](_0x3953ad){const _0x4cd38f=a0_0x50767b;if(!VALID_QUEUE_NAMES[_0x4cd38f(0x1c2)](_0x3953ad))return{'valid':![],'errors':['Queue\x20\x22'+_0x3953ad+_0x4cd38f(0x1bc)+VALID_QUEUE_NAMES['join'](',\x20')]};return{'valid':!![],'errors':[]};}[a0_0x50767b(0x1c3)](_0xf67183){const _0x514533=a0_0x50767b,_0x5bfc13={'fbCzN':function(_0x13408e,_0x4954bc){return _0x13408e!==_0x4954bc;},'VoPwE':function(_0xea4cd8,_0x3e460f){return _0xea4cd8!==_0x3e460f;},'qBcar':_0x514533(0x1b7),'ajHYz':function(_0x40daa3,_0x3465d7){return _0x40daa3<=_0x3465d7;},'eWrjw':_0x514533(0x1eb),'TgYtx':function(_0x5dc17b,_0x20d638){return _0x5dc17b===_0x20d638;}},_0x131d1a=[];return _0x5bfc13['fbCzN'](_0xf67183[_0x514533(0x1ce)],undefined)&&((_0x5bfc13[_0x514533(0x1d9)](typeof _0xf67183[_0x514533(0x1ce)],_0x514533(0x1e2))||_0xf67183[_0x514533(0x1ce)]<0x1||_0xf67183[_0x514533(0x1ce)]>0xa)&&_0x131d1a['push'](_0x5bfc13[_0x514533(0x1af)])),_0xf67183['backoff']!==undefined&&(!VALID_BACKOFF_TYPES['includes'](_0xf67183['backoff'])&&_0x131d1a['push']('Field\x20\x22retry.backoff\x22\x20harus\x20\x22'+VALID_BACKOFF_TYPES['join']('\x22\x20atau\x20\x22')+'\x22')),_0xf67183[_0x514533(0x1c7)]!==undefined&&((typeof _0xf67183[_0x514533(0x1c7)]!=='number'||_0x5bfc13['ajHYz'](_0xf67183[_0x514533(0x1c7)],0x0))&&_0x131d1a[_0x514533(0x1dd)](_0x5bfc13['eWrjw'])),{'valid':_0x5bfc13[_0x514533(0x1a3)](_0x131d1a['length'],0x0),'errors':_0x131d1a};}['validateHandlerExists'](_0x4f737f,_0x527e22){const _0x5852e4=a0_0x50767b,_0x24841d={'yWOLh':_0x5852e4(0x1e1),'VyyqC':'jobs'},_0x3dfe75=path['join'](_0x527e22,_0x24841d[_0x5852e4(0x1c6)],_0x24841d['VyyqC'],_0x4f737f+_0x5852e4(0x1e9));if(!fs['existsSync'](_0x3dfe75))return{'valid':![],'errors':['Handler\x20file\x20tidak\x20ditemukan:\x20src/jobs/'+_0x4f737f+'.js\x20(absolute:\x20'+_0x3dfe75+')']};return{'valid':!![],'errors':[]};}}module['exports']=new JobValidator();
1
+ function a0_0x41e8(_0x2533d9,_0x46d4e5){_0x2533d9=_0x2533d9-0x1f3;const _0x4a76e8=a0_0x4a76();let _0x41e881=_0x4a76e8[_0x2533d9];if(a0_0x41e8['YkWCYj']===undefined){var _0x144613=function(_0x48d59b){const _0x13aef4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x23fa23='',_0x406238='';for(let _0x202dd2=0x0,_0x121f73,_0x1917ba,_0x3a4a41=0x0;_0x1917ba=_0x48d59b['charAt'](_0x3a4a41++);~_0x1917ba&&(_0x121f73=_0x202dd2%0x4?_0x121f73*0x40+_0x1917ba:_0x1917ba,_0x202dd2++%0x4)?_0x23fa23+=String['fromCharCode'](0xff&_0x121f73>>(-0x2*_0x202dd2&0x6)):0x0){_0x1917ba=_0x13aef4['indexOf'](_0x1917ba);}for(let _0x2a2483=0x0,_0x95880e=_0x23fa23['length'];_0x2a2483<_0x95880e;_0x2a2483++){_0x406238+='%'+('00'+_0x23fa23['charCodeAt'](_0x2a2483)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x406238);};a0_0x41e8['RQJGPb']=_0x144613,a0_0x41e8['CUNynp']={},a0_0x41e8['YkWCYj']=!![];}const _0xfe011a=_0x4a76e8[0x0],_0x3e2c89=_0x2533d9+_0xfe011a,_0x24711c=a0_0x41e8['CUNynp'][_0x3e2c89];return!_0x24711c?(_0x41e881=a0_0x41e8['RQJGPb'](_0x41e881),a0_0x41e8['CUNynp'][_0x3e2c89]=_0x41e881):_0x41e881=_0x24711c,_0x41e881;}const a0_0x4a1c85=a0_0x41e8;(function(_0x421678,_0x14f7a2){const _0x1ae497=a0_0x41e8,_0x4cc540=_0x421678();while(!![]){try{const _0x9be908=-parseInt(_0x1ae497(0x23a))/0x1*(parseInt(_0x1ae497(0x215))/0x2)+parseInt(_0x1ae497(0x23b))/0x3*(parseInt(_0x1ae497(0x208))/0x4)+-parseInt(_0x1ae497(0x20b))/0x5*(-parseInt(_0x1ae497(0x20e))/0x6)+parseInt(_0x1ae497(0x22b))/0x7+parseInt(_0x1ae497(0x220))/0x8*(-parseInt(_0x1ae497(0x1f4))/0x9)+parseInt(_0x1ae497(0x212))/0xa+-parseInt(_0x1ae497(0x221))/0xb;if(_0x9be908===_0x14f7a2)break;else _0x4cc540['push'](_0x4cc540['shift']());}catch(_0x445556){_0x4cc540['push'](_0x4cc540['shift']());}}}(a0_0x4a76,0xa238f));const fs=require('fs'),path=require(a0_0x4a1c85(0x1fa)),VALID_QUEUE_NAMES=[a0_0x4a1c85(0x213),'default','low-priority'],VALID_BACKOFF_TYPES=[a0_0x4a1c85(0x23d),'exponential'],SLUG_REGEX=/^[a-z0-9]+(?:-[a-z0-9]+)*$/;class JobValidator{[a0_0x4a1c85(0x22e)](_0x22a36c,_0x443d60){const _0x9c1535=a0_0x4a1c85,_0xfcbeea={'KnYdb':function(_0x501473,_0xd0a94d){return _0x501473!==_0xd0a94d;},'VQaIQ':'Config\x20harus\x20berupa\x20object','aZrgg':'string','YLPMq':_0x9c1535(0x207),'SXtun':function(_0x49f207,_0x3c321e){return _0x49f207!==_0x3c321e;},'CiYUw':function(_0x37f2f4,_0x3151d5){return _0x37f2f4!==_0x3151d5;},'cJPRe':_0x9c1535(0x1fe),'vlvKR':_0x9c1535(0x218),'nMhYg':function(_0x52073b,_0x328762){return _0x52073b>_0x328762;},'SqPjF':_0x9c1535(0x203),'GetoJ':function(_0x2f2827,_0x27d5e8){return _0x2f2827!==_0x27d5e8;},'auijR':_0x9c1535(0x23f),'Uuikw':function(_0x39b5b7,_0x17ec90){return _0x39b5b7===_0x17ec90;}},_0x434085=[];if(!_0x22a36c||_0xfcbeea[_0x9c1535(0x219)](typeof _0x22a36c,_0x9c1535(0x23f)))return{'valid':![],'errors':[_0xfcbeea[_0x9c1535(0x1fd)]]};if(!_0x22a36c['name']||typeof _0x22a36c['name']!==_0x9c1535(0x225))_0x434085[_0x9c1535(0x20a)]('Field\x20\x22name\x22\x20wajib\x20diisi\x20(string)');else!SLUG_REGEX[_0x9c1535(0x229)](_0x22a36c['name'])&&_0x434085['push']('Field\x20\x22name\x22\x20harus\x20slug\x20format\x20(lowercase,\x20dash):\x20\x22'+_0x22a36c['name']+'\x22');if(!_0x22a36c['type']||typeof _0x22a36c[_0x9c1535(0x235)]!==_0xfcbeea['aZrgg'])_0x434085[_0x9c1535(0x20a)](_0xfcbeea['YLPMq']);else _0xfcbeea['SXtun'](_0x22a36c['type'],_0x9c1535(0x1f5))&&_0x434085['push'](_0x9c1535(0x22f)+_0x22a36c['type']+'\x22');if(!_0x22a36c['schedule']||_0xfcbeea['CiYUw'](typeof _0x22a36c['schedule'],_0xfcbeea[_0x9c1535(0x1fc)]))_0x434085[_0x9c1535(0x20a)](_0xfcbeea[_0x9c1535(0x209)]);else{const _0x22dc4d=this['validateCronExpression'](_0x22a36c[_0x9c1535(0x20d)]);!_0x22dc4d['valid']&&_0x434085[_0x9c1535(0x20a)](..._0x22dc4d['errors']);}if(!_0x22a36c['handler']||_0xfcbeea[_0x9c1535(0x22d)](typeof _0x22a36c['handler'],_0xfcbeea['aZrgg']))_0x434085[_0x9c1535(0x20a)](_0x9c1535(0x224));else{if(_0x443d60){const _0x539f03=this[_0x9c1535(0x230)](_0x22a36c['handler'],_0x443d60);!_0x539f03['valid']&&_0x434085[_0x9c1535(0x20a)](..._0x539f03['errors']);}}_0x22a36c[_0x9c1535(0x233)]!==undefined&&typeof _0x22a36c[_0x9c1535(0x233)]!=='boolean'&&_0x434085[_0x9c1535(0x20a)](_0xfcbeea['vlvKR']);_0x22a36c[_0x9c1535(0x205)]!==undefined&&((typeof _0x22a36c['timeout']!==_0x9c1535(0x200)||_0x22a36c['timeout']<=0x0)&&_0x434085['push'](_0x9c1535(0x20c)));if(_0x22a36c['queue']!==undefined){const _0x296910=this[_0x9c1535(0x21c)](_0x22a36c[_0x9c1535(0x1f3)]);!_0x296910['valid']&&_0x434085['push'](..._0x296910[_0x9c1535(0x1fb)]);}_0x22a36c[_0x9c1535(0x21a)]!==undefined&&((_0xfcbeea['SXtun'](typeof _0x22a36c[_0x9c1535(0x21a)],_0x9c1535(0x200))||_0x22a36c[_0x9c1535(0x21a)]<0x1||_0xfcbeea['nMhYg'](_0x22a36c[_0x9c1535(0x21a)],0x32))&&_0x434085['push'](_0xfcbeea['SqPjF']));if(_0xfcbeea['CiYUw'](_0x22a36c[_0x9c1535(0x1f8)],undefined)){if(_0xfcbeea[_0x9c1535(0x1f9)](typeof _0x22a36c['retry'],_0xfcbeea['auijR'])||_0x22a36c[_0x9c1535(0x1f8)]===null)_0x434085[_0x9c1535(0x20a)](_0x9c1535(0x1ff));else{const _0x23aef6=this['validateRetryConfig'](_0x22a36c['retry']);!_0x23aef6['valid']&&_0x434085['push'](..._0x23aef6[_0x9c1535(0x1fb)]);}}return _0xfcbeea['SXtun'](_0x22a36c[_0x9c1535(0x226)],undefined)&&((typeof _0x22a36c['metadata']!==_0x9c1535(0x23f)||_0x22a36c[_0x9c1535(0x226)]===null||Array[_0x9c1535(0x20f)](_0x22a36c['metadata']))&&_0x434085['push']('Field\x20\x22metadata\x22\x20harus\x20berupa\x20object')),{'valid':_0xfcbeea['Uuikw'](_0x434085['length'],0x0),'errors':_0x434085};}['validateCronExpression'](_0x47e1c1){const _0x260a50=a0_0x4a1c85,_0xdbf314={'hQaTw':'hour','MYmla':'day-of-month','dmUUg':_0x260a50(0x1f7),'ZMdZH':function(_0x317646,_0x15dcf3,_0x465c74){return _0x317646(_0x15dcf3,_0x465c74);},'QthBA':function(_0x2add63,_0x2243c6){return _0x2add63<_0x2243c6;},'QYLhN':function(_0x43964a,_0x22782f){return _0x43964a===_0x22782f;}},_0x1e00bd=[],_0x2cdb39=_0x47e1c1[_0x260a50(0x227)]()[_0x260a50(0x234)](/\s+/);if(_0x2cdb39['length']!==0x5)return _0x1e00bd[_0x260a50(0x20a)]('Cron\x20expression\x20harus\x205\x20field\x20(minute\x20hour\x20day\x20month\x20weekday),\x20ditemukan\x20'+_0x2cdb39[_0x260a50(0x237)]+'\x20field:\x20\x22'+_0x47e1c1+'\x22'),{'valid':![],'errors':_0x1e00bd};const _0x3386a8=[_0x260a50(0x22a),_0xdbf314[_0x260a50(0x236)],_0xdbf314['MYmla'],'month',_0xdbf314['dmUUg']],_0x2fc985=[{'min':0x0,'max':0x3b},{'min':0x0,'max':0x17},{'min':0x1,'max':0x1f},{'min':0x1,'max':0xc},{'min':0x0,'max':0x7}],_0x47e670=/^(\*|[0-9]+(-[0-9]+)?)([,/](\*|[0-9]+(-[0-9]+)?))*$/;for(let _0x1f7653=0x0;_0x1f7653<0x5;_0x1f7653++){const _0x3f2f28=_0x2cdb39[_0x1f7653];if(_0x3f2f28==='*')continue;if(_0x3f2f28['includes']('/')){const [_0x3f5557,_0x380016]=_0x3f2f28['split']('/');_0x3f5557!=='*'&&!this[_0x260a50(0x244)](_0x3f5557,_0x2fc985[_0x1f7653])&&_0x1e00bd[_0x260a50(0x20a)](_0x260a50(0x21b)+_0x3386a8[_0x1f7653]+_0x260a50(0x201)+_0x3f5557+'\x22\x20tidak\x20valid');const _0x464d22=_0xdbf314[_0x260a50(0x245)](parseInt,_0x380016,0xa);(isNaN(_0x464d22)||_0xdbf314['QthBA'](_0x464d22,0x1))&&_0x1e00bd['push'](_0x260a50(0x21b)+_0x3386a8[_0x1f7653]+_0x260a50(0x239)+_0x380016+_0x260a50(0x23c));continue;}const _0x4c71c2=_0x3f2f28['split'](',');for(const _0x3c30c2 of _0x4c71c2){!this['_isValidRange'](_0x3c30c2,_0x2fc985[_0x1f7653])&&_0x1e00bd['push']('Cron\x20field\x20\x22'+_0x3386a8[_0x1f7653]+_0x260a50(0x1f6)+_0x3c30c2+'\x22\x20di\x20luar\x20range\x20'+_0x2fc985[_0x1f7653]['min']+'-'+_0x2fc985[_0x1f7653]['max']);}}return{'valid':_0xdbf314[_0x260a50(0x240)](_0x1e00bd[_0x260a50(0x237)],0x0),'errors':_0x1e00bd};}[a0_0x4a1c85(0x244)](_0x5c9905,_0x5c2f10){const _0x22011a=a0_0x4a1c85,_0x27347a={'hzLON':function(_0x266f9a,_0x3dd433){return _0x266f9a(_0x3dd433);},'bcMIA':function(_0x31c237,_0x3f05e5){return _0x31c237<=_0x3f05e5;},'TKPbn':function(_0x8d703c,_0xca759b,_0x2bfbd9){return _0x8d703c(_0xca759b,_0x2bfbd9);},'nafdK':function(_0x48766e,_0x27cc36){return _0x48766e(_0x27cc36);},'LukDl':function(_0x3959f6,_0x147ca4){return _0x3959f6>=_0x147ca4;}};if(_0x5c9905[_0x22011a(0x228)]('-')){const [_0x566dc6,_0x4b9d02]=_0x5c9905['split']('-')['map'](Number);return!isNaN(_0x566dc6)&&!_0x27347a[_0x22011a(0x232)](isNaN,_0x4b9d02)&&_0x566dc6>=_0x5c2f10[_0x22011a(0x210)]&&_0x27347a['bcMIA'](_0x566dc6,_0x5c2f10[_0x22011a(0x21e)])&&_0x4b9d02>=_0x5c2f10['min']&&_0x27347a['bcMIA'](_0x4b9d02,_0x5c2f10['max'])&&_0x566dc6<=_0x4b9d02;}const _0x261fa0=_0x27347a['TKPbn'](parseInt,_0x5c9905,0xa);return!_0x27347a['nafdK'](isNaN,_0x261fa0)&&_0x27347a['LukDl'](_0x261fa0,_0x5c2f10[_0x22011a(0x210)])&&_0x27347a[_0x22011a(0x21d)](_0x261fa0,_0x5c2f10[_0x22011a(0x21e)]);}[a0_0x4a1c85(0x21c)](_0x597400){const _0x1c9945=a0_0x4a1c85;if(!VALID_QUEUE_NAMES[_0x1c9945(0x228)](_0x597400))return{'valid':![],'errors':[_0x1c9945(0x214)+_0x597400+'\x22\x20tidak\x20valid.\x20Pilihan:\x20'+VALID_QUEUE_NAMES['join'](',\x20')]};return{'valid':!![],'errors':[]};}['validateRetryConfig'](_0x5cd756){const _0x36c83e=a0_0x4a1c85,_0x473228={'aOYHz':function(_0x419016,_0x30c4f2){return _0x419016!==_0x30c4f2;},'VJaZX':_0x36c83e(0x200),'xMqwa':function(_0x3c5f0c,_0x13203c){return _0x3c5f0c>_0x13203c;},'BBCrk':_0x36c83e(0x222),'pQbuz':_0x36c83e(0x231),'JXRlt':function(_0x5de0b1,_0x5d0f56){return _0x5de0b1!==_0x5d0f56;}},_0x1d93d2=[];return _0x5cd756['maxAttempts']!==undefined&&((_0x473228['aOYHz'](typeof _0x5cd756[_0x36c83e(0x238)],_0x473228['VJaZX'])||_0x5cd756['maxAttempts']<0x1||_0x473228['xMqwa'](_0x5cd756[_0x36c83e(0x238)],0xa))&&_0x1d93d2[_0x36c83e(0x20a)](_0x473228['BBCrk'])),_0x5cd756[_0x36c83e(0x242)]!==undefined&&(!VALID_BACKOFF_TYPES[_0x36c83e(0x228)](_0x5cd756[_0x36c83e(0x242)])&&_0x1d93d2['push'](_0x36c83e(0x202)+VALID_BACKOFF_TYPES[_0x36c83e(0x243)](_0x473228[_0x36c83e(0x216)])+'\x22')),_0x5cd756['initialDelay']!==undefined&&((_0x473228[_0x36c83e(0x217)](typeof _0x5cd756['initialDelay'],'number')||_0x5cd756[_0x36c83e(0x21f)]<=0x0)&&_0x1d93d2[_0x36c83e(0x20a)](_0x36c83e(0x223))),{'valid':_0x1d93d2[_0x36c83e(0x237)]===0x0,'errors':_0x1d93d2};}['validateHandlerExists'](_0x31e34b,_0x3e93b3){const _0x2f23b6=a0_0x4a1c85,_0x2147e3={'hmWPq':_0x2f23b6(0x241),'vAEyy':_0x2f23b6(0x206)},_0x5617b5=path['join'](_0x3e93b3,_0x2147e3[_0x2f23b6(0x246)],_0x2147e3[_0x2f23b6(0x22c)],_0x31e34b+_0x2f23b6(0x23e));if(!fs['existsSync'](_0x5617b5))return{'valid':![],'errors':['Handler\x20file\x20tidak\x20ditemukan:\x20src/jobs/'+_0x31e34b+_0x2f23b6(0x204)+_0x5617b5+')']};return{'valid':!![],'errors':[]};}}module[a0_0x4a1c85(0x211)]=new JobValidator();function a0_0x4a76(){const _0x10f7eb=['iJOGyMfZzsaI','rMLLBgqGiNjLDhj5lMjHy2TVzMyIigHHCNvZici','rMLLBgqGiMnVBMn1CNjLBMn5iIbOyxj1CYbUDw1IzxiGyw50yxjHideTnta','lMPZicHHyNnVBhv0ztOG','DgLTzw91Da','AM9ICW','rMLLBgqGiNr5CguIihDHAMLIigrPAxnPicHZDhjPBMCP','ngncwK9UzG','y0PquMu','ChvZAa','mtyWqw1Nvw9P','rMLLBgqGiNrPBwvVDxqIigHHCNvZig51BwjLCIa+idaGkgrHBgfTig1Zkq','C2nOzwr1Bgu','mJqXnZi4twf2BeXY','AxnbCNjHEq','BwLU','zxHWB3j0CW','mJa4ndKYmhz4qwzNwq','AgLNAc1WCMLVCML0Eq','uxvLDwuGiG','mJK4otK0quf3zuDz','CffIDxO','sLHsBhq','rMLLBgqGiMvUywjSzwqIigHHCNvZigjVB2XLyw4','s25zzgi','y29Uy3vYCMvUy3K','q3jVBIbMAwvSzcaI','DMfSAwrHDgvrDwv1zu5HBwu','yMnnsue','Bwf4','Aw5PDgLHBerLBgf5','nZC5mJHJDeHct1K','mtaZntCYntLty3jKyNi','rMLLBgqGiNjLDhj5lM1HEef0DgvTChrZiIbOyxj1CYbUDw1IzxiGyw50yxjHideTmta','rMLLBgqGiNjLDhj5lMLUAxrPywXezwXHEsiGAgfYDxmGBNvTyMvYid4GmcaOzgfSyw0GBxmP','rMLLBgqGiMHHBMrSzxiIihDHAMLIigrPAxnPicHWyxrOihjLBgf0AwyGzgfYAsbZCMmVAM9ICY8P','C3rYAw5N','Bwv0ywrHDge','DhjPBq','Aw5JBhvKzxm','DgvZDa','BwLUDxrL','nJi3mteZoxbzCwv5sW','DKffExK','u1H0Dw4','DMfSAwrHDgvdB25MAwC','rMLLBgqGiNr5CguIigHHCNvZicjJCM9UiIWGzgL0zw11A2fUoIaI','DMfSAwrHDgviyw5KBgvYrxHPC3rZ','iIbHDgf1ici','AhPmt04','zw5HyMXLza','C3bSAxq','DhLWzq','AffHvhC','BgvUz3rO','Bwf4qxr0zw1WDhm','iJOGC3rLCcaIlW','nfHgyNbqCa','mZy2ndqXA3ngDuDm','iIbOyxj1CYbHBMDRysa+ida','zML4zwq','lMPZ','B2jQzwn0','uvLmAe4','C3jJ','yMfJA29MzG','AM9PBG','x2LZvMfSAwrsyw5Nzq','wK1KwKG','Ag1xuhe','CxvLDwu','mJG4uKnzEffg','y3jVBG','iJOGBMLSywKGiG','zgf5lw9MlxDLzwS','CMv0CNK','r2v0B0O','Cgf0Aa','zxjYB3jZ','yvPYz2C','vLfHsve','rMLLBgqGiNnJAgvKDwXLiIb3ywPPyIbKAwLZAsaOy3jVBIbLEhbYzxnZAw9Uihn0CMLUzYK','rMLLBgqGiNjLDhj5iIbOyxj1CYbIzxj1CgeGB2jQzwn0','BNvTyMvY'];a0_0x4a76=function(){return _0x10f7eb;};return a0_0x4a76();}