@restforgejs/platform 5.2.4 → 5.2.10

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 (172) 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/cli/fast-track.js +235 -30
  5. package/generators/lib/migrate/backend-payload-migrator.js +39 -17
  6. package/generators/lib/migrate/field-type-resolver.js +64 -7
  7. package/generators/lib/payload/payload-runner.js +72 -6
  8. package/generators/lib/templates/dashboard-catalog.js +1 -1
  9. package/generators/lib/templates/db-connection-env.js +1 -1
  10. package/generators/lib/templates/dbschema-catalog.js +1 -1
  11. package/generators/lib/templates/field-validation-catalog.js +1 -1
  12. package/generators/lib/templates/mysql-template.js +1 -1
  13. package/generators/lib/templates/oracle-template.js +1 -1
  14. package/generators/lib/templates/postgres-template.js +1 -1
  15. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  16. package/generators/lib/templates/sqlite-template.js +1 -1
  17. package/integrity-manifest.json +18 -18
  18. package/package.json +1 -1
  19. package/scripts/verify-integrity.js +1 -1
  20. package/server.js +1 -1
  21. package/src/components/handlers/adjust_handler.js +1 -1
  22. package/src/components/handlers/audit_handler.js +1 -1
  23. package/src/components/handlers/delete_handler.js +1 -1
  24. package/src/components/handlers/export_handler.js +1 -1
  25. package/src/components/handlers/import_handler.js +1 -1
  26. package/src/components/handlers/insert_handler.js +1 -1
  27. package/src/components/handlers/update_handler.js +1 -1
  28. package/src/components/handlers/upload_handler.js +1 -1
  29. package/src/components/handlers/workflow_handler.js +1 -1
  30. package/src/components/integrations/webhook.js +1 -1
  31. package/src/consumers/baseConsumer.js +1 -1
  32. package/src/consumers/declarativeMapper.js +1 -1
  33. package/src/consumers/handlers/apiHandler.js +1 -1
  34. package/src/consumers/handlers/consoleHandler.js +1 -1
  35. package/src/consumers/handlers/databaseHandler.js +1 -1
  36. package/src/consumers/handlers/index.js +1 -1
  37. package/src/consumers/handlers/kafkaHandler.js +1 -1
  38. package/src/consumers/index.js +1 -1
  39. package/src/consumers/messageTransformer.js +1 -1
  40. package/src/consumers/validator.js +1 -1
  41. package/src/core/db/dialect/base-dialect.js +1 -1
  42. package/src/core/db/dialect/index.js +1 -1
  43. package/src/core/db/dialect/mysql-dialect.js +1 -1
  44. package/src/core/db/dialect/oracle-dialect.js +1 -1
  45. package/src/core/db/dialect/postgres-dialect.js +1 -1
  46. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  47. package/src/core/db/flatten-helper.js +1 -1
  48. package/src/core/db/query-builder-error.js +1 -1
  49. package/src/core/db/query-builder.js +1 -1
  50. package/src/core/db/relation-helper.js +1 -1
  51. package/src/core/handlers/delete_handler.js +1 -1
  52. package/src/core/handlers/insert_handler.js +1 -1
  53. package/src/core/handlers/update_handler.js +1 -1
  54. package/src/core/models/base-model.js +1 -1
  55. package/src/core/utils/cache-manager.js +1 -1
  56. package/src/core/utils/component-engine.js +1 -1
  57. package/src/core/utils/context-builder.js +1 -1
  58. package/src/core/utils/datetime-formatter.js +1 -1
  59. package/src/core/utils/datetime-parser.js +1 -1
  60. package/src/core/utils/db.js +1 -1
  61. package/src/core/utils/logger.js +1 -1
  62. package/src/core/utils/payload-loader.js +1 -1
  63. package/src/core/utils/security-checks.js +1 -1
  64. package/src/middleware/body-options.js +1 -1
  65. package/src/middleware/cors.js +1 -1
  66. package/src/middleware/idempotency.js +1 -1
  67. package/src/middleware/rate-limiter.js +1 -1
  68. package/src/middleware/request-logger.js +1 -1
  69. package/src/middleware/security-headers.js +1 -1
  70. package/src/models/base-model-mysql.js +1 -1
  71. package/src/models/base-model-oracle.js +1 -1
  72. package/src/models/base-model-sqlite.js +1 -1
  73. package/src/models/base-model.js +1 -1
  74. package/src/pro/caching/redis-client.js +1 -1
  75. package/src/pro/caching/redis-helper.js +1 -1
  76. package/src/pro/consumers/baseConsumer.js +1 -1
  77. package/src/pro/consumers/declarativeMapper.js +1 -1
  78. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  79. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  80. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  81. package/src/pro/consumers/handlers/index.js +1 -1
  82. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  83. package/src/pro/consumers/index.js +1 -1
  84. package/src/pro/consumers/messageTransformer.js +1 -1
  85. package/src/pro/consumers/validator.js +1 -1
  86. package/src/pro/database/base-model-mysql.js +1 -1
  87. package/src/pro/database/base-model-oracle.js +1 -1
  88. package/src/pro/database/base-model-sqlite.js +1 -1
  89. package/src/pro/database/db-mysql.js +1 -1
  90. package/src/pro/database/db-oracle.js +1 -1
  91. package/src/pro/database/db-sqlite.js +1 -1
  92. package/src/pro/excel/excel-generator.js +1 -1
  93. package/src/pro/excel/excel-parser.js +1 -1
  94. package/src/pro/excel/export-service.js +1 -1
  95. package/src/pro/excel/export_handler.js +1 -1
  96. package/src/pro/excel/import-service.js +1 -1
  97. package/src/pro/excel/import-validator.js +1 -1
  98. package/src/pro/excel/import_handler.js +1 -1
  99. package/src/pro/excel/upsert-builder.js +1 -1
  100. package/src/pro/idgen/idgen-routes.js +1 -1
  101. package/src/pro/integrations/lookup-resolver.js +1 -1
  102. package/src/pro/integrations/upload-handler-v2.js +1 -1
  103. package/src/pro/integrations/upload-handler.js +1 -1
  104. package/src/pro/integrations/webhook.js +1 -1
  105. package/src/pro/locking/lock-routes.js +1 -1
  106. package/src/pro/locking/resource-lock-manager.js +1 -1
  107. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  108. package/src/pro/messaging/kafkaService.js +1 -1
  109. package/src/pro/messaging/messagehubService.js +1 -1
  110. package/src/pro/messaging/rabbitmqService.js +1 -1
  111. package/src/pro/scheduler/job-manager.js +1 -1
  112. package/src/pro/scheduler/job-routes.js +1 -1
  113. package/src/pro/scheduler/job-validator.js +1 -1
  114. package/src/pro/storage/base-storage-provider.js +1 -1
  115. package/src/pro/storage/file-metadata-helper.js +1 -1
  116. package/src/pro/storage/index.js +1 -1
  117. package/src/pro/storage/local-storage-provider.js +1 -1
  118. package/src/pro/storage/s3-storage-provider.js +1 -1
  119. package/src/pro/storage/upload-cleanup-job.js +1 -1
  120. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  121. package/src/pro/storage/upload-pending-tracker.js +1 -1
  122. package/src/pro/websocket/broadcast-helper.js +1 -1
  123. package/src/pro/websocket/index.js +1 -1
  124. package/src/pro/websocket/livesync-server.js +1 -1
  125. package/src/pro/websocket/ws-broadcaster.js +1 -1
  126. package/src/services/export-service.js +1 -1
  127. package/src/services/import-service.js +1 -1
  128. package/src/services/kafkaConsumerService.js +1 -1
  129. package/src/services/kafkaService.js +1 -1
  130. package/src/services/messagehubService.js +1 -1
  131. package/src/services/rabbitmqService.js +1 -1
  132. package/src/utils/cache-invalidation-registry.js +1 -1
  133. package/src/utils/cache-manager.js +1 -1
  134. package/src/utils/component-engine.js +1 -1
  135. package/src/utils/config-extractor.js +1 -1
  136. package/src/utils/consumerLogger.js +1 -1
  137. package/src/utils/context-builder.js +1 -1
  138. package/src/utils/dashboard-helpers.js +1 -1
  139. package/src/utils/dateHelper.js +1 -1
  140. package/src/utils/datetime-formatter.js +1 -1
  141. package/src/utils/datetime-parser.js +1 -1
  142. package/src/utils/db-bootstrap.js +1 -1
  143. package/src/utils/db-mysql.js +1 -1
  144. package/src/utils/db-oracle.js +1 -1
  145. package/src/utils/db-sqlite.js +1 -1
  146. package/src/utils/db.js +1 -1
  147. package/src/utils/demo-generator.js +1 -1
  148. package/src/utils/excel-generator.js +1 -1
  149. package/src/utils/excel-parser.js +1 -1
  150. package/src/utils/file-watcher.js +1 -1
  151. package/src/utils/id-generator.js +1 -1
  152. package/src/utils/idempotency-manager.js +1 -1
  153. package/src/utils/import-validator.js +1 -1
  154. package/src/utils/license-client.js +1 -1
  155. package/src/utils/lock-manager.js +1 -1
  156. package/src/utils/logger.js +1 -1
  157. package/src/utils/lookup-resolver.js +1 -1
  158. package/src/utils/payload-loader.js +1 -1
  159. package/src/utils/processor-response.js +1 -1
  160. package/src/utils/rabbitmq.js +1 -1
  161. package/src/utils/redis-client.js +1 -1
  162. package/src/utils/redis-helper.js +1 -1
  163. package/src/utils/request-scope.js +1 -1
  164. package/src/utils/security-checks.js +1 -1
  165. package/src/utils/service-resolver.js +1 -1
  166. package/src/utils/shutdown-coordinator.js +1 -1
  167. package/src/utils/soft-delete-dashboard-guard.js +1 -1
  168. package/src/utils/sql-table-extractor.js +1 -1
  169. package/src/utils/trusted-keys.js +1 -1
  170. package/src/utils/upload-handler.js +1 -1
  171. package/src/utils/upsert-builder.js +1 -1
  172. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- const a0_0x40a197=a0_0xba1c;(function(_0x2f8330,_0xc80beb){const _0x498eec=a0_0xba1c,_0xc5a5c7=_0x2f8330();while(!![]){try{const _0x168132=parseInt(_0x498eec(0x102))/0x1+parseInt(_0x498eec(0x10c))/0x2*(parseInt(_0x498eec(0x136))/0x3)+parseInt(_0x498eec(0x139))/0x4+parseInt(_0x498eec(0xf9))/0x5+-parseInt(_0x498eec(0x138))/0x6+-parseInt(_0x498eec(0xf2))/0x7+-parseInt(_0x498eec(0x11b))/0x8*(parseInt(_0x498eec(0x125))/0x9);if(_0x168132===_0xc80beb)break;else _0xc5a5c7['push'](_0xc5a5c7['shift']());}catch(_0x39b267){_0xc5a5c7['push'](_0xc5a5c7['shift']());}}}(a0_0x31de,0x8af60));const {createConnection,createChannel,setupInfrastructure,closeConnection,getConfig}=require('../utils/rabbitmq'),{formatDate}=require('../utils/dateHelper');class RabbitMQService{constructor(){const _0x21f8ff=a0_0xba1c,_0x4f188a={'EVJZA':function(_0x50ad98){return _0x50ad98();}};this['connection']=null,this[_0x21f8ff(0xfd)]=null,this[_0x21f8ff(0x12a)]=_0x4f188a[_0x21f8ff(0x130)](getConfig),this['isConnected']=![],this['messageHandlers']=[];}async[a0_0x40a197(0xe8)](){const _0x56112f=a0_0x40a197,_0x3ff6b9={'YDGBG':function(_0x180bea,_0x457516){return _0x180bea(_0x457516);},'KYkff':function(_0x68128d,_0xf779be){return _0x68128d(_0xf779be);}};try{return this['connection']=await createConnection(),this[_0x56112f(0xfd)]=await createChannel(this['connection']),await this[_0x56112f(0xfd)]['prefetch'](0x1),console['log']('['+_0x3ff6b9[_0x56112f(0x128)](formatDate,new Date())+_0x56112f(0xfb)),await _0x3ff6b9['YDGBG'](setupInfrastructure,this['channel']),this[_0x56112f(0x106)]=!![],this['connection']['on'](_0x56112f(0x119),()=>{const _0x3d94d4=_0x56112f;console[_0x3d94d4(0x11a)]('['+formatDate(new Date())+']\x20Koneksi\x20RabbitMQ\x20terputus'),this[_0x3d94d4(0x106)]=![],setTimeout(()=>this['reconnect'](),0x1388);}),!![];}catch(_0x4836a8){return console[_0x56112f(0x11a)]('['+_0x3ff6b9[_0x56112f(0x124)](formatDate,new Date())+_0x56112f(0x133)+_0x4836a8[_0x56112f(0xf0)]),this[_0x56112f(0x106)]=![],![];}}async[a0_0x40a197(0x134)](){const _0x491dc0=a0_0x40a197,_0x298484={'IKlAD':function(_0x5eb893,_0x41d803){return _0x5eb893(_0x41d803);}};console['log']('['+_0x298484[_0x491dc0(0x10d)](formatDate,new Date())+']\x20Attempting\x20to\x20reconnect\x20to\x20RabbitMQ...');try{await this['initialize'](),this['isConnected']&&(console[_0x491dc0(0x118)]('['+formatDate(new Date())+_0x491dc0(0x122)),await this['startConsume']());}catch(_0x52a366){console[_0x491dc0(0x11a)]('['+_0x298484['IKlAD'](formatDate,new Date())+']\x20Failed\x20to\x20reconnect\x20to\x20RabbitMQ:\x20'+_0x52a366['message']),setTimeout(()=>this[_0x491dc0(0x134)](),0x1388);}}async['setupCollectorInfrastructure'](_0x2c31c6){const _0x4d5f5f=a0_0x40a197,_0x2e24c5={'ZAVhW':_0x4d5f5f(0xf4),'XiBFG':_0x4d5f5f(0xf3),'IwbYI':function(_0x58888a,_0x5e2037){return _0x58888a(_0x5e2037);},'jhkMS':function(_0x53bd58,_0x366c48){return _0x53bd58===_0x366c48;},'LxZif':_0x4d5f5f(0xec),'ioses':function(_0x15d5a1,_0x23b05e){return _0x15d5a1(_0x23b05e);},'oVlSP':function(_0x2c230e,_0x585c87){return _0x2c230e(_0x585c87);}};try{!this['isConnected']&&(this['connection']=await createConnection(),this['channel']=await createChannel(this['connection']),this['isConnected']=!![]);const _0x176efe=process['env']['RESTFORGE_PROJECT_NAME']||_0x2e24c5['ZAVhW'],_0x5021f8=_0x176efe+'-retry-exchange';await this['channel']['assertExchange'](_0x5021f8,_0x2e24c5['XiBFG'],{'durable':!![],'autoDelete':![]}),console[_0x4d5f5f(0x118)]('['+formatDate(new Date())+_0x4d5f5f(0x10b)+_0x5021f8+'\x20created/ready'),await this['channel']['assertExchange'](_0x2c31c6['exchange'],_0x2e24c5[_0x4d5f5f(0xf7)],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x2e24c5['IwbYI'](formatDate,new Date())+_0x4d5f5f(0x11c)+_0x2c31c6['exchange']+_0x4d5f5f(0x113));const _0x432ea8=_0x2c31c6[_0x4d5f5f(0xeb)]+_0x4d5f5f(0x12d),_0xf659f3={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':_0x2c31c6['exchange'],'x-dead-letter-routing-key':_0x2c31c6['routingKey']}};await this['channel']['assertQueue'](_0x432ea8,_0xf659f3),console[_0x4d5f5f(0x118)]('['+formatDate(new Date())+_0x4d5f5f(0x126)+_0x432ea8+_0x4d5f5f(0x113)),await this[_0x4d5f5f(0xfd)]['bindQueue'](_0x432ea8,_0x5021f8,_0x2c31c6[_0x4d5f5f(0xeb)]),console[_0x4d5f5f(0x118)]('['+formatDate(new Date())+_0x4d5f5f(0x115)+_0x2c31c6[_0x4d5f5f(0xeb)]+'\x20created');const _0x28cafa={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x5021f8,'x-dead-letter-routing-key':_0x2c31c6[_0x4d5f5f(0xeb)]}};try{const _0x5487f7=await this[_0x4d5f5f(0xfd)][_0x4d5f5f(0x117)](_0x2c31c6['queue'],_0x28cafa);console['log']('['+formatDate(new Date())+']\x20Queue\x20'+_0x2c31c6['queue']+'\x20'+(_0x2e24c5[_0x4d5f5f(0xf1)](_0x5487f7[_0x4d5f5f(0x109)],_0x2c31c6[_0x4d5f5f(0x109)])?'created/ready':_0x2e24c5['LxZif'])+_0x4d5f5f(0x10a)),await this['channel'][_0x4d5f5f(0xea)](_0x2c31c6['queue'],_0x2c31c6[_0x4d5f5f(0x10e)],_0x2c31c6[_0x4d5f5f(0xeb)]),console['log']('['+formatDate(new Date())+_0x4d5f5f(0x100)+_0x2c31c6[_0x4d5f5f(0x10e)]+'\x20->\x20'+_0x2c31c6['queue']+'\x20('+_0x2c31c6[_0x4d5f5f(0xeb)]+')\x20created');}catch(_0x1272aa){if(_0x1272aa[_0x4d5f5f(0xf0)][_0x4d5f5f(0xff)](_0x4d5f5f(0x12e))&&_0x1272aa['message']['includes']('x-dead-letter-routing-key')){console['error']('\x0a['+formatDate(new Date())+']\x20ERROR:\x20Queue\x20'+_0x2c31c6[_0x4d5f5f(0x109)]+_0x4d5f5f(0xf5)),console['error'](_0x4d5f5f(0xfa));const _0x30f406=_0x2c31c6['routingKey']+'_queue',_0x2867ab=await this[_0x4d5f5f(0xfd)][_0x4d5f5f(0x117)](_0x30f406,_0x28cafa);console['log']('['+_0x2e24c5[_0x4d5f5f(0x105)](formatDate,new Date())+']\x20Alternative\x20queue\x20'+_0x30f406+'\x20created\x20with\x20DLX'),await this[_0x4d5f5f(0xfd)]['bindQueue'](_0x30f406,_0x2c31c6['exchange'],_0x2c31c6[_0x4d5f5f(0xeb)]),console[_0x4d5f5f(0x118)]('['+_0x2e24c5[_0x4d5f5f(0x10f)](formatDate,new Date())+_0x4d5f5f(0x100)+_0x2c31c6[_0x4d5f5f(0x10e)]+'\x20->\x20'+_0x30f406+'\x20('+_0x2c31c6[_0x4d5f5f(0xeb)]+')\x20created'),_0x2c31c6[_0x4d5f5f(0x109)]=_0x30f406;}else{console[_0x4d5f5f(0x11a)]('['+formatDate(new Date())+_0x4d5f5f(0x108)+_0x2c31c6[_0x4d5f5f(0x109)]+':',_0x1272aa['message']);throw _0x1272aa;}}return!![];}catch(_0x29a3e1){return console['error']('['+_0x2e24c5[_0x4d5f5f(0xfc)](formatDate,new Date())+_0x4d5f5f(0x11f)+_0x29a3e1[_0x4d5f5f(0xf0)]),![];}}async['sendToQueue'](_0x54a127,_0x24d401){const _0x324f0f=a0_0x40a197,_0x560181={'eeKMf':function(_0x1439a6,_0x3eb283){return _0x1439a6(_0x3eb283);},'viJaU':'Failed\x20to\x20send\x20message\x20to\x20RabbitMQ'};if(!this[_0x324f0f(0x106)])try{await this['initialize']();}catch(_0x4764bf){return{'success':![],'message':_0x324f0f(0x114)+_0x4764bf['message'],'data':null};}try{const _0x3ee5e2=_0x24d401['auto_retry']!==undefined?_0x24d401['auto_retry']:![],_0x483f6b=_0x24d401['max_retries']||0x3,_0x4719c8={'rabbitmq':{'exchange':_0x24d401['exchange'],'queue':_0x24d401['queue'],'routing_key':_0x24d401[_0x324f0f(0xeb)],'auto_retry':_0x3ee5e2,'max_retries':_0x483f6b},'message':_0x54a127};await this[_0x324f0f(0x12c)](_0x24d401);const _0x119240=new Date(),_0x42a7bd={'timestamp':_0x119240[_0x324f0f(0x11d)](),'content':JSON['stringify'](_0x4719c8)},_0x2046c4=this[_0x324f0f(0xfd)][_0x324f0f(0x120)](_0x24d401['exchange'],_0x24d401[_0x324f0f(0xeb)],Buffer[_0x324f0f(0x12f)](JSON['stringify'](_0x42a7bd)),{'persistent':!![],'contentType':_0x324f0f(0x129),'timestamp':_0x119240['getTime'](),'messageId':_0x119240['getTime']()+'-'+Math[_0x324f0f(0xee)]()['toString'](0x24)[_0x324f0f(0xf6)](0x7),'headers':{'x-auto-retry':_0x3ee5e2,'x-max-retry':_0x483f6b,'x-retry-count':0x0,'x-retry-interval':0x2710}});if(_0x2046c4){console['log']('['+_0x560181[_0x324f0f(0x135)](formatDate,_0x119240)+']\x20Message\x20sent\x20to\x20RabbitMQ\x20successfully:',{'exchange':_0x24d401[_0x324f0f(0x10e)],'routing_key':_0x24d401[_0x324f0f(0xeb)],'queue':_0x24d401['queue'],'sendAt':_0x119240['toISOString']()});const _0x463841=_0x324f0f(0x104)+_0x119240['getTime']()+'-'+Math[_0x324f0f(0xee)]()[_0x324f0f(0xed)](0x24)[_0x324f0f(0xf6)](0x7);return{'success':!![],'message':'Data\x20sent\x20to\x20queue\x20successfully','data':{'id':_0x463841,'queueInfo':{'exchange':_0x24d401[_0x324f0f(0x10e)],'queue':_0x24d401[_0x324f0f(0x109)],'routingKey':_0x24d401['routingKey']}}};}else throw new Error(_0x560181['viJaU']);}catch(_0x229739){return console['error']('['+formatDate(new Date())+']\x20Error\x20sending\x20to\x20RabbitMQ:\x20'+_0x229739[_0x324f0f(0xf0)]),{'success':![],'message':'Error:\x20'+_0x229739['message'],'data':null};}}[a0_0x40a197(0x107)](_0x3f48d5){const _0x352500=a0_0x40a197,_0x2c2c36={'yKtmw':'function','LGNxL':function(_0x255c4d,_0x392bbf){return _0x255c4d(_0x392bbf);}};typeof _0x3f48d5===_0x2c2c36[_0x352500(0x112)]?(this['messageHandlers']['push'](_0x3f48d5),console[_0x352500(0x118)]('['+formatDate(new Date())+_0x352500(0x101))):console['error']('['+_0x2c2c36[_0x352500(0x137)](formatDate,new Date())+']\x20Message\x20handler\x20must\x20be\x20a\x20function');}async['processMessage'](_0x112c42){const _0x5ad0a2=a0_0x40a197,_0x504e94={'VMAAI':function(_0x2411ab,_0x4a010f){return _0x2411ab(_0x4a010f);},'YCrTZ':function(_0x57cb82,_0xbb5515){return _0x57cb82(_0xbb5515);}};if(this['messageHandlers']['length']===0x0)return console['warn']('['+_0x504e94['VMAAI'](formatDate,new Date())+_0x5ad0a2(0x121)),!![];try{for(const _0x51e004 of this['messageHandlers']){await _0x504e94['YCrTZ'](_0x51e004,_0x112c42);}return!![];}catch(_0x2385fd){return console['error']('['+_0x504e94[_0x5ad0a2(0xfe)](formatDate,new Date())+_0x5ad0a2(0x127)+_0x2385fd[_0x5ad0a2(0xf0)]),![];}}async[a0_0x40a197(0xe9)](){const _0x460fe2=a0_0x40a197,_0x1cdcfa={'LlvKN':function(_0x172c98,_0xd9014a){return _0x172c98(_0xd9014a);}};if(!this['isConnected'])return console[_0x460fe2(0x11a)]('['+formatDate(new Date())+']\x20Cannot\x20start\x20consuming:\x20not\x20connected\x20to\x20RabbitMQ'),![];try{return console[_0x460fe2(0x118)]('['+formatDate(new Date())+']\x20Start\x20consuming\x20messages\x20from\x20queue\x20\x22'+this['config']['queue']+'\x22...'),this[_0x460fe2(0xfd)][_0x460fe2(0x110)](this[_0x460fe2(0x12a)][_0x460fe2(0x109)],async _0x3faa56=>{const _0x31f58c=_0x460fe2;if(_0x3faa56!==null){const _0x2ccbaf=new Date();let _0xf4f2c;try{_0xf4f2c=JSON[_0x31f58c(0x111)](_0x3faa56['content']['toString']());}catch(_0x33de52){console['error']('['+formatDate(_0x2ccbaf)+_0x31f58c(0x131)+_0x33de52[_0x31f58c(0xf0)]),console[_0x31f58c(0x11a)]('Message\x20content:\x20'+_0x3faa56[_0x31f58c(0x11e)]['toString']()),this['channel']['ack'](_0x3faa56);return;}const _0x5ae367=_0x3faa56['properties'][_0x31f58c(0x12b)]?new Date(_0x3faa56[_0x31f58c(0xef)]['timestamp']):new Date(),_0x59c1a6=await this[_0x31f58c(0x123)](_0xf4f2c);_0x59c1a6?(console[_0x31f58c(0x118)]('['+_0x1cdcfa[_0x31f58c(0x103)](formatDate,new Date())+']\x20Message\x20processed\x20successfully'),this[_0x31f58c(0xfd)]['ack'](_0x3faa56)):(console[_0x31f58c(0x11a)]('['+_0x1cdcfa[_0x31f58c(0x103)](formatDate,new Date())+']\x20Failed\x20to\x20process\x20message,\x20requeuing'),this[_0x31f58c(0xfd)][_0x31f58c(0x132)](_0x3faa56,![],!![])),console[_0x31f58c(0x118)]('---');}},{'noAck':![]}),!![];}catch(_0xdd8cd1){return console[_0x460fe2(0x11a)]('['+formatDate(new Date())+']\x20Failed\x20to\x20start\x20consuming:\x20'+_0xdd8cd1[_0x460fe2(0xf0)]),![];}}async[a0_0x40a197(0x119)](){const _0x3843e7=a0_0x40a197;this[_0x3843e7(0xf8)]&&(await closeConnection(this[_0x3843e7(0xf8)]),this[_0x3843e7(0x106)]=![]);}}let instance=null;function getInstance(){return!instance&&(instance=new RabbitMQService()),instance;}function a0_0xba1c(_0x56abdf,_0x171781){_0x56abdf=_0x56abdf-0xe8;const _0x31decc=a0_0x31de();let _0xba1c65=_0x31decc[_0x56abdf];if(a0_0xba1c['YrBLsm']===undefined){var _0x1ac863=function(_0x2856e4){const _0xdfeee9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x431803='',_0xd8b021='';for(let _0x5532af=0x0,_0x1f41f1,_0x5442bf,_0x3d7844=0x0;_0x5442bf=_0x2856e4['charAt'](_0x3d7844++);~_0x5442bf&&(_0x1f41f1=_0x5532af%0x4?_0x1f41f1*0x40+_0x5442bf:_0x5442bf,_0x5532af++%0x4)?_0x431803+=String['fromCharCode'](0xff&_0x1f41f1>>(-0x2*_0x5532af&0x6)):0x0){_0x5442bf=_0xdfeee9['indexOf'](_0x5442bf);}for(let _0x3b212a=0x0,_0x5623e9=_0x431803['length'];_0x3b212a<_0x5623e9;_0x3b212a++){_0xd8b021+='%'+('00'+_0x431803['charCodeAt'](_0x3b212a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xd8b021);};a0_0xba1c['SZptZH']=_0x1ac863,a0_0xba1c['HSwOcs']={},a0_0xba1c['YrBLsm']=!![];}const _0x41d7b0=_0x31decc[0x0],_0x1e0bf7=_0x56abdf+_0x41d7b0,_0x30ba78=a0_0xba1c['HSwOcs'][_0x1e0bf7];return!_0x30ba78?(_0xba1c65=a0_0xba1c['SZptZH'](_0xba1c65),a0_0xba1c['HSwOcs'][_0x1e0bf7]=_0xba1c65):_0xba1c65=_0x30ba78,_0xba1c65;}module[a0_0x40a197(0x116)]={'getInstance':getInstance};function a0_0x31de(){const _0x46ac06=['xsbszxrYEsbLEgnOyw5Nzsa','mZG4nJG0uKP5ug1I','suTSquq','zxHJAgfUz2u','Aw9Zzxm','y29UC3vTzq','CgfYC2u','EuT0BxC','ignYzwf0zwqVCMvHzhK','q2fUBM90ignVBM5Ly3qGDg8GuMfIyML0tve6ia','xsbszxrYEsbIAw5KAw5NigzVCIa','zxHWB3j0CW','yxnZzxj0uxvLDwu','Bg9N','y2XVC2u','zxjYB3i','oteWnfvsExj2ta','xsbfEgnOyw5Nzsa','Dg9ju09tDhjPBMC','y29UDgvUDa','xsbfCNjVCIbZywf0ihnLDhvWigLUzNjHC3rYDwT0Dxi6ia','ChvIBgLZAa','xsboBYbOyw5KBgvYCYbYzwDPC3rLCMvKihrVihbYB2nLC3mGBwvZC2fNzxm','xsbtDwnJzxnZzNvSBhKGCMvJB25Uzwn0zwqGDg8GuMfIyML0tve','ChjVy2vZC01LC3nHz2u','s1LRzMy','mti1mdfjvhjSDeO','xsbszxrYEsbXDwv1zsa','xsbfCNjVCIbWCM9JzxnZAw5Nig1LC3nHz2u6ia','wurhqKC','yxbWBgLJyxrPB24VANnVBG','y29UzMLN','DgLTzxn0yw1W','C2v0DxbdB2XSzwn0B3jjBMzYyxn0CNvJDhvYzq','x3jLDhj5','Aw5LCxvPDMfSzw50igfYzW','zNjVBq','rvzkwKe','xsbgywLSzwqGDg8GCgfYC2uGBwvZC2fNztOG','BMfJAW','xsbgywLSzwqGDg8GAw5PDgLHBgL6zsbsywjIAxrnutOG','CMvJB25Uzwn0','zwvltwy','nNjprLb6AG','teDoEeW','mJu0ntq1mKLtrg5fEa','mZqXmdiYmg1xB1HiCq','Aw5PDgLHBgL6zq','C3rHCNrdB25ZDw1L','yMLUzff1zxvL','CM91DgLUz0TLEq','zM91BMq','Dg9tDhjPBMC','CMfUzg9T','ChjVCgvYDgLLCW','BwvZC2fNzq','AMHRtvm','ndGWndmXvfDwA1zz','zgLYzwn0','zgvMyxvSDa','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','C3vIC3rYAw5N','wgLcrKC','y29UBMvJDgLVBG','mZyZndC1mfv0tMTkrW','vhj5Aw5NigfSDgvYBMf0AxzLihf1zxvLig5HBwuUlI4','xsbqCMvMzxrJAcbKAwf0DxiGA2uGmq','B1zSu1a','y2HHBM5LBa','vK1bquK','Aw5JBhvKzxm','xsbcAw5KAw5Nia','xsbnzxnZywDLigHHBMrSzxiGCMvNAxn0zxjLza','nJC0ntuYBK1OBMv5','tgX2s04','CxvLDwuT','sxDIwuK','AxndB25Uzwn0zwq','CMvNAxn0zxjnzxnZywDLsgfUzgXLCG','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','CxvLDwu','ihDPDgGGreXy'];a0_0x31de=function(){return _0x46ac06;};return a0_0x31de();}
1
+ const a0_0x34054a=a0_0x21fa;(function(_0xac1145,_0x3bb165){const _0x16988b=a0_0x21fa,_0x41565e=_0xac1145();while(!![]){try{const _0x145d42=parseInt(_0x16988b(0xaf))/0x1*(-parseInt(_0x16988b(0x80))/0x2)+-parseInt(_0x16988b(0xc5))/0x3+-parseInt(_0x16988b(0x8d))/0x4*(-parseInt(_0x16988b(0xbe))/0x5)+-parseInt(_0x16988b(0x79))/0x6+-parseInt(_0x16988b(0xa9))/0x7+-parseInt(_0x16988b(0x87))/0x8+parseInt(_0x16988b(0x84))/0x9*(parseInt(_0x16988b(0xad))/0xa);if(_0x145d42===_0x3bb165)break;else _0x41565e['push'](_0x41565e['shift']());}catch(_0x187c6f){_0x41565e['push'](_0x41565e['shift']());}}}(a0_0x4834,0xba433));const {createConnection,createChannel,setupInfrastructure,closeConnection,getConfig}=require('../utils/rabbitmq'),{formatDate}=require(a0_0x34054a(0xa5));function a0_0x21fa(_0xc82141,_0x1a2f7b){_0xc82141=_0xc82141-0x79;const _0x4834c2=a0_0x4834();let _0x21fac0=_0x4834c2[_0xc82141];if(a0_0x21fa['effqyh']===undefined){var _0x318c5b=function(_0x5678eb){const _0x522ad2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3759da='',_0x1cfc16='';for(let _0x557bbe=0x0,_0x104cc1,_0x3d4300,_0x1e3def=0x0;_0x3d4300=_0x5678eb['charAt'](_0x1e3def++);~_0x3d4300&&(_0x104cc1=_0x557bbe%0x4?_0x104cc1*0x40+_0x3d4300:_0x3d4300,_0x557bbe++%0x4)?_0x3759da+=String['fromCharCode'](0xff&_0x104cc1>>(-0x2*_0x557bbe&0x6)):0x0){_0x3d4300=_0x522ad2['indexOf'](_0x3d4300);}for(let _0x11eceb=0x0,_0x2b2966=_0x3759da['length'];_0x11eceb<_0x2b2966;_0x11eceb++){_0x1cfc16+='%'+('00'+_0x3759da['charCodeAt'](_0x11eceb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1cfc16);};a0_0x21fa['Fmdqeo']=_0x318c5b,a0_0x21fa['mDoUFC']={},a0_0x21fa['effqyh']=!![];}const _0x69ea50=_0x4834c2[0x0],_0x44271e=_0xc82141+_0x69ea50,_0x11a32b=a0_0x21fa['mDoUFC'][_0x44271e];return!_0x11a32b?(_0x21fac0=a0_0x21fa['Fmdqeo'](_0x21fac0),a0_0x21fa['mDoUFC'][_0x44271e]=_0x21fac0):_0x21fac0=_0x11a32b,_0x21fac0;}class RabbitMQService{constructor(){const _0x16b4c8=a0_0x34054a;this[_0x16b4c8(0x95)]=null,this[_0x16b4c8(0x7f)]=null,this['config']=getConfig(),this[_0x16b4c8(0xae)]=![],this[_0x16b4c8(0xb3)]=[];}async['initialize'](){const _0x37fc4c=a0_0x34054a,_0x18dce0={'CfOgz':function(_0x1cfeed,_0x338f4e){return _0x1cfeed(_0x338f4e);},'tMize':function(_0x345450,_0x3f3121,_0x3358c5){return _0x345450(_0x3f3121,_0x3358c5);},'XLEqk':'4|7|2|3|0|6|1|5','ogoNV':_0x37fc4c(0x92)};try{const _0x5e1ad4=_0x18dce0[_0x37fc4c(0x8e)][_0x37fc4c(0x8f)]('|');let _0x3dcc03=0x0;while(!![]){switch(_0x5e1ad4[_0x3dcc03++]){case'0':await setupInfrastructure(this[_0x37fc4c(0x7f)]);continue;case'1':this[_0x37fc4c(0x95)]['on'](_0x18dce0['ogoNV'],()=>{console['error']('['+_0x18dce0['CfOgz'](formatDate,new Date())+']\x20Koneksi\x20RabbitMQ\x20terputus'),this['isConnected']=![],_0x18dce0['tMize'](setTimeout,()=>this['reconnect'](),0x1388);});continue;case'2':await this[_0x37fc4c(0x7f)]['prefetch'](0x1);continue;case'3':console[_0x37fc4c(0xaa)]('['+formatDate(new Date())+']\x20Prefetch\x20diatur\x20ke\x201');continue;case'4':this[_0x37fc4c(0x95)]=await createConnection();continue;case'5':return!![];case'6':this[_0x37fc4c(0xae)]=!![];continue;case'7':this[_0x37fc4c(0x7f)]=await _0x18dce0[_0x37fc4c(0xb1)](createChannel,this[_0x37fc4c(0x95)]);continue;}break;}}catch(_0x5c21e9){return console['error']('['+_0x18dce0[_0x37fc4c(0xb1)](formatDate,new Date())+']\x20Failed\x20to\x20initialize\x20RabbitMQ:\x20'+_0x5c21e9['message']),this[_0x37fc4c(0xae)]=![],![];}}async[a0_0x34054a(0x99)](){const _0x29a816=a0_0x34054a,_0x2b0b3d={'KmgMt':function(_0x142946,_0x5db530){return _0x142946(_0x5db530);}};console['log']('['+formatDate(new Date())+']\x20Attempting\x20to\x20reconnect\x20to\x20RabbitMQ...');try{await this[_0x29a816(0xb7)](),this[_0x29a816(0xae)]&&(console[_0x29a816(0xaa)]('['+_0x2b0b3d[_0x29a816(0xb6)](formatDate,new Date())+']\x20Successfully\x20reconnected\x20to\x20RabbitMQ'),await this[_0x29a816(0x98)]());}catch(_0x4436d4){console['error']('['+formatDate(new Date())+_0x29a816(0x7d)+_0x4436d4[_0x29a816(0x96)]),setTimeout(()=>this['reconnect'](),0x1388);}}async['setupCollectorInfrastructure'](_0x3d6a61){const _0x1eeee3=a0_0x34054a,_0x27a0c7={'cKAXb':_0x1eeee3(0x83),'WwZEI':function(_0x570022,_0x59cc63){return _0x570022(_0x59cc63);},'xOKjE':_0x1eeee3(0xb9),'MpkWZ':'x-dead-letter-routing-key','LVnei':function(_0x1c5126,_0x165b18){return _0x1c5126(_0x165b18);}};try{!this['isConnected']&&(this[_0x1eeee3(0x95)]=await createConnection(),this[_0x1eeee3(0x7f)]=await createChannel(this['connection']),this['isConnected']=!![]);const _0x50ffb1=process[_0x1eeee3(0x94)]['RESTFORGE_PROJECT_NAME']||_0x1eeee3(0xc0),_0x1007e1=_0x50ffb1+'-retry-exchange';await this[_0x1eeee3(0x7f)][_0x1eeee3(0xba)](_0x1007e1,'direct',{'durable':!![],'autoDelete':![]}),console['log']('['+formatDate(new Date())+_0x1eeee3(0x9a)+_0x1007e1+_0x1eeee3(0xc4)),await this['channel'][_0x1eeee3(0xba)](_0x3d6a61[_0x1eeee3(0x97)],_0x27a0c7[_0x1eeee3(0x9b)],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x27a0c7['WwZEI'](formatDate,new Date())+_0x1eeee3(0x81)+_0x3d6a61[_0x1eeee3(0x97)]+'\x20created/ready');const _0x4648df=_0x3d6a61[_0x1eeee3(0xa0)]+'_retry',_0x1c9622={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':_0x3d6a61['exchange'],'x-dead-letter-routing-key':_0x3d6a61['routingKey']}};await this[_0x1eeee3(0x7f)][_0x1eeee3(0xb0)](_0x4648df,_0x1c9622),console['log']('['+_0x27a0c7['WwZEI'](formatDate,new Date())+']\x20Retry\x20queue\x20'+_0x4648df+'\x20created/ready'),await this[_0x1eeee3(0x7f)][_0x1eeee3(0xa8)](_0x4648df,_0x1007e1,_0x3d6a61[_0x1eeee3(0xa0)]),console[_0x1eeee3(0xaa)]('['+formatDate(new Date())+_0x1eeee3(0x89)+_0x3d6a61['routingKey']+_0x1eeee3(0x7a));const _0xc26fd0={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x1007e1,'x-dead-letter-routing-key':_0x3d6a61[_0x1eeee3(0xa0)]}};try{const _0x206831=await this[_0x1eeee3(0x7f)]['assertQueue'](_0x3d6a61[_0x1eeee3(0xa1)],_0xc26fd0);console[_0x1eeee3(0xaa)]('['+formatDate(new Date())+']\x20Queue\x20'+_0x3d6a61[_0x1eeee3(0xa1)]+'\x20'+(_0x206831[_0x1eeee3(0xa1)]===_0x3d6a61[_0x1eeee3(0xa1)]?_0x1eeee3(0xc3):'found')+'\x20with\x20DLX'),await this[_0x1eeee3(0x7f)]['bindQueue'](_0x3d6a61['queue'],_0x3d6a61['exchange'],_0x3d6a61['routingKey']),console[_0x1eeee3(0xaa)]('['+_0x27a0c7[_0x1eeee3(0x93)](formatDate,new Date())+_0x1eeee3(0x82)+_0x3d6a61[_0x1eeee3(0x97)]+'\x20->\x20'+_0x3d6a61[_0x1eeee3(0xa1)]+'\x20('+_0x3d6a61[_0x1eeee3(0xa0)]+_0x1eeee3(0x7e));}catch(_0x5d23c6){if(_0x5d23c6[_0x1eeee3(0x96)]['includes'](_0x27a0c7['xOKjE'])&&_0x5d23c6[_0x1eeee3(0x96)]['includes'](_0x27a0c7['MpkWZ'])){console['error']('\x0a['+formatDate(new Date())+']\x20ERROR:\x20Queue\x20'+_0x3d6a61['queue']+_0x1eeee3(0xa3)),console['error']('Trying\x20alternative\x20queue\x20name...');const _0x4c7a86=_0x3d6a61[_0x1eeee3(0xa0)]+_0x1eeee3(0xc1),_0x317430=await this['channel'][_0x1eeee3(0xb0)](_0x4c7a86,_0xc26fd0);console['log']('['+_0x27a0c7['LVnei'](formatDate,new Date())+']\x20Alternative\x20queue\x20'+_0x4c7a86+'\x20created\x20with\x20DLX'),await this['channel'][_0x1eeee3(0xa8)](_0x4c7a86,_0x3d6a61['exchange'],_0x3d6a61['routingKey']),console['log']('['+_0x27a0c7['LVnei'](formatDate,new Date())+_0x1eeee3(0x82)+_0x3d6a61[_0x1eeee3(0x97)]+_0x1eeee3(0x8c)+_0x4c7a86+'\x20('+_0x3d6a61[_0x1eeee3(0xa0)]+')\x20created'),_0x3d6a61[_0x1eeee3(0xa1)]=_0x4c7a86;}else{console[_0x1eeee3(0xb8)]('['+_0x27a0c7['LVnei'](formatDate,new Date())+_0x1eeee3(0x8a)+_0x3d6a61['queue']+':',_0x5d23c6[_0x1eeee3(0x96)]);throw _0x5d23c6;}}return!![];}catch(_0x5d2ce9){return console[_0x1eeee3(0xb8)]('['+formatDate(new Date())+']\x20Error\x20saat\x20setup\x20infrastruktur:\x20'+_0x5d2ce9['message']),![];}}async[a0_0x34054a(0xab)](_0x311d67,_0xb1d270){const _0x59c221=a0_0x34054a,_0x5317d4={'vRhgB':_0x59c221(0xa7)};if(!this[_0x59c221(0xae)])try{await this['initialize']();}catch(_0x53bb07){return{'success':![],'message':_0x59c221(0xa4)+_0x53bb07['message'],'data':null};}try{const _0x3e4a53=_0xb1d270['auto_retry']!==undefined?_0xb1d270[_0x59c221(0x9d)]:![],_0x24ecde=_0xb1d270[_0x59c221(0xb2)]||0x3,_0x57f71b={'rabbitmq':{'exchange':_0xb1d270[_0x59c221(0x97)],'queue':_0xb1d270['queue'],'routing_key':_0xb1d270['routingKey'],'auto_retry':_0x3e4a53,'max_retries':_0x24ecde},'message':_0x311d67};await this['setupCollectorInfrastructure'](_0xb1d270);const _0xfba47=new Date(),_0x3f2027={'timestamp':_0xfba47['toISOString'](),'content':JSON['stringify'](_0x57f71b)},_0x4d9033=this[_0x59c221(0x7f)]['publish'](_0xb1d270[_0x59c221(0x97)],_0xb1d270[_0x59c221(0xa0)],Buffer[_0x59c221(0x9e)](JSON['stringify'](_0x3f2027)),{'persistent':!![],'contentType':_0x59c221(0xb5),'timestamp':_0xfba47['getTime'](),'messageId':_0xfba47[_0x59c221(0x9c)]()+'-'+Math['random']()[_0x59c221(0x90)](0x24)['substring'](0x7),'headers':{'x-auto-retry':_0x3e4a53,'x-max-retry':_0x24ecde,'x-retry-count':0x0,'x-retry-interval':0x2710}});if(_0x4d9033){console['log']('['+formatDate(_0xfba47)+']\x20Message\x20sent\x20to\x20RabbitMQ\x20successfully:',{'exchange':_0xb1d270[_0x59c221(0x97)],'routing_key':_0xb1d270['routingKey'],'queue':_0xb1d270['queue'],'sendAt':_0xfba47[_0x59c221(0xc2)]()});const _0xc25399=_0x59c221(0x8b)+_0xfba47['getTime']()+'-'+Math['random']()['toString'](0x24)[_0x59c221(0xa2)](0x7);return{'success':!![],'message':_0x59c221(0xbc),'data':{'id':_0xc25399,'queueInfo':{'exchange':_0xb1d270['exchange'],'queue':_0xb1d270['queue'],'routingKey':_0xb1d270[_0x59c221(0xa0)]}}};}else throw new Error(_0x5317d4['vRhgB']);}catch(_0x46cf00){return console['error']('['+formatDate(new Date())+']\x20Error\x20sending\x20to\x20RabbitMQ:\x20'+_0x46cf00[_0x59c221(0x96)]),{'success':![],'message':'Error:\x20'+_0x46cf00['message'],'data':null};}}['registerMessageHandler'](_0x4d68ff){const _0x437495=a0_0x34054a,_0x1cc796={'GYxSj':'function','bXbwU':function(_0x10be49,_0x36f2f3){return _0x10be49(_0x36f2f3);}};typeof _0x4d68ff===_0x1cc796['GYxSj']?(this[_0x437495(0xb3)]['push'](_0x4d68ff),console[_0x437495(0xaa)]('['+_0x1cc796[_0x437495(0xbd)](formatDate,new Date())+']\x20Message\x20handler\x20registered')):console[_0x437495(0xb8)]('['+_0x1cc796[_0x437495(0xbd)](formatDate,new Date())+_0x437495(0x7c));}async[a0_0x34054a(0x9f)](_0x238990){const _0x53d39c=a0_0x34054a,_0x2b2524={'aUizu':function(_0x4b1fe0,_0x1275fa){return _0x4b1fe0(_0x1275fa);}};if(this[_0x53d39c(0xb3)]['length']===0x0)return console['warn']('['+formatDate(new Date())+']\x20No\x20handlers\x20registered\x20to\x20process\x20messages'),!![];try{for(const _0x267e81 of this['messageHandlers']){await _0x2b2524['aUizu'](_0x267e81,_0x238990);}return!![];}catch(_0x87833c){return console[_0x53d39c(0xb8)]('['+_0x2b2524[_0x53d39c(0x88)](formatDate,new Date())+']\x20Error\x20processing\x20message:\x20'+_0x87833c['message']),![];}}async['startConsume'](){const _0x145c37=a0_0x34054a,_0x375afc={'Ttclb':function(_0x3e9ec4,_0x5e4102){return _0x3e9ec4!==_0x5e4102;},'rzrCH':function(_0x2c21b7,_0x572edc){return _0x2c21b7(_0x572edc);},'PHuVF':function(_0x528def,_0x3680a0){return _0x528def(_0x3680a0);}};if(!this[_0x145c37(0xae)])return console[_0x145c37(0xb8)]('['+_0x375afc[_0x145c37(0xb4)](formatDate,new Date())+_0x145c37(0xac)),![];try{return console[_0x145c37(0xaa)]('['+_0x375afc['PHuVF'](formatDate,new Date())+_0x145c37(0xbb)+this['config'][_0x145c37(0xa1)]+'\x22...'),this[_0x145c37(0x7f)]['consume'](this[_0x145c37(0x86)]['queue'],async _0x304e0a=>{const _0x24de5a=_0x145c37;if(_0x375afc[_0x24de5a(0xbf)](_0x304e0a,null)){const _0x363427=new Date();let _0x32259c;try{_0x32259c=JSON['parse'](_0x304e0a['content']['toString']());}catch(_0x4e46fd){console['error']('['+formatDate(_0x363427)+']\x20Failed\x20to\x20parse\x20message:\x20'+_0x4e46fd[_0x24de5a(0x96)]),console['error']('Message\x20content:\x20'+_0x304e0a['content']['toString']()),this[_0x24de5a(0x7f)][_0x24de5a(0x7b)](_0x304e0a);return;}const _0xbd4536=_0x304e0a[_0x24de5a(0x85)][_0x24de5a(0xa6)]?new Date(_0x304e0a['properties'][_0x24de5a(0xa6)]):new Date(),_0x3bae9d=await this['processMessage'](_0x32259c);_0x3bae9d?(console['log']('['+_0x375afc[_0x24de5a(0xb4)](formatDate,new Date())+']\x20Message\x20processed\x20successfully'),this['channel']['ack'](_0x304e0a)):(console[_0x24de5a(0xb8)]('['+_0x375afc['rzrCH'](formatDate,new Date())+']\x20Failed\x20to\x20process\x20message,\x20requeuing'),this[_0x24de5a(0x7f)]['nack'](_0x304e0a,![],!![])),console['log'](_0x24de5a(0x91));}},{'noAck':![]}),!![];}catch(_0x3f9ad8){return console['error']('['+formatDate(new Date())+']\x20Failed\x20to\x20start\x20consuming:\x20'+_0x3f9ad8['message']),![];}}async['close'](){const _0x11b26d=a0_0x34054a;this[_0x11b26d(0x95)]&&(await closeConnection(this[_0x11b26d(0x95)]),this[_0x11b26d(0xae)]=![]);}}let instance=null;function getInstance(){return!instance&&(instance=new RabbitMQService()),instance;}function a0_0x4834(){const _0x18663a=['yxbWBgLJyxrPB24VANnVBG','s21Ntxq','Aw5PDgLHBgL6zq','zxjYB3i','Aw5LCxvPDMfSzw50igfYzW','yxnZzxj0rxHJAgfUz2u','xsbtDgfYDcbJB25ZDw1PBMCGBwvZC2fNzxmGzNjVBsbXDwv1zsaI','rgf0ysbZzw50ihrVihf1zxvLihn1y2nLC3nMDwXSEq','yLHID1u','mty5odbqAgrvA0e','vhrJBgi','zgvMyxvSDa','x3f1zxvL','Dg9ju09tDhjPBMC','y3jLyxrLzc9YzwfKEq','ignYzwf0zwqVCMvHzhK','mJq4mZm4nvPMB0DwDq','odm5nZa3og9csgvwAa','ignYzwf0zwq','ywnR','xsbnzxnZywDLigHHBMrSzxiGBxvZDcbIzsbHigz1BMn0Aw9U','xsbgywLSzwqGDg8GCMvJB25Uzwn0ihrVifjHyMjPDe1roIa','ksbJCMvHDgvK','y2HHBM5LBa','mZaYnZm0uLHpDvbA','xsbfEgnOyw5Nzsa','xsbcAw5KAw5Nia','zgLYzwn0','mtmWmZjIq2XMy1O','ChjVCgvYDgLLCW','y29UzMLN','mta5nJK1odrby3LPuvO','yvvPENu','xsbszxrYEsbIAw5KAw5NigzVCIa','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','CxvLDwuT','ic0+ia','nda0yMnnyNrW','weXfCwS','C3bSAxq','Dg9tDhjPBMC','ls0T','y2XVC2u','v3DAruK','zw52','y29UBMvJDgLVBG','BwvZC2fNzq','zxHJAgfUz2u','C3rHCNrdB25ZDw1L','CMvJB25Uzwn0','xsbszxrYEsbLEgnOyw5Nzsa','y0Tbwgi','z2v0vgLTzq','yxv0B19YzxrYEq','zNjVBq','ChjVy2vZC01LC3nHz2u','CM91DgLUz0TLEq','CxvLDwu','C3vIC3rYAw5N','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','q2fUBM90ignVBM5Ly3qGDg8GuMfIyML0tve6ia','lI4VDxrPBhmVzgf0zuHLBhbLCG','DgLTzxn0yw1W','rMfPBgvKihrVihnLBMqGBwvZC2fNzsb0BYbsywjIAxrnuq','yMLUzff1zxvL','ntC3oteXnKT2uLPqDa','Bg9N','C2vUzfrVuxvLDwu','xsbdyw5UB3qGC3rHCNqGy29UC3vTAw5NoIbUB3qGy29UBMvJDgvKihrVifjHyMjPDe1r','mZG2odbowMTWD2i','AxndB25Uzwn0zwq','nwHnwK1pEq','yxnZzxj0uxvLDwu','q2zpz3O','Bwf4x3jLDhjPzxm','BwvZC2fNzuHHBMrSzxjZ','CNPYq0G'];a0_0x4834=function(){return _0x18663a;};return a0_0x4834();}module['exports']={'getInstance':getInstance};
@@ -1 +1 @@
1
- function a0_0xd0cf(_0x1f9f2c,_0x35c88a){_0x1f9f2c=_0x1f9f2c-0x109;const _0x34e586=a0_0x34e5();let _0xd0cf69=_0x34e586[_0x1f9f2c];if(a0_0xd0cf['OlrcOc']===undefined){var _0x294ab9=function(_0x25c0e3){const _0x3cfaa8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3e80dc='',_0x45f789='';for(let _0x6ac550=0x0,_0xaccd4d,_0x48299a,_0x1e0d97=0x0;_0x48299a=_0x25c0e3['charAt'](_0x1e0d97++);~_0x48299a&&(_0xaccd4d=_0x6ac550%0x4?_0xaccd4d*0x40+_0x48299a:_0x48299a,_0x6ac550++%0x4)?_0x3e80dc+=String['fromCharCode'](0xff&_0xaccd4d>>(-0x2*_0x6ac550&0x6)):0x0){_0x48299a=_0x3cfaa8['indexOf'](_0x48299a);}for(let _0x299a94=0x0,_0x1e017d=_0x3e80dc['length'];_0x299a94<_0x1e017d;_0x299a94++){_0x45f789+='%'+('00'+_0x3e80dc['charCodeAt'](_0x299a94)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x45f789);};a0_0xd0cf['wpMNDL']=_0x294ab9,a0_0xd0cf['dkIrdm']={},a0_0xd0cf['OlrcOc']=!![];}const _0x2de5d1=_0x34e586[0x0],_0x7eef9f=_0x1f9f2c+_0x2de5d1,_0x31dd36=a0_0xd0cf['dkIrdm'][_0x7eef9f];return!_0x31dd36?(_0xd0cf69=a0_0xd0cf['wpMNDL'](_0xd0cf69),a0_0xd0cf['dkIrdm'][_0x7eef9f]=_0xd0cf69):_0xd0cf69=_0x31dd36,_0xd0cf69;}const a0_0x24fce9=a0_0xd0cf;(function(_0x3ffbc3,_0x4cd2c3){const _0x3a5878=a0_0xd0cf,_0x260601=_0x3ffbc3();while(!![]){try{const _0x143340=-parseInt(_0x3a5878(0x21b))/0x1+parseInt(_0x3a5878(0x1c0))/0x2*(parseInt(_0x3a5878(0x1c5))/0x3)+parseInt(_0x3a5878(0x22f))/0x4+parseInt(_0x3a5878(0x1da))/0x5+parseInt(_0x3a5878(0x1be))/0x6*(parseInt(_0x3a5878(0x238))/0x7)+parseInt(_0x3a5878(0x1fb))/0x8+parseInt(_0x3a5878(0x15b))/0x9*(-parseInt(_0x3a5878(0x1ff))/0xa);if(_0x143340===_0x4cd2c3)break;else _0x260601['push'](_0x260601['shift']());}catch(_0x55aaaa){_0x260601['push'](_0x260601['shift']());}}}(a0_0x34e5,0x69959));const {Queue,Worker}=require(a0_0x24fce9(0x159)),Redis=require('ioredis'),crypto=require('crypto'),{v7:uuidv7}=require(a0_0x24fce9(0x158)),fs=require('fs'),path=require('path'),{logger}=require(a0_0x24fce9(0x1bd)),jobValidator=require('./job-validator');function a0_0x34e5(){const _0x55dbbf=['lI4VlI4VDxrPBhmVBg9Nz2vY','odK4mdHAzMHRqK8','BwvZC2fNzq','mtqZmde0A0rMA21J','AM9Ix3jLz2LZDgvYx2zHAwXLza','AM9Ix2THzMTHx3b1yMXPC2HFzxjYB3i','ChjVz3jLC3m','BgLTAxq','ouD0rwvlDW','rM9SzgvYihbHEwXVywqVAM9ICY8GDgLKywSGzgL0zw11A2fU','B25bzNrLCKPVyKzHAwXLzcbOyw5KBgvYigvYCM9YicHUB24TyMXVy2TPBMCP','AM9IlxnJAgvKDwXLCG','B25kB2jgywLSzwq','AM9Ix2rPC3bHDgnOzwq','Aw5MBW','lI4VlI4VDxrPBhmVzgiTBxLZCwW','y3jVBL9YzwDPC3rLCMvK','s2joDui','zxjYB3jZ','wKnWwNq','AM9Ix2nVBMzPz19PBNzHBgLK','C3bSAxq','Aw5PDgLHBgL6zwq','C2fSvKW','v0TWuLm','zgjFCgDFDw5HDMfPBgfIBgu','AgfUzgXLCNm','DxbKyxrLuMvNAxn0CNLdB3vUDgvYCW','zgvZy3jPChrPB24','mteZnJyWu2j4AvjQ','BxmPlI4U','tNL5qKC','icHHDhrLBxb0ia','sM9Iia','z0DyEKi','EvPpzfO','D2fYBG','sK9cx1nivvret1Dox1rjtuvpvvq','rejFvfLqrq','z2v0rgjvDgLSCW','CgfNzq','z2v0sM9Iu2nOzwr1BgvYCW','AxnsDw5UAw5N','sM9Iie1HBMfNzxiGC2H1DhrPBMCGzg93BIaODgLTzw91DdOG','BMv4Da','C3fSlxnJCMLWDhm','igPVyIbJB25MAwCOCYKGzNjVBsbWyxLSB2fKl2PVyNmV','y2fUy2vSsM9I','zgjFBxLZCwXFDw5HDMfPBgfIBgu','D09HELu','C3vJy2vZCW','ywn0AxzL','y29UBMvJDgLVBNm','qvrlwxi','u3ver3i','CMvHzgrPCLn5BMm','zvDzDfq','B3jHy2XL','Dw5bChi','BxLZCwW','DxbKyxrLuhjVz3jLC3m','C2nOzwr1Bgu','nJq1ntC0nfzuDwffrW','C3bSAxrtCwXtDgf0zw1LBNrZ','zxHLy3v0zvrYyw5Zywn0Aw9U','CMvTB3zL','otGWsM1kweHq','sgTqqKm','ihjLBw92zwqGkhDHCYa','zgvMyxvSDa','BwfW','AM9Ix3rHyMXLC19LBNn1CMvK','DxbZzxj0sM9Iu2nOzwr1BgvY','CMv0CNK','CxvLDwu','sM9Iig5VDcbMB3vUzdOG','zgvSyxLLza','wgfJAxO','Cgf5Bg9Hza','Bg9JywXOB3n0','wwDfBLy','BMfTzq','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticG/lca/lca/lca/lca/lcaNCNvUBMLUzYCSid8Sid8Sid8Sie5pvYGPlca/lcbot1COksK','Dw5RBM93BG','DMfSDwvZ','zuTgyKO','rMfPBgvKihrVihb1yMXPC2GGsK9cx0nptvbmrvrfrcb0BYblywzRyq','icHPzdOG','DxbKyxrLuMvNAxn0CNLtDgf0Dxm','x3nVDxjJzuzPBgu','CMvZDgzVCMDLlMPVyNmUzMfPBgvK','EeXmC0K','zw50CMLLCW','rMfPBgvKihrVigLUC2vYDcbQB2iGAgLZDg9YEtOG','ndCWmZyYuvrrzhzi','s0fgs0fFru5bqKXfra','DNznzNK','AgfUzgXLCG','y3jLyxrLza','DgLTzxn0yw1WCW','sw5Atgu','AM9Ix2rIx3vUyxzHAwXHyMXL','zw52','Bg9HzePVyKnVBMzPz3m','B25czwzVCMvkB2jfEgvJDxrL','AM9Ix2vUC3vYzv90ywjSzxnFzxjYB3i','Bg93','AM9Iq29UzMLNCW','B25bzNrLCKPVyKnVBxbSzxrL','AuPQt1O','ignHBM5VDcbIzsbJyw5JzwXSzwqGkhn0yxrLoIa','DxbND1m','AKT5r2y','t1jbzuy','mtC4otyWmfvKuwDLEG','AM9Ix3DVCMTLCNnFy3jLyxrLza','z2v0','zxjYB3i','z2v0sM9ICW','mYbcDwXStveGv29YA2vYCYbJCMvHDgvKicHJB25JDxjYzw5JEtOG','qNvSBe1rifjLzgLZignVBM5Ly3rPB24GzxjYB3i6ia','veTmEe8','DMfSAwq','mJm4ANv5z1ri','vuXIthy','Bwv0ywrHDge','C2H1DgrVD24','lMPZB24','B25kB2jdB21WBgv0zwq','ywXS','rMfPBgvKihrVihjLz2LZDgvYigPVyJOG','Dg90ywXFC3vJy2vZCW','DxrMoa','CMv0DxjUDMfSDwu','D01OuNe','tgTuC2q','uKvesvnFueftu1DpuKq','sM9IigrPC3bHDgnOzwqGkgrLBgf5zwqG','ifjLzgLZignVBM5Ly3rPB25Z','AM9ICW','CMvNAxn0zxjkB2i','CMvZDgzVCMDLlMPVyNmUy29TCgXLDgvK','yNvPBgrdB250zxH0','sK9cx01bwf9tvefmtevex0npvu5u','AKTxwKK','jYb0AwrHAYbKAwr1A3vUzYb1BNr1AYbQB2iGBw9UAxrVCMLUzYb0ywjSzxm','zMfPBgvK','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','Cg9ZDgDYzxnXBa','AM9Ix2vUC3vYzv90ywjSzxnFD2fYBG','C3vIC3rYAw5N','BwLU','ywXYzwfKEsbLEgLZDhm','zNvUy3rPB24','z2v0tMv4Dfj1BKzYB21cDwXStve','sM9IigHHBMrSzxiGy29TCgXLDgvKoIa','zw5KC1DPDgG','CMvHzezPBgvtEw5J','AM9Ix2HPC3rVCNLFAw5Zzxj0x2vYCM9Y','lI4VlI4VDxrPBhmVy29TCg9Uzw50lwvUz2LUzq','u2f2D1i','lIbkB2iGu2nOzwr1BgvYihrPzgfRigfRyw4GywT0AwyU','zMLSDgvY','DhLWzq','z2LOA2m','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNzMfPBgvKjYWGy29TCgXLDgvKx2f0id0Gu1LtveLnrvnuqu1qlaOGicaGicaGicaGigr1CMf0Aw9Ux21Zid0GoJeSihbYB2DYzxnZid0GoJiSigvYCM9Yx21LC3nHz2uGpsa6mYWGzxjYB3jFC3rHy2SGpsa6ncbxsevsrsbPzca9idO1','DxbKyxrLsM9IsgLZDg9YEuzHAwXLza','ChjVy2vZC2vKt24','oMPVyG','ignHBMnLBgXLzcaOD2fZigfJDgL2zsK','uKvesvnFue9sva','sM9Iihn0yxj0zwq6ia','lMPZ','yMfJA29MzG','Aw5Zzxj0sM9IsgLZDg9YEq','AM9Ix25Vx2nVBMzPz3m','BgvUz3rO','zMLUAxnOzwrpBG','C3rYAw5N','DefnwMm','y3jVBG','AM9Ix3bYB2DYzxnZ','zgf0yq','DLrQqvi','qu1WCMu','icSGmsWkicaGicaGicaGicbUzxH0x3j1BL9HDca9id8Gv0HfuKuGAM9Ix25HBwuGpsa/','z2v0sM9Iq291BNrZ','zgvSzxrL','rNj6DgC','AM9Ix2HPC3rVCNLFzMfPBgvKx2vYCM9Y','BMDTAvm','Dhj1zq','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNC3vJy2vZCYCSignVBxbSzxrLzf9HDca9ie5pvYGPlaOGicaGicaGicaGigr1CMf0Aw9Ux21Zid0GpYWGChjVz3jLC3mGpsaXmdaSihjLC3vSDf9ZDw1Tyxj5id0GpYbxsevsrsbPzca9id8','y2f0y2G','CNvUBMLUzW','y0fWsuq','B2zMBgLUzq','ChvJrg0','sM9IignHBMnLBgXLzcb2AweGqvbj','C2v0','DgLTzxn0yw1W','y2XVC2u','s1fbvgK','sK9cx1nuquXmrurFsu5urvjwquW','B25bzNrLCKPVyKzHAwXLza','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNzMfPBgvKjYWGy29TCgXLDgvKx2f0id0GtK9xkcKScIaGicaGicaGicaGzhvYyxrPB25FBxmGpsa/lcbWCM9NCMvZCYa9id8SigvYCM9Yx21LC3nHz2uGpsa/lcbLCNjVCL9ZDgfJAYa9id8Gv0HfuKuGAwqGpsa/','rMfPBgvKihrVigvUC3vYzsbQB2iGDgfIBgvZoIa','z2v0ug9VBa','z2v0sgLZDg9YEq','C3rYAw5NAwz5','BM93','Dg9mB3DLCKnHC2u','v2HZA3m','CxvPDa','sM9IigzHAwXLzdOG','zxHWB25LBNrPywW','AM9Ix2nVBMzPz3nFBg9HzgvK','DxvPza','yNvSBg1X','vNfmwLm','mtaWoda5Ce9wse14','A2v5CW','DxbKyxrLsM9IsgLZDg9YEunVBxbSzxrLza','z2v0sM9I','y29TCgXLDgvK','yxbPlwnHBMnLBa','yxr0zw1WDhnnywrL','BxLZCwWUC3fS','BwfUDwfS','q1DOAve','zfnZB0C','uKvesvnFse9tva','C3LZDgvT','z2v0rgjuExbL','zw5ZDxjLvgfIBgvZ','DhjPz2DLCLr5Cgu','rMfPBgvKihrVihnLDcbQB2jZig9MzMXPBMu6ia','z2v0s2fMA2ftzxj2AwnL','yNvSBg1Xx3DVCMTLCL9LCNjVCG','yNvSBg1Xx3jLzgLZx2vYCM9Y','z2v0u3rHDgu','twPbq0q','s3bSzK4','AM9Ix3jLzgLZx2nVBM5Ly3rLza','s0LMvNC','CgTJt04','r3zly2y','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticGKmsWGjdiSicqZlcaKncWGjduSicDYDw5UAw5NjYWGjdySicq3lcaKocWGtK9xkcKSicq5lcbot1COksK','C2XPy2u','lI4VlI4VDxrPBhmVzgi','AM9PBG','yxbP','B25kB2jqCM9NCMvZCW','AM9Ix21HBMfNzxjFC2H1DgrVD25Fy29TCgXLDgu','B25SAw5L','y2HPBgq','BgLZDfj1BM5PBMC','BfPiruy','DuPUqNG','rMfPBgvKihrVihb1yMXPC2GGsK9cx0zbsuXfrcb0BYblywzRyq','ChvIBgLZAev2zw50','A1fhENa','sM9IigrPC3bHDgnOzwq6ia','D29YA2vYCW','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNC3vJy2vZCYCSignVBxbSzxrLzf9HDca9ie5pvYGPlaOGicaGicaGicaGigr1CMf0Aw9Ux21Zid0GjdeSihbYB2DYzxnZid0GmtaWlcbYzxn1BhrFC3vTBwfYEsa9icqYifDirvjfigLKid0Gjdm','Eg1mA0i','ywn0AxzLsgLZDg9YEuLKCW','AxLUy2W','ywrK','DgLTzw91Da','Bwf4qxr0zw1WDhm','AM9Ix3f1zxvLC19JCMvHDgvK','zxHPC3rZu3LUyW','z1PgEfu','Cxn6DK0','zxHLy3v0zuv2zw50sgfUzgXLCNm','u2nQs3G','B3jHltaWotu1','CgfYC2u','D01VwKO','sMf1zfC','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticG6msWGoJiSidOZlca6ncWGoJuSicDYDw5UAw5NjYWGoJySidO3lca6ocWGu1LtveLnrvnuqu1qlca6osWGu1LtveLnrvnuqu1qkq','D2fPDgLUzW','sM9IignVBMzPzYbPBNzHBgLKoIa','t3jHy2XLiercig1VzhvSzsbUB3qGyxzHAwXHyMXL','DhjPBq','CMy6','zxHLy3v0zvf1zxj5','qNvSBe1rifDVCMTLCIbLCNjVCIaO','uMvKAxmGy29UBMvJDgLVBIbMywLSzwq6ia','ChvZAa','iokaLca','Du5luxa','z2v0q2fJAgvnyw5Hz2vY','AM9Ix3n0ywXSzwq','AgLZDg9YEuLK','yxbPlwrLBgf5zwq','wg9ituS','tuvsr0uGsu5utYbQB2jFCMvNAxn0CNKGCGOGicaGicaGicaGifvtsu5hicHtruXfq1qGoJeGqvmGAM4GrLjptsbevufmksbZie9oicHYlMPVyL9Uyw1Lid0GCY5QBIKkicaGicaGicaGicbxsevoie1bveniruqGveHftIbvuerbveuGu0vucIaGicaGicaGicaGicbKAxnWBgf5x25HBwuGpsa6mIWGDhLWzsa9idOZlcbZy2HLzhvSzsa9idO0lcbXDwv1zsa9idO1laOGicaGicaGicaGicaGAgfUzgXLCIa9idO2lcbJB25MAwDFzMLSzsa9idO3lcb0Aw1LB3v0id0GoJGSihjLDhj5x21HEca9idO5laOGicaGicaGicaGicaGCMv0CNLFyMfJA29MzIa9idOXmcWGC3rHDhvZid0GoJeXlcbUzxH0x3j1BL9HDca9idOXmIWGDxbKyxrLzf9HDca9ifnzu1rjtuvtvefnuaOGicaGicaGicaGifDiru4GtK9uie1bveniruqGveHftIbjtLnfuLqkicaGicaGicaGicaGicHQB2jFBMfTzsWGzgLZCgXHEv9Uyw1Llcb0ExbLlcbZy2HLzhvSzsWGCxvLDwuSigHHBMrSzxiSignVBMzPz19MAwXLlaOGicaGicaGicaGicaGihrPBwvVDxqSihjLDhj5x21HEcWGCMv0CNLFyMfJA29MzIWGC3rHDhvZlcbUzxH0x3j1BL9HDcWGy3jLyxrLzf9HDcWGDxbKyxrLzf9HDcKkicaGicaGicaGicbwquXvrvmGkdOXlca6mIWGoJmSidO0lca6nsWGoJySidO3lca6ocWGoJKSidOXmcWGoJeXlca6mtiSifnzu1rjtuvtvefnucWGu1LtveLnrvnuqu1qkq','CxvLDwvZ','AM9Ix2nVBxbSzxrLza','Dg90ywXFzMfPBgvK','zw5HyMXLza','zMfPBgvKuMvHC29U','z2rTBNO','AM9Ix3jLz2LZDhj5x2nVDw50zxjFzxjYB3i','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsaKmsWGBgfZDf9YDw5FyxqGpsbot1COksWkicaGicaGicaGicb1CgrHDgvKx2f0id0GtK9xkcKGv0HfuKuGAM9Ix25HBwuGpsaKmG','q0vVBvC','z2v0sw5ZDgfUy2u','z2v0sM9Iu3rHDhvZ','su5trvjuieLove8GAM9Ix3jLz2LZDhj5cIaGicaGicaGicaGkgPVyL9Uyw1LlcbKAxnWBgf5x25HBwuSihr5CguSihnJAgvKDwXLlcbXDwv1zsWGAgfUzgXLCIWGy29UzMLNx2zPBguScIaGicaGicaGicaGihrPBwvVDxqSihjLDhj5x21HEcWGCMv0CNLFyMfJA29MzIWGC3rHDhvZlcbUzxH0x3j1BL9HDcWGy3jLyxrLzf9HDcWGDxbKyxrLzf9HDcKkicaGicaGicaGicbwquXvrvmGkcqXlcaKmIWGjdmSicq0lcaKnsWGjdySicq3lcaKocWGjdKSicqXmcWGjdeXlcaKmtiSie5pvYGPlcbot1COksKkicaGicaGicaGicbptIbdt05gteLdvcaOAM9Ix25HBwuPierpifvqrefursbtrvqkicaGicaGicaGicaGigrPC3bSyxLFBMfTzsa9ievyq0XvrevelMrPC3bSyxLFBMfTzsWGDhLWzsa9ievyq0XvrevelNr5CguScIaGicaGicaGicaGicbZy2HLzhvSzsa9ievyq0XvrevelNnJAgvKDwXLlcbXDwv1zsa9ievyq0XvrevelNf1zxvLlaOGicaGicaGicaGicaGAgfUzgXLCIa9ievyq0XvrevelMHHBMrSzxiSignVBMzPz19MAwXLid0GrvHdtfveruqUy29UzMLNx2zPBguScIaGicaGicaGicaGicb0Aw1LB3v0id0GrvHdtfveruqUDgLTzw91DcWGCMv0CNLFBwf4id0GrvHdtfveruqUCMv0CNLFBwf4laOGicaGicaGicaGicaGCMv0CNLFyMfJA29MzIa9ievyq0XvrevelNjLDhj5x2jHy2TVzMySihn0yxr1CYa9ievyq0XvrevelNn0yxr1CYWkicaGicaGicaGicaGig5LEhrFCNvUx2f0id0GrvHdtfveruqUBMv4Df9YDw5FyxqSihvWzgf0zwrFyxqGpsbot1COkq','ktOG','twPhy24','ChjVy2vZC0PVyG','qwzHEe0','yNjgrfO','DhjPz2DLCMvKqNK','Aw5JBhvKzxm'];a0_0x34e5=function(){return _0x55dbbf;};return a0_0x34e5();}let componentEngine=null;function getComponentEngine(){const _0x380caf=a0_0x24fce9,_0x118cb8={'tVmSb':function(_0x148b5f,_0x47cad4){return _0x148b5f(_0x47cad4);}};if(!componentEngine)try{const _0x43737b=_0x118cb8['tVmSb'](require,_0x380caf(0x11e));componentEngine=_0x43737b['componentEngine']||_0x43737b;}catch(_0x2a0b43){}return componentEngine;}class JobManager{constructor(){const _0x22d3ee=a0_0x24fce9,_0x1dcb90='4|5|3|7|1|2|0|6'['split']('|');let _0x2f2dca=0x0;while(!![]){switch(_0x1dcb90[_0x2f2dca++]){case'0':this['workingDir']=process['cwd']();continue;case'1':this[_0x22d3ee(0x1f1)]=[];continue;case'2':this[_0x22d3ee(0x1d3)]=![];continue;case'3':this['jobConfigs']={};continue;case'4':this[_0x22d3ee(0x1aa)]={};continue;case'5':this['workers']={};continue;case'6':this['activeHistoryIds']=new Map();continue;case'7':this['handlers']={};continue;}break;}}['createBullMQConnection'](){const _0x5ddadc=a0_0x24fce9,_0x133c60={'salVL':function(_0x4231bc,_0x589d21){return _0x4231bc*_0x589d21;}},_0x2d1f7d=new Redis({'host':process[_0x5ddadc(0x223)][_0x5ddadc(0x166)]||_0x5ddadc(0x20c),'port':parseInt(process['env'][_0x5ddadc(0x129)],0xa)||0x18ec,'password':process['env'][_0x5ddadc(0x245)]||undefined,'db':parseInt(process['env']['REDIS_DB'],0xa)||0x0,'maxRetriesPerRequest':null,'retryStrategy'(_0x5ada68){const _0x3f31ab=_0x5ddadc,_0x2aa8e4=Math[_0x3f31ab(0x116)](_0x133c60[_0x3f31ab(0x1d4)](_0x5ada68,0x32),0x7d0);return _0x2aa8e4;}});return _0x2d1f7d['on'](_0x5ddadc(0x232),_0x1bbafc=>{const _0x4cb833=_0x5ddadc;logger[_0x4cb833(0x232)]({'event':_0x4cb833(0x16e),'error':_0x1bbafc['message']},_0x4cb833(0x235)+_0x1bbafc[_0x4cb833(0x1bf)]);}),this[_0x5ddadc(0x1f1)]['push'](_0x2d1f7d),_0x2d1f7d;}async['initialize'](){const _0x177c52=a0_0x24fce9,_0xa14e9e={'gihkc':'job_manager_already_initialized','GvKcf':'Job\x20Manager\x20sudah\x20diinisialisasi,\x20skip','lZHEF':'job_manager_init_start','agsmE':'Initializing\x20Job\x20Manager...','VvJEt':_0x177c52(0x172),'XoHMK':'job_redis_failed','upgwS':function(_0x53bb20,_0x1e5fa3){return _0x53bb20===_0x1e5fa3;},'unApr':_0x177c52(0x1d1),'abkAR':'default','iyncl':function(_0x3279e3,_0x441bd8){return _0x3279e3*_0x441bd8;},'uYtxH':_0x177c52(0x18e),'TKLxO':function(_0x19d87f,_0x17da80,_0xf63f65){return _0x19d87f(_0x17da80,_0xf63f65);},'gGXzB':_0x177c52(0x1c3),'Djydo':'stalled','SavwR':_0x177c52(0x1c1),'InZLe':'job_manager_ready'};if(this['initialized']){logger[_0x177c52(0x1e1)]({'event':_0xa14e9e[_0x177c52(0x123)]},_0xa14e9e[_0x177c52(0x175)]);return;}logger[_0x177c52(0x1cb)]({'event':_0xa14e9e[_0x177c52(0x180)]},_0xa14e9e['agsmE']);const _0x5b1bd1=this['createBullMQConnection']();try{await _0x5b1bd1['ping'](),logger['info']({'event':_0xa14e9e['VvJEt']},'BullMQ\x20Redis\x20connection\x20verified');}catch(_0x35cb6){logger[_0x177c52(0x232)]({'event':_0xa14e9e[_0x177c52(0x1a8)],'error':_0x35cb6['message']},_0x177c52(0x1a0)+_0x35cb6['message']+_0x177c52(0x120));try{await _0x5b1bd1['quit']();}catch(_0x84925f){}this[_0x177c52(0x1f1)]=this[_0x177c52(0x1f1)][_0x177c52(0x121)](_0x6aed7=>_0x6aed7!==_0x5b1bd1);return;}try{await _0x5b1bd1[_0x177c52(0x154)]();}catch(_0x26eea2){}this[_0x177c52(0x1f1)]=this[_0x177c52(0x1f1)][_0x177c52(0x121)](_0x11d99a=>_0x11d99a!==_0x5b1bd1);try{await this[_0x177c52(0x169)]();}catch(_0x5eb040){logger[_0x177c52(0x1e1)]({'event':_0x177c52(0x226),'error':_0x5eb040['message']},_0x177c52(0x14d)+_0x5eb040['message']+'.\x20DB\x20monitoring\x20disabled.');}const _0x50ba49=this[_0x177c52(0x224)]();_0xa14e9e[_0x177c52(0x22c)](_0x50ba49[_0x177c52(0x12f)],0x0)&&logger[_0x177c52(0x1cb)]({'event':_0x177c52(0x12e)},'Tidak\x20ada\x20job\x20config\x20ditemukan\x20di\x20payload/jobs/.\x20Job\x20Manager\x20aktif\x20tanpa\x20cron.');const _0x1c41d1=[];for(const _0x1511e6 of _0x50ba49){const _0x31ca0a=jobValidator['validateConfig'](_0x1511e6,this['workingDir']);_0x31ca0a[_0x177c52(0x237)]?_0x1c41d1[_0x177c52(0x1a1)](_0x1511e6):logger['error']({'event':_0xa14e9e[_0x177c52(0x1f7)],'name':_0x1511e6[_0x177c52(0x20e)]||'unknown','errors':_0x31ca0a[_0x177c52(0x1cf)]},_0x177c52(0x19a)+(_0x1511e6[_0x177c52(0x20e)]||'unknown')+_0x177c52(0x1a2)+_0x31ca0a['errors'][_0x177c52(0x179)](';\x20'));}const _0x21ae4a=process[_0x177c52(0x223)]['RESTFORGE_PROJECT_NAME']||_0xa14e9e['abkAR'],_0x42cbaa=process[_0x177c52(0x223)]['JOB_REDIS_PREFIX']||_0x177c52(0x19d)+_0x21ae4a+_0x177c52(0x127),_0x4c5d84=parseInt(process['env']['JOB_RETENTION_HOURS'],0xa)||0x48,_0x119535=parseInt(process['env']['JOB_FAILED_RETENTION_HOURS'],0xa)||0xa8,_0x269571={'removeOnComplete':{'age':_0xa14e9e[_0x177c52(0x18a)](_0x4c5d84,0xe10)},'removeOnFail':{'age':_0x119535*0xe10}},_0x3296ba={'high-priority':'high','default':_0x177c52(0x202),'low-priority':_0x177c52(0x227)};for(const [_0x6f0c76,_0x4627b9]of Object['entries'](_0x3296ba)){this['queues'][_0x6f0c76]=new Queue(_0x4627b9,{'connection':this['createBullMQConnection'](),'prefix':_0x42cbaa,'defaultJobOptions':_0x269571});}logger['info']({'event':_0xa14e9e['uYtxH'],'count':0x3},'3\x20BullMQ\x20Queues\x20created\x20(high,\x20default,\x20low)');const _0x3873ee=parseInt(process[_0x177c52(0x223)]['JOB_CONCURRENCY'],0xa)||0x5,_0x1953a5=parseInt(process[_0x177c52(0x223)][_0x177c52(0x14a)],0xa)||0x7530,_0x3d1604=_0xa14e9e[_0x177c52(0x236)](parseInt,process[_0x177c52(0x223)][_0x177c52(0x10e)],0xa)||0x2;for(const [_0x571d4a,_0x14419a]of Object[_0x177c52(0x219)](_0x3296ba)){const _0x40fe21=new Worker(_0x14419a,async _0x492637=>this[_0x177c52(0x1b8)](_0x492637),{'connection':this['createBullMQConnection'](),'prefix':_0x42cbaa,'concurrency':_0x3873ee,'stalledInterval':_0x1953a5,'maxStalledCount':_0x3d1604});_0x40fe21['on'](_0x177c52(0x15f),(_0x24d804,_0x42b082)=>this[_0x177c52(0x23d)](_0x24d804,_0x42b082)),_0x40fe21['on']('failed',(_0x1453d6,_0x4c70fb)=>this[_0x177c52(0x1c9)](_0x1453d6,_0x4c70fb)),_0x40fe21['on'](_0xa14e9e[_0x177c52(0x1df)],(_0x2f9491,_0x49d6e7)=>this[_0x177c52(0x17b)](_0x2f9491,_0x49d6e7)),_0x40fe21['on'](_0xa14e9e['Djydo'],_0x523979=>{const _0xebee19=_0x177c52;logger[_0xebee19(0x1e1)]({'event':_0xebee19(0x1a5),'jobId':_0x523979},'Job\x20stalled:\x20'+_0x523979);}),_0x40fe21['on']('error',_0x28ab55=>{const _0x450a0e=_0x177c52;logger['error']({'event':_0x450a0e(0x16d),'queue':_0x571d4a,'error':_0x28ab55['message']},_0x450a0e(0x19f)+_0x571d4a+_0x450a0e(0x1b6)+_0x28ab55[_0x450a0e(0x1bf)]);}),this['workers'][_0x571d4a]=_0x40fe21;}logger['info']({'event':_0x177c52(0x230),'count':0x3,'concurrency':_0x3873ee},_0x177c52(0x234)+_0x3873ee+')');let _0x3e972b=0x0;for(const _0x21ba3f of _0x1c41d1){try{await this['registerJob'](_0x21ba3f),_0x3e972b++;}catch(_0x4dea97){logger[_0x177c52(0x232)]({'event':_0xa14e9e[_0x177c52(0x11f)],'name':_0x21ba3f[_0x177c52(0x20e)],'error':_0x4dea97['message']},_0x177c52(0x23f)+_0x21ba3f[_0x177c52(0x20e)]+_0x177c52(0x1a2)+_0x4dea97[_0x177c52(0x1bf)]);}}this[_0x177c52(0x1d3)]=!![];const _0x59c437=this['connections'][_0x177c52(0x12f)];logger[_0x177c52(0x1cb)]({'event':_0xa14e9e[_0x177c52(0x221)],'registeredJobs':_0x3e972b,'totalConfigs':_0x1c41d1[_0x177c52(0x12f)],'redisConnections':_0x59c437},'Job\x20Manager\x20ready:\x20'+_0x3e972b+'\x20job(s)\x20registered,\x20'+_0x59c437+_0x177c52(0x109));}async[a0_0x24fce9(0x23b)](){const _0x14c331=a0_0x24fce9,_0x58c825={'qfIgJ':function(_0x198c22,_0x408d62){return _0x198c22-_0x408d62;},'KIfVw':function(_0x1aa453,_0x13361d){return _0x1aa453===_0x13361d;},'cApID':_0x14c331(0x17c),'kQGzp':'Job\x20Manager\x20shutdown\x20complete'};if(!this['initialized'])return;const _0x4c034d=parseInt(process['env'][_0x14c331(0x1e2)],0xa)||0x2710;logger['info']({'event':'job_manager_shutdown_start','timeoutMs':_0x4c034d},_0x14c331(0x1e8)+_0x4c034d+_0x14c331(0x1db));const _0x32abd2=Object[_0x14c331(0x211)](this[_0x14c331(0x186)])[_0x14c331(0x203)](async _0x368e73=>{try{await _0x368e73['pause']();}catch(_0xa4086b){}});await Promise['all'](_0x32abd2);const _0x355306=Date[_0x14c331(0x151)]();while(_0x58c825['qfIgJ'](Date['now'](),_0x355306)<_0x4c034d){let _0x3e984e=0x0;for(const _0x23aa82 of Object['values'](this['queues'])){try{const _0xf84660=await _0x23aa82['getJobCounts']('active');_0x3e984e+=_0xf84660[_0x14c331(0x1f0)]||0x0;}catch(_0x35f875){}}if(_0x58c825[_0x14c331(0x173)](_0x3e984e,0x0))break;await new Promise(_0x396055=>setTimeout(_0x396055,0x1f4));}const _0x34afc5=Object['values'](this[_0x14c331(0x186)])[_0x14c331(0x203)](async _0x475982=>{const _0x2237c4=_0x14c331;try{await _0x475982[_0x2237c4(0x148)]();}catch(_0x248e44){}});await Promise[_0x14c331(0x23e)](_0x34afc5);const _0x5c7be3=Object['values'](this[_0x14c331(0x1aa)])['map'](async _0x40dfa=>{const _0x39b761=_0x14c331;try{await _0x40dfa[_0x39b761(0x148)]();}catch(_0x592bf3){}});await Promise[_0x14c331(0x23e)](_0x5c7be3);for(const _0x27e28b of this[_0x14c331(0x1f1)]){try{await _0x27e28b['quit']();}catch(_0x3ca8da){}}this[_0x14c331(0x1aa)]={},this['workers']={},this[_0x14c331(0x1f1)]=[],await this['setAllJobsOffline'](),this[_0x14c331(0x189)]['clear'](),this['initialized']=![],logger[_0x14c331(0x1cb)]({'event':_0x58c825[_0x14c331(0x142)]},_0x58c825[_0x14c331(0x184)]);}['loadJobConfigs'](){const _0x3270ce=a0_0x24fce9,_0x46a3bf={'MjACD':_0x3270ce(0x20b),'ATKYr':_0x3270ce(0x10a),'uRRKY':_0x3270ce(0x157)},_0x3ae0fa=path[_0x3270ce(0x179)](this['workingDir'],_0x46a3bf[_0x3270ce(0x170)],_0x46a3bf[_0x3270ce(0x1f2)]);if(!fs[_0x3270ce(0x18f)](_0x3ae0fa))return logger['info']({'event':'job_config_dir_missing','path':_0x3ae0fa},_0x3270ce(0x1c6)),[];const _0x4e794f=fs[_0x3270ce(0x1f4)](_0x3ae0fa)['filter'](_0x59c029=>_0x59c029[_0x3270ce(0x11b)](_0x3270ce(0x23c))),_0xf69f98=[];for(const _0x2dd939 of _0x4e794f){const _0x156f95=path['join'](_0x3ae0fa,_0x2dd939);try{const _0x2bfb11=fs[_0x3270ce(0x11c)](_0x156f95,_0x3270ce(0x241)),_0x5567a6=JSON[_0x3270ce(0x195)](_0x2bfb11);_0x5567a6[_0x3270ce(0x216)]=_0x2dd939,_0xf69f98['push'](_0x5567a6);}catch(_0x388aa7){logger[_0x3270ce(0x232)]({'event':'job_config_parse_error','file':_0x2dd939,'error':_0x388aa7['message']},'Failed\x20to\x20parse\x20job\x20config:\x20'+_0x2dd939+_0x3270ce(0x1a2)+_0x388aa7[_0x3270ce(0x1bf)]);}}return logger[_0x3270ce(0x1cb)]({'event':_0x46a3bf['uRRKY'],'count':_0xf69f98['length']},'Loaded\x20'+_0xf69f98[_0x3270ce(0x12f)]+_0x3270ce(0x1eb)),_0xf69f98;}async[a0_0x24fce9(0x10b)](_0x130ed7){const _0x43990b=a0_0x24fce9,_0x135361={'OCqiw':function(_0x1b0c02,_0x1d1aa5){return _0x1b0c02===_0x1d1aa5;},'Xaciz':_0x43990b(0x202),'VqLZS':_0x43990b(0x156),'ICJEk':_0x43990b(0x1cd),'MjGcn':_0x43990b(0x133),'Gepsp':function(_0x22c35f,_0x269fa7){return _0x22c35f!==_0x269fa7;},'eWYtT':'online','ngmiS':function(_0x2544bf,_0x28aa82){return _0x2544bf===_0x28aa82;}},_0x2b72cb=path['join'](this['workingDir'],'src',_0x43990b(0x10a),_0x130ed7['handler']+_0x43990b(0x12b));this['handlers'][_0x130ed7['name']]=require(_0x2b72cb),this['jobConfigs'][_0x130ed7['name']]=_0x130ed7;if(_0x135361['OCqiw'](_0x130ed7['type'],_0x43990b(0x133))&&_0x130ed7[_0x43990b(0x1ad)]!==![]){const _0x47abb7=this[_0x43990b(0x1aa)][_0x130ed7[_0x43990b(0x207)]||_0x135361['Xaciz']];await _0x47abb7[_0x43990b(0x205)](_0x130ed7['name'],{'pattern':_0x130ed7['schedule'],'tz':_0x130ed7['timezone']||undefined},{'name':_0x130ed7[_0x43990b(0x20e)],'data':{'handler':_0x130ed7[_0x43990b(0x21e)],'triggeredBy':'cron','metadata':_0x130ed7[_0x43990b(0x23a)]||{}},'opts':{'attempts':_0x130ed7['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0x130ed7[_0x43990b(0x206)]?.['backoff']||_0x135361[_0x43990b(0x15a)],'delay':_0x130ed7['retry']?.['initialDelay']||0x1388},'timeout':_0x130ed7['timeout']||0x7530}}),logger['info']({'event':_0x135361['ICJEk'],'name':_0x130ed7['name'],'schedule':_0x130ed7[_0x43990b(0x1fa)],'queue':_0x130ed7[_0x43990b(0x207)]||_0x135361[_0x43990b(0x20a)]},'Cron\x20registered:\x20'+_0x130ed7[_0x43990b(0x20e)]+'\x20['+_0x130ed7[_0x43990b(0x1fa)]+']');}const _0x2e5d24=_0x130ed7['type']===_0x135361[_0x43990b(0x1b7)]&&_0x135361['Gepsp'](_0x130ed7['enabled'],![])?_0x135361['eWYtT']:_0x43990b(0x143);let _0xb37820=null;_0x135361[_0x43990b(0x13d)](_0x2e5d24,_0x135361[_0x43990b(0x1f5)])&&(_0xb37820=await this['getNextRunFromBullMQ'](_0x130ed7[_0x43990b(0x20e)])),await this['upsertJobRegistry'](_0x130ed7,_0x2e5d24,_0xb37820);}async[a0_0x24fce9(0x1b8)](_0x56726a){const _0x10b545=a0_0x24fce9,_0x17e470={'fHPai':'job_history_insert_bg_error','ULbLv':function(_0x2ab8b9,_0x159b7f){return _0x2ab8b9+_0x159b7f;},'eKFbJ':_0x10b545(0x210),'FLJFG':'cron','mVEcN':function(_0x7d10b3,_0x40199c){return _0x7d10b3===_0x40199c;},'gdmnz':function(_0x15855b,_0x406ca5){return _0x15855b+_0x406ca5;},'JCwdp':function(_0x5eed9b,_0x1e7510){return _0x5eed9b===_0x1e7510;},'wMoZJ':'function','vJhzz':'job_handler_done'},_0x3608fa=this[_0x10b545(0x228)][_0x56726a[_0x10b545(0x20e)]],_0x5e5eba=this[_0x10b545(0x1d7)][_0x56726a[_0x10b545(0x20e)]];if(!_0x5e5eba)throw new Error('Handler\x20not\x20found\x20for\x20job:\x20'+_0x56726a['name']);const _0x18282c=logger[_0x10b545(0x17e)]({'jobId':_0x56726a['id'],'jobName':_0x56726a['name']});_0x18282c[_0x10b545(0x1cb)]({'event':'job_started','attempt':_0x17e470[_0x10b545(0x239)](_0x56726a['attemptsMade'],0x1),'triggeredBy':_0x56726a['data']?.[_0x10b545(0x1bb)]||'unknown'},_0x10b545(0x12a)+_0x56726a[_0x10b545(0x20e)]+_0x10b545(0x1dd)+(_0x56726a[_0x10b545(0x161)]+0x1)+')');const _0x307981=uuidv7(),_0x269c67=_0x56726a[_0x10b545(0x135)]?.[_0x10b545(0x1bb)]||_0x17e470[_0x10b545(0x212)],_0x4d7d11=this[_0x10b545(0x12d)]({'id':_0x307981,'jobName':_0x56726a['name'],'bullmqJobId':_0x56726a['id'],'triggerType':_0x269c67===_0x10b545(0x1a7)?'delayed':_0x269c67===_0x10b545(0x17a)?_0x10b545(0x163):_0x17e470['FLJFG'],'triggeredBy':_0x17e470['mVEcN'](_0x269c67,'cron')?_0x10b545(0x167):_0x269c67,'queue':_0x3608fa?.['queue']||_0x10b545(0x202),'attempt':_0x17e470[_0x10b545(0x1af)](_0x56726a['attemptsMade'],0x1),'configFile':_0x3608fa?.[_0x10b545(0x216)]||null})['catch'](_0x1187ab=>{const _0x3e5349=_0x10b545;_0x18282c['warn']({'event':_0x17e470['fHPai'],'error':_0x1187ab[_0x3e5349(0x1bf)]},'Background\x20insert\x20job\x20history\x20failed:\x20'+_0x1187ab[_0x3e5349(0x1bf)]);});this[_0x10b545(0x189)][_0x10b545(0x146)](_0x56726a['id'],{'historyId':_0x307981,'insertPromise':_0x4d7d11});const _0x5064d1=this[_0x10b545(0x10d)](_0x56726a,_0x3608fa,_0x18282c),_0x367536=getComponentEngine();if(_0x367536&&_0x17e470['JCwdp'](typeof _0x367536[_0x10b545(0x192)],_0x17e470[_0x10b545(0x196)])){const _0x586a4c=await _0x367536[_0x10b545(0x192)](_0x10b545(0x225),_0x5064d1,!![]);if(!_0x586a4c['success'])throw new Error('Job\x20cancelled\x20by\x20onBeforeJobExecute:\x20'+_0x586a4c['error']);}const _0x11613b=await _0x5e5eba(_0x5064d1);return _0x18282c['info']({'event':_0x17e470['vJhzz'],'result':_0x11613b},_0x10b545(0x11a)+_0x56726a[_0x10b545(0x20e)]),_0x11613b;}['buildContext'](_0x592f7c,_0x459b47,_0xacacd5){const _0x2ae42d=a0_0x24fce9,_0x5bdf73={'ZCpZt':'JOB_EVENT','wMhRq':_0x2ae42d(0x1c8),'qGtBI':function(_0x16e71c,_0x21b2dc){return _0x16e71c+_0x21b2dc;},'ZGfvv':function(_0x2faf49,_0x39062c){return _0x2faf49||_0x39062c;}};return{'jobId':_0x592f7c['id'],'jobName':_0x592f7c[_0x2ae42d(0x20e)],'attempt':_0x5bdf73['qGtBI'](_0x592f7c[_0x2ae42d(0x161)],0x1),'maxAttempts':_0x459b47?.[_0x2ae42d(0x206)]?.[_0x2ae42d(0x18d)]||0x3,'payload':_0x592f7c['data']||{},'config':_0x5bdf73['ZGfvv'](_0x459b47,{}),'db':this[_0x2ae42d(0x1e4)](),'redis':this['getRedisClient'](),'logger':_0xacacd5,'kafka':this['getKafkaService'](),'cache':this['getCacheManager'](),'updateProgress':async _0x34834e=>{const _0x11f67a=_0x2ae42d;await _0x592f7c[_0x11f67a(0x1f9)](_0x34834e);},'emit':async(_0x1dfb84,_0x4e52fa)=>{const _0x772b7d=_0x2ae42d,_0x49a517=this['getKafkaService']();_0x49a517&&await _0x49a517['publishEvent'](_0x1dfb84,_0x5bdf73[_0x772b7d(0x1d0)],null,_0x4e52fa,{'module':_0x5bdf73[_0x772b7d(0x243)],'endpoint':_0x592f7c[_0x772b7d(0x20e)]});},'job':_0x592f7c};}['getDbType'](){const _0x5dee3f=a0_0x24fce9;return(process[_0x5dee3f(0x223)][_0x5dee3f(0x1e3)]||_0x5dee3f(0x113))[_0x5dee3f(0x152)]();}async[a0_0x24fce9(0x169)](){const _0x46d9fc=a0_0x24fce9,_0x3cd933={'iFsNj':'postgresql.sql','vTjAR':'oracle.sql','dSsoG':'job_db_type_unsupported','CLSTW':_0x46d9fc(0x1ea),'Hnlrp':_0x46d9fc(0x194)},_0x46b55b=this[_0x46d9fc(0x1e4)]();if(!_0x46b55b){logger[_0x46d9fc(0x1e1)]({'event':_0x46d9fc(0x222)},'Database\x20tidak\x20tersedia,\x20skip\x20auto-create\x20job\x20tables');return;}const _0x130e4f=this[_0x46d9fc(0x168)](),_0x35e278={'postgresql':_0x3cd933['iFsNj'],'oracle':_0x3cd933[_0x46d9fc(0x136)],'mysql':_0x46d9fc(0x162)},_0xb819c5=_0x35e278[_0x130e4f];if(!_0xb819c5){logger['warn']({'event':_0x3cd933[_0x46d9fc(0x165)],'dbType':_0x130e4f},'DB_TYPE\x20\x27'+_0x130e4f+_0x46d9fc(0x110));return;}const _0x1c6361=path[_0x46d9fc(0x179)](__dirname,_0x3cd933['CLSTW'],_0xb819c5);if(!fs[_0x46d9fc(0x18f)](_0x1c6361)){logger['warn']({'event':'job_sql_not_found','path':_0x1c6361},'SQL\x20script\x20tidak\x20ditemukan:\x20'+_0x1c6361);return;}const _0x3b7683=fs['readFileSync'](_0x1c6361,_0x46d9fc(0x241)),_0xe47a82=this[_0x46d9fc(0x1fc)](_0x3b7683,_0x130e4f);let _0x5ddc8a=0x0;for(const _0x12854f of _0xe47a82){try{await _0x46b55b[_0x46d9fc(0x19e)](_0x12854f),_0x5ddc8a++;}catch(_0x4ff7d6){const _0x55cf54=(_0x4ff7d6['message']||'')[_0x46d9fc(0x152)](),_0x493199=_0x55cf54[_0x46d9fc(0x1bc)](_0x46d9fc(0x117))||_0x55cf54[_0x46d9fc(0x1bc)](_0x3cd933['Hnlrp'])||_0x55cf54['includes']('duplicate');!_0x493199&&logger[_0x46d9fc(0x1e1)]({'event':_0x46d9fc(0x114),'error':_0x4ff7d6[_0x46d9fc(0x1bf)]},'Job\x20ensureTables\x20warning:\x20'+_0x4ff7d6['message']);}}logger['info']({'event':_0x46d9fc(0x204),'dbType':_0x130e4f,'executed':_0x5ddc8a},'Job\x20monitoring\x20tables\x20ensured\x20('+_0x130e4f+')');}[a0_0x24fce9(0x1fc)](_0x14bb91,_0x10db01){const _0x12cb63=a0_0x24fce9,_0x32d70f={'tkjPV':function(_0x4e0031,_0x447be0){return _0x4e0031>_0x447be0;},'AfaxM':function(_0x503864,_0x4cf38c){return _0x503864===_0x4cf38c;}};let _0x2d6dd7;return _0x32d70f[_0x12cb63(0x1b9)](_0x10db01,'oracle')?_0x2d6dd7=_0x14bb91[_0x12cb63(0x1d2)](/\n\/\s*(?:\n|$)/):_0x2d6dd7=_0x14bb91[_0x12cb63(0x1d2)](/;\s*(?:\n|$)/),_0x2d6dd7[_0x12cb63(0x203)](_0x22b45e=>_0x22b45e[_0x12cb63(0x19c)]())[_0x12cb63(0x121)](_0x28be6f=>{const _0x2fd505=_0x12cb63;if(_0x28be6f['length']===0x0)return![];const _0x148ed4=_0x28be6f[_0x2fd505(0x1d2)]('\x0a')['filter'](_0x571134=>!_0x571134[_0x2fd505(0x19c)]()['startsWith']('--')&&_0x571134[_0x2fd505(0x19c)]()['length']>0x0);return _0x32d70f['tkjPV'](_0x148ed4[_0x2fd505(0x12f)],0x0);});}async['upsertJobRegistry'](_0x482136,_0x5544a3=a0_0x24fce9(0x17d),_0x379e9e=null){const _0x10ae45=a0_0x24fce9,_0xbff5f2={'pucDm':'exponential','Frztg':'mysql','xLLsI':'job_registry_upsert_error'},_0x560efb=this[_0x10ae45(0x1e4)]();if(!_0x560efb)return;const _0x3a187a=this[_0x10ae45(0x168)](),_0x32e997=[_0x482136['name'],_0x482136[_0x10ae45(0x1d9)]||_0x482136[_0x10ae45(0x20e)],_0x482136['type']||_0x10ae45(0x133),_0x482136['schedule']||null,_0x482136[_0x10ae45(0x207)]||_0x10ae45(0x202),_0x482136['handler'],_0x482136['_sourceFile']||'',_0x482136['timeout']||0x7530,_0x482136['retry']?.[_0x10ae45(0x18d)]||0x3,_0x482136['retry']?.[_0x10ae45(0x12c)]||_0xbff5f2[_0x10ae45(0x144)],_0x5544a3,_0x379e9e];try{if(_0x3a187a===_0x10ae45(0x1f6))await _0x560efb['executeQuery'](_0x10ae45(0x1a9),_0x32e997);else _0x3a187a===_0xbff5f2[_0x10ae45(0x13b)]?await _0x560efb['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)',_0x32e997):await _0x560efb['executeQuery'](_0x10ae45(0x1b5),_0x32e997);}catch(_0x4e3034){logger[_0x10ae45(0x1e1)]({'event':_0xbff5f2[_0x10ae45(0x218)],'name':_0x482136[_0x10ae45(0x20e)],'error':_0x4e3034[_0x10ae45(0x1bf)]},'Failed\x20to\x20upsert\x20job\x20registry:\x20'+_0x482136[_0x10ae45(0x20e)]+_0x10ae45(0x1a2)+_0x4e3034[_0x10ae45(0x1bf)]);}}async['insertJobHistory'](_0x1122b1){const _0x278098=a0_0x24fce9,_0x19decf={'SuDGr':_0x278098(0x167),'ORAeF':_0x278098(0x202),'GUwoz':_0x278098(0x141)},_0x7b19a7=this[_0x278098(0x1e4)]();if(!_0x7b19a7)return;const _0x8bf838=this['getDbType'](),_0x3f49f1=[_0x1122b1['id'],_0x1122b1['jobName'],_0x1122b1['bullmqJobId']||null,_0x1122b1[_0x278098(0x16a)]||'cron',_0x1122b1[_0x278098(0x1bb)]||_0x19decf[_0x278098(0x1f3)],_0x1122b1['queue']||_0x19decf[_0x278098(0x22e)],_0x1122b1['attempt']||0x1,_0x1122b1['configFile']||null,process['pid']];try{if(_0x8bf838===_0x278098(0x1f6))await _0x7b19a7['executeQuery'](_0x278098(0x198),_0x3f49f1);else _0x8bf838==='mysql'?await _0x7b19a7['executeQuery'](_0x278098(0x20f),_0x3f49f1):await _0x7b19a7['executeQuery'](_0x278098(0x176),_0x3f49f1);await this[_0x278098(0x215)](_0x1122b1['jobName'],_0x19decf['GUwoz']);}catch(_0xf414b3){logger[_0x278098(0x1e1)]({'event':_0x278098(0x11d),'jobName':_0x1122b1['jobName'],'error':_0xf414b3['message']},_0x278098(0x21a)+_0xf414b3['message']);}}async[a0_0x24fce9(0x15d)](_0x12c224,_0x23f2d5,_0x416e8d){const _0x5d17aa=a0_0x24fce9,_0x1c13a5={'qszvM':function(_0x375d68,_0x4ed0e7){return _0x375d68===_0x4ed0e7;}},_0xa1812e=this['getDbUtils']();if(!_0xa1812e)return;const _0x2df72f=this[_0x5d17aa(0x168)](),_0x2ed2cf=_0x416e8d?String(_0x416e8d)['substring'](0x0,0x1f4):null;try{if(_0x2df72f===_0x5d17aa(0x1f6))await _0xa1812e[_0x5d17aa(0x19e)]('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27success\x27,\x20completed_at\x20=\x20SYSTIMESTAMP,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20:1,\x20progress\x20=\x20100,\x20result_summary\x20=\x20:2\x20WHERE\x20id\x20=\x20:3',[_0x23f2d5,_0x2ed2cf,_0x12c224]);else _0x1c13a5[_0x5d17aa(0x191)](_0x2df72f,_0x5d17aa(0x1f8))?await _0xa1812e[_0x5d17aa(0x19e)](_0x5d17aa(0x13f),[_0x23f2d5,_0x2ed2cf,_0x12c224]):await _0xa1812e[_0x5d17aa(0x19e)](_0x5d17aa(0x187),[_0x23f2d5,_0x2ed2cf,_0x12c224]);}catch(_0x582198){logger[_0x5d17aa(0x1e1)]({'event':'job_history_complete_error','historyId':_0x12c224,'error':_0x582198['message']},'Failed\x20to\x20update\x20job\x20history\x20(completed):\x20'+_0x582198[_0x5d17aa(0x1bf)]);}}async['updateJobHistoryFailed'](_0xc741d7,_0x23943a,_0x51554a,_0x1650e1,_0x50fc5e){const _0x2aa52a=a0_0x24fce9,_0x42a478={'CaXXD':function(_0x871bb9,_0xf08b4e){return _0x871bb9(_0xf08b4e);},'CWhiQ':function(_0x3bd749,_0x295cda){return _0x3bd749(_0x295cda);},'ZbVlD':'oracle','Whsks':function(_0x5d047b,_0x20fd79){return _0x5d047b||_0x20fd79;},'vGCHn':function(_0x4ea034,_0x163da7){return _0x4ea034||_0x163da7;},'cLIVT':_0x2aa52a(0x13c)},_0x1c5c91=this['getDbUtils']();if(!_0x1c5c91)return;const _0x290050=this['getDbType'](),_0x1d9110=_0x1650e1?_0x42a478['CaXXD'](String,_0x1650e1)[_0x2aa52a(0x115)](0x0,0x3e8):null,_0x1a6f95=_0x50fc5e?_0x42a478[_0x2aa52a(0x164)](String,_0x50fc5e)['substring'](0x0,0xfa0):null;try{if(_0x290050===_0x42a478['ZbVlD'])await _0x1c5c91[_0x2aa52a(0x19e)](_0x2aa52a(0x124),[_0x23943a,_0x42a478['Whsks'](_0x51554a,0x0),_0x1d9110,_0x1a6f95,_0xc741d7]);else _0x290050==='mysql'?await _0x1c5c91['executeQuery'](_0x2aa52a(0x14c),[_0x23943a,_0x42a478['vGCHn'](_0x51554a,0x0),_0x1d9110,_0x1a6f95,_0xc741d7]):await _0x1c5c91['executeQuery']('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27failed\x27,\x20completed_at\x20=\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20$1,\x20progress\x20=\x20$2,\x20error_message\x20=\x20$3,\x20error_stack\x20=\x20$4\x20WHERE\x20id\x20=\x20$5',[_0x23943a,_0x42a478[_0x2aa52a(0x153)](_0x51554a,0x0),_0x1d9110,_0x1a6f95,_0xc741d7]);}catch(_0x22082e){logger['warn']({'event':_0x42a478['cLIVT'],'historyId':_0xc741d7,'error':_0x22082e[_0x2aa52a(0x1bf)]},'Failed\x20to\x20update\x20job\x20history\x20(failed):\x20'+_0x22082e['message']);}}async[a0_0x24fce9(0x215)](_0x349fc6,_0x55f626){const _0xd6a021=a0_0x24fce9,_0x58be04={'HkPBC':function(_0x230bb5,_0x104d22){return _0x230bb5===_0x104d22;},'jKyGf':'oracle'},_0x4cd2ec=this[_0xd6a021(0x1e4)]();if(!_0x4cd2ec)return;const _0x2aca84=this['getDbType']();try{if(_0x58be04['HkPBC'](_0x2aca84,_0x58be04[_0xd6a021(0x22d)]))await _0x4cd2ec['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',[_0x55f626,_0x349fc6]);else _0x58be04[_0xd6a021(0x200)](_0x2aca84,_0xd6a021(0x1f8))?await _0x4cd2ec[_0xd6a021(0x19e)]('UPDATE\x20job_registry\x20SET\x20last_status\x20=\x20?,\x20last_run_at\x20=\x20NOW()\x20WHERE\x20job_name\x20=\x20?',[_0x55f626,_0x349fc6]):await _0x4cd2ec[_0xd6a021(0x19e)](_0xd6a021(0x1b1),[_0x55f626,_0x349fc6]);}catch(_0x125442){}}async[a0_0x24fce9(0x1d8)](_0x17ed65,_0x3d89c0,_0xe49724,_0x6a0d04){const _0x306c35=a0_0x24fce9,_0x3c2680={'IDEzf':'success','ScjKx':_0x306c35(0x1ac),'Nvirj':function(_0x27b8bb,_0x1b2055){return _0x27b8bb===_0x1b2055;},'bDNrC':'mysql','jKWZI':_0x306c35(0x1b0)},_0x7a5519=this[_0x306c35(0x1e4)]();if(!_0x7a5519)return;const _0x1cb72b=this['getDbType'](),_0x1fb230=_0x3d89c0===_0x3c2680['IDEzf']?_0x306c35(0x240):_0x3c2680[_0x306c35(0x193)];try{if(_0x1cb72b==='oracle')await _0x7a5519['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'+_0x1fb230+'\x20=\x20'+_0x1fb230+'\x20+\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20:3,\x20updated_at\x20=\x20SYSTIMESTAMP\x20WHERE\x20job_name\x20=\x20:4',[_0x3d89c0,_0xe49724,_0x6a0d04,_0x17ed65]);else _0x3c2680['Nvirj'](_0x1cb72b,_0x3c2680['bDNrC'])?await _0x7a5519[_0x306c35(0x19e)]('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'+_0x1fb230+'\x20=\x20'+_0x1fb230+_0x306c35(0x138),[_0x3d89c0,_0xe49724,_0x6a0d04,_0x17ed65]):await _0x7a5519[_0x306c35(0x19e)]('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'+_0x1fb230+'\x20=\x20'+_0x1fb230+'\x20+\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20$3,\x20updated_at\x20=\x20NOW()\x20WHERE\x20job_name\x20=\x20$4',[_0x3d89c0,_0xe49724,_0x6a0d04,_0x17ed65]);}catch(_0x446c93){logger['warn']({'event':_0x3c2680[_0x306c35(0x10f)],'jobName':_0x17ed65,'error':_0x446c93[_0x306c35(0x1bf)]},'Failed\x20to\x20update\x20job\x20registry\x20counters:\x20'+_0x446c93['message']);}}async['getNextRunFromBullMQ'](_0x2a82cc){const _0x2251fe=a0_0x24fce9,_0x49934c={'uZuOJ':'default'},_0x241bf4=this[_0x2251fe(0x228)][_0x2a82cc];if(!_0x241bf4||_0x241bf4[_0x2251fe(0x122)]!==_0x2251fe(0x133)||_0x241bf4['enabled']===![])return null;const _0x54f1ad=this[_0x2251fe(0x1aa)][_0x241bf4[_0x2251fe(0x207)]||_0x49934c['uZuOJ']];if(!_0x54f1ad)return null;try{if(typeof _0x54f1ad[_0x2251fe(0x1e6)]==='function'){const _0x4c6402=await _0x54f1ad['getJobSchedulers'](0x0,0x64),_0x4d8a28=_0x4c6402['find'](_0x498359=>_0x498359['name']===_0x2a82cc);return _0x4d8a28?.[_0x2251fe(0x1e9)]?new Date(_0x4d8a28[_0x2251fe(0x1e9)]):null;}}catch(_0x7e3b43){}return null;}async['setAllJobsOffline'](){const _0xaa7472=a0_0x24fce9,_0x677270={'PybCu':function(_0x254d41,_0x4c1795){return _0x254d41===_0x4c1795;},'LkTsd':_0xaa7472(0x1f8)},_0x5c107d=this[_0xaa7472(0x1e4)]();if(!_0x5c107d)return;const _0x59d4b3=this[_0xaa7472(0x168)]();try{if(_0x677270['PybCu'](_0x59d4b3,_0xaa7472(0x1f6)))await _0x5c107d['executeQuery']('UPDATE\x20job_registry\x20SET\x20status\x20=\x20\x27offline\x27,\x20next_run_at\x20=\x20NULL,\x20updated_at\x20=\x20SYSTIMESTAMP');else _0x59d4b3===_0x677270[_0xaa7472(0x244)]?await _0x5c107d['executeQuery']('UPDATE\x20job_registry\x20SET\x20status\x20=\x20\x27offline\x27,\x20next_run_at\x20=\x20NULL'):await _0x5c107d[_0xaa7472(0x19e)]('UPDATE\x20job_registry\x20SET\x20status\x20=\x20\x27offline\x27,\x20next_run_at\x20=\x20NULL,\x20updated_at\x20=\x20NOW()');}catch(_0x4fd77b){logger[_0xaa7472(0x1e1)]({'event':'job_registry_offline_error','error':_0x4fd77b[_0xaa7472(0x1bf)]},_0xaa7472(0x16b)+_0x4fd77b[_0xaa7472(0x1bf)]);}}['getDbUtils'](){const _0x43dd1e=a0_0x24fce9,_0x7a4fde={'uJnBx':function(_0x103390,_0xc77fe0){return _0x103390===_0xc77fe0;},'MlSdj':'oracle','JaudW':function(_0x4aa6cf,_0xf7b2ab){return _0x4aa6cf(_0xf7b2ab);},'DxsSD':'db_oracle_unavailable','ypBOK':_0x43dd1e(0x19b),'whwzl':_0x43dd1e(0x1cc),'WKpRS':_0x43dd1e(0x1ed),'AMpre':'PostgreSQL\x20DB\x20module\x20not\x20available'},_0x22d12f=(process[_0x43dd1e(0x223)][_0x43dd1e(0x1e3)]||_0x43dd1e(0x113))['toLowerCase']();if(_0x7a4fde[_0x43dd1e(0x181)](_0x22d12f,_0x7a4fde['MlSdj']))try{const _0x286307=_0x7a4fde[_0x43dd1e(0x197)](require,'../../utils/db-oracle');return{'executeQuery':(_0xa9d3b7,_0xf83971)=>_0x286307[_0x43dd1e(0x19e)](_0xa9d3b7,_0xf83971),'executeTransaction':_0x59d373=>_0x286307['executeTransaction'](_0x59d373),'getPool':()=>_0x286307['getPool']()};}catch(_0x141679){return logger[_0x43dd1e(0x1e1)]({'event':_0x7a4fde['DxsSD']},_0x7a4fde['ypBOK']),null;}if(_0x7a4fde['uJnBx'](_0x22d12f,'mysql'))try{const _0x804d0c=require(_0x7a4fde['whwzl']);return{'executeQuery':(_0xf6648d,_0x5b80d5)=>_0x804d0c['executeQuery'](_0xf6648d,_0x5b80d5),'executeTransaction':_0x41f30f=>_0x804d0c[_0x43dd1e(0x1fd)](_0x41f30f),'getPool':()=>_0x804d0c['getPool']()};}catch(_0x380352){return logger[_0x43dd1e(0x1e1)]({'event':_0x7a4fde[_0x43dd1e(0x1d5)]},'MySQL\x20DB\x20module\x20not\x20available'),null;}try{const _0x1e6ce6=_0x7a4fde[_0x43dd1e(0x197)](require,_0x43dd1e(0x178));return{'executeQuery':_0x1e6ce6[_0x43dd1e(0x19e)],'executeTransaction':_0x1e6ce6[_0x43dd1e(0x1fd)],'getPool':_0x1e6ce6[_0x43dd1e(0x14e)]};}catch(_0x2f1604){return logger[_0x43dd1e(0x1e1)]({'event':_0x43dd1e(0x1d6)},_0x7a4fde[_0x43dd1e(0x137)]),null;}}['getRedisClient'](){const _0x2dbd05=a0_0x24fce9,_0x2dffa2={'gGELt':function(_0x17edc7,_0x1825c8){return _0x17edc7(_0x1825c8);}};try{const _0xb79323=_0x2dffa2['gGELt'](require,_0x2dbd05(0x112));return _0xb79323['getClient']?_0xb79323['getClient']():_0xb79323;}catch(_0x5b9ab9){return null;}}['getKafkaService'](){const _0x364201=a0_0x24fce9,_0x1384d4={'yZOdZ':function(_0x1aed32,_0x235716){return _0x1aed32===_0x235716;}};try{if(_0x1384d4[_0x364201(0x1e0)](process[_0x364201(0x223)][_0x364201(0x21c)],_0x364201(0x13e))){const _0x4f1bab=require('../../services/kafkaService');return _0x4f1bab['getInstance']?_0x4f1bab[_0x364201(0x1b3)]():_0x4f1bab;}}catch(_0x374b1c){}return null;}[a0_0x24fce9(0x1a4)](){const _0x436ea6={'rLWRh':'../../utils/cache-manager'};try{return require(_0x436ea6['rLWRh']);}catch(_0x22ddd0){return null;}}async['dispatch'](_0x4c7e68,_0x345414={}){const _0x36f207=a0_0x24fce9,_0x175e9c={'brFDZ':'default','NyyBG':_0x36f207(0x156),'ZnqLd':'api'},_0x1984b8=this[_0x36f207(0x228)][_0x4c7e68];if(!_0x1984b8)throw new Error(_0x36f207(0x208)+_0x4c7e68);const _0x2af0a8=this['queues'][_0x1984b8['queue']||_0x175e9c[_0x36f207(0x1ba)]],_0x56407b=await _0x2af0a8[_0x36f207(0x18b)](_0x4c7e68,{..._0x345414,'handler':_0x1984b8['handler'],'triggeredBy':_0x36f207(0x17a)},{'attempts':_0x1984b8['retry']?.[_0x36f207(0x18d)]||0x3,'backoff':{'type':_0x1984b8['retry']?.['backoff']||_0x175e9c[_0x36f207(0x1dc)],'delay':_0x1984b8[_0x36f207(0x206)]?.['initialDelay']||0x1388},'timeout':_0x1984b8[_0x36f207(0x18c)]||0x7530});return logger[_0x36f207(0x1cb)]({'event':_0x36f207(0x1ca),'jobId':_0x56407b['id'],'name':_0x4c7e68,'triggeredBy':_0x175e9c['ZnqLd']},_0x36f207(0x185)+_0x4c7e68+_0x36f207(0x214)+_0x56407b['id']+')'),{'jobId':_0x56407b['id'],'name':_0x4c7e68};}async['dispatchDelayed'](_0x3da32d,_0x2ea7ca={},_0x266c98=0x0){const _0x5b3737=a0_0x24fce9,_0x4d746f={'KQATi':_0x5b3737(0x202),'KbNuB':_0x5b3737(0x1a7),'jNaoq':'exponential'},_0x17589d=this[_0x5b3737(0x228)][_0x3da32d];if(!_0x17589d)throw new Error('Job\x20not\x20found:\x20'+_0x3da32d);const _0x24b281=this[_0x5b3737(0x1aa)][_0x17589d['queue']||_0x4d746f[_0x5b3737(0x149)]],_0x2f0958=await _0x24b281['add'](_0x3da32d,{..._0x2ea7ca,'handler':_0x17589d['handler'],'triggeredBy':_0x4d746f[_0x5b3737(0x1ce)]},{'delay':_0x266c98,'attempts':_0x17589d['retry']?.[_0x5b3737(0x18d)]||0x3,'backoff':{'type':_0x17589d[_0x5b3737(0x206)]?.[_0x5b3737(0x12c)]||_0x4d746f['jNaoq'],'delay':_0x17589d[_0x5b3737(0x206)]?.['initialDelay']||0x1388},'timeout':_0x17589d['timeout']||0x7530});return logger[_0x5b3737(0x1cb)]({'event':'job_dispatched_delayed','jobId':_0x2f0958['id'],'name':_0x3da32d,'delayMs':_0x266c98},_0x5b3737(0x246)+_0x266c98+'ms):\x20'+_0x3da32d+_0x5b3737(0x214)+_0x2f0958['id']+')'),{'jobId':_0x2f0958['id'],'name':_0x3da32d};}async[a0_0x24fce9(0x1b4)](_0x1032e3){const _0x8bda26=a0_0x24fce9;for(const _0x70b3cf of Object[_0x8bda26(0x211)](this[_0x8bda26(0x1aa)])){const _0x438766=await _0x70b3cf['getJob'](_0x1032e3);if(_0x438766){const _0x1360d8=await _0x438766[_0x8bda26(0x16f)]();return{'jobId':_0x438766['id'],'name':_0x438766['name'],'state':_0x1360d8,'progress':_0x438766['progress'],'attemptsMade':_0x438766['attemptsMade'],'failedReason':_0x438766[_0x8bda26(0x1ae)],'returnvalue':_0x438766[_0x8bda26(0x242)],'data':_0x438766['data'],'timestamps':{'created':_0x438766[_0x8bda26(0x147)],'started':_0x438766['processedOn'],'completed':_0x438766[_0x8bda26(0x130)]}};}}return null;}['listJobs'](){const _0x35f9e2=a0_0x24fce9;return Object['values'](this[_0x35f9e2(0x228)])['map'](_0x4fd8d8=>({'name':_0x4fd8d8['name'],'description':_0x4fd8d8['description']||'','type':_0x4fd8d8[_0x35f9e2(0x122)],'schedule':_0x4fd8d8[_0x35f9e2(0x1fa)],'handler':_0x4fd8d8[_0x35f9e2(0x21e)],'enabled':_0x4fd8d8['enabled']!==![],'queue':_0x4fd8d8['queue']||'default','timeout':_0x4fd8d8[_0x35f9e2(0x18c)]||0x7530,'retry':_0x4fd8d8['retry']||{'maxAttempts':0x3,'backoff':'exponential','initialDelay':0x1388},'metadata':_0x4fd8d8[_0x35f9e2(0x23a)]||{}}));}async[a0_0x24fce9(0x17f)](){const _0x1c09a3=a0_0x24fce9,_0x29641d=[];for(const [_0x3ce291,_0x3b8cb3]of Object['entries'](this['queues'])){const _0x2ebaf7=await _0x3b8cb3['getJobs']([_0x1c09a3(0x1f0)]);for(const _0x48eb5a of _0x2ebaf7){_0x29641d[_0x1c09a3(0x1a1)]({'jobId':_0x48eb5a['id'],'name':_0x48eb5a[_0x1c09a3(0x20e)],'queue':_0x3ce291,'progress':_0x48eb5a[_0x1c09a3(0x1c3)],'attemptsMade':_0x48eb5a[_0x1c09a3(0x161)],'startedAt':_0x48eb5a['processedOn']});}}return _0x29641d;}async[a0_0x24fce9(0x14f)](_0x3d9d4b={}){const _0x655499=a0_0x24fce9,_0x154307={'wHHTO':function(_0x6e63ae,_0x240493,_0x20a560){return _0x6e63ae(_0x240493,_0x20a560);},'flDrF':function(_0x19bb7f,_0x54feee){return _0x19bb7f*_0x54feee;},'KRmKs':function(_0x252cfd,_0x4fac02){return _0x252cfd-_0x4fac02;},'uNKQp':_0x655499(0x15f)},_0x3c9c4f=_0x154307['wHHTO'](parseInt,_0x3d9d4b[_0x655499(0x1e5)],0xa)||0x1,_0x3e3542=Math[_0x655499(0x116)](parseInt(_0x3d9d4b[_0x655499(0x1c4)],0xa)||0x14,0x64),_0x499a5d=_0x154307['flDrF'](_0x3c9c4f-0x1,_0x3e3542),_0x2f7e2b=_0x154307['KRmKs'](_0x499a5d+_0x3e3542,0x1),_0x55040b=[];for(const [_0x33c15c,_0x20bc7d]of Object[_0x655499(0x219)](this['queues'])){const _0xe65dcb=await _0x20bc7d['getJobs']([_0x154307[_0x655499(0x1a3)]],_0x499a5d,_0x2f7e2b),_0x139af9=await _0x20bc7d[_0x655499(0x233)](['failed'],_0x499a5d,_0x2f7e2b);for(const _0x18d8f7 of[..._0xe65dcb,..._0x139af9]){const _0x3b132b=await _0x18d8f7['getState']();_0x55040b[_0x655499(0x1a1)]({'jobId':_0x18d8f7['id'],'name':_0x18d8f7['name'],'state':_0x3b132b,'queue':_0x33c15c,'attemptsMade':_0x18d8f7['attemptsMade'],'failedReason':_0x18d8f7[_0x655499(0x1ae)],'returnvalue':_0x18d8f7[_0x655499(0x242)],'timestamps':{'created':_0x18d8f7['timestamp'],'started':_0x18d8f7['processedOn'],'completed':_0x18d8f7['finishedOn']}});}}return _0x55040b['sort']((_0x37cbb4,_0x18933f)=>(_0x18933f[_0x655499(0x220)]['created']||0x0)-(_0x37cbb4['timestamps'][_0x655499(0x21f)]||0x0)),{'jobs':_0x55040b[_0x655499(0x177)](0x0,_0x3e3542),'total':_0x55040b[_0x655499(0x12f)],'page':_0x3c9c4f,'limit':_0x3e3542};}async[a0_0x24fce9(0x1ec)](_0xc156fb){const _0x2e0290=a0_0x24fce9,_0x10cfec={'iJjOZ':function(_0x4b8234,_0x649c42){return _0x4b8234===_0x649c42;},'HkcXV':_0x2e0290(0x145),'vvMfy':_0x2e0290(0x160),'RYooV':function(_0x2b204e,_0x415566){return _0x2b204e===_0x415566;},'Jbzxv':_0x2e0290(0x209)};for(const _0x49f163 of Object[_0x2e0290(0x211)](this['queues'])){const _0x398db1=await _0x49f163[_0x2e0290(0x15e)](_0xc156fb);if(_0x398db1){const _0x4ea7c0=await _0x398db1['getState']();if(_0x10cfec[_0x2e0290(0x22a)](_0x4ea7c0,_0x2e0290(0x1f0)))return await _0x398db1['moveToFailed'](new Error(_0x10cfec['HkcXV']),_0x10cfec[_0x2e0290(0x21d)],!![]),{'success':!![],'message':'Job\x20'+_0xc156fb+_0x2e0290(0x128)};if(_0x4ea7c0==='waiting'||_0x10cfec['RYooV'](_0x4ea7c0,_0x10cfec['Jbzxv']))return await _0x398db1[_0x2e0290(0x1fe)](),{'success':!![],'message':_0x2e0290(0x1de)+_0xc156fb+_0x2e0290(0x201)+_0x4ea7c0+')'};return{'success':![],'message':'Job\x20'+_0xc156fb+_0x2e0290(0x22b)+_0x4ea7c0+')'};}}return{'success':![],'message':_0x2e0290(0x1de)+_0xc156fb+'\x20not\x20found'};}async['getHealthStatus'](){const _0x531d3f=a0_0x24fce9,_0x5623ad={'wOazU':_0x531d3f(0x1f0),'cXPLj':_0x531d3f(0x15f),'Ypqwl':_0x531d3f(0x111),'tAMZc':_0x531d3f(0x199)},_0x1146b4={};for(const [_0x272cf8,_0x2117ae]of Object[_0x531d3f(0x219)](this['queues'])){try{const _0xa22312=await _0x2117ae[_0x531d3f(0x139)](_0x5623ad[_0x531d3f(0x1ee)],_0x5623ad['cXPLj'],'delayed',_0x5623ad['Ypqwl'],'paused',_0x5623ad[_0x531d3f(0x132)]);_0x1146b4[_0x272cf8]=_0xa22312;}catch(_0x487940){_0x1146b4[_0x272cf8]={'error':_0x487940['message']};}}const _0x25438b={};for(const [_0x52ab27,_0x1cea75]of Object[_0x531d3f(0x219)](this['workers'])){_0x25438b[_0x52ab27]={'running':_0x1cea75[_0x531d3f(0x1e7)](),'paused':_0x1cea75['isPaused']()};}return{'initialized':this[_0x531d3f(0x1d3)],'registeredJobs':Object[_0x531d3f(0x15c)](this[_0x531d3f(0x228)])['length'],'redisConnections':this[_0x531d3f(0x1f1)][_0x531d3f(0x12f)],'queues':_0x1146b4,'workers':_0x25438b};}async['onJobCompleted'](_0x526049,_0xcdf021){const _0x3aeba8=a0_0x24fce9,_0x16fdd7={'BRSYy':'after_job_complete_hook_error','pODJV':function(_0x593d92,_0x40d1d9){return _0x593d92-_0x40d1d9;},'TKgrX':'function','xyWUp':_0x3aeba8(0x229),'pkcON':'JOB_COMPLETED','AVfLm':_0x3aeba8(0x213)},_0xfa40c4=logger['child']({'jobId':_0x526049['id'],'jobName':_0x526049['name']});_0xfa40c4[_0x3aeba8(0x1cb)]({'event':_0x3aeba8(0x1ab),'attemptsMade':_0x526049['attemptsMade'],'duration':_0x526049[_0x3aeba8(0x130)]?_0x16fdd7['pODJV'](_0x526049[_0x3aeba8(0x130)],_0x526049['processedOn']):null},'Job\x20completed:\x20'+_0x526049[_0x3aeba8(0x20e)]);const _0x1755d8=this[_0x3aeba8(0x189)][_0x3aeba8(0x231)](_0x526049['id']);if(_0x1755d8){if(_0x1755d8['insertPromise'])await _0x1755d8['insertPromise'];const _0x3bb834=_0x526049[_0x3aeba8(0x130)]&&_0x526049['processedOn']?_0x526049['finishedOn']-_0x526049[_0x3aeba8(0x126)]:null,_0x146946=typeof _0xcdf021===_0x3aeba8(0x131)?_0xcdf021:_0xcdf021?JSON[_0x3aeba8(0x150)](_0xcdf021)['substring'](0x0,0x1f4):null;await this['updateJobHistoryCompleted'](_0x1755d8[_0x3aeba8(0x1a6)],_0x3bb834,_0x146946);const _0x3af12a=await this['getNextRunFromBullMQ'](_0x526049['name']);await this['updateRegistryCounters'](_0x526049[_0x3aeba8(0x20e)],_0x3aeba8(0x1ef),_0x3bb834,_0x3af12a),this[_0x3aeba8(0x189)][_0x3aeba8(0x13a)](_0x526049['id']);}const _0x413db4=getComponentEngine();if(_0x413db4&&typeof _0x413db4['executeEventHandlers']===_0x16fdd7['TKgrX']){const _0x259310={'jobId':_0x526049['id'],'jobName':_0x526049[_0x3aeba8(0x20e)],'result':_0xcdf021,'config':this['jobConfigs'][_0x526049['name']]||{}};_0x413db4['executeEventHandlers'](_0x16fdd7['xyWUp'],_0x259310,![])['catch'](_0x593d0e=>{const _0x3c8584=_0x3aeba8;_0xfa40c4[_0x3c8584(0x1e1)]({'event':_0x16fdd7['BRSYy'],'error':_0x593d0e['message']},'onAfterJobComplete\x20handler\x20error\x20(non-blocking)');});}const _0xa6f2db=this['getKafkaService']();if(_0xa6f2db)try{await _0xa6f2db['publishEvent'](_0x3aeba8(0x10c),_0x16fdd7[_0x3aeba8(0x174)],null,{'jobId':_0x526049['id'],'name':_0x526049[_0x3aeba8(0x20e)],'result':_0xcdf021},{'module':_0x3aeba8(0x1c8),'endpoint':_0x526049['name']});}catch(_0x17716f){_0xfa40c4[_0x3aeba8(0x1e1)]({'event':_0x3aeba8(0x1c2),'error':_0x17716f['message']},_0x16fdd7['AVfLm']);}}async['onJobFailed'](_0x361a01,_0xad4da5){const _0xd15093=a0_0x24fce9,_0x3e0b7a={'KplfN':function(_0x4eb8d3,_0x453547){return _0x4eb8d3<_0x453547;},'xmLkB':_0xd15093(0x118),'gZFxU':'JOB_FAILED','CEomW':_0xd15093(0x182)},_0x258217=logger['child']({'jobId':_0x361a01['id'],'jobName':_0x361a01['name']});_0x258217['error']({'event':'job_failed','attemptsMade':_0x361a01['attemptsMade'],'failedReason':_0xad4da5?.[_0xd15093(0x1bf)],'willRetry':_0x3e0b7a[_0xd15093(0x171)](_0x361a01[_0xd15093(0x161)],this[_0xd15093(0x228)][_0x361a01['name']]?.['retry']?.[_0xd15093(0x18d)]||0x3)},_0xd15093(0x155)+_0x361a01['name']+_0xd15093(0x1a2)+_0xad4da5?.[_0xd15093(0x1bf)]);const _0x2e80c7=this[_0xd15093(0x189)][_0xd15093(0x231)](_0x361a01['id']);if(_0x2e80c7){if(_0x2e80c7['insertPromise'])await _0x2e80c7['insertPromise'];const _0x54d7a4=_0x361a01['finishedOn']&&_0x361a01[_0xd15093(0x126)]?_0x361a01['finishedOn']-_0x361a01['processedOn']:null;await this[_0xd15093(0x125)](_0x2e80c7['historyId'],_0x54d7a4,_0x361a01[_0xd15093(0x1c3)],_0xad4da5?.['message'],_0xad4da5?.['stack']);const _0x47e52b=await this[_0xd15093(0x119)](_0x361a01[_0xd15093(0x20e)]);await this['updateRegistryCounters'](_0x361a01['name'],'failed',_0x54d7a4,_0x47e52b),this[_0xd15093(0x189)][_0xd15093(0x13a)](_0x361a01['id']);}const _0x543007=getComponentEngine();if(_0x543007&&typeof _0x543007['executeEventHandlers']===_0x3e0b7a[_0xd15093(0x188)]){const _0x49dc40={'jobId':_0x361a01['id'],'jobName':_0x361a01[_0xd15093(0x20e)],'error':_0xad4da5?.['message'],'attemptsMade':_0x361a01[_0xd15093(0x161)],'config':this['jobConfigs'][_0x361a01[_0xd15093(0x20e)]]||{}};_0x543007['executeEventHandlers'](_0xd15093(0x14b),_0x49dc40,![])[_0xd15093(0x140)](_0xf925f8=>{const _0x5387ae=_0xd15093;_0x258217[_0x5387ae(0x1e1)]({'event':'after_job_failed_hook_error','error':_0xf925f8['message']},_0x5387ae(0x1c7));});}const _0x22c614=this[_0xd15093(0x16c)]();if(_0x22c614)try{await _0x22c614[_0xd15093(0x183)](_0xd15093(0x217),_0x3e0b7a[_0xd15093(0x190)],null,{'jobId':_0x361a01['id'],'name':_0x361a01[_0xd15093(0x20e)],'error':_0xad4da5?.[_0xd15093(0x1bf)],'attemptsMade':_0x361a01['attemptsMade']},{'module':_0xd15093(0x1c8),'endpoint':_0x361a01['name']});}catch(_0x4f130b){_0x258217[_0xd15093(0x1e1)]({'event':_0xd15093(0x1c2),'error':_0x4f130b['message']},_0x3e0b7a[_0xd15093(0x1b2)]);}}[a0_0x24fce9(0x17b)](_0x636457,_0x224414){const _0x25ecbb=a0_0x24fce9,_0x325285={'YgEnV':_0x25ecbb(0x134)};logger['debug']({'event':_0x325285[_0x25ecbb(0x20d)],'jobId':_0x636457['id'],'jobName':_0x636457['name'],'progress':_0x224414},'Job\x20progress:\x20'+_0x636457['name']+'\x20—\x20'+_0x224414+'%');}}module['exports']=new JobManager();
1
+ const a0_0x51e40b=a0_0xb661;(function(_0x958526,_0x30f8c6){const _0x5da52d=a0_0xb661,_0x3723c2=_0x958526();while(!![]){try{const _0x3d4225=parseInt(_0x5da52d(0xd4))/0x1*(-parseInt(_0x5da52d(0x19d))/0x2)+parseInt(_0x5da52d(0x17b))/0x3*(-parseInt(_0x5da52d(0xbc))/0x4)+parseInt(_0x5da52d(0x105))/0x5+parseInt(_0x5da52d(0xc6))/0x6+-parseInt(_0x5da52d(0x166))/0x7+parseInt(_0x5da52d(0xe5))/0x8*(-parseInt(_0x5da52d(0x1ae))/0x9)+parseInt(_0x5da52d(0xb8))/0xa;if(_0x3d4225===_0x30f8c6)break;else _0x3723c2['push'](_0x3723c2['shift']());}catch(_0x59a2e6){_0x3723c2['push'](_0x3723c2['shift']());}}}(a0_0x4478,0xce797));function a0_0xb661(_0x6e60c3,_0x484e2d){_0x6e60c3=_0x6e60c3-0x9c;const _0x447870=a0_0x4478();let _0xb661df=_0x447870[_0x6e60c3];if(a0_0xb661['trbcIO']===undefined){var _0x2a99aa=function(_0x249a48){const _0x4631ec='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x13a43f='',_0x2237b0='';for(let _0x1781ba=0x0,_0x4474a7,_0x3661af,_0x11e946=0x0;_0x3661af=_0x249a48['charAt'](_0x11e946++);~_0x3661af&&(_0x4474a7=_0x1781ba%0x4?_0x4474a7*0x40+_0x3661af:_0x3661af,_0x1781ba++%0x4)?_0x13a43f+=String['fromCharCode'](0xff&_0x4474a7>>(-0x2*_0x1781ba&0x6)):0x0){_0x3661af=_0x4631ec['indexOf'](_0x3661af);}for(let _0x20bb73=0x0,_0x5449ff=_0x13a43f['length'];_0x20bb73<_0x5449ff;_0x20bb73++){_0x2237b0+='%'+('00'+_0x13a43f['charCodeAt'](_0x20bb73)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2237b0);};a0_0xb661['WPRzge']=_0x2a99aa,a0_0xb661['tIkMXQ']={},a0_0xb661['trbcIO']=!![];}const _0x595318=_0x447870[0x0],_0x109bcd=_0x6e60c3+_0x595318,_0x455ac9=a0_0xb661['tIkMXQ'][_0x109bcd];return!_0x455ac9?(_0xb661df=a0_0xb661['WPRzge'](_0xb661df),a0_0xb661['tIkMXQ'][_0x109bcd]=_0xb661df):_0xb661df=_0x455ac9,_0xb661df;}const {Queue,Worker}=require(a0_0x51e40b(0x1ad)),Redis=require(a0_0x51e40b(0xd5)),crypto=require('crypto'),{v7:uuidv7}=require('uuid'),fs=require('fs'),path=require(a0_0x51e40b(0x19e)),{logger}=require(a0_0x51e40b(0x1c3)),jobValidator=require('./job-validator');function a0_0x4478(){const _0x3ab6fe=['lI4VlI4VC2vYDMLJzxmVA2fMA2ftzxj2AwnL','BNP5ve8','B25bzNrLCKPVyKzHAwXLzcbOyw5KBgvYigvYCM9YicHUB24TyMXVy2TPBMCP','zxjYB3jZ','DMfSDwvZ','sK9cx01bwf9tvefmtevex0npvu5u','icSGmsWkicaGicaGicaGicbUzxH0x3j1BL9HDca9idOZlcb1CgrHDgvKx2f0id0Gu1LtveLnrvnuqu1qifDirvjfigPVyL9Uyw1Lid0GoJq','id0G','Ehvdzxe','zgvMyxvSDa','sM9Iia','Dw5RBM93BG','qKPzruW','z2v0sM9Iu2nOzwr1BgvYCW','BwfW','DxbKyxrLuMvNAxn0CNLtDgf0Dxm','te5PCxa','t3jHy2XLiercig1VzhvSzsbUB3qGyxzHAwXHyMXL','AM9IlxnJAgvKDwXLCG','z2v0rgjuExbL','BwfUDwfS','EffizwS','rMjvrxi','Aw5Zzxj0sM9IsgLZDg9YEq','y2HPBgq','zgLZCgf0y2HezwXHEwvK','AgfUzgXLCG','tMPjs3C','rMnmy0C','ALnxzxm','lI4VlI4VDxrPBhmVzgi','ihjLBw92zwqGkhDHCYa','Bg93','B25bzNrLCKPVyKzHAwXLza','sw5PDgLHBgL6Aw5NiePVyIbnyw5Hz2vYlI4U','Aw5Zzxj0uhjVBwLZzq','D29YA2vYCW','Bunxu1q','AM9Ix21HBMfNzxjFCMvHzhK','vwXOuKe','AM9Ix3n0ywXSzwq','zgvSzxrL','Du1pDeS','BMfTzq','ChvZAa','ChjVy2vZC0PVyG','y3jVBG','su5trvjuieLove8GAM9Ix3jLz2LZDhj5cIaGicaGicaGicaGkgPVyL9Uyw1LlcbKAxnWBgf5x25HBwuSihr5CguSihnJAgvKDwXLlcbXDwv1zsWGAgfUzgXLCIWGy29UzMLNx2zPBguScIaGicaGicaGicaGihrPBwvVDxqSihjLDhj5x21HEcWGCMv0CNLFyMfJA29MzIWGC3rHDhvZlcbUzxH0x3j1BL9HDcWGy3jLyxrLzf9HDcWGDxbKyxrLzf9HDcKkicaGicaGicaGicbwquXvrvmGkcqXlcaKmIWGjdmSicq0lcaKnsWGjdySicq3lcaKocWGjdKSicqXmcWGjdeXlcaKmtiSie5pvYGPlcbot1COksKkicaGicaGicaGicbptIbdt05gteLdvcaOAM9Ix25HBwuPierpifvqrefursbtrvqkicaGicaGicaGicaGigrPC3bSyxLFBMfTzsa9ievyq0XvrevelMrPC3bSyxLFBMfTzsWGDhLWzsa9ievyq0XvrevelNr5CguScIaGicaGicaGicaGicbZy2HLzhvSzsa9ievyq0XvrevelNnJAgvKDwXLlcbXDwv1zsa9ievyq0XvrevelNf1zxvLlaOGicaGicaGicaGicaGAgfUzgXLCIa9ievyq0XvrevelMHHBMrSzxiSignVBMzPz19MAwXLid0GrvHdtfveruqUy29UzMLNx2zPBguScIaGicaGicaGicaGicb0Aw1LB3v0id0GrvHdtfveruqUDgLTzw91DcWGCMv0CNLFBwf4id0GrvHdtfveruqUCMv0CNLFBwf4laOGicaGicaGicaGicaGCMv0CNLFyMfJA29MzIa9ievyq0XvrevelNjLDhj5x2jHy2TVzMySihn0yxr1CYa9ievyq0XvrevelNn0yxr1CYWkicaGicaGicaGicaGig5LEhrFCNvUx2f0id0GrvHdtfveruqUBMv4Df9YDw5FyxqSihvWzgf0zwrFyxqGpsbot1COkq','yw1qwxi','AM9Ix3f1zxvLC19JCMvHDgvK','vwLLv3a','zxHWB25LBNrPywW','u1Hnsey','vxnbqNu','sgfUzgXLCIbUB3qGzM91BMqGzM9YigPVyJOG','Aw5MBW','BMP3DuW','z2v0s2fMA2ftzxj2AwnL','sM9Iihn0yxj0zwq6ia','y2XVC2u','B25kB2jgywLSzwq','rMfPBgvKihrVihvWzgf0zsbQB2iGCMvNAxn0CNKGy291BNrLCNm6ia','yxbP','CMvNAxn0zxjkB2i','C2XPy2u','lI4VlI4VDxrPBhmVy29TCg9Uzw50lwvUz2LUzq','vKfHyNG','D29YA2LUz0rPCG','DxrMoa','q29otwS','z2v0uMvKAxndBgLLBNq','DgLTzxn0yw1W','DxbKyxrLuMvNAxn0CNLdB3vUDgvYCW','BgvUz3rO','AM9Ix2THzMTHx3b1yMXPC2HFzxjYB3i','Cgf5Bg9Hza','lIbeqIbTB25PDg9YAw5NigrPC2fIBgvKlG','lMPZ','zxHLy3v0zvrYyw5Zywn0Aw9U','BMv4Da','B054wNm','zxHLy3v0zuv2zw50sgfUzgXLCNm','AM9Ix3jLzgLZx2zHAwXLza','zw5HyMXLza','zMfPBgvK','uMvKAxmGy29UBMvJDgLVBIbMywLSzwq6ia','C3rHy2S','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGC3rHDhvZid0Gj29MzMXPBMuNlcbUzxH0x3j1BL9HDca9ie5vteWSihvWzgf0zwrFyxqGpsbot1COkq','oMPVyG','y3DK','wvvRqxe','oty4mJKZouT0v2THvq','AM9Ix2zHAwXLza','y3jLyxrLqNvSBe1rq29UBMvJDgLVBG','DgLTzxPVBMu','zw52','DhjPz2DLCMvKqNK','uLnUyNu','ig5VDcbMB3vUza','rMfPBgvKihrVigLUC2vYDcbQB2iGAgLZDg9YEtOG','zxHPC3rZu3LUyW','r1H3rgi','sK9cx1jfreLtx1bsruzjwa','Aw5JBhvKzxm','B25kB2jdB21WBgv0zwq','BgXYqLG','rejFvfLqrsaN','z2v0sw5ZDgfUy2u','CMvHzgrPCLn5BMm','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNC3vJy2vZCYCSignVBxbSzxrLzf9HDca9ifnzu1rjtuvtvefnucWkicaGicaGicaGicbKDxjHDgLVBL9TCYa9idOXlcbWCM9NCMvZCYa9ideWmcWGCMvZDwX0x3n1Bw1HCNKGpsa6mIbxsevsrsbPzca9idOZ','C29YDa','CgLK','mtm4m2fKwxjiDa','Bwv0ywrHDge','zMLUza','y29TCg9Uzw50rw5NAw5L','Aw5PDgLHBgL6zwq','sK9cx0vwru5u','ktOG','C3bSAxq','AM9Ix2rPC3bHDgnOzwq','AM9Ix21HBMfNzxjFC2H1DgrVD25FC3rHCNq','uKvesvnFue9sva','DhjPz2DLCLr5Cgu','zgjFCgDFDw5HDMfPBgfIBgu','B3HQrvG','z2v0','zxHLy3v0zvf1zxj5','qK5wAwS','zw50CMLLCW','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa/lcbSyxn0x2r1CMf0Aw9Ux21Zid0GpYWkicaGicaGicaGica','zMLUAxnOzwrpBG','lMPZB24','C3rHCNrZv2L0Aa','qKP4EK0','DhLWzq','DMfSAwrHDgvdB25MAwC','jYb0AwrHAYbKAwr1A3vUzYb1BNr1AYbQB2iGBw9UAxrVCMLUzYb0ywjSzxm','DgLTzw91Da','AgLZDg9YEuLK','rLDTuM0','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticG6msWGoJiSidOZlca6ncWGoJuSicDYDw5UAw5NjYWGoJySidO3lca6ocWGu1LtveLnrvnuqu1qlca6osWGu1LtveLnrvnuqu1qkq','AuP6zLy','z2v0sM9Iq291BNrZ','qKHWrwy','tg9HzgvKia','nty3mdHjveThqKi','Cgf0Aa','EvLrEuy','ChjVy2vZC2vKt24','yNvPBgrdB250zxH0','AM9Ix2vUC3vYzv90ywjSzxnFD2fYBG','B3jHy2XLlNnXBa','iokaLca','y29UBMvJDgLVBNm','AfjHtuC','ywn0AxzLsgLZDg9YEuLKCW','C3rYAw5N','zePdsMe','sK9cx1nuquXmrurFsu5urvjwquW','AM9ItMfTzq','u1fmihnJCMLWDcb0AwrHAYbKAxrLBxvRyw46ia','yNvSBg1X','mte1mLfOCur6qG','AM9Ix3jLz2LZDgvYx2zHAwXLza','x3nVDxjJzuzPBgu','sKTgs2y','BxLZCwW','BwvZC2fNzq','CgfYC2u','zw5KC1DPDgG','DLDOywe','z2v0sM9ICW','zMfPBgvKuMvHC29U','B3jHy2XL','Dg90ywXFC3vJy2vZCW','DxbKyxrLsM9IsgLZDg9YEunVBxbSzxrLza','zxHWB3j0CW','y2f0y2G','sM9IignHBMnLBgXLzcb2AweGqvbj','D2fYBG','u3rcBNG','De9qEMe','z2v0sgLZDg9YEq','lI4VlI4VDxrPBhmVBg9Nz2vY','quvltNa','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticG/lca/lca/lca/lca/lcaNCNvUBMLUzYCSid8Sid8Sid8Sie5pvYGPlca/lcbot1COksK','DhjPBq','CxvLDwu','zxfisvC','CMvHzezPBgvtEw5J','sKLkteC','DgLTzxn0yw1WCW','yuTzEfe','icHPzdOG','qNvSBe1rifjLzgLZignVBM5Ly3rPB24GDMvYAwzPzwq','vNn3ueK','rMfPBgvKihrVihb1yMXPC2GGsK9cx0nptvbmrvrfrcb0BYblywzRyq','C2Dty3q','zgvSyxLLza','y3jVBL9YzwDPC3rLCMvK','AM9Ix3nXBf9UB3rFzM91BMq','AxnsDw5UAw5N','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGC3rHDhvZid0Gj29MzMXPBMuNlcbUzxH0x3j1BL9HDca9ie5vteWSihvWzgf0zwrFyxqGpsbtwvnusu1fu1rbtva','AM9Ix3jLz2LZDhj5x2nVDw50zxjFzxjYB3i','zufovfG','s2DUtuS','BfbwteW','BM93','zxjYB3i','zMLSDgvY','AM9Ix3bYB2DYzxnZ','ChjVz3jLC3m','D2nLvKq','rKDbC20','zu1ZBxu','sK9cx0zbsuXfrf9srvrftLrjt05Fse9vuLm','yNvSBg1Xx3jLzgLZx2vYCM9Y','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa/lcbSyxn0x3j1BL9HDca9ie5pvYGPifDirvjfigPVyL9Uyw1Lid0GpW','yxr0zw1WDhnnywrL','rMfPBgvKihrVihb1yMXPC2GGsK9cx0zbsuXfrcb0BYblywzRyq','mJeXmdeZntbdvu9lCuW','D2fPDgLUzW','zNvUy3rPB24','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa6msWGBgfZDf9KDxjHDgLVBL9TCYa9idOYlaOGicaGicaGicaGia','mtu4nfbHD3ffvG','ywz0zxjFAM9Ix2nVBxbSzxrLx2HVB2TFzxjYB3i','Aw5PDgLHBgL6zq','z1DqD3y','zgvZy3jPChrPB24','qNvSBe1rifDVCMTLCIbLCNjVCIaO','AM9PBG','y29TCgXLDgvK','z2v0sM9I','D3b1z04','mJaXnJiXnNriq0HhvG','C3vJy2vZCW','sM9Iie1HBMfNzxiGCMvHzhK6ia','ywn0AxzL','vKvZt0u','C3vIC3rYAw5N','sK9cx0nptKnvuLjftKnz','DxbZzxj0sM9IuMvNAxn0CNK','AM9Iq29UzMLNCW','swvuvgK','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGC3rHDhvZid0Gj29MzMXPBMuNlcbUzxH0x3j1BL9HDca9ie5vteW','CMy6','C3rHBgXLza','AM9Ix2HHBMrSzxjFzg9Uzq','mtLXt09ou2i','Aw9YzwrPCW','BxmPlI4U','AM9Ix2nVBxbSzxrLza','rMfPBgvKihrVihbHCNnLigPVyIbJB25MAwC6ia','yMfJA29MzG','z2v0rgjvDgLSCW','B25SAw5L','whLHqw0','BxLZCwWUC3fS','AM9Ix2nVBMzPz3nFBg9HzgvK','C2nOzwr1Bgu','Aw5PDgLHBerLBgf5','Bg9JywXOB3n0','vgLKywSGywrHigPVyIbJB25MAwCGzgL0zw11A2fUigrPihbHEwXVywqVAM9ICY8UiePVyIbnyw5Hz2vYigfRDgLMihrHBNbHignYB24U','r2fmsfC','sM9IigHHBMrSzxiGy29TCgXLDgvKoIa','mtiZmtjwsujPCuS','zgvIDwC','zgjFB3jHy2XLx3vUyxzHAwXHyMXL','BgLTAxq','AgfUzgXLCNm','DxbKyxrLsM9IsgLZDg9YEuzHAwXLza','C3jJ','Cgf1C2vK','Du9gCxe','Bg9HzePVyKnVBMzPz3m','zw5ZDxjLvgfIBgvZ','rMfPBgvKihrVihvWC2vYDcbQB2iGCMvNAxn0CNK6ia','y2fUy2vSsM9I','zgf0yq','AM9Ix3n0yxj0zwq','rM9SzgvYihbHEwXVywqVAM9ICY8GDgLKywSGzgL0zw11A2fU','C2v0qwXSsM9IC09MzMXPBMu','y3vgAK8','Cg9ZDgDYzxnXBa','zxHmuNq','vwDXrgm','zhvWBgLJyxrL','lI4VlI4VDxrPBhmVzgiTB3jHy2XL','y29UzMLNrMLSzq','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNzMfPBgvKjYWGy29TCgXLDgvKx2f0id0GtK9xkcKScIaGicaGicaGicaGzhvYyxrPB25FBxmGpsa/lcbWCM9NCMvZCYa9id8SigvYCM9Yx21LC3nHz2uGpsa/lcbLCNjVCL9ZDgfJAYa9id8Gv0HfuKuGAwqGpsa/','CxvLDwvZ','rMfPBgvKihrVihvWzgf0zsbQB2iGAgLZDg9YEsaOzMfPBgvKktOG','AM9Ix25Vx2nVBMzPz3m','AM9Ix21HBMfNzxjFC2H1DgrVD25Fy29TCgXLDgu','z2v0tMv4Dfj1BKzYB21cDwXStve','y01Zs2S','z2v0q2fJAgvnyw5Hz2vY','mZuWntq5nxPVyNnjwa','Bwf4qxr0zw1WDhm','yNvSBg1Xx3DVCMTLCL9LCNjVCG','Cg9ZDgDYzxnXBc5ZCwW','CMv0CNK','wg5bAMW'];a0_0x4478=function(){return _0x3ab6fe;};return a0_0x4478();}let componentEngine=null;function getComponentEngine(){const _0xf5081f=a0_0x51e40b,_0x5b2cb4={'lyVat':_0xf5081f(0x14c)};if(!componentEngine)try{const _0x5d0830=require(_0x5b2cb4['lyVat']);componentEngine=_0x5d0830[_0xf5081f(0x17e)]||_0x5d0830;}catch(_0x38a785){}return componentEngine;}class JobManager{constructor(){const _0x3f957b=a0_0x51e40b;this[_0x3f957b(0xfe)]={},this['workers']={},this['jobConfigs']={},this[_0x3f957b(0xe9)]={},this[_0x3f957b(0x1a5)]=[],this['initialized']=![],this['workingDir']=process[_0x3f957b(0x164)](),this[_0x3f957b(0x1a7)]=new Map();}['createBullMQConnection'](){const _0x2ed73f=a0_0x51e40b,_0x10bc62={'BHpEf':function(_0xbd4ca,_0x83f8ca){return _0xbd4ca*_0x83f8ca;},'PMmtB':_0x2ed73f(0xb4),'tkKhx':function(_0x30039e,_0x21c0ce,_0x3f4562){return _0x30039e(_0x21c0ce,_0x3f4562);}},_0x1f3d87=new Redis({'host':process[_0x2ed73f(0x16a)]['REDIS_HOST']||_0x2ed73f(0xe1),'port':parseInt(process[_0x2ed73f(0x16a)][_0x2ed73f(0x185)],0xa)||0x18ec,'password':process[_0x2ed73f(0x16a)]['REDIS_PASSWORD']||undefined,'db':_0x10bc62['tkKhx'](parseInt,process[_0x2ed73f(0x16a)]['REDIS_DB'],0xa)||0x0,'maxRetriesPerRequest':null,'retryStrategy'(_0x33f9e2){const _0xefbe77=_0x2ed73f,_0x4b5785=Math['min'](_0x10bc62[_0xefbe77(0x19b)](_0x33f9e2,0x32),0x7d0);return _0x4b5785;}});return _0x1f3d87['on']('error',_0x8aa5b0=>{const _0xabf8de=_0x2ed73f;logger['error']({'event':_0x10bc62['PMmtB'],'error':_0x8aa5b0['message']},'BullMQ\x20Redis\x20connection\x20error:\x20'+_0x8aa5b0[_0xabf8de(0x1b3)]);}),this['connections']['push'](_0x1f3d87),_0x1f3d87;}async[a0_0x51e40b(0xbe)](){const _0x49a57e=a0_0x51e40b,_0x112895={'FcLcG':_0x49a57e(0x133),'dRxFY':'job_manager_already_initialized','YUkAq':_0x49a57e(0x9e),'XqziK':_0x49a57e(0x15d),'RSnbu':function(_0x4261c4,_0x59a2c7){return _0x4261c4===_0x59a2c7;},'CzXxe':_0x49a57e(0x100),'UsABu':_0x49a57e(0xe2),'GaLHW':_0x49a57e(0x114),'nzyTO':function(_0x4fe04b,_0x525a6c,_0x50e77d){return _0x4fe04b(_0x525a6c,_0x50e77d);},'mCWST':function(_0x5301a1,_0x32360f){return _0x5301a1*_0x32360f;},'vWhaa':'high','CakDF':_0x49a57e(0x12b),'FTdSf':_0x49a57e(0x13c),'LNiqp':'3\x20BullMQ\x20Queues\x20created\x20(high,\x20default,\x20low)','SXMHF':function(_0x30e964,_0x42c670,_0x514ccb){return _0x30e964(_0x42c670,_0x514ccb);},'exLRt':'completed','CoNMk':'progress','xuCeq':_0x49a57e(0xd2),'JFZRR':'error','VTzNj':_0x49a57e(0x131)};if(this[_0x49a57e(0x17f)]){logger['warn']({'event':_0x112895['dRxFY']},'Job\x20Manager\x20sudah\x20diinisialisasi,\x20skip');return;}logger[_0x49a57e(0x142)]({'event':'job_manager_init_start'},_0x49a57e(0x12d));const _0x5969cf=this['createBullMQConnection']();try{await _0x5969cf['ping'](),logger['info']({'event':'job_redis_connected'},_0x112895[_0x49a57e(0x165)]);}catch(_0x5bf646){logger[_0x49a57e(0xac)]({'event':_0x112895['XqziK'],'error':_0x5bf646['message']},_0x49a57e(0x160)+_0x5bf646[_0x49a57e(0x1b3)]+'.\x20Job\x20Scheduler\x20tidak\x20akan\x20aktif.');try{await _0x5969cf['quit']();}catch(_0x424f5d){}this['connections']=this[_0x49a57e(0x1a5)]['filter'](_0xe3dbd2=>_0xe3dbd2!==_0x5969cf);return;}try{await _0x5969cf['quit']();}catch(_0xf36915){}this[_0x49a57e(0x1a5)]=this[_0x49a57e(0x1a5)][_0x49a57e(0xad)](_0x5f13e5=>_0x5f13e5!==_0x5969cf);try{await this[_0x49a57e(0xef)]();}catch(_0x5313d1){logger[_0x49a57e(0x1bf)]({'event':'job_ensure_tables_error','error':_0x5313d1[_0x49a57e(0x1b3)]},'Failed\x20to\x20ensure\x20job\x20tables:\x20'+_0x5313d1['message']+_0x49a57e(0x157));}const _0x1e305d=this[_0x49a57e(0xee)]();_0x112895[_0x49a57e(0x16c)](_0x1e305d[_0x49a57e(0x154)],0x0)&&logger['info']({'event':_0x112895['CzXxe']},_0x112895[_0x49a57e(0x140)]);const _0x9ba8da=[];for(const _0x3caee7 of _0x1e305d){const _0x20eaee=jobValidator[_0x49a57e(0x193)](_0x3caee7,this[_0x49a57e(0x14e)]);_0x20eaee['valid']?_0x9ba8da[_0x49a57e(0x137)](_0x3caee7):logger[_0x49a57e(0xac)]({'event':'job_config_invalid','name':_0x3caee7['name']||'unknown','errors':_0x20eaee[_0x49a57e(0x10e)]},'Job\x20config\x20invalid:\x20'+(_0x3caee7[_0x49a57e(0x136)]||_0x49a57e(0x116))+_0x49a57e(0x1a4)+_0x20eaee[_0x49a57e(0x10e)][_0x49a57e(0xc2)](';\x20'));}const _0x51b2c7=process[_0x49a57e(0x16a)]['RESTFORGE_PROJECT_NAME']||_0x112895[_0x49a57e(0xe3)],_0x1ef7e2=process['env'][_0x49a57e(0x171)]||_0x49a57e(0xd1)+_0x51b2c7+_0x49a57e(0x163),_0x14bd74=parseInt(process[_0x49a57e(0x16a)]['JOB_RETENTION_HOURS'],0xa)||0x48,_0x3039f9=_0x112895[_0x49a57e(0x10c)](parseInt,process['env'][_0x49a57e(0xb3)],0xa)||0xa8,_0x1d7110={'removeOnComplete':{'age':_0x14bd74*0xe10},'removeOnFail':{'age':_0x112895[_0x49a57e(0x130)](_0x3039f9,0xe10)}},_0x5934b3={'high-priority':_0x112895[_0x49a57e(0x1b6)],'default':_0x112895[_0x49a57e(0xe3)],'low-priority':_0x112895['CakDF']};for(const [_0x1ed1e9,_0x3cdecb]of Object['entries'](_0x5934b3)){this['queues'][_0x1ed1e9]=new Queue(_0x3cdecb,{'connection':this[_0x49a57e(0x168)](),'prefix':_0x1ef7e2,'defaultJobOptions':_0x1d7110});}logger[_0x49a57e(0x142)]({'event':_0x112895['FTdSf'],'count':0x3},_0x112895[_0x49a57e(0x11b)]);const _0xaa1178=parseInt(process['env'][_0x49a57e(0xcc)],0xa)||0x5,_0x3b8faf=_0x112895[_0x49a57e(0x10c)](parseInt,process[_0x49a57e(0x16a)][_0x49a57e(0x1aa)],0xa)||0x7530,_0x1d6674=_0x112895[_0x49a57e(0x13f)](parseInt,process[_0x49a57e(0x16a)][_0x49a57e(0x110)],0xa)||0x2;for(const [_0x1ddefe,_0xba5a1a]of Object[_0x49a57e(0x18c)](_0x5934b3)){const _0x27a482=new Worker(_0xba5a1a,async _0x5ed3f3=>this[_0x49a57e(0x138)](_0x5ed3f3),{'connection':this['createBullMQConnection'](),'prefix':_0x1ef7e2,'concurrency':_0xaa1178,'stalledInterval':_0x3b8faf,'maxStalledCount':_0x1d6674});_0x27a482['on'](_0x112895[_0x49a57e(0xf8)],(_0x547391,_0x5fc782)=>this[_0x49a57e(0x173)](_0x547391,_0x5fc782)),_0x27a482['on']('failed',(_0x5a6b68,_0x4754a7)=>this[_0x49a57e(0x147)](_0x5a6b68,_0x4754a7)),_0x27a482['on'](_0x112895[_0x49a57e(0x150)],(_0x516635,_0x55b7bc)=>this['onJobProgress'](_0x516635,_0x55b7bc)),_0x27a482['on'](_0x112895[_0x49a57e(0x113)],_0x344413=>{const _0x1bb674=_0x49a57e;logger[_0x1bb674(0x1bf)]({'event':_0x112895[_0x1bb674(0x127)],'jobId':_0x344413},'Job\x20stalled:\x20'+_0x344413);}),_0x27a482['on'](_0x112895['JFZRR'],_0xbd1405=>{const _0x5b102c=_0x49a57e;logger[_0x5b102c(0xac)]({'event':_0x5b102c(0x107),'queue':_0x1ddefe,'error':_0xbd1405['message']},_0x5b102c(0xc1)+_0x1ddefe+_0x5b102c(0x181)+_0xbd1405[_0x5b102c(0x1b3)]);}),this['workers'][_0x1ddefe]=_0x27a482;}logger[_0x49a57e(0x142)]({'event':'job_workers_created','count':0x3,'concurrency':_0xaa1178},'3\x20BullMQ\x20Workers\x20created\x20(concurrency:\x20'+_0xaa1178+')');let _0x23b5ea=0x0;for(const _0x2d0939 of _0x9ba8da){try{await this[_0x49a57e(0x14a)](_0x2d0939),_0x23b5ea++;}catch(_0x2e35c9){logger[_0x49a57e(0xac)]({'event':_0x49a57e(0x1af),'name':_0x2d0939['name'],'error':_0x2e35c9['message']},'Failed\x20to\x20register\x20job:\x20'+_0x2d0939['name']+'\x20—\x20'+_0x2e35c9['message']);}}this[_0x49a57e(0x17f)]=!![];const _0x8ebe7c=this['connections'][_0x49a57e(0x154)];logger['info']({'event':_0x112895['VTzNj'],'registeredJobs':_0x23b5ea,'totalConfigs':_0x9ba8da['length'],'redisConnections':_0x8ebe7c},_0x49a57e(0xc8)+_0x23b5ea+'\x20job(s)\x20registered,\x20'+_0x8ebe7c+'\x20Redis\x20connections');}async['shutdown'](){const _0x4b1f84=a0_0x51e40b,_0x7dc143={'nJyIr':_0x4b1f84(0x184),'cMsKk':function(_0x3f160e,_0x1c973a){return _0x3f160e-_0x1c973a;}};if(!this['initialized'])return;const _0x589b11=parseInt(process['env']['JOB_SHUTDOWN_TIMEOUT'],0xa)||0x2710;logger['info']({'event':_0x7dc143['nJyIr'],'timeoutMs':_0x589b11},'Job\x20Manager\x20shutting\x20down\x20(timeout:\x20'+_0x589b11+_0x4b1f84(0xd6));const _0x100ebf=Object['values'](this[_0x4b1f84(0x12f)])[_0x4b1f84(0x119)](async _0x2a7c13=>{try{await _0x2a7c13['pause']();}catch(_0x1ab51c){}});await Promise['all'](_0x100ebf);const _0x2ab806=Date[_0x4b1f84(0xab)]();while(_0x7dc143[_0x4b1f84(0x103)](Date[_0x4b1f84(0xab)](),_0x2ab806)<_0x589b11){let _0xc67e51=0x0;for(const _0x53f1b2 of Object['values'](this[_0x4b1f84(0xfe)])){try{const _0x702250=await _0x53f1b2[_0x4b1f84(0x19a)](_0x4b1f84(0xc9));_0xc67e51+=_0x702250['active']||0x0;}catch(_0x2c6ad8){}}if(_0xc67e51===0x0)break;await new Promise(_0x1f3f39=>setTimeout(_0x1f3f39,0x1f4));}const _0x4fe9e9=Object[_0x4b1f84(0x10f)](this['workers'])['map'](async _0x42e56a=>{const _0x2492fe=_0x4b1f84;try{await _0x42e56a[_0x2492fe(0x146)]();}catch(_0x3cc1f1){}});await Promise['all'](_0x4fe9e9);const _0x23b368=Object['values'](this['queues'])['map'](async _0x2c5314=>{try{await _0x2c5314['close']();}catch(_0x1d43d0){}});await Promise['all'](_0x23b368);for(const _0x4183b4 of this[_0x4b1f84(0x1a5)]){try{await _0x4183b4['quit']();}catch(_0x16c436){}}this['queues']={},this['workers']={},this[_0x4b1f84(0x1a5)]=[],await this['setAllJobsOffline'](),this['activeHistoryIds']['clear'](),this['initialized']=![],logger[_0x4b1f84(0x142)]({'event':_0x4b1f84(0x101)},'Job\x20Manager\x20shutdown\x20complete');}['loadJobConfigs'](){const _0x102d08=a0_0x51e40b,_0x227fe6={'oxjEX':'jobs','cuFjO':'job_config_dir_missing','CdEaE':_0x102d08(0x14f),'eMsmu':'job_config_parse_error','IeTTi':_0x102d08(0xde)},_0x8e6499=path['join'](this[_0x102d08(0x14e)],_0x102d08(0x156),_0x227fe6[_0x102d08(0x188)]);if(!fs[_0x102d08(0x16f)](_0x8e6499))return logger['info']({'event':_0x227fe6[_0x102d08(0xf6)],'path':_0x8e6499},_0x102d08(0xf4)),[];const _0x29fce6=fs[_0x102d08(0x177)](_0x8e6499)[_0x102d08(0xad)](_0x344e8a=>_0x344e8a[_0x102d08(0x1b5)](_0x102d08(0x18f))),_0x5d04a2=[];for(const _0x350ff7 of _0x29fce6){const _0x2cb9ab=path[_0x102d08(0xc2)](_0x8e6499,_0x350ff7);try{const _0x46858d=fs[_0x102d08(0x1c9)](_0x2cb9ab,_0x227fe6['CdEaE']),_0x4699ef=JSON[_0x102d08(0x1b4)](_0x46858d);_0x4699ef[_0x102d08(0x1b0)]=_0x350ff7,_0x5d04a2['push'](_0x4699ef);}catch(_0x5e92ec){logger[_0x102d08(0xac)]({'event':_0x227fe6[_0x102d08(0xb2)],'file':_0x350ff7,'error':_0x5e92ec[_0x102d08(0x1b3)]},_0x102d08(0xd8)+_0x350ff7+'\x20—\x20'+_0x5e92ec[_0x102d08(0x1b3)]);}}return logger[_0x102d08(0x142)]({'event':_0x227fe6[_0x102d08(0xcf)],'count':_0x5d04a2[_0x102d08(0x154)]},_0x102d08(0x19c)+_0x5d04a2[_0x102d08(0x154)]+'\x20job\x20config(s)\x20from\x20payload/jobs/'),_0x5d04a2;}async[a0_0x51e40b(0x14a)](_0x2371c8){const _0x273787=a0_0x51e40b,_0x381678={'UgqDc':function(_0x52c973,_0x2d1f0d){return _0x52c973(_0x2d1f0d);},'eANTX':function(_0x17e784,_0x2f5b23){return _0x17e784===_0x2f5b23;},'UieWp':_0x273787(0x139),'UlhRA':_0x273787(0x114),'BFcQv':function(_0x52148a,_0x57329f){return _0x52148a!==_0x57329f;},'StBnx':_0x273787(0xdb)},_0x4a0239=path[_0x273787(0xc2)](this['workingDir'],_0x273787(0xeb),'jobs',_0x2371c8['handler']+_0x273787(0x158));this['handlers'][_0x2371c8[_0x273787(0x136)]]=_0x381678[_0x273787(0xf9)](require,_0x4a0239),this[_0x273787(0xce)][_0x2371c8['name']]=_0x2371c8;if(_0x381678[_0x273787(0xa8)](_0x2371c8['type'],_0x381678[_0x273787(0x13d)])&&_0x2371c8[_0x273787(0x15e)]!==![]){const _0xb4c41d=this['queues'][_0x2371c8['queue']||'default'];await _0xb4c41d['upsertJobScheduler'](_0x2371c8['name'],{'pattern':_0x2371c8[_0x273787(0xdf)],'tz':_0x2371c8[_0x273787(0x169)]||undefined},{'name':_0x2371c8[_0x273787(0x136)],'data':{'handler':_0x2371c8['handler'],'triggeredBy':_0x381678[_0x273787(0x13d)],'metadata':_0x2371c8[_0x273787(0x17c)]||{}},'opts':{'attempts':_0x2371c8[_0x273787(0x109)]?.[_0x273787(0x106)]||0x3,'backoff':{'type':_0x2371c8['retry']?.[_0x273787(0xd9)]||'exponential','delay':_0x2371c8['retry']?.['initialDelay']||0x1388},'timeout':_0x2371c8['timeout']||0x7530}}),logger['info']({'event':_0x273787(0xa3),'name':_0x2371c8['name'],'schedule':_0x2371c8[_0x273787(0xdf)],'queue':_0x2371c8[_0x273787(0x1c7)]||_0x381678[_0x273787(0x132)]},'Cron\x20registered:\x20'+_0x2371c8['name']+'\x20['+_0x2371c8[_0x273787(0xdf)]+']');}const _0x368191=_0x2371c8['type']===_0x381678[_0x273787(0x13d)]&&_0x381678['BFcQv'](_0x2371c8[_0x273787(0x15e)],![])?_0x381678[_0x273787(0x1c0)]:'offline';let _0x25691f=null;_0x381678['eANTX'](_0x368191,_0x381678['StBnx'])&&(_0x25691f=await this['getNextRunFromBullMQ'](_0x2371c8['name'])),await this[_0x273787(0xcd)](_0x2371c8,_0x368191,_0x25691f);}async['processJob'](_0x2de9f2){const _0x1c60d5=a0_0x51e40b,_0x1f28e7={'aKYxQ':'job_history_insert_bg_error','FWmRm':function(_0x4f3d15,_0x34e23a){return _0x4f3d15===_0x34e23a;},'LKJAO':'cron','XjjDN':function(_0x23b614,_0x34cf5f){return _0x23b614+_0x34cf5f;},'llrBX':_0x1c60d5(0xd3)},_0xcb3d05=this['jobConfigs'][_0x2de9f2[_0x1c60d5(0x136)]],_0x445c30=this[_0x1c60d5(0xe9)][_0x2de9f2[_0x1c60d5(0x136)]];if(!_0x445c30)throw new Error(_0x1c60d5(0x141)+_0x2de9f2['name']);const _0x5ee269=logger[_0x1c60d5(0x123)]({'jobId':_0x2de9f2['id'],'jobName':_0x2de9f2[_0x1c60d5(0x136)]});_0x5ee269['info']({'event':_0x1c60d5(0xf3),'attempt':_0x2de9f2['attemptsMade']+0x1,'triggeredBy':_0x2de9f2['data']?.['triggeredBy']||'unknown'},_0x1c60d5(0x145)+_0x2de9f2['name']+'\x20(attempt\x20'+(_0x2de9f2['attemptsMade']+0x1)+')');const _0x5095cf=uuidv7(),_0x11b87a=_0x2de9f2[_0x1c60d5(0xf2)]?.['triggeredBy']||_0x1c60d5(0x116),_0x1a005c=this[_0x1c60d5(0x122)]({'id':_0x5095cf,'jobName':_0x2de9f2['name'],'bullmqJobId':_0x2de9f2['id'],'triggerType':_0x1f28e7[_0x1c60d5(0x197)](_0x11b87a,'api-delayed')?_0x1c60d5(0xa2):_0x11b87a===_0x1c60d5(0x149)?_0x1c60d5(0x11f):_0x1c60d5(0x139),'triggeredBy':_0x1f28e7['FWmRm'](_0x11b87a,_0x1f28e7['LKJAO'])?'system':_0x11b87a,'queue':_0xcb3d05?.['queue']||'default','attempt':_0x1f28e7['XjjDN'](_0x2de9f2['attemptsMade'],0x1),'configFile':_0xcb3d05?.['_sourceFile']||null})['catch'](_0xb4c74f=>{const _0x3803e2=_0x1c60d5;_0x5ee269[_0x3803e2(0x1bf)]({'event':_0x1f28e7[_0x3803e2(0x9c)],'error':_0xb4c74f['message']},'Background\x20insert\x20job\x20history\x20failed:\x20'+_0xb4c74f[_0x3803e2(0x1b3)]);});this['activeHistoryIds']['set'](_0x2de9f2['id'],{'historyId':_0x5095cf,'insertPromise':_0x1a005c});const _0x1ae05e=this[_0x1c60d5(0x1a1)](_0x2de9f2,_0xcb3d05,_0x5ee269),_0x41ba06=getComponentEngine();if(_0x41ba06&&typeof _0x41ba06[_0x1c60d5(0x15c)]===_0x1c60d5(0xba)){const _0x164558=await _0x41ba06[_0x1c60d5(0x15c)]('onBeforeJobExecute',_0x1ae05e,!![]);if(!_0x164558['success'])throw new Error('Job\x20cancelled\x20by\x20onBeforeJobExecute:\x20'+_0x164558[_0x1c60d5(0xac)]);}const _0x52382e=await _0x445c30(_0x1ae05e);return _0x5ee269[_0x1c60d5(0x142)]({'event':_0x1f28e7[_0x1c60d5(0x174)],'result':_0x52382e},_0x1c60d5(0xe4)+_0x2de9f2['name']),_0x52382e;}[a0_0x51e40b(0x1a1)](_0x373024,_0x21fc55,_0x1e305f){const _0x4085f8=a0_0x51e40b;return{'jobId':_0x373024['id'],'jobName':_0x373024[_0x4085f8(0x136)],'attempt':_0x373024['attemptsMade']+0x1,'maxAttempts':_0x21fc55?.[_0x4085f8(0x109)]?.[_0x4085f8(0x106)]||0x3,'payload':_0x373024['data']||{},'config':_0x21fc55||{},'db':this[_0x4085f8(0xda)](),'redis':this[_0x4085f8(0x151)](),'logger':_0x1e305f,'kafka':this[_0x4085f8(0x144)](),'cache':this[_0x4085f8(0x104)](),'updateProgress':async _0x1c81f6=>{await _0x373024['updateProgress'](_0x1c81f6);},'emit':async(_0x521cc5,_0x5cd34c)=>{const _0x43e125=_0x4085f8,_0xca6b8=this['getKafkaService']();_0xca6b8&&await _0xca6b8['publishEvent'](_0x521cc5,_0x43e125(0x180),null,_0x5cd34c,{'module':'job-scheduler','endpoint':_0x373024['name']});},'job':_0x373024};}['getDbType'](){const _0x130972=a0_0x51e40b,_0x1e247c={'OcYvJ':_0x130972(0xf7)};return(process['env']['DB_TYPE']||_0x1e247c['OcYvJ'])['toLowerCase']();}async[a0_0x51e40b(0xef)](){const _0x2d3af1=a0_0x51e40b,_0x19b043={'yEUvH':'job_db_unavailable','KgnMK':'Database\x20tidak\x20tersedia,\x20skip\x20auto-create\x20job\x20tables','FGAsm':_0x2d3af1(0x108),'Mtskk':_0x2d3af1(0x1a3),'JKFKf':_0x2d3af1(0xdd),'eqHIW':'job_db_type_unsupported','wceVD':_0x2d3af1(0x14f),'hRaMG':'already\x20exists','WUnos':'job_tables_ensured'},_0x44f75c=this['getDbUtils']();if(!_0x44f75c){logger[_0x2d3af1(0x1bf)]({'event':_0x19b043['yEUvH']},_0x19b043[_0x2d3af1(0xa9)]);return;}const _0x4972a3=this['getDbType'](),_0x3d41ba={'postgresql':_0x19b043[_0x2d3af1(0xb1)],'oracle':_0x19b043['Mtskk'],'mysql':_0x19b043[_0x2d3af1(0x1b1)]},_0x5274c7=_0x3d41ba[_0x4972a3];if(!_0x5274c7){logger[_0x2d3af1(0x1bf)]({'event':_0x19b043[_0x2d3af1(0x1c8)],'dbType':_0x4972a3},_0x2d3af1(0x175)+_0x4972a3+_0x2d3af1(0x194));return;}const _0x45fc59=path['join'](__dirname,'sql-scripts',_0x5274c7);if(!fs['existsSync'](_0x45fc59)){logger[_0x2d3af1(0x1bf)]({'event':_0x2d3af1(0xa4),'path':_0x45fc59},_0x2d3af1(0x1ac)+_0x45fc59);return;}const _0x52c55a=fs['readFileSync'](_0x45fc59,_0x19b043[_0x2d3af1(0xb0)]),_0x2db597=this['splitSqlStatements'](_0x52c55a,_0x4972a3);let _0x58e6fd=0x0;for(const _0x39c64b of _0x2db597){try{await _0x44f75c[_0x2d3af1(0x18a)](_0x39c64b),_0x58e6fd++;}catch(_0x22d81d){const _0x403348=(_0x22d81d['message']||'')['toLowerCase'](),_0x531ae9=_0x403348[_0x2d3af1(0x172)](_0x19b043[_0x2d3af1(0x1a6)])||_0x403348['includes']('ora-00955')||_0x403348['includes'](_0x2d3af1(0xfa));!_0x531ae9&&logger[_0x2d3af1(0x1bf)]({'event':_0x2d3af1(0x1a2),'error':_0x22d81d['message']},'Job\x20ensureTables\x20warning:\x20'+_0x22d81d['message']);}}logger[_0x2d3af1(0x142)]({'event':_0x19b043['WUnos'],'dbType':_0x4972a3,'executed':_0x58e6fd},'Job\x20monitoring\x20tables\x20ensured\x20('+_0x4972a3+')');}['splitSqlStatements'](_0x1bacb8,_0x594b47){const _0x340b68=a0_0x51e40b;let _0x4e1120;return _0x594b47===_0x340b68(0x1b9)?_0x4e1120=_0x1bacb8['split'](/\n\/\s*(?:\n|$)/):_0x4e1120=_0x1bacb8['split'](/;\s*(?:\n|$)/),_0x4e1120[_0x340b68(0x119)](_0xac4ab0=>_0xac4ab0['trim']())[_0x340b68(0xad)](_0x2fe3aa=>{const _0xe75caf=_0x340b68;if(_0x2fe3aa[_0xe75caf(0x154)]===0x0)return![];const _0x272461=_0x2fe3aa[_0xe75caf(0x182)]('\x0a')[_0xe75caf(0xad)](_0x306b0a=>!_0x306b0a[_0xe75caf(0x1c6)]()[_0xe75caf(0x190)]('--')&&_0x306b0a['trim']()[_0xe75caf(0x154)]>0x0);return _0x272461[_0xe75caf(0x154)]>0x0;});}async[a0_0x51e40b(0xcd)](_0xacd7ea,_0x3434ce='online',_0x427067=null){const _0x130f01=a0_0x51e40b,_0x4e75a5={'BJYEL':'cron','xJuDQ':_0x130f01(0x114),'KLPZS':function(_0x424c0d,_0x4954de){return _0x424c0d===_0x4954de;}},_0xfa08ab=this[_0x130f01(0xda)]();if(!_0xfa08ab)return;const _0x12eb11=this['getDbType'](),_0x2f926b=[_0xacd7ea[_0x130f01(0x136)],_0xacd7ea[_0x130f01(0xc0)]||_0xacd7ea['name'],_0xacd7ea[_0x130f01(0x192)]||_0x4e75a5[_0x130f01(0x117)],_0xacd7ea[_0x130f01(0xdf)]||null,_0xacd7ea['queue']||_0x4e75a5['xJuDQ'],_0xacd7ea[_0x130f01(0x125)],_0xacd7ea['_sourceFile']||'',_0xacd7ea['timeout']||0x7530,_0xacd7ea[_0x130f01(0x109)]?.['maxAttempts']||0x3,_0xacd7ea[_0x130f01(0x109)]?.[_0x130f01(0xd9)]||_0x130f01(0x13e),_0x3434ce,_0x427067];try{if(_0x4e75a5['KLPZS'](_0x12eb11,_0x130f01(0x1b9)))await _0xfa08ab['executeQuery']('MERGE\x20INTO\x20job_registry\x20r\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20USING\x20(SELECT\x20:1\x20AS\x20jn\x20FROM\x20DUAL)\x20s\x20ON\x20(r.job_name\x20=\x20s.jn)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHEN\x20MATCHED\x20THEN\x20UPDATE\x20SET\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display_name\x20=\x20:2,\x20type\x20=\x20:3,\x20schedule\x20=\x20:4,\x20queue\x20=\x20:5,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20handler\x20=\x20:6,\x20config_file\x20=\x20:7,\x20timeout\x20=\x20:8,\x20retry_max\x20=\x20:9,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20retry_backoff\x20=\x20:10,\x20status\x20=\x20:11,\x20next_run_at\x20=\x20:12,\x20updated_at\x20=\x20SYSTIMESTAMP\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHEN\x20NOT\x20MATCHED\x20THEN\x20INSERT\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(job_name,\x20display_name,\x20type,\x20schedule,\x20queue,\x20handler,\x20config_file,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout,\x20retry_max,\x20retry_backoff,\x20status,\x20next_run_at,\x20created_at,\x20updated_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(:1,\x20:2,\x20:3,\x20:4,\x20:5,\x20:6,\x20:7,\x20:8,\x20:9,\x20:10,\x20:11,\x20:12,\x20SYSTIMESTAMP,\x20SYSTIMESTAMP)',_0x2f926b);else _0x12eb11==='mysql'?await _0xfa08ab['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)',_0x2f926b):await _0xfa08ab[_0x130f01(0x18a)](_0x130f01(0x13a),_0x2f926b);}catch(_0x5d081e){logger[_0x130f01(0x1bf)]({'event':'job_registry_upsert_error','name':_0xacd7ea[_0x130f01(0x136)],'error':_0x5d081e[_0x130f01(0x1b3)]},_0x130f01(0xf0)+_0xacd7ea['name']+'\x20—\x20'+_0x5d081e[_0x130f01(0x1b3)]);}}async[a0_0x51e40b(0x122)](_0x2ffc79){const _0x12fd37=a0_0x51e40b,_0x1a4f53={'FuLTH':'system','gWPwv':'job_history_insert_error'},_0x241c77=this['getDbUtils']();if(!_0x241c77)return;const _0x1ba61f=this['getDbType'](),_0x276dd7=[_0x2ffc79['id'],_0x2ffc79['jobName'],_0x2ffc79['bullmqJobId']||null,_0x2ffc79[_0x12fd37(0x186)]||'cron',_0x2ffc79[_0x12fd37(0x16b)]||_0x1a4f53['FuLTH'],_0x2ffc79[_0x12fd37(0x1c7)]||'default',_0x2ffc79['attempt']||0x1,_0x2ffc79[_0x12fd37(0xfc)]||null,process[_0x12fd37(0x17a)]];try{if(_0x1ba61f==='oracle')await _0x241c77[_0x12fd37(0x18a)](_0x12fd37(0x198),_0x276dd7);else _0x1ba61f==='mysql'?await _0x241c77['executeQuery'](_0x12fd37(0x1c5),_0x276dd7):await _0x241c77[_0x12fd37(0x18a)]('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())',_0x276dd7);await this['updateRegistryStatus'](_0x2ffc79['jobName'],'running');}catch(_0x321752){logger[_0x12fd37(0x1bf)]({'event':_0x1a4f53[_0x12fd37(0xbf)],'jobName':_0x2ffc79[_0x12fd37(0x1ab)],'error':_0x321752[_0x12fd37(0x1b3)]},_0x12fd37(0x16e)+_0x321752[_0x12fd37(0x1b3)]);}}async['updateJobHistoryCompleted'](_0x5d7116,_0x3998a7,_0x553942){const _0x1cc492=a0_0x51e40b,_0xcb1461={'jkAnb':function(_0x23b71b,_0x4500e4){return _0x23b71b(_0x4500e4);},'wpugN':'job_history_complete_error'},_0x403e27=this['getDbUtils']();if(!_0x403e27)return;const _0x3fd860=this[_0x1cc492(0x11e)](),_0x9e33e7=_0x553942?_0xcb1461['jkAnb'](String,_0x553942)['substring'](0x0,0x1f4):null;try{if(_0x3fd860==='oracle')await _0x403e27[_0x1cc492(0x18a)](_0x1cc492(0x178),[_0x3998a7,_0x9e33e7,_0x5d7116]);else _0x3fd860===_0x1cc492(0x1b2)?await _0x403e27['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?',[_0x3998a7,_0x9e33e7,_0x5d7116]):await _0x403e27['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',[_0x3998a7,_0x9e33e7,_0x5d7116]);}catch(_0x4a08a5){logger[_0x1cc492(0x1bf)]({'event':_0xcb1461[_0x1cc492(0xc5)],'historyId':_0x5d7116,'error':_0x4a08a5[_0x1cc492(0x1b3)]},'Failed\x20to\x20update\x20job\x20history\x20(completed):\x20'+_0x4a08a5[_0x1cc492(0x1b3)]);}}async['updateJobHistoryFailed'](_0x1a0823,_0x3a7e2d,_0x5e4426,_0x60a08c,_0x52444d){const _0x5d4394=a0_0x51e40b,_0x51dfc9={'exdTr':function(_0x2fabcf,_0x1d2147){return _0x2fabcf(_0x1d2147);},'qgAnD':function(_0x3202e1,_0x59da8e){return _0x3202e1===_0x59da8e;},'DkXDb':'oracle','iJzfV':'mysql','lkLdO':function(_0x284536,_0x367aed){return _0x284536||_0x367aed;},'PBiiD':'job_history_failed_error'},_0x1354e8=this['getDbUtils']();if(!_0x1354e8)return;const _0x27c2a8=this['getDbType'](),_0x3d3440=_0x60a08c?String(_0x60a08c)[_0x5d4394(0xcb)](0x0,0x3e8):null,_0xdb9435=_0x52444d?_0x51dfc9['exdTr'](String,_0x52444d)[_0x5d4394(0xcb)](0x0,0xfa0):null;try{if(_0x51dfc9['qgAnD'](_0x27c2a8,_0x51dfc9['DkXDb']))await _0x1354e8[_0x5d4394(0x18a)]('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',[_0x3a7e2d,_0x5e4426||0x0,_0x3d3440,_0xdb9435,_0x1a0823]);else _0x27c2a8===_0x51dfc9[_0x5d4394(0x199)]?await _0x1354e8[_0x5d4394(0x18a)](_0x5d4394(0xfd),[_0x3a7e2d,_0x51dfc9['lkLdO'](_0x5e4426,0x0),_0x3d3440,_0xdb9435,_0x1a0823]):await _0x1354e8[_0x5d4394(0x18a)]('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',[_0x3a7e2d,_0x5e4426||0x0,_0x3d3440,_0xdb9435,_0x1a0823]);}catch(_0x5491f8){logger[_0x5d4394(0x1bf)]({'event':_0x51dfc9['PBiiD'],'historyId':_0x1a0823,'error':_0x5491f8[_0x5d4394(0x1b3)]},_0x5d4394(0xff)+_0x5491f8['message']);}}async[a0_0x51e40b(0x11a)](_0x201b2d,_0x572d9d){const _0x49091e=a0_0x51e40b,_0x59f44f=this['getDbUtils']();if(!_0x59f44f)return;const _0x71fe79=this['getDbType']();try{if(_0x71fe79===_0x49091e(0x1b9))await _0x59f44f[_0x49091e(0x18a)]('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',[_0x572d9d,_0x201b2d]);else _0x71fe79==='mysql'?await _0x59f44f[_0x49091e(0x18a)](_0x49091e(0xb5),[_0x572d9d,_0x201b2d]):await _0x59f44f[_0x49091e(0x18a)]('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',[_0x572d9d,_0x201b2d]);}catch(_0x383cd1){}}async[a0_0x51e40b(0x153)](_0x11b4f3,_0x3099db,_0x3d285d,_0x40f603){const _0x387d35=a0_0x51e40b,_0x4aba2e={'VswPI':function(_0x4f2867,_0x449930){return _0x4f2867===_0x449930;},'VAabx':'success','GRSwu':_0x387d35(0x1b9),'oNxZs':function(_0x36d37a,_0x1b76c7){return _0x36d37a===_0x1b76c7;},'sgSct':'mysql','xQHek':_0x387d35(0xa7)},_0x5c8aae=this['getDbUtils']();if(!_0x5c8aae)return;const _0x4dc627=this['getDbType'](),_0x40788c=_0x4aba2e[_0x387d35(0x9f)](_0x3099db,_0x4aba2e[_0x387d35(0x14d)])?_0x387d35(0x1ba):'total_failed';try{if(_0x4dc627===_0x4aba2e['GRSwu'])await _0x5c8aae[_0x387d35(0x18a)](_0x387d35(0xbb)+_0x40788c+'\x20=\x20'+_0x40788c+_0x387d35(0x111),[_0x3099db,_0x3d285d,_0x40f603,_0x11b4f3]);else _0x4aba2e[_0x387d35(0x15b)](_0x4dc627,_0x4aba2e[_0x387d35(0xa1)])?await _0x5c8aae[_0x387d35(0x18a)](_0x387d35(0x18d)+_0x40788c+'\x20=\x20'+_0x40788c+'\x20+\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20?\x20WHERE\x20job_name\x20=\x20?',[_0x3099db,_0x3d285d,_0x40f603,_0x11b4f3]):await _0x5c8aae[_0x387d35(0x18a)]('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'+_0x40788c+_0x387d35(0x112)+_0x40788c+'\x20+\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20$3,\x20updated_at\x20=\x20NOW()\x20WHERE\x20job_name\x20=\x20$4',[_0x3099db,_0x3d285d,_0x40f603,_0x11b4f3]);}catch(_0x45461b){logger[_0x387d35(0x1bf)]({'event':_0x4aba2e[_0x387d35(0x120)],'jobName':_0x11b4f3,'error':_0x45461b[_0x387d35(0x1b3)]},_0x387d35(0x148)+_0x45461b['message']);}}async['getNextRunFromBullMQ'](_0x15e5f2){const _0x2c2780=a0_0x51e40b,_0x35310a={'LbFAW':function(_0x106cb2,_0x35d940){return _0x106cb2!==_0x35d940;},'YzFro':_0x2c2780(0x139),'ImmJw':_0x2c2780(0xba)},_0x3d0b30=this[_0x2c2780(0xce)][_0x15e5f2];if(!_0x3d0b30||_0x35310a['LbFAW'](_0x3d0b30['type'],_0x35310a['YzFro'])||_0x3d0b30['enabled']===![])return null;const _0x301792=this['queues'][_0x3d0b30[_0x2c2780(0x1c7)]||_0x2c2780(0x114)];if(!_0x301792)return null;try{if(typeof _0x301792[_0x2c2780(0x118)]===_0x35310a['ImmJw']){const _0xe7b8d3=await _0x301792['getJobSchedulers'](0x0,0x64),_0xe280f9=_0xe7b8d3[_0x2c2780(0x17d)](_0x253d26=>_0x253d26['name']===_0x15e5f2);return _0xe280f9?.[_0x2c2780(0x15a)]?new Date(_0xe280f9[_0x2c2780(0x15a)]):null;}}catch(_0x258d32){}return null;}async[a0_0x51e40b(0xf5)](){const _0x4b284a=a0_0x51e40b,_0x3f7e34={'BNVik':_0x4b284a(0x1b9),'GXwDb':_0x4b284a(0x1b2)},_0x2e3522=this[_0x4b284a(0xda)]();if(!_0x2e3522)return;const _0x33d322=this['getDbType']();try{if(_0x33d322===_0x3f7e34[_0x4b284a(0x18b)])await _0x2e3522[_0x4b284a(0x18a)](_0x4b284a(0xa6));else _0x33d322===_0x3f7e34[_0x4b284a(0x170)]?await _0x2e3522['executeQuery'](_0x4b284a(0xd0)):await _0x2e3522[_0x4b284a(0x18a)](_0x4b284a(0x162));}catch(_0xd37228){logger[_0x4b284a(0x1bf)]({'event':'job_registry_offline_error','error':_0xd37228[_0x4b284a(0x1b3)]},'Failed\x20to\x20set\x20jobs\x20offline:\x20'+_0xd37228[_0x4b284a(0x1b3)]);}}['getDbUtils'](){const _0x11f748=a0_0x51e40b,_0xee1ea9={'ojNSf':'oracle','TrbvB':function(_0x47a769,_0x56bf2a){return _0x47a769(_0x56bf2a);},'jSWes':_0x11f748(0xfb),'QGxvs':_0x11f748(0xe7),'UKFoi':function(_0x39ac43,_0x421d34){return _0x39ac43===_0x421d34;},'tOPza':'mysql','uMOtK':'db_mysql_unavailable','XyaAm':function(_0x4d5449,_0x5beb7e){return _0x4d5449(_0x5beb7e);},'LWZiV':_0x11f748(0x187),'njwuL':'PostgreSQL\x20DB\x20module\x20not\x20available'},_0x117bd4=(process['env']['DB_TYPE']||'postgresql')['toLowerCase']();if(_0x117bd4===_0xee1ea9['ojNSf'])try{const _0x3f2efa=_0xee1ea9['TrbvB'](require,_0xee1ea9[_0x11f748(0x128)]);return{'executeQuery':(_0x5c2979,_0x22041b)=>_0x3f2efa[_0x11f748(0x18a)](_0x5c2979,_0x22041b),'executeTransaction':_0x281b3a=>_0x3f2efa['executeTransaction'](_0x281b3a),'getPool':()=>_0x3f2efa['getPool']()};}catch(_0x55fb79){return logger[_0x11f748(0x1bf)]({'event':_0xee1ea9['QGxvs']},_0x11f748(0x11c)),null;}if(_0xee1ea9['UKFoi'](_0x117bd4,_0xee1ea9[_0x11f748(0x1c1)]))try{const _0x240957=require('../../utils/db-mysql');return{'executeQuery':(_0x256e00,_0x407fed)=>_0x240957['executeQuery'](_0x256e00,_0x407fed),'executeTransaction':_0x452bb3=>_0x240957[_0x11f748(0x159)](_0x452bb3),'getPool':()=>_0x240957['getPool']()};}catch(_0x1863f2){return logger[_0x11f748(0x1bf)]({'event':_0xee1ea9[_0x11f748(0x135)]},'MySQL\x20DB\x20module\x20not\x20available'),null;}try{const _0x10b227=_0xee1ea9[_0x11f748(0xdc)](require,_0x11f748(0x129));return{'executeQuery':_0x10b227['executeQuery'],'executeTransaction':_0x10b227[_0x11f748(0x159)],'getPool':_0x10b227['getPool']};}catch(_0x485cc3){return logger[_0x11f748(0x1bf)]({'event':_0xee1ea9['LWZiV']},_0xee1ea9[_0x11f748(0x143)]),null;}}[a0_0x51e40b(0x151)](){try{const _0x4e57b7=require('../../utils/redis-client');return _0x4e57b7['getClient']?_0x4e57b7['getClient']():_0x4e57b7;}catch(_0x372637){return null;}}[a0_0x51e40b(0x144)](){const _0x2b5823=a0_0x51e40b,_0x1dcec8={'JQIcm':function(_0x56c284,_0x28342c){return _0x56c284(_0x28342c);},'yYQyF':_0x2b5823(0x10b)};try{if(process[_0x2b5823(0x16a)]['KAFKA_ENABLED']==='true'){const _0x3eb7d2=_0x1dcec8['JQIcm'](require,_0x1dcec8[_0x2b5823(0x19f)]);return _0x3eb7d2['getInstance']?_0x3eb7d2[_0x2b5823(0x176)]():_0x3eb7d2;}}catch(_0x2dd867){}return null;}[a0_0x51e40b(0x104)](){try{return require('../../utils/cache-manager');}catch(_0x30b893){return null;}}async['dispatch'](_0x4b9fb0,_0x2a1824={}){const _0x476e94=a0_0x51e40b,_0x4eb27c={'AEKNp':_0x476e94(0x149),'HKHop':_0x476e94(0x183)},_0x5a39ed=this[_0x476e94(0xce)][_0x4b9fb0];if(!_0x5a39ed)throw new Error('Job\x20not\x20found:\x20'+_0x4b9fb0);const _0x334594=this[_0x476e94(0xfe)][_0x5a39ed[_0x476e94(0x1c7)]||_0x476e94(0x114)],_0x227b63=await _0x334594['add'](_0x4b9fb0,{..._0x2a1824,'handler':_0x5a39ed[_0x476e94(0x125)],'triggeredBy':_0x4eb27c[_0x476e94(0x1c4)]},{'attempts':_0x5a39ed['retry']?.[_0x476e94(0x106)]||0x3,'backoff':{'type':_0x5a39ed[_0x476e94(0x109)]?.['backoff']||'exponential','delay':_0x5a39ed[_0x476e94(0x109)]?.[_0x476e94(0xe0)]||0x1388},'timeout':_0x5a39ed[_0x476e94(0x195)]||0x7530});return logger[_0x476e94(0x142)]({'event':_0x4eb27c['HKHop'],'jobId':_0x227b63['id'],'name':_0x4b9fb0,'triggeredBy':_0x476e94(0x149)},'Job\x20dispatched:\x20'+_0x4b9fb0+_0x476e94(0x9d)+_0x227b63['id']+')'),{'jobId':_0x227b63['id'],'name':_0x4b9fb0};}async[a0_0x51e40b(0x124)](_0x356ca7,_0x43b0fc={},_0xf84c15=0x0){const _0x311c60=a0_0x51e40b,_0x3be6fe={'XnAjl':'default','nEitC':'api-delayed','IzEGG':_0x311c60(0x13e)},_0x1e4b14=this[_0x311c60(0xce)][_0x356ca7];if(!_0x1e4b14)throw new Error('Job\x20not\x20found:\x20'+_0x356ca7);const _0x8ffd6c=this[_0x311c60(0xfe)][_0x1e4b14[_0x311c60(0x1c7)]||_0x3be6fe[_0x311c60(0x10a)]],_0x3440b2=await _0x8ffd6c['add'](_0x356ca7,{..._0x43b0fc,'handler':_0x1e4b14[_0x311c60(0x125)],'triggeredBy':_0x3be6fe['nEitC']},{'delay':_0xf84c15,'attempts':_0x1e4b14['retry']?.[_0x311c60(0x106)]||0x3,'backoff':{'type':_0x1e4b14[_0x311c60(0x109)]?.['backoff']||_0x3be6fe['IzEGG'],'delay':_0x1e4b14[_0x311c60(0x109)]?.[_0x311c60(0xe0)]||0x1388},'timeout':_0x1e4b14['timeout']||0x7530});return logger[_0x311c60(0x142)]({'event':'job_dispatched_delayed','jobId':_0x3440b2['id'],'name':_0x356ca7,'delayMs':_0xf84c15},'Job\x20dispatched\x20(delayed\x20'+_0xf84c15+'ms):\x20'+_0x356ca7+'\x20(id:\x20'+_0x3440b2['id']+')'),{'jobId':_0x3440b2['id'],'name':_0x356ca7};}async['getJobStatus'](_0x1adf84){const _0x59a945=a0_0x51e40b;for(const _0x20d373 of Object['values'](this['queues'])){const _0x153e8c=await _0x20d373['getJob'](_0x1adf84);if(_0x153e8c){const _0x298a1d=await _0x153e8c['getState']();return{'jobId':_0x153e8c['id'],'name':_0x153e8c[_0x59a945(0x136)],'state':_0x298a1d,'progress':_0x153e8c['progress'],'attemptsMade':_0x153e8c['attemptsMade'],'failedReason':_0x153e8c['failedReason'],'returnvalue':_0x153e8c['returnvalue'],'data':_0x153e8c['data'],'timestamps':{'created':_0x153e8c[_0x59a945(0x152)],'started':_0x153e8c[_0x59a945(0x1a0)],'completed':_0x153e8c['finishedOn']}};}}return null;}['listJobs'](){const _0x3fbea6=a0_0x51e40b;return Object['values'](this['jobConfigs'])[_0x3fbea6(0x119)](_0x4b4368=>({'name':_0x4b4368[_0x3fbea6(0x136)],'description':_0x4b4368['description']||'','type':_0x4b4368['type'],'schedule':_0x4b4368['schedule'],'handler':_0x4b4368[_0x3fbea6(0x125)],'enabled':_0x4b4368['enabled']!==![],'queue':_0x4b4368['queue']||_0x3fbea6(0x114),'timeout':_0x4b4368['timeout']||0x7530,'retry':_0x4b4368['retry']||{'maxAttempts':0x3,'backoff':'exponential','initialDelay':0x1388},'metadata':_0x4b4368['metadata']||{}}));}async['listRunning'](){const _0x162680=a0_0x51e40b,_0x2908e4=[];for(const [_0x48e21e,_0x27eaa0]of Object['entries'](this['queues'])){const _0x41926b=await _0x27eaa0[_0x162680(0x1b7)]([_0x162680(0xc9)]);for(const _0x5e8536 of _0x41926b){_0x2908e4['push']({'jobId':_0x5e8536['id'],'name':_0x5e8536['name'],'queue':_0x48e21e,'progress':_0x5e8536['progress'],'attemptsMade':_0x5e8536['attemptsMade'],'startedAt':_0x5e8536[_0x162680(0x1a0)]});}}return _0x2908e4;}async[a0_0x51e40b(0x1c2)](_0x138cb7={}){const _0x57c0cb=a0_0x51e40b,_0x31d82d={'xvAkG':function(_0x4c7d6e,_0x3ae1cb,_0x4a52ac){return _0x4c7d6e(_0x3ae1cb,_0x4a52ac);},'MjKrk':function(_0x599299,_0x4e2dfb){return _0x599299-_0x4e2dfb;},'ZbBlW':function(_0x10a3c2,_0x4ded58){return _0x10a3c2-_0x4ded58;},'fKvXS':function(_0x4fa786,_0x34b618){return _0x4fa786+_0x34b618;},'dJCJa':'failed'},_0xcb1bac=_0x31d82d['xvAkG'](parseInt,_0x138cb7['page'],0xa)||0x1,_0x5936cb=Math['min'](parseInt(_0x138cb7[_0x57c0cb(0xe8)],0xa)||0x14,0x64),_0xad1b9a=_0x31d82d['MjKrk'](_0xcb1bac,0x1)*_0x5936cb,_0x48c391=_0x31d82d['ZbBlW'](_0x31d82d['fKvXS'](_0xad1b9a,_0x5936cb),0x1),_0x1fef51=[];for(const [_0x31d263,_0x320da0]of Object[_0x57c0cb(0x18c)](this['queues'])){const _0x4935ec=await _0x320da0['getJobs']([_0x57c0cb(0xc3)],_0xad1b9a,_0x48c391),_0x2e2733=await _0x320da0['getJobs']([_0x31d82d[_0x57c0cb(0x1a9)]],_0xad1b9a,_0x48c391);for(const _0x55596d of[..._0x4935ec,..._0x2e2733]){const _0x560520=await _0x55596d['getState']();_0x1fef51[_0x57c0cb(0x137)]({'jobId':_0x55596d['id'],'name':_0x55596d['name'],'state':_0x560520,'queue':_0x31d263,'attemptsMade':_0x55596d['attemptsMade'],'failedReason':_0x55596d[_0x57c0cb(0x1b8)],'returnvalue':_0x55596d['returnvalue'],'timestamps':{'created':_0x55596d['timestamp'],'started':_0x55596d[_0x57c0cb(0x1a0)],'completed':_0x55596d[_0x57c0cb(0x18e)]}});}}return _0x1fef51[_0x57c0cb(0x179)]((_0x4dc99f,_0x48d4a9)=>(_0x48d4a9['timestamps']['created']||0x0)-(_0x4dc99f[_0x57c0cb(0x1cb)]['created']||0x0)),{'jobs':_0x1fef51[_0x57c0cb(0x14b)](0x0,_0x5936cb),'total':_0x1fef51['length'],'page':_0xcb1bac,'limit':_0x5936cb};}async[a0_0x51e40b(0xf1)](_0x1b211a){const _0x3ec86b=a0_0x51e40b,_0xa42cad={'BJxzM':'active','Hxhrq':'delayed'};for(const _0x4360eb of Object[_0x3ec86b(0x10f)](this[_0x3ec86b(0xfe)])){const _0x45de7a=await _0x4360eb[_0x3ec86b(0xc4)](_0x1b211a);if(_0x45de7a){const _0x6af1cf=await _0x45de7a['getState']();if(_0x6af1cf===_0xa42cad[_0x3ec86b(0x191)])return await _0x45de7a['moveToFailed'](new Error(_0x3ec86b(0x1be)),'api-cancel',!![]),{'success':!![],'message':_0x3ec86b(0x115)+_0x1b211a+'\x20cancelled\x20(was\x20active)'};if(_0x6af1cf===_0x3ec86b(0xb9)||_0x6af1cf===_0xa42cad['Hxhrq'])return await _0x45de7a['remove'](),{'success':!![],'message':_0x3ec86b(0x115)+_0x1b211a+_0x3ec86b(0x12a)+_0x6af1cf+')'};return{'success':![],'message':'Job\x20'+_0x1b211a+'\x20cannot\x20be\x20cancelled\x20(state:\x20'+_0x6af1cf+')'};}}return{'success':![],'message':_0x3ec86b(0x115)+_0x1b211a+_0x3ec86b(0x16d)};}async['getHealthStatus'](){const _0x4e86f4=a0_0x51e40b,_0x2f8b47={'tqfmY':'completed','OuVnF':'delayed','vudib':'waiting'},_0xd6b453={};for(const [_0x13b6e3,_0x2d20a0]of Object[_0x4e86f4(0x18c)](this['queues'])){try{const _0x4793fa=await _0x2d20a0[_0x4e86f4(0x19a)](_0x4e86f4(0xc9),_0x2f8b47['tqfmY'],_0x2f8b47['OuVnF'],_0x4e86f4(0x15f),_0x4e86f4(0xec),_0x2f8b47['vudib']);_0xd6b453[_0x13b6e3]=_0x4793fa;}catch(_0x55a3f6){_0xd6b453[_0x13b6e3]={'error':_0x55a3f6[_0x4e86f4(0x1b3)]};}}const _0x44270f={};for(const [_0x278d10,_0x4d7786]of Object[_0x4e86f4(0x18c)](this['workers'])){_0x44270f[_0x278d10]={'running':_0x4d7786[_0x4e86f4(0xa5)](),'paused':_0x4d7786['isPaused']()};}return{'initialized':this[_0x4e86f4(0x17f)],'registeredJobs':Object['keys'](this[_0x4e86f4(0xce)])['length'],'redisConnections':this['connections'][_0x4e86f4(0x154)],'queues':_0xd6b453,'workers':_0x44270f};}async[a0_0x51e40b(0x173)](_0x429559,_0x3d690b){const _0x459f3c=a0_0x51e40b,_0x1e6ae6={'CxbSi':'onAfterJobComplete\x20handler\x20error\x20(non-blocking)','VEsOE':function(_0x34cae8,_0x1199c1){return _0x34cae8-_0x1199c1;},'nJXJI':_0x459f3c(0x1a8),'EcmtG':_0x459f3c(0xc7),'uOFqq':function(_0x1c08e1){return _0x1c08e1();},'kzzfr':function(_0xd940bd,_0x51bf9e){return _0xd940bd===_0x51bf9e;},'BFOve':'JOB_COMPLETED','lPVLL':_0x459f3c(0x11d)},_0x27c29e=logger['child']({'jobId':_0x429559['id'],'jobName':_0x429559['name']});_0x27c29e['info']({'event':_0x459f3c(0xd7),'attemptsMade':_0x429559[_0x459f3c(0xb6)],'duration':_0x429559[_0x459f3c(0x18e)]?_0x1e6ae6[_0x459f3c(0xca)](_0x429559['finishedOn'],_0x429559[_0x459f3c(0x1a0)]):null},'Job\x20completed:\x20'+_0x429559[_0x459f3c(0x136)]);const _0x36dc18=this[_0x459f3c(0x1a7)][_0x459f3c(0x189)](_0x429559['id']);if(_0x36dc18){if(_0x36dc18['insertPromise'])await _0x36dc18['insertPromise'];const _0x227c36=_0x429559['finishedOn']&&_0x429559[_0x459f3c(0x1a0)]?_0x429559[_0x459f3c(0x18e)]-_0x429559[_0x459f3c(0x1a0)]:null,_0x4b2135=typeof _0x3d690b===_0x1e6ae6['nJXJI']?_0x3d690b:_0x3d690b?JSON['stringify'](_0x3d690b)['substring'](0x0,0x1f4):null;await this[_0x459f3c(0x1bb)](_0x36dc18[_0x459f3c(0x196)],_0x227c36,_0x4b2135);const _0x70691a=await this[_0x459f3c(0x102)](_0x429559['name']);await this['updateRegistryCounters'](_0x429559[_0x459f3c(0x136)],_0x1e6ae6['EcmtG'],_0x227c36,_0x70691a),this[_0x459f3c(0x1a7)][_0x459f3c(0x134)](_0x429559['id']);}const _0x4989b9=_0x1e6ae6[_0x459f3c(0xed)](getComponentEngine);if(_0x4989b9&&_0x1e6ae6['kzzfr'](typeof _0x4989b9[_0x459f3c(0x15c)],_0x459f3c(0xba))){const _0x185c8f={'jobId':_0x429559['id'],'jobName':_0x429559[_0x459f3c(0x136)],'result':_0x3d690b,'config':this['jobConfigs'][_0x429559['name']]||{}};_0x4989b9[_0x459f3c(0x15c)]('onAfterJobComplete',_0x185c8f,![])[_0x459f3c(0x1bd)](_0x156543=>{const _0x55a1cd=_0x459f3c;_0x27c29e['warn']({'event':_0x55a1cd(0xbd),'error':_0x156543[_0x55a1cd(0x1b3)]},_0x1e6ae6['CxbSi']);});}const _0x1ffe5a=this[_0x459f3c(0x144)]();if(_0x1ffe5a)try{await _0x1ffe5a['publishEvent']('restforge.jobs.completed',_0x1e6ae6['BFOve'],null,{'jobId':_0x429559['id'],'name':_0x429559['name'],'result':_0x3d690b},{'module':_0x1e6ae6[_0x459f3c(0xaa)],'endpoint':_0x429559[_0x459f3c(0x136)]});}catch(_0x8bbbba){_0x27c29e['warn']({'event':'job_kafka_publish_error','error':_0x8bbbba[_0x459f3c(0x1b3)]},_0x459f3c(0xa0));}}async['onJobFailed'](_0x370701,_0x5469fd){const _0x49a451=a0_0x51e40b,_0x320977={'JIJLG':_0x49a451(0x10d),'amPYr':_0x49a451(0x167),'XeOzJ':_0x49a451(0x15f),'XVDjz':function(_0x14dc5e){return _0x14dc5e();},'NjIKw':function(_0x5b94a5,_0x3595ce){return _0x5b94a5===_0x3595ce;},'rLJXM':_0x49a451(0x12c),'FbUEr':_0x49a451(0xb7)},_0x2cda8e=logger['child']({'jobId':_0x370701['id'],'jobName':_0x370701['name']});_0x2cda8e['error']({'event':_0x320977[_0x49a451(0x13b)],'attemptsMade':_0x370701['attemptsMade'],'failedReason':_0x5469fd?.['message'],'willRetry':_0x370701['attemptsMade']<(this['jobConfigs'][_0x370701['name']]?.['retry']?.[_0x49a451(0x106)]||0x3)},'Job\x20failed:\x20'+_0x370701[_0x49a451(0x136)]+_0x49a451(0x1a4)+_0x5469fd?.['message']);const _0x42187=this['activeHistoryIds']['get'](_0x370701['id']);if(_0x42187){if(_0x42187['insertPromise'])await _0x42187[_0x49a451(0x12e)];const _0x5e230b=_0x370701['finishedOn']&&_0x370701['processedOn']?_0x370701[_0x49a451(0x18e)]-_0x370701['processedOn']:null;await this[_0x49a451(0xea)](_0x42187['historyId'],_0x5e230b,_0x370701[_0x49a451(0xaf)],_0x5469fd?.[_0x49a451(0x1b3)],_0x5469fd?.[_0x49a451(0x161)]);const _0x1795a6=await this['getNextRunFromBullMQ'](_0x370701['name']);await this['updateRegistryCounters'](_0x370701['name'],_0x320977['XeOzJ'],_0x5e230b,_0x1795a6),this['activeHistoryIds'][_0x49a451(0x134)](_0x370701['id']);}const _0x1af341=_0x320977['XVDjz'](getComponentEngine);if(_0x1af341&&_0x320977[_0x49a451(0x126)](typeof _0x1af341[_0x49a451(0x15c)],_0x49a451(0xba))){const _0x10358d={'jobId':_0x370701['id'],'jobName':_0x370701[_0x49a451(0x136)],'error':_0x5469fd?.['message'],'attemptsMade':_0x370701['attemptsMade'],'config':this[_0x49a451(0xce)][_0x370701[_0x49a451(0x136)]]||{}};_0x1af341['executeEventHandlers'](_0x320977['rLJXM'],_0x10358d,![])['catch'](_0x2cc6b5=>{const _0xa5982=_0x49a451;_0x2cda8e[_0xa5982(0x1bf)]({'event':'after_job_failed_hook_error','error':_0x2cc6b5['message']},_0x320977[_0xa5982(0x1ca)]);});}const _0x17297e=this['getKafkaService']();if(_0x17297e)try{await _0x17297e['publishEvent']('restforge.jobs.failed','JOB_FAILED',null,{'jobId':_0x370701['id'],'name':_0x370701['name'],'error':_0x5469fd?.[_0x49a451(0x1b3)],'attemptsMade':_0x370701['attemptsMade']},{'module':_0x49a451(0x11d),'endpoint':_0x370701[_0x49a451(0x136)]});}catch(_0x3fac52){_0x2cda8e['warn']({'event':_0x49a451(0x155),'error':_0x3fac52[_0x49a451(0x1b3)]},_0x320977[_0x49a451(0x121)]);}}['onJobProgress'](_0x51bbd0,_0x152cfe){const _0x2dcf68=a0_0x51e40b;logger[_0x2dcf68(0xe6)]({'event':_0x2dcf68(0xae),'jobId':_0x51bbd0['id'],'jobName':_0x51bbd0['name'],'progress':_0x152cfe},'Job\x20progress:\x20'+_0x51bbd0['name']+'\x20—\x20'+_0x152cfe+'%');}}module[a0_0x51e40b(0x1bc)]=new JobManager();
@@ -1 +1 @@
1
- function a0_0x8d3e(_0x184a26,_0x30865e){_0x184a26=_0x184a26-0xc1;const _0x87e894=a0_0x87e8();let _0x8d3e87=_0x87e894[_0x184a26];if(a0_0x8d3e['CAqzpR']===undefined){var _0x434bad=function(_0x7ca3c3){const _0x26dacd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3e6244='',_0x182991='';for(let _0x3222c0=0x0,_0x8ab501,_0x57853d,_0x4062cf=0x0;_0x57853d=_0x7ca3c3['charAt'](_0x4062cf++);~_0x57853d&&(_0x8ab501=_0x3222c0%0x4?_0x8ab501*0x40+_0x57853d:_0x57853d,_0x3222c0++%0x4)?_0x3e6244+=String['fromCharCode'](0xff&_0x8ab501>>(-0x2*_0x3222c0&0x6)):0x0){_0x57853d=_0x26dacd['indexOf'](_0x57853d);}for(let _0x2a70c0=0x0,_0xed7b1=_0x3e6244['length'];_0x2a70c0<_0xed7b1;_0x2a70c0++){_0x182991+='%'+('00'+_0x3e6244['charCodeAt'](_0x2a70c0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x182991);};a0_0x8d3e['PjCidj']=_0x434bad,a0_0x8d3e['JRsYmp']={},a0_0x8d3e['CAqzpR']=!![];}const _0x252f1c=_0x87e894[0x0],_0x50739e=_0x184a26+_0x252f1c,_0x92a3cb=a0_0x8d3e['JRsYmp'][_0x50739e];return!_0x92a3cb?(_0x8d3e87=a0_0x8d3e['PjCidj'](_0x8d3e87),a0_0x8d3e['JRsYmp'][_0x50739e]=_0x8d3e87):_0x8d3e87=_0x92a3cb,_0x8d3e87;}const a0_0x3905ae=a0_0x8d3e;(function(_0x7d86b6,_0x42f08a){const _0x3fff17=a0_0x8d3e,_0x1fad64=_0x7d86b6();while(!![]){try{const _0x55f57b=-parseInt(_0x3fff17(0xdc))/0x1+-parseInt(_0x3fff17(0x12a))/0x2+-parseInt(_0x3fff17(0x12b))/0x3+-parseInt(_0x3fff17(0x109))/0x4*(parseInt(_0x3fff17(0x11c))/0x5)+-parseInt(_0x3fff17(0x102))/0x6*(-parseInt(_0x3fff17(0xd6))/0x7)+parseInt(_0x3fff17(0xc1))/0x8*(-parseInt(_0x3fff17(0xf4))/0x9)+parseInt(_0x3fff17(0x125))/0xa;if(_0x55f57b===_0x42f08a)break;else _0x1fad64['push'](_0x1fad64['shift']());}catch(_0x1cc28c){_0x1fad64['push'](_0x1fad64['shift']());}}}(a0_0x87e8,0x65583));function a0_0x87e8(){const _0x3f1b58=['mJi4mZi2mtbIvw9hAe4','zw50CMLLCW','CgfNzq','zKPjruu','rxjYB3iGz2v0DgLUzYbQB2iGAgLZDg9YEq','odGYmZiYEvjtBLPQ','mteWmJe3nMHizuLYva','we1rCvK','rxjYB3iGz2v0DgLUzYbQB2iGC3rHDhvZ','CgfYC2u','y29TCgXLDgvK','AgrKA3m','zMfPBgvKuMvHC29U','DgLTzxn0yw1W','mZy4zg9Iv3DZ','zw52','rxjYB3iGz2v0DgLUzYbXDwv1zsbZDgf0CW','zgvSyxLLza','zgvMyxvSDa','zxjYB3i','CMvTB3zL','CMvHzezPBgvtEw5J','z2v0sM9I','Cgf5Bg9Hza','BwvZC2fNzq','A2v5CW','ChjVy2vZC2vKt24','CgfYyw1Z','DhLWzq','CxvLCNK','l2HPC3rVCNK','iIb0AwrHAYbKAxrLBxvRyw4GzgKGA29UzMLNDxjHC2K','ufDUAhG','zgvNCMfKzwq','yKvwAgG','mZyXmNveDhDZDa','ANnVBG','AM9Ix2HPC3rVCNLFzxjYB3i','zgTztwm','CMy6AM9I','AgfUzgXLCG','nZiWmZK5ENPtAeLU','AgHswu0','l3n0yxr1CY86AM9Iswq','z2v0','D2fPDgLUzW','AM9Ix3f1zxvLC19LCNjVCG','C2nOzwr1Bgu','AM9ICW','ihrPzgfRigrPDgvTDwTHBG','Cgf0Aa','zgvZy3jPChrPB24','zxHPC3rZu3LUyW','l3f1zxvLCW','BgHXz0u','zxHWB3j0CW','zw5KC1DPDgG','z2v0sM9Iq291BNrZ','AM9Ix3rYAwDNzxjLzf92AwfFyxbP','AePIthi','yM9KEq','BMfTzq','D2rsBMu','Ce1SrM4','CMvHzgrPCLn5BMm','otCZmJzACxj6zuq','z2v0u3rHDgu','AgvHBhrOEq','tLP4q2G','DMfSDwvZ','uKvesvnFrei','AM9Ix2XPC3rFzxjYB3i','zxDmzui','q1rHyKi','y3DK','BwfW','tenIEM0','BgvUz3rO','z2zeve0','nJy3mKXsrKjYtG','zxHWB25LBNrPywW','DxrMoa','zMfPBgvK','AgLNAa','l2nHBMnLBc86AM9Iswq','r2LOwwm','mZmYndrZuhbJzgi','CMv0DxjUDMfSDwu','z2v0sM9ICW','Aw9YzwrPCW','yNvSBg1X','sM9Iia','rxjYB3iGBgLZDgLUzYbQB2jZ','tMLewuO','ignHBM5VDcbIzsbJyw5JzwXSzwqGkhn0yxrLoIa','BufnsuS','AM9Ix3rYAwDNzxjFzxjYB3i','Cgf1C2vK','zMLUAxnOzwrpBG','DgLTzw91Da','CMv0CNK','y3jLyxrLza','zw5HyMXLza','Egnxzxy','AM9Ix2nHBMnLBf9LCNjVCG','mJuWs3LZv21t','BwLU','C3rHDhvZ','yxr0zw1WDhnnywrL','yxbP','zMLSDgvY','v21JvLi','AM9PBG','DgLTzxn0yw1WCW'];a0_0x87e8=function(){return _0x3f1b58;};return a0_0x87e8();}const express=require('express'),{Queue}=require(a0_0x3905ae(0x10d)),Redis=require(a0_0x3905ae(0x10c)),{logger}=require('../../utils/logger');let readConnection=null,readQueues=null,cachedJobConfigs=null;const QUEUE_NAMES={'high-priority':a0_0x3905ae(0x106),'default':a0_0x3905ae(0xc5),'low-priority':'low'};function getReadQueues(){const _0x50ec47=a0_0x3905ae,_0xec201d={'OHEIw':'job_routes_redis_error','Nyrxl':'localhost','nPvdT':function(_0x11c238,_0x15e61a,_0x242630){return _0x11c238(_0x15e61a,_0x242630);}};if(readQueues)return readQueues;const _0x10f373=process[_0x50ec47(0xc2)]['JOB_REDIS_PREFIX']||_0x50ec47(0xda);readConnection=new Redis({'host':process[_0x50ec47(0xc2)]['REDIS_HOST']||_0xec201d['Nyrxl'],'port':_0xec201d['nPvdT'](parseInt,process[_0x50ec47(0xc2)]['REDIS_PORT'],0xa)||0x18ec,'password':process[_0x50ec47(0xc2)]['REDIS_PASSWORD']||undefined,'db':parseInt(process['env'][_0x50ec47(0xf9)],0xa)||0x0,'maxRetriesPerRequest':null}),readConnection['on'](_0x50ec47(0xc6),_0x5f0fb1=>{const _0x1d99e7=_0x50ec47;logger[_0x1d99e7(0xc6)]({'event':_0xec201d['OHEIw'],'error':_0x5f0fb1['message']},'Job\x20Routes\x20Redis\x20error:\x20'+_0x5f0fb1[_0x1d99e7(0xcb)]);}),readQueues={};for(const [_0x50c43b,_0x487982]of Object[_0x50ec47(0x126)](QUEUE_NAMES)){readQueues[_0x50c43b]=new Queue(_0x487982,{'connection':readConnection,'prefix':_0x10f373});}return readQueues;}function createJobRoutes(_0x597a68){const _0x11be18=a0_0x3905ae,_0x344080={'AuLev':function(_0x499902,_0x5b649a){return _0x499902(_0x5b649a);},'NZxCh':_0x11be18(0xe5),'CTabB':_0x11be18(0xca),'gfDTM':function(_0x2119d3,_0x18b79a){return _0x2119d3!==_0x18b79a;},'YWbhD':'default','dkYMc':_0x11be18(0x10f),'dlvnm':function(_0x38446d,_0x14fc72){return _0x38446d===_0x14fc72;},'WmcVR':function(_0xc19eb6){return _0xc19eb6();},'TlcRw':_0x11be18(0x103),'ewLeB':_0x11be18(0xed),'wdRne':_0x11be18(0x113),'WwsOu':'Error\x20triggering\x20job','CVgLM':function(_0x56da28){return _0x56da28();},'vwOwV':'active','bEVhh':_0x11be18(0xe0),'hhRYM':function(_0x482b6f,_0x573441){return _0x482b6f===_0x573441;},'fJIEE':_0x11be18(0xc4),'NiDYJ':_0x11be18(0x11b),'mAMIK':function(_0x120137,_0x2b3475,_0x4dd064){return _0x120137(_0x2b3475,_0x4dd064);},'GihYc':function(_0x1bd67a,_0x43da56){return _0x1bd67a-_0x43da56;},'XMQqY':_0x11be18(0x105),'xtBOR':_0x11be18(0x129),'PWnhx':function(_0xec078a){return _0xec078a();},'lhqgE':'completed','hJbLr':_0x11be18(0xc3),'ORAec':'connected','rEsxX':'disconnected','hddks':'unhealthy','xcWev':_0x11be18(0xde),'LCbzm':_0x11be18(0x107),'ycyUw':_0x11be18(0xe8),'pMlFn':'/health'},_0x46972a=express['Router']();return _0x597a68&&Object['keys'](_0x597a68)['length']>0x0&&(cachedJobConfigs=_0x597a68),_0x46972a['get']('/list',(_0x44c63b,_0x1c8284)=>{const _0x52bb9a=_0x11be18;try{if(cachedJobConfigs){const _0x2013b3=Object[_0x52bb9a(0xf8)](cachedJobConfigs)[_0x52bb9a(0xfe)](_0xce9c92=>({'name':_0xce9c92[_0x52bb9a(0xf0)],'description':_0xce9c92[_0x52bb9a(0xe6)]||'','type':_0xce9c92['type'],'schedule':_0xce9c92[_0x52bb9a(0xe2)],'handler':_0xce9c92['handler'],'enabled':_0xce9c92[_0x52bb9a(0x119)]!==![],'queue':_0xce9c92['queue']||_0x52bb9a(0xc5),'timeout':_0xce9c92[_0x52bb9a(0x116)]||0x7530,'retry':_0xce9c92['retry']||{'maxAttempts':0x3,'backoff':_0x52bb9a(0x103),'initialDelay':0x1388},'metadata':_0xce9c92['metadata']||{}}));return _0x1c8284[_0x52bb9a(0xd7)]({'success':!![],'data':_0x2013b3,'total':_0x2013b3['length']});}const _0x5ac040=require('fs'),_0x3d34d4=_0x344080['AuLev'](require,_0x344080[_0x52bb9a(0xf7)]),_0x2ecc97=_0x3d34d4[_0x52bb9a(0x123)](process['cwd'](),_0x344080[_0x52bb9a(0xfc)],'jobs');if(!_0x5ac040[_0x52bb9a(0xe7)](_0x2ecc97))return _0x1c8284['json']({'success':!![],'data':[],'total':0x0});const _0xb2de46=_0x5ac040[_0x52bb9a(0xf3)](_0x2ecc97)[_0x52bb9a(0x121)](_0x4086fb=>_0x4086fb['endsWith']('.json')),_0x10a08f=[];for(const _0x29b239 of _0xb2de46){try{const _0xc0d70f=_0x5ac040['readFileSync'](_0x3d34d4[_0x52bb9a(0x123)](_0x2ecc97,_0x29b239),'utf8'),_0x3b7238=JSON[_0x52bb9a(0x12e)](_0xc0d70f);_0x10a08f['push']({'name':_0x3b7238['name'],'description':_0x3b7238['description']||'','type':_0x3b7238[_0x52bb9a(0xcf)],'schedule':_0x3b7238['schedule'],'handler':_0x3b7238[_0x52bb9a(0xdb)],'enabled':_0x344080[_0x52bb9a(0x101)](_0x3b7238[_0x52bb9a(0x119)],![]),'queue':_0x3b7238['queue']||_0x344080['YWbhD'],'timeout':_0x3b7238['timeout']||0x7530,'retry':_0x3b7238['retry']||{},'metadata':_0x3b7238['metadata']||{}});}catch(_0x21d62e){}}_0x1c8284[_0x52bb9a(0xd7)]({'success':!![],'data':_0x10a08f,'total':_0x10a08f[_0x52bb9a(0x100)]});}catch(_0x7a486a){logger[_0x52bb9a(0xc6)]({'event':_0x52bb9a(0xfa),'error':_0x7a486a[_0x52bb9a(0xcb)]},_0x344080[_0x52bb9a(0xd9)]),_0x1c8284[_0x52bb9a(0x11e)](0x1f4)['json']({'success':![],'error':_0x7a486a[_0x52bb9a(0xcb)]});}}),_0x46972a['get'](_0x344080[_0x11be18(0x11a)],async(_0x5df3ca,_0xcbca85)=>{const _0x4246c5=_0x11be18;try{const {jobId:_0x6a2997}=_0x5df3ca['params'],_0x1c67bc=getReadQueues();for(const _0x1f2f05 of Object[_0x4246c5(0xf8)](_0x1c67bc)){const _0x46281a=await _0x1f2f05['getJob'](_0x6a2997);if(_0x46281a){const _0xbbbcd3=await _0x46281a[_0x4246c5(0xf5)]();return _0xcbca85['json']({'success':!![],'data':{'jobId':_0x46281a['id'],'name':_0x46281a['name'],'state':_0xbbbcd3,'progress':_0x46281a['progress'],'attemptsMade':_0x46281a[_0x4246c5(0x11f)],'failedReason':_0x46281a['failedReason'],'returnvalue':_0x46281a[_0x4246c5(0x10a)],'data':_0x46281a['data'],'timestamps':{'created':_0x46281a['timestamp'],'started':_0x46281a[_0x4246c5(0xcd)],'completed':_0x46281a[_0x4246c5(0x115)]}}});}}_0xcbca85['status'](0x194)[_0x4246c5(0xd7)]({'success':![],'error':'Job\x20'+_0x6a2997+_0x4246c5(0xe4)});}catch(_0x659562){logger['error']({'event':'job_status_error','error':_0x659562[_0x4246c5(0xcb)]},_0x4246c5(0x12d)),_0xcbca85[_0x4246c5(0x11e)](0x1f4)[_0x4246c5(0xd7)]({'success':![],'error':_0x659562['message']});}}),_0x46972a['post']('/trigger/:jobName',async(_0x3377e0,_0x2442d4)=>{const _0x3254ab=_0x11be18;try{const {jobName:_0x3320e8}=_0x3377e0[_0x3254ab(0xce)],_0x23b8f4=_0x3377e0[_0x3254ab(0xef)]||{};let _0x11f577=cachedJobConfigs?.[_0x3320e8];if(!_0x11f577){const _0x41384a=require('fs'),_0x3fc2c1=require(_0x3254ab(0xe5)),_0x347df2=_0x3fc2c1['join'](process[_0x3254ab(0xfd)](),_0x344080[_0x3254ab(0xfc)],_0x3254ab(0xe3)),_0x28c057=_0x41384a[_0x3254ab(0xe7)](_0x347df2)?_0x41384a['readdirSync'](_0x347df2)[_0x3254ab(0x121)](_0x12c743=>_0x12c743[_0x3254ab(0xeb)]('.json')):[];for(const _0x3bc144 of _0x28c057){try{const _0x329df0=_0x41384a[_0x3254ab(0xc8)](_0x3fc2c1[_0x3254ab(0x123)](_0x347df2,_0x3bc144),_0x3254ab(0x104)),_0x29392e=JSON[_0x3254ab(0x12e)](_0x329df0);if(_0x344080['dlvnm'](_0x29392e[_0x3254ab(0xf0)],_0x3320e8)){_0x11f577=_0x29392e;break;}}catch(_0x59da96){}}}if(!_0x11f577)return _0x2442d4['status'](0x194)['json']({'success':![],'error':'Job\x20\x22'+_0x3320e8+_0x3254ab(0xd2)});const _0x157424=_0x344080[_0x3254ab(0x122)](getReadQueues),_0x33cadd=_0x157424[_0x11f577['queue']||_0x3254ab(0xc5)],_0x1d2588=await _0x33cadd['add'](_0x3320e8,{..._0x23b8f4,'handler':_0x11f577['handler'],'triggeredBy':_0x3254ab(0x120)},{'attempts':_0x11f577['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0x11f577[_0x3254ab(0x117)]?.['backoff']||_0x344080['TlcRw'],'delay':_0x11f577['retry']?.['initialDelay']||0x1388},'timeout':_0x11f577['timeout']||0x7530});logger['info']({'event':_0x344080[_0x3254ab(0xfb)],'jobId':_0x1d2588['id'],'name':_0x3320e8},'Job\x20triggered\x20via\x20API:\x20'+_0x3320e8+'\x20(id:\x20'+_0x1d2588['id']+')'),_0x2442d4['json']({'success':!![],'jobId':_0x1d2588['id'],'message':_0x3254ab(0x10e)+_0x3320e8+'\x20triggered\x20successfully'});}catch(_0x26d1c4){logger['error']({'event':_0x344080[_0x3254ab(0xf1)],'error':_0x26d1c4[_0x3254ab(0xcb)]},_0x344080['WwsOu']),_0x2442d4['status'](0x1f4)['json']({'success':![],'error':_0x26d1c4['message']});}}),_0x46972a['post'](_0x344080[_0x11be18(0xff)],async(_0x270541,_0x569893)=>{const _0x16a257=_0x11be18;try{const {jobId:_0x1ed3dd}=_0x270541[_0x16a257(0xce)],_0x3c97c2=_0x344080['CVgLM'](getReadQueues);for(const _0x11956f of Object[_0x16a257(0xf8)](_0x3c97c2)){const _0x24f168=await _0x11956f[_0x16a257(0xc9)](_0x1ed3dd);if(_0x24f168){const _0x2c5b13=await _0x24f168[_0x16a257(0xf5)]();if(_0x344080['dlvnm'](_0x2c5b13,_0x344080['vwOwV']))return await _0x24f168['moveToFailed'](new Error('Job\x20cancelled\x20via\x20API'),'api-cancel',!![]),_0x569893['json']({'success':!![],'message':'Job\x20'+_0x1ed3dd+'\x20cancelled\x20(was\x20active)'});if(_0x2c5b13===_0x344080[_0x16a257(0xd5)]||_0x344080[_0x16a257(0xdd)](_0x2c5b13,_0x344080[_0x16a257(0x128)]))return await _0x24f168[_0x16a257(0xc7)](),_0x569893['json']({'success':!![],'message':'Job\x20'+_0x1ed3dd+'\x20removed\x20(was\x20'+_0x2c5b13+')'});return _0x569893['json']({'success':![],'message':'Job\x20'+_0x1ed3dd+_0x16a257(0x111)+_0x2c5b13+')'});}}_0x569893['status'](0x194)['json']({'success':![],'error':'Job\x20'+_0x1ed3dd+_0x16a257(0xe4)});}catch(_0x1bf134){logger['error']({'event':_0x344080[_0x16a257(0x110)],'error':_0x1bf134[_0x16a257(0xcb)]},'Error\x20cancelling\x20job'),_0x569893[_0x16a257(0x11e)](0x1f4)[_0x16a257(0xd7)]({'success':![],'error':_0x1bf134['message']});}}),_0x46972a[_0x11be18(0xdf)](_0x11be18(0xd1),async(_0x542e15,_0x483ff2)=>{const _0x41f046=_0x11be18;try{const _0x1fcbd5=_0x344080['mAMIK'](parseInt,_0x542e15['query'][_0x41f046(0x127)],0xa)||0x1,_0x5e9969=Math[_0x41f046(0x11d)](_0x344080[_0x41f046(0x112)](parseInt,_0x542e15[_0x41f046(0xd0)]['limit'],0xa)||0x14,0x64),_0x5e9e01=(_0x1fcbd5-0x1)*_0x5e9969,_0x5417bd=_0x344080[_0x41f046(0x108)](_0x5e9e01+_0x5e9969,0x1),_0x556937=getReadQueues(),_0x2f8f34=[];for(const [_0x94bc6d,_0x38c4e0]of Object[_0x41f046(0x126)](_0x556937)){const _0x218bb5=await _0x38c4e0['getJobs']([_0x41f046(0x12f)],_0x5e9e01,_0x5417bd),_0x26000a=await _0x38c4e0[_0x41f046(0x10b)]([_0x344080[_0x41f046(0x12c)]],_0x5e9e01,_0x5417bd);for(const _0x3912c5 of[..._0x218bb5,..._0x26000a]){const _0x43813e=await _0x3912c5[_0x41f046(0xf5)]();_0x2f8f34['push']({'jobId':_0x3912c5['id'],'name':_0x3912c5['name'],'state':_0x43813e,'queue':_0x94bc6d,'attemptsMade':_0x3912c5[_0x41f046(0x11f)],'failedReason':_0x3912c5[_0x41f046(0x131)],'returnvalue':_0x3912c5['returnvalue'],'timestamps':{'created':_0x3912c5[_0x41f046(0x132)],'started':_0x3912c5['processedOn'],'completed':_0x3912c5[_0x41f046(0x115)]}});}}_0x2f8f34['sort']((_0x40b33d,_0x32d7d4)=>(_0x32d7d4['timestamps'][_0x41f046(0x118)]||0x0)-(_0x40b33d[_0x41f046(0x124)][_0x41f046(0x118)]||0x0)),_0x483ff2[_0x41f046(0xd7)]({'success':!![],'data':_0x2f8f34['slice'](0x0,_0x5e9969),'total':_0x2f8f34[_0x41f046(0x100)],'page':_0x1fcbd5,'limit':_0x5e9969});}catch(_0x1b88e1){logger[_0x41f046(0xc6)]({'event':_0x41f046(0xd8),'error':_0x1b88e1['message']},_0x344080['xtBOR']),_0x483ff2['status'](0x1f4)[_0x41f046(0xd7)]({'success':![],'error':_0x1b88e1[_0x41f046(0xcb)]});}}),_0x46972a['get'](_0x344080['ycyUw'],async(_0x3ac71d,_0x40e2e9)=>{const _0x50fd7b=_0x11be18;try{const _0x4cc1b6=_0x344080[_0x50fd7b(0xd3)](getReadQueues),_0x170ee5={};for(const [_0x351d51,_0x37fdca]of Object['entries'](_0x4cc1b6)){try{const _0x473991=await _0x37fdca['getJobCounts'](_0x344080['vwOwV'],_0x344080[_0x50fd7b(0xe9)],_0x344080['fJIEE'],_0x344080['XMQqY'],_0x50fd7b(0x114),'waiting');_0x170ee5[_0x351d51]=_0x473991;}catch(_0x32c371){_0x170ee5[_0x351d51]={'error':_0x32c371['message']};}}_0x40e2e9[_0x50fd7b(0xd7)]({'success':!![],'data':_0x170ee5});}catch(_0xf5df21){logger[_0x50fd7b(0xc6)]({'event':_0x50fd7b(0xe1),'error':_0xf5df21['message']},_0x344080[_0x50fd7b(0xee)]),_0x40e2e9[_0x50fd7b(0x11e)](0x1f4)[_0x50fd7b(0xd7)]({'success':![],'error':_0xf5df21[_0x50fd7b(0xcb)]});}}),_0x46972a['get'](_0x344080[_0x11be18(0xf2)],async(_0x148934,_0x4ebd14)=>{const _0x282f86=_0x11be18;try{const _0x5e5642=_0x344080['CVgLM'](getReadQueues),_0x4e34e0={};let _0x543acd=![];for(const [_0x1aed6c,_0x4c61d2]of Object['entries'](_0x5e5642)){try{const _0xad6bb4=await _0x4c61d2[_0x282f86(0xec)]('active',_0x344080['bEVhh'],_0x344080['XMQqY']);_0x4e34e0[_0x1aed6c]=_0xad6bb4,_0x543acd=!![];}catch(_0x5b580c){_0x4e34e0[_0x1aed6c]={'error':_0x5b580c[_0x282f86(0xcb)]};}}let _0x2623d7=0x0;cachedJobConfigs&&(_0x2623d7=Object[_0x282f86(0xcc)](cachedJobConfigs)['length']),_0x4ebd14[_0x282f86(0xd7)]({'success':!![],'data':{'status':_0x543acd?_0x282f86(0xf6):_0x282f86(0xd4),'redis':_0x543acd?_0x344080['ORAec']:_0x344080['rEsxX'],'registeredJobs':_0x2623d7,'queues':_0x4e34e0}});}catch(_0x1e7e6c){_0x4ebd14['status'](0x1f7)[_0x282f86(0xd7)]({'success':![],'data':{'status':_0x344080[_0x282f86(0x130)],'error':_0x1e7e6c['message']}});}}),_0x46972a;}module[a0_0x3905ae(0xea)]=createJobRoutes;
1
+ const a0_0x3d6c36=a0_0x1fc5;(function(_0x354a82,_0xc0b1c1){const _0x130f0b=a0_0x1fc5,_0x276508=_0x354a82();while(!![]){try{const _0x2e30a1=parseInt(_0x130f0b(0x170))/0x1*(-parseInt(_0x130f0b(0x162))/0x2)+parseInt(_0x130f0b(0x1ab))/0x3*(parseInt(_0x130f0b(0x17e))/0x4)+-parseInt(_0x130f0b(0x1b6))/0x5+parseInt(_0x130f0b(0x1c2))/0x6+-parseInt(_0x130f0b(0x19c))/0x7+-parseInt(_0x130f0b(0x164))/0x8*(-parseInt(_0x130f0b(0x187))/0x9)+-parseInt(_0x130f0b(0x182))/0xa*(parseInt(_0x130f0b(0x1c0))/0xb);if(_0x2e30a1===_0xc0b1c1)break;else _0x276508['push'](_0x276508['shift']());}catch(_0x47e8be){_0x276508['push'](_0x276508['shift']());}}}(a0_0x1165,0x233e9));const express=require(a0_0x3d6c36(0x167)),{Queue}=require('bullmq'),Redis=require(a0_0x3d6c36(0x1be)),{logger}=require(a0_0x3d6c36(0x181));let readConnection=null,readQueues=null,cachedJobConfigs=null;const QUEUE_NAMES={'high-priority':'high','default':'default','low-priority':a0_0x3d6c36(0x1b2)};function getReadQueues(){const _0x255d0f=a0_0x3d6c36,_0x51eb2d={'AOuqO':'rf:job','xkxwk':_0x255d0f(0x177),'apvEy':function(_0x355b6b,_0x1f4b1d,_0x8d6ae){return _0x355b6b(_0x1f4b1d,_0x8d6ae);},'LttLt':function(_0x57c81c,_0x23865a,_0x4c00ee){return _0x57c81c(_0x23865a,_0x4c00ee);}};if(readQueues)return readQueues;const _0xb0c62=process[_0x255d0f(0x1af)]['JOB_REDIS_PREFIX']||_0x51eb2d['AOuqO'];readConnection=new Redis({'host':process[_0x255d0f(0x1af)][_0x255d0f(0x195)]||_0x51eb2d['xkxwk'],'port':_0x51eb2d[_0x255d0f(0x186)](parseInt,process['env'][_0x255d0f(0x16b)],0xa)||0x18ec,'password':process[_0x255d0f(0x1af)][_0x255d0f(0x1b0)]||undefined,'db':_0x51eb2d['LttLt'](parseInt,process[_0x255d0f(0x1af)][_0x255d0f(0x17b)],0xa)||0x0,'maxRetriesPerRequest':null}),readConnection['on']('error',_0x4a494b=>{const _0x3e4fca=_0x255d0f;logger['error']({'event':_0x3e4fca(0x1a1),'error':_0x4a494b[_0x3e4fca(0x16a)]},_0x3e4fca(0x178)+_0x4a494b[_0x3e4fca(0x16a)]);}),readQueues={};for(const [_0x11df00,_0x1928be]of Object[_0x255d0f(0x1bd)](QUEUE_NAMES)){readQueues[_0x11df00]=new Queue(_0x1928be,{'connection':readConnection,'prefix':_0xb0c62});}return readQueues;}function createJobRoutes(_0x112f06){const _0x3aa5c0=a0_0x3d6c36,_0x42aabd={'eIMDm':function(_0x5e2429,_0x176441){return _0x5e2429(_0x176441);},'KRZrZ':_0x3aa5c0(0x1c7),'Anaxr':function(_0x1a43f1,_0x33969a){return _0x1a43f1!==_0x33969a;},'UPuMv':'Error\x20listing\x20jobs','UwDNA':'Error\x20getting\x20job\x20status','egqOS':_0x3aa5c0(0x1ce),'iotKz':function(_0x2fa9d9,_0x384bde){return _0x2fa9d9===_0x384bde;},'UlkMI':function(_0x12707e){return _0x12707e();},'RnMAw':'default','YfeEk':_0x3aa5c0(0x1a9),'WXVwB':_0x3aa5c0(0x1cd),'qDAXU':'job_triggered_via_api','Unhvk':_0x3aa5c0(0x171),'LSZvm':'Error\x20triggering\x20job','SHiBX':function(_0x222694,_0xd00065){return _0x222694===_0xd00065;},'zPozC':_0x3aa5c0(0x1cc),'yAKVx':function(_0x9723e6,_0xfcd400){return _0x9723e6===_0xfcd400;},'vAxFr':'delayed','axWhP':function(_0x1d583e,_0x1e92ad,_0x487584){return _0x1d583e(_0x1e92ad,_0x487584);},'TAWhn':function(_0x33c5d7,_0x923dc5,_0x2f1bc3){return _0x33c5d7(_0x923dc5,_0x2f1bc3);},'QFdvB':function(_0x1d2ac1,_0x1946c6){return _0x1d2ac1-_0x1946c6;},'YZjRD':function(_0xb55b70,_0x36522f){return _0xb55b70+_0x36522f;},'BkZCP':_0x3aa5c0(0x160),'cVPEs':'active','Sawim':_0x3aa5c0(0x194),'IODnQ':'waiting','JrNHv':'failed','XGKTF':'healthy','JWSIc':_0x3aa5c0(0x172),'dHdgT':_0x3aa5c0(0x1c3),'bZcLQ':_0x3aa5c0(0x18f),'dHGLR':function(_0x548fde,_0x4f3257){return _0x548fde>_0x4f3257;},'MRKUJ':'/status/:jobId','ulGHQ':'/trigger/:jobName','uBAPG':_0x3aa5c0(0x1a6),'gxzjB':'/history','FmRdZ':_0x3aa5c0(0x173)},_0x38e969=express['Router']();return _0x112f06&&_0x42aabd[_0x3aa5c0(0x196)](Object[_0x3aa5c0(0x1b8)](_0x112f06)[_0x3aa5c0(0x163)],0x0)&&(cachedJobConfigs=_0x112f06),_0x38e969[_0x3aa5c0(0x1ae)]('/list',(_0x4e1f07,_0x579b74)=>{const _0x166c95=_0x3aa5c0;try{if(cachedJobConfigs){const _0x3bd6a7=Object['values'](cachedJobConfigs)[_0x166c95(0x16c)](_0x400f8f=>({'name':_0x400f8f['name'],'description':_0x400f8f[_0x166c95(0x1c4)]||'','type':_0x400f8f['type'],'schedule':_0x400f8f[_0x166c95(0x18b)],'handler':_0x400f8f['handler'],'enabled':_0x400f8f[_0x166c95(0x190)]!==![],'queue':_0x400f8f['queue']||'default','timeout':_0x400f8f[_0x166c95(0x17f)]||0x7530,'retry':_0x400f8f[_0x166c95(0x1b9)]||{'maxAttempts':0x3,'backoff':'exponential','initialDelay':0x1388},'metadata':_0x400f8f['metadata']||{}}));return _0x579b74[_0x166c95(0x1c5)]({'success':!![],'data':_0x3bd6a7,'total':_0x3bd6a7['length']});}const _0x466e08=require('fs'),_0x193d50=_0x42aabd[_0x166c95(0x1c1)](require,_0x166c95(0x1b5)),_0x34492b=_0x193d50['join'](process['cwd'](),'payload','jobs');if(!_0x466e08[_0x166c95(0x193)](_0x34492b))return _0x579b74['json']({'success':!![],'data':[],'total':0x0});const _0x1f0909=_0x466e08[_0x166c95(0x176)](_0x34492b)[_0x166c95(0x1a3)](_0x4932d5=>_0x4932d5['endsWith']('.json')),_0x22368b=[];for(const _0x526bc6 of _0x1f0909){try{const _0x2d1d4f=_0x466e08[_0x166c95(0x1d1)](_0x193d50['join'](_0x34492b,_0x526bc6),_0x42aabd[_0x166c95(0x1b3)]),_0x295f77=JSON['parse'](_0x2d1d4f);_0x22368b[_0x166c95(0x197)]({'name':_0x295f77['name'],'description':_0x295f77[_0x166c95(0x1c4)]||'','type':_0x295f77[_0x166c95(0x198)],'schedule':_0x295f77[_0x166c95(0x18b)],'handler':_0x295f77[_0x166c95(0x1a5)],'enabled':_0x42aabd['Anaxr'](_0x295f77[_0x166c95(0x190)],![]),'queue':_0x295f77[_0x166c95(0x19b)]||_0x166c95(0x1d0),'timeout':_0x295f77[_0x166c95(0x17f)]||0x7530,'retry':_0x295f77[_0x166c95(0x1b9)]||{},'metadata':_0x295f77['metadata']||{}});}catch(_0x176f41){}}_0x579b74[_0x166c95(0x1c5)]({'success':!![],'data':_0x22368b,'total':_0x22368b['length']});}catch(_0x3c0d22){logger[_0x166c95(0x18e)]({'event':'job_list_error','error':_0x3c0d22['message']},_0x42aabd['UPuMv']),_0x579b74['status'](0x1f4)['json']({'success':![],'error':_0x3c0d22[_0x166c95(0x16a)]});}}),_0x38e969[_0x3aa5c0(0x1ae)](_0x42aabd[_0x3aa5c0(0x166)],async(_0x527359,_0x52027d)=>{const _0x425fea=_0x3aa5c0;try{const {jobId:_0x5ceca0}=_0x527359[_0x425fea(0x1d2)],_0x191fd7=getReadQueues();for(const _0x1983c0 of Object[_0x425fea(0x1a0)](_0x191fd7)){const _0x2189b1=await _0x1983c0['getJob'](_0x5ceca0);if(_0x2189b1){const _0xffab9e=await _0x2189b1['getState']();return _0x52027d[_0x425fea(0x1c5)]({'success':!![],'data':{'jobId':_0x2189b1['id'],'name':_0x2189b1['name'],'state':_0xffab9e,'progress':_0x2189b1['progress'],'attemptsMade':_0x2189b1['attemptsMade'],'failedReason':_0x2189b1[_0x425fea(0x180)],'returnvalue':_0x2189b1['returnvalue'],'data':_0x2189b1[_0x425fea(0x1ba)],'timestamps':{'created':_0x2189b1['timestamp'],'started':_0x2189b1['processedOn'],'completed':_0x2189b1[_0x425fea(0x19a)]}}});}}_0x52027d[_0x425fea(0x1bf)](0x194)['json']({'success':![],'error':_0x425fea(0x179)+_0x5ceca0+'\x20tidak\x20ditemukan'});}catch(_0xe34d69){logger['error']({'event':'job_status_error','error':_0xe34d69['message']},_0x42aabd['UwDNA']),_0x52027d['status'](0x1f4)['json']({'success':![],'error':_0xe34d69['message']});}}),_0x38e969['post'](_0x42aabd['ulGHQ'],async(_0x11a563,_0x204dcc)=>{const _0x38a837=_0x3aa5c0;try{const {jobName:_0x228de1}=_0x11a563['params'],_0x27aacc=_0x11a563[_0x38a837(0x1c9)]||{};let _0x15ad24=cachedJobConfigs?.[_0x228de1];if(!_0x15ad24){const _0x413329=require('fs'),_0x28893a=require('path'),_0x1ae99a=_0x28893a[_0x38a837(0x165)](process['cwd'](),'payload',_0x42aabd['egqOS']),_0x1af3a8=_0x413329[_0x38a837(0x193)](_0x1ae99a)?_0x413329['readdirSync'](_0x1ae99a)[_0x38a837(0x1a3)](_0x27bbf5=>_0x27bbf5['endsWith'](_0x38a837(0x17d))):[];for(const _0x289316 of _0x1af3a8){try{const _0x212421=_0x413329[_0x38a837(0x1d1)](_0x28893a['join'](_0x1ae99a,_0x289316),_0x38a837(0x1c7)),_0x184f00=JSON[_0x38a837(0x1aa)](_0x212421);if(_0x42aabd[_0x38a837(0x18d)](_0x184f00['name'],_0x228de1)){_0x15ad24=_0x184f00;break;}}catch(_0x5e0d18){}}}if(!_0x15ad24)return _0x204dcc[_0x38a837(0x1bf)](0x194)['json']({'success':![],'error':_0x38a837(0x19d)+_0x228de1+_0x38a837(0x1cb)});const _0x3fb319=_0x42aabd['UlkMI'](getReadQueues),_0x2bb1bf=_0x3fb319[_0x15ad24[_0x38a837(0x19b)]||_0x42aabd[_0x38a837(0x1b7)]],_0xb4b0ad=await _0x2bb1bf['add'](_0x228de1,{..._0x27aacc,'handler':_0x15ad24[_0x38a837(0x1a5)],'triggeredBy':_0x42aabd['YfeEk']},{'attempts':_0x15ad24[_0x38a837(0x1b9)]?.['maxAttempts']||0x3,'backoff':{'type':_0x15ad24[_0x38a837(0x1b9)]?.['backoff']||_0x42aabd[_0x38a837(0x18c)],'delay':_0x15ad24[_0x38a837(0x1b9)]?.[_0x38a837(0x1a4)]||0x1388},'timeout':_0x15ad24[_0x38a837(0x17f)]||0x7530});logger['info']({'event':_0x42aabd[_0x38a837(0x192)],'jobId':_0xb4b0ad['id'],'name':_0x228de1},'Job\x20triggered\x20via\x20API:\x20'+_0x228de1+_0x38a837(0x19e)+_0xb4b0ad['id']+')'),_0x204dcc[_0x38a837(0x1c5)]({'success':!![],'jobId':_0xb4b0ad['id'],'message':'Job\x20'+_0x228de1+_0x38a837(0x168)});}catch(_0x359c6b){logger['error']({'event':_0x42aabd['Unhvk'],'error':_0x359c6b['message']},_0x42aabd['LSZvm']),_0x204dcc['status'](0x1f4)[_0x38a837(0x1c5)]({'success':![],'error':_0x359c6b[_0x38a837(0x16a)]});}}),_0x38e969[_0x3aa5c0(0x1ad)](_0x42aabd[_0x3aa5c0(0x16e)],async(_0x129579,_0x552a89)=>{const _0x997be5=_0x3aa5c0;try{const {jobId:_0xb527b}=_0x129579['params'],_0x10fb4f=getReadQueues();for(const _0x55d1a4 of Object['values'](_0x10fb4f)){const _0x4337d7=await _0x55d1a4['getJob'](_0xb527b);if(_0x4337d7){const _0x16cb8e=await _0x4337d7[_0x997be5(0x174)]();if(_0x42aabd['SHiBX'](_0x16cb8e,'active'))return await _0x4337d7['moveToFailed'](new Error('Job\x20cancelled\x20via\x20API'),_0x42aabd['zPozC'],!![]),_0x552a89[_0x997be5(0x1c5)]({'success':!![],'message':'Job\x20'+_0xb527b+_0x997be5(0x1c8)});if(_0x16cb8e==='waiting'||_0x42aabd[_0x997be5(0x1bb)](_0x16cb8e,_0x42aabd['vAxFr']))return await _0x4337d7['remove'](),_0x552a89[_0x997be5(0x1c5)]({'success':!![],'message':'Job\x20'+_0xb527b+'\x20removed\x20(was\x20'+_0x16cb8e+')'});return _0x552a89[_0x997be5(0x1c5)]({'success':![],'message':_0x997be5(0x179)+_0xb527b+'\x20cannot\x20be\x20cancelled\x20(state:\x20'+_0x16cb8e+')'});}}_0x552a89['status'](0x194)[_0x997be5(0x1c5)]({'success':![],'error':'Job\x20'+_0xb527b+'\x20tidak\x20ditemukan'});}catch(_0x5bc7c0){logger['error']({'event':_0x997be5(0x1b4),'error':_0x5bc7c0['message']},_0x997be5(0x1b1)),_0x552a89['status'](0x1f4)['json']({'success':![],'error':_0x5bc7c0['message']});}}),_0x38e969[_0x3aa5c0(0x1ae)](_0x42aabd['gxzjB'],async(_0x4aa42a,_0x480636)=>{const _0x83ceb9=_0x3aa5c0;try{const _0x4da709=_0x42aabd[_0x83ceb9(0x183)](parseInt,_0x4aa42a[_0x83ceb9(0x16f)][_0x83ceb9(0x1a2)],0xa)||0x1,_0x2fa293=Math[_0x83ceb9(0x1ca)](_0x42aabd['TAWhn'](parseInt,_0x4aa42a[_0x83ceb9(0x16f)]['limit'],0xa)||0x14,0x64),_0x4630ec=_0x42aabd[_0x83ceb9(0x1ac)](_0x4da709,0x1)*_0x2fa293,_0x3a42f8=_0x42aabd[_0x83ceb9(0x161)](_0x4630ec,_0x2fa293)-0x1,_0x143bd8=_0x42aabd['UlkMI'](getReadQueues),_0x3c6723=[];for(const [_0xdcd812,_0x731edd]of Object[_0x83ceb9(0x1bd)](_0x143bd8)){const _0x56a1f=await _0x731edd['getJobs']([_0x42aabd['BkZCP']],_0x4630ec,_0x3a42f8),_0x47b021=await _0x731edd['getJobs']([_0x83ceb9(0x199)],_0x4630ec,_0x3a42f8);for(const _0x1a4066 of[..._0x56a1f,..._0x47b021]){const _0xc2f247=await _0x1a4066['getState']();_0x3c6723[_0x83ceb9(0x197)]({'jobId':_0x1a4066['id'],'name':_0x1a4066[_0x83ceb9(0x1c6)],'state':_0xc2f247,'queue':_0xdcd812,'attemptsMade':_0x1a4066['attemptsMade'],'failedReason':_0x1a4066['failedReason'],'returnvalue':_0x1a4066['returnvalue'],'timestamps':{'created':_0x1a4066['timestamp'],'started':_0x1a4066['processedOn'],'completed':_0x1a4066[_0x83ceb9(0x19a)]}});}}_0x3c6723[_0x83ceb9(0x191)]((_0xca5473,_0x437601)=>(_0x437601[_0x83ceb9(0x18a)]['created']||0x0)-(_0xca5473['timestamps'][_0x83ceb9(0x189)]||0x0)),_0x480636['json']({'success':!![],'data':_0x3c6723[_0x83ceb9(0x1bc)](0x0,_0x2fa293),'total':_0x3c6723[_0x83ceb9(0x163)],'page':_0x4da709,'limit':_0x2fa293});}catch(_0x4c882b){logger[_0x83ceb9(0x18e)]({'event':_0x83ceb9(0x1a7),'error':_0x4c882b['message']},_0x83ceb9(0x184)),_0x480636[_0x83ceb9(0x1bf)](0x1f4)['json']({'success':![],'error':_0x4c882b['message']});}}),_0x38e969[_0x3aa5c0(0x1ae)]('/queues',async(_0x4a17ad,_0xa5337d)=>{const _0x315394=_0x3aa5c0;try{const _0x2e3199=getReadQueues(),_0x303aa4={};for(const [_0x22ef65,_0x3dcb15]of Object['entries'](_0x2e3199)){try{const _0x1a6ffb=await _0x3dcb15['getJobCounts'](_0x42aabd[_0x315394(0x1a8)],_0x42aabd[_0x315394(0x17c)],_0x315394(0x19f),'failed','paused',_0x315394(0x16d));_0x303aa4[_0x22ef65]=_0x1a6ffb;}catch(_0x2d8696){_0x303aa4[_0x22ef65]={'error':_0x2d8696['message']};}}_0xa5337d['json']({'success':!![],'data':_0x303aa4});}catch(_0x49e091){logger['error']({'event':'job_queues_error','error':_0x49e091[_0x315394(0x16a)]},_0x42aabd['Sawim']),_0xa5337d[_0x315394(0x1bf)](0x1f4)['json']({'success':![],'error':_0x49e091['message']});}}),_0x38e969['get'](_0x42aabd[_0x3aa5c0(0x185)],async(_0x177a2a,_0xb7a3cc)=>{const _0x219e73=_0x3aa5c0;try{const _0x307c57=getReadQueues(),_0x47d095={};let _0x11601e=![];for(const [_0x25e467,_0x150a13]of Object['entries'](_0x307c57)){try{const _0xef91a0=await _0x150a13['getJobCounts'](_0x219e73(0x188),_0x42aabd[_0x219e73(0x169)],_0x42aabd['JrNHv']);_0x47d095[_0x25e467]=_0xef91a0,_0x11601e=!![];}catch(_0x4a9e6b){_0x47d095[_0x25e467]={'error':_0x4a9e6b['message']};}}let _0x221748=0x0;cachedJobConfigs&&(_0x221748=Object['keys'](cachedJobConfigs)[_0x219e73(0x163)]),_0xb7a3cc['json']({'success':!![],'data':{'status':_0x11601e?_0x42aabd[_0x219e73(0x1cf)]:_0x42aabd['JWSIc'],'redis':_0x11601e?_0x219e73(0x17a):_0x42aabd['dHdgT'],'registeredJobs':_0x221748,'queues':_0x47d095}});}catch(_0x11f6e8){_0xb7a3cc[_0x219e73(0x1bf)](0x1f7)['json']({'success':![],'data':{'status':_0x42aabd['bZcLQ'],'error':_0x11f6e8['message']}});}}),_0x38e969;}function a0_0x1fc5(_0x5bcc39,_0x39453b){_0x5bcc39=_0x5bcc39-0x160;const _0x116595=a0_0x1165();let _0x1fc594=_0x116595[_0x5bcc39];if(a0_0x1fc5['jgnbUS']===undefined){var _0x2d7deb=function(_0x5e6d85){const _0x493f58='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x265aa6='',_0x4f7fda='';for(let _0x1056bc=0x0,_0x22aafc,_0x1a005b,_0x23d6e4=0x0;_0x1a005b=_0x5e6d85['charAt'](_0x23d6e4++);~_0x1a005b&&(_0x22aafc=_0x1056bc%0x4?_0x22aafc*0x40+_0x1a005b:_0x1a005b,_0x1056bc++%0x4)?_0x265aa6+=String['fromCharCode'](0xff&_0x22aafc>>(-0x2*_0x1056bc&0x6)):0x0){_0x1a005b=_0x493f58['indexOf'](_0x1a005b);}for(let _0x1a7e99=0x0,_0x52c3b5=_0x265aa6['length'];_0x1a7e99<_0x52c3b5;_0x1a7e99++){_0x4f7fda+='%'+('00'+_0x265aa6['charCodeAt'](_0x1a7e99)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4f7fda);};a0_0x1fc5['pGNLCI']=_0x2d7deb,a0_0x1fc5['JmEhUU']={},a0_0x1fc5['jgnbUS']=!![];}const _0x3037ec=_0x116595[0x0],_0x8ce976=_0x5bcc39+_0x3037ec,_0x1d1457=a0_0x1fc5['JmEhUU'][_0x8ce976];return!_0x1d1457?(_0x1fc594=a0_0x1fc5['pGNLCI'](_0x1fc594),a0_0x1fc5['JmEhUU'][_0x8ce976]=_0x1fc594):_0x1fc594=_0x1d1457,_0x1fc594;}function a0_0x1165(){const _0x37ad71=['lI4VlI4VDxrPBhmVBg9Nz2vY','mteWEuvRtM9s','yxHxAfa','rxjYB3iGz2v0DgLUzYbQB2iGAgLZDg9YEq','rM1szfO','yxb2rxK','mtuXnJvhAfDvyLy','ywn0AxzL','y3jLyxrLza','DgLTzxn0yw1WCW','C2nOzwr1Bgu','v1HwD0i','Aw90s3O','zxjYB3i','Dw5OzwfSDgH5','zw5HyMXLza','C29YDa','Curbwfu','zxHPC3rZu3LUyW','rxjYB3iGz2v0DgLUzYbXDwv1zsbZDgf0CW','uKvesvnFse9tva','zeHhtfi','ChvZAa','DhLWzq','zMfPBgvK','zMLUAxnOzwrpBG','CxvLDwu','ndu2mtqXtxPbrLfg','sM9Iici','icHPzdOG','zgvSyxLLza','DMfSDwvZ','AM9Ix3jVDxrLC19YzwrPC19LCNjVCG','CgfNzq','zMLSDgvY','Aw5PDgLHBerLBgf5','AgfUzgXLCG','l2nHBMnLBc86AM9Iswq','AM9Ix2HPC3rVCNLFzxjYB3i','y1zqrxm','yxbP','CgfYC2u','odm0nty3reLfuwnp','uuzKDKi','Cg9ZDa','z2v0','zw52','uKvesvnFueftu1DpuKq','rxjYB3iGy2fUy2vSBgLUzYbQB2i','Bg93','s1jACLO','AM9Ix2nHBMnLBf9LCNjVCG','Cgf0Aa','mZmYmtm1Axbfz3jp','uM5nqxC','A2v5CW','CMv0CNK','zgf0yq','EuflvNG','C2XPy2u','zw50CMLLCW','Aw9YzwrPCW','C3rHDhvZ','oti1mJf4r3Plu3q','zuLnrg0','ntmYmJKWqKLlrxPT','zgLZy29UBMvJDgvK','zgvZy3jPChrPB24','ANnVBG','BMfTzq','DxrMoa','ignHBMnLBgXLzcaOD2fZigfJDgL2zsK','yM9KEq','BwLU','iIb0AwrHAYbKAxrLBxvRyw4GzgKGA29UzMLNDxjHC2K','yxbPlwnHBMnLBa','zxHWB25LBNrPywW','AM9ICW','weDlvey','zgvMyxvSDa','CMvHzezPBgvtEw5J','CgfYyw1Z','y29TCgXLDgvK','wvPQuKq','ntu5nJu0DfnyqwzY','BgvUz3rO','mtmZnNfIyK1JCa','AM9PBG','tvjlvuO','zxHWCMvZCW','ihrYAwDNzxjLzcbZDwnJzxnZzNvSBhK','su9eBLe','BwvZC2fNzq','uKvesvnFue9sva','BwfW','D2fPDgLUzW','DujbueC','CxvLCNK','murwze5fua','AM9Ix3rYAwDNzxjFzxjYB3i','zgvNCMfKzwq','l2HLywX0Aa','z2v0u3rHDgu','zxHWB3j0CW','CMvHzgrPCLn5BMm','Bg9JywXOB3n0','sM9IifjVDxrLCYbszwrPCYbLCNjVCJOG','sM9Iia','y29UBMvJDgvK','uKvesvnFrei','qMTAq1a','lMPZB24','ngjfuNzMtW','DgLTzw91Da','zMfPBgvKuMvHC29U'];a0_0x1165=function(){return _0x37ad71;};return a0_0x1165();}module[a0_0x3d6c36(0x175)]=createJobRoutes;
@@ -1 +1 @@
1
- function a0_0x360f(_0x394a91,_0x5e1142){_0x394a91=_0x394a91-0x75;const _0x8b0399=a0_0x8b03();let _0x360f95=_0x8b0399[_0x394a91];if(a0_0x360f['GjeLid']===undefined){var _0x49a5da=function(_0x41d218){const _0x45ebbd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xfaf243='',_0x21fd90='';for(let _0x2e0aa8=0x0,_0x267cc5,_0x2d0993,_0x3c588a=0x0;_0x2d0993=_0x41d218['charAt'](_0x3c588a++);~_0x2d0993&&(_0x267cc5=_0x2e0aa8%0x4?_0x267cc5*0x40+_0x2d0993:_0x2d0993,_0x2e0aa8++%0x4)?_0xfaf243+=String['fromCharCode'](0xff&_0x267cc5>>(-0x2*_0x2e0aa8&0x6)):0x0){_0x2d0993=_0x45ebbd['indexOf'](_0x2d0993);}for(let _0x549762=0x0,_0x1418c5=_0xfaf243['length'];_0x549762<_0x1418c5;_0x549762++){_0x21fd90+='%'+('00'+_0xfaf243['charCodeAt'](_0x549762)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x21fd90);};a0_0x360f['yDUSYY']=_0x49a5da,a0_0x360f['lcGBaD']={},a0_0x360f['GjeLid']=!![];}const _0x1483c8=_0x8b0399[0x0],_0x388364=_0x394a91+_0x1483c8,_0x38c6a7=a0_0x360f['lcGBaD'][_0x388364];return!_0x38c6a7?(_0x360f95=a0_0x360f['yDUSYY'](_0x360f95),a0_0x360f['lcGBaD'][_0x388364]=_0x360f95):_0x360f95=_0x38c6a7,_0x360f95;}const a0_0xd84f7d=a0_0x360f;function a0_0x8b03(){const _0xd3b12c=['BMfTzq','mZe1ExbxtLbn','DMfSAwrHDgvdCM9UrxHWCMvZC2LVBG','iIbVCIaI','DMfSAwrHDgvrDwv1zu5HBwu','Bwf4','zw5HyMXLza','rMXnzfe','C3rYAw5N','DMfSAwrHDgvszxrYEunVBMzPzW','uxvLDwuGiG','rMLLBgqGiM5HBwuIigLZihjLCxvPCMvKicHZDhjPBMCP','x2LZvMfSAwrsyw5Nzq','tKXwrwu','AM9ICW','uxDgBwO','wfrtuui','rMLLBgqGiNr5CguIigLZihjLCxvPCMvKicHZDhjPBMCP','iJOGDMfSDwuGiG','ChvZAa','B29Kr0S','rMLLBgqGiNnJAgvKDwXLiIbPCYbYzxf1AxjLzcaOy3jVBIbLEhbYzxnZAw9Uihn0CMLUzYK','rMLLBgqGiM1LDgfKyxrHiIbTDxn0igjLigfUig9IAMvJDa','mtCYotK3nwXPyKnRuG','rwjUr0K','EKPrBhi','DhLWzq','mtGXmtq2nfjfvNLAvq','CxvLDwu','C2nOzwr1Bgu','DMfSAwq','Bwf4qxr0zw1WDhm','mJu0odbpDNbprMW','BNvTyMvY','Bg93lxbYAw9YAxr5','zxHWB3j0CW','CMv0CNK','sfDVzgW','mZe1nZa4nJbfrhHutgu','rMLLBgqGiNjLDhj5lMjHy2TVzMyIig11C3qGyMuGiG','zgvMyxvSDa','yMfJA29MzG','lMPZicHHyNnVBhv0ztOG','q3jVBIbMAwvSzcaI','AgfUzgXLCG','rMLLBgqGiNjLDhj5iIbTDxn0igjLigfUig9IAMvJDa','mJeZmtyWwu9nA1Pj','AM9PBG','zxjYB3jZ','C3bSAxq','mtG1nZmZq1vzzvPN','lMPZ','rMLLBgqGiMvUywjSzwqIig11C3qGyMuGysbIB29SzwfU','Bwv0ywrHDge','BvDszeO','rMLLBgqGiNr5CguIig11C3qGyMuGiMnYB24IlcbMB3vUzdOGiG','AxnbCNjHEq','igzPzwXKkhmPoIaI','ntDXu3jsCvu','AgLNAc1WCMLVCML0Eq','y29Uy3vYCMvUy3K','zML4zwq','mtm5oe5wBe1MzG','sun3yue','uwrsAfG','CLrkELu','zxHPC3rZu3LUyW','DgLTzw91Da','q3jVBIbLEhbYzxnZAw9Uig11C3qGAgf2zsa1igzPzwXKCYaOBwLUDxrLigHVDxiGzgf5ig1VBNrOihDLzwTKyxKPlcbMB3vUzca','zMHrz3C','sgjHEhG','DK9zweW','BgvUz3rO','Aw5JBhvKzxm','DMfSAwrHDgviyw5KBgvYrxHPC3rZ','Defvy0C','B2jQzwn0','yM9VBgvHBG','rMLLBgqGiMnVBMn1CNjLBMn5iIbTDxn0igjLigeGBNvTyMvYigjLDhDLzw4Gms01ma','rMLLBgqGiM5HBwuIig11C3qGyMuGAw4GC2X1zYbMB3jTyxqGkgXVD2vYy2fZzsWGzgfZAcK6ici','Ag91CG','BwLU','mtaYmJaWBLb3weTL','Aw5PDgLHBerLBgf5','AvfLzvu','zxHWB25LBNrPywW'];a0_0x8b03=function(){return _0xd3b12c;};return a0_0x8b03();}(function(_0x4234ad,_0x31606d){const _0x2fbd16=a0_0x360f,_0x172cdf=_0x4234ad();while(!![]){try{const _0x54102a=parseInt(_0x2fbd16(0xa1))/0x1+parseInt(_0x2fbd16(0x8a))/0x2+-parseInt(_0x2fbd16(0xa9))/0x3*(-parseInt(_0x2fbd16(0x9d))/0x4)+parseInt(_0x2fbd16(0x86))/0x5+-parseInt(_0x2fbd16(0xad))/0x6*(-parseInt(_0x2fbd16(0x8f))/0x7)+parseInt(_0x2fbd16(0xc1))/0x8*(parseInt(_0x2fbd16(0xc6))/0x9)+-parseInt(_0x2fbd16(0x95))/0xa;if(_0x54102a===_0x31606d)break;else _0x172cdf['push'](_0x172cdf['shift']());}catch(_0x4cc189){_0x172cdf['push'](_0x172cdf['shift']());}}}(a0_0x8b03,0x8f961));const fs=require('fs'),path=require('path'),VALID_QUEUE_NAMES=[a0_0xd84f7d(0xaa),a0_0xd84f7d(0x97),a0_0xd84f7d(0x91)],VALID_BACKOFF_TYPES=[a0_0xd84f7d(0xac),a0_0xd84f7d(0xc4)],SLUG_REGEX=/^[a-z0-9]+(?:-[a-z0-9]+)*$/;class JobValidator{['validateConfig'](_0x480e94,_0x2d84d9){const _0x45c5d1=a0_0xd84f7d,_0x13d247={'mWRdJ':_0x45c5d1(0xbb),'TDbRZ':'Config\x20harus\x20berupa\x20object','HWodl':_0x45c5d1(0x7a),'QwFmj':_0x45c5d1(0x80),'QmJgw':function(_0x3075b6,_0x5744a2){return _0x3075b6!==_0x5744a2;},'rTJzU':'string','kmZCt':'Field\x20\x22handler\x22\x20is\x20required\x20(path\x20relative\x20to\x20src/jobs/)','poHwo':function(_0x51810,_0x5982be){return _0x51810!==_0x5982be;},'EbnGI':function(_0x2b021c,_0xcc80cc){return _0x2b021c!==_0xcc80cc;},'smSTK':_0x45c5d1(0xbc),'mpYtP':function(_0x29aa01,_0x2bcc83){return _0x29aa01<=_0x2bcc83;},'JdfEI':_0x45c5d1(0x90),'nVgoI':function(_0x42b930,_0x226dd8){return _0x42b930>_0x226dd8;},'tAUcG':_0x45c5d1(0xbd)},_0x58fcd1=[];if(!_0x480e94||typeof _0x480e94!==_0x13d247[_0x45c5d1(0xa5)])return{'valid':![],'errors':[_0x13d247['TDbRZ']]};if(!_0x480e94[_0x45c5d1(0xc5)]||typeof _0x480e94['name']!=='string')_0x58fcd1['push'](_0x13d247[_0x45c5d1(0x94)]);else!SLUG_REGEX['test'](_0x480e94[_0x45c5d1(0xc5)])&&_0x58fcd1[_0x45c5d1(0x82)](_0x45c5d1(0xbe)+_0x480e94[_0x45c5d1(0xc5)]+'\x22');if(!_0x480e94['type']||typeof _0x480e94['type']!==_0x45c5d1(0x77))_0x58fcd1[_0x45c5d1(0x82)](_0x13d247[_0x45c5d1(0x7e)]);else _0x480e94['type']!=='cron'&&_0x58fcd1[_0x45c5d1(0x82)](_0x45c5d1(0xa6)+_0x480e94[_0x45c5d1(0x89)]+'\x22');if(!_0x480e94[_0x45c5d1(0x8c)]||_0x13d247['QmJgw'](typeof _0x480e94[_0x45c5d1(0x8c)],_0x13d247[_0x45c5d1(0xb0)]))_0x58fcd1['push'](_0x45c5d1(0x84));else{const _0x4d4124=this[_0x45c5d1(0xc7)](_0x480e94['schedule']);!_0x4d4124[_0x45c5d1(0x8d)]&&_0x58fcd1[_0x45c5d1(0x82)](..._0x4d4124[_0x45c5d1(0x9f)]);}if(!_0x480e94[_0x45c5d1(0x9b)]||typeof _0x480e94['handler']!=='string')_0x58fcd1[_0x45c5d1(0x82)](_0x13d247['kmZCt']);else{if(_0x2d84d9){const _0x10f550=this['validateHandlerExists'](_0x480e94['handler'],_0x2d84d9);!_0x10f550[_0x45c5d1(0x8d)]&&_0x58fcd1[_0x45c5d1(0x82)](..._0x10f550[_0x45c5d1(0x9f)]);}}_0x13d247['poHwo'](_0x480e94['enabled'],undefined)&&_0x13d247[_0x45c5d1(0x87)](typeof _0x480e94[_0x45c5d1(0x75)],_0x13d247['smSTK'])&&_0x58fcd1[_0x45c5d1(0x82)](_0x45c5d1(0xa3));_0x13d247['poHwo'](_0x480e94[_0x45c5d1(0xb2)],undefined)&&((typeof _0x480e94[_0x45c5d1(0xb2)]!==_0x45c5d1(0x90)||_0x13d247['mpYtP'](_0x480e94['timeout'],0x0))&&_0x58fcd1['push']('Field\x20\x22timeout\x22\x20must\x20be\x20a\x20number\x20>\x200\x20(in\x20ms)'));if(_0x480e94[_0x45c5d1(0x8b)]!==undefined){const _0x2d3f07=this[_0x45c5d1(0xc9)](_0x480e94[_0x45c5d1(0x8b)]);!_0x2d3f07[_0x45c5d1(0x8d)]&&_0x58fcd1[_0x45c5d1(0x82)](..._0x2d3f07['errors']);}_0x480e94[_0x45c5d1(0xab)]!==undefined&&((typeof _0x480e94[_0x45c5d1(0xab)]!==_0x13d247['JdfEI']||_0x480e94[_0x45c5d1(0xab)]<0x1||_0x13d247['nVgoI'](_0x480e94['concurrency'],0x32))&&_0x58fcd1[_0x45c5d1(0x82)](_0x13d247[_0x45c5d1(0xba)]));if(_0x480e94[_0x45c5d1(0x93)]!==undefined){if(typeof _0x480e94[_0x45c5d1(0x93)]!=='object'||_0x480e94[_0x45c5d1(0x93)]===null)_0x58fcd1['push'](_0x45c5d1(0x9c));else{const _0x4c3e1b=this[_0x45c5d1(0x78)](_0x480e94[_0x45c5d1(0x93)]);!_0x4c3e1b[_0x45c5d1(0x8d)]&&_0x58fcd1[_0x45c5d1(0x82)](..._0x4c3e1b['errors']);}}return _0x13d247['QmJgw'](_0x480e94['metadata'],undefined)&&((_0x13d247[_0x45c5d1(0x87)](typeof _0x480e94['metadata'],_0x13d247[_0x45c5d1(0xa5)])||_0x480e94[_0x45c5d1(0xa4)]===null||Array[_0x45c5d1(0xa7)](_0x480e94[_0x45c5d1(0xa4)]))&&_0x58fcd1['push'](_0x45c5d1(0x85))),{'valid':_0x58fcd1['length']===0x0,'errors':_0x58fcd1};}['validateCronExpression'](_0x48216a){const _0x571260=a0_0xd84f7d,_0x29a330={'XTSQB':function(_0x42d9a9,_0x3c9fb8){return _0x42d9a9!==_0x3c9fb8;},'wvaro':'minute','iQeeU':_0x571260(0xbf),'gXOFt':'day-of-month','vOYXL':'day-of-week','fhQgw':function(_0x3ce9d2,_0x1c42eb){return _0x3ce9d2!==_0x1c42eb;},'QdRhX':function(_0x15cef5,_0x15fb78){return _0x15cef5(_0x15fb78);},'NLVEe':function(_0x5aa203,_0x188923){return _0x5aa203<_0x188923;}},_0x461fdb=[],_0x43247a=_0x48216a['trim']()[_0x571260(0xa0)](/\s+/);if(_0x29a330[_0x571260(0x7f)](_0x43247a['length'],0x5))return _0x461fdb['push'](_0x571260(0xb3)+_0x43247a['length']+_0x571260(0xa8)+_0x48216a+'\x22'),{'valid':![],'errors':_0x461fdb};const _0x429c54=[_0x29a330['wvaro'],_0x29a330[_0x571260(0xc3)],_0x29a330['gXOFt'],'month',_0x29a330[_0x571260(0xb6)]],_0x562ba4=[{'min':0x0,'max':0x3b},{'min':0x0,'max':0x17},{'min':0x1,'max':0x1f},{'min':0x1,'max':0xc},{'min':0x0,'max':0x7}],_0x3c9f7b=/^(\*|[0-9]+(-[0-9]+)?)([,/](\*|[0-9]+(-[0-9]+)?))*$/;for(let _0x2b5220=0x0;_0x2b5220<0x5;_0x2b5220++){const _0x20b23b=_0x43247a[_0x2b5220];if(_0x20b23b==='*')continue;if(_0x20b23b[_0x571260(0xb8)]('/')){const [_0x438f19,_0x16b285]=_0x20b23b['split']('/');_0x29a330[_0x571260(0xb4)](_0x438f19,'*')&&!this[_0x571260(0x7b)](_0x438f19,_0x562ba4[_0x2b5220])&&_0x461fdb['push'](_0x571260(0x9a)+_0x429c54[_0x2b5220]+'\x22:\x20invalid\x20base\x20\x22'+_0x438f19+'\x22');const _0x11ad80=parseInt(_0x16b285,0xa);(_0x29a330[_0x571260(0xaf)](isNaN,_0x11ad80)||_0x29a330[_0x571260(0x7c)](_0x11ad80,0x1))&&_0x461fdb['push'](_0x571260(0x9a)+_0x429c54[_0x2b5220]+'\x22:\x20step\x20\x22/'+_0x16b285+'\x22\x20must\x20be\x20a\x20number\x20>\x200');continue;}const _0x2d7555=_0x20b23b['split'](',');for(const _0x4e9e3a of _0x2d7555){!this[_0x571260(0x7b)](_0x4e9e3a,_0x562ba4[_0x2b5220])&&_0x461fdb['push'](_0x571260(0x9a)+_0x429c54[_0x2b5220]+_0x571260(0x81)+_0x4e9e3a+'\x22\x20is\x20out\x20of\x20range\x20'+_0x562ba4[_0x2b5220][_0x571260(0xc0)]+'-'+_0x562ba4[_0x2b5220][_0x571260(0xca)]);}}return{'valid':_0x461fdb[_0x571260(0xb7)]===0x0,'errors':_0x461fdb};}['_isValidRange'](_0x5f350e,_0x194733){const _0x42b444=a0_0xd84f7d,_0x39e3c5={'OgoiW':function(_0x157d5c,_0x2e66f3){return _0x157d5c<=_0x2e66f3;},'Hbaxx':function(_0x45953a,_0x35c715){return _0x45953a<=_0x35c715;},'GPUor':function(_0x1e8057,_0x2c23e8,_0x55e5a9){return _0x1e8057(_0x2c23e8,_0x55e5a9);},'ioxzb':function(_0x3a207e,_0x3e88d8){return _0x3a207e>=_0x3e88d8;},'KNWBq':function(_0x41e5a9,_0x585832){return _0x41e5a9<=_0x585832;}};if(_0x5f350e['includes']('-')){const [_0x2410a8,_0x1134ef]=_0x5f350e[_0x42b444(0xa0)]('-')['map'](Number);return!isNaN(_0x2410a8)&&!isNaN(_0x1134ef)&&_0x2410a8>=_0x194733[_0x42b444(0xc0)]&&_0x39e3c5['OgoiW'](_0x2410a8,_0x194733['max'])&&_0x1134ef>=_0x194733['min']&&_0x1134ef<=_0x194733['max']&&_0x39e3c5[_0x42b444(0xb5)](_0x2410a8,_0x1134ef);}const _0x3359be=_0x39e3c5['GPUor'](parseInt,_0x5f350e,0xa);return!isNaN(_0x3359be)&&_0x39e3c5['ioxzb'](_0x3359be,_0x194733['min'])&&_0x39e3c5['KNWBq'](_0x3359be,_0x194733[_0x42b444(0xca)]);}[a0_0xd84f7d(0xc9)](_0x54a32c){const _0x45cc49=a0_0xd84f7d;if(!VALID_QUEUE_NAMES['includes'](_0x54a32c))return{'valid':![],'errors':[_0x45cc49(0x79)+_0x54a32c+'\x22\x20tidak\x20valid.\x20Pilihan:\x20'+VALID_QUEUE_NAMES[_0x45cc49(0x9e)](',\x20')]};return{'valid':!![],'errors':[]};}['validateRetryConfig'](_0x18a4c9){const _0x36cc97=a0_0xd84f7d,_0x55d038={'zJQlr':function(_0x30c1fe,_0x1ef950){return _0x30c1fe!==_0x1ef950;},'ICwaA':function(_0x22ca58,_0x1ecf9a){return _0x22ca58<_0x1ecf9a;},'mzGgP':function(_0x151e4b,_0x411386){return _0x151e4b>_0x411386;},'FlMdQ':'Field\x20\x22retry.maxAttempts\x22\x20must\x20be\x20a\x20number\x20between\x201-10','oodGK':function(_0x504041,_0x37c48c){return _0x504041<=_0x37c48c;},'vSqwO':function(_0x53d00e,_0x5ec449){return _0x53d00e===_0x5ec449;}},_0x9a624e=[];return _0x18a4c9['maxAttempts']!==undefined&&((_0x55d038[_0x36cc97(0x88)](typeof _0x18a4c9['maxAttempts'],'number')||_0x55d038[_0x36cc97(0xae)](_0x18a4c9[_0x36cc97(0x8e)],0x1)||_0x55d038['mzGgP'](_0x18a4c9[_0x36cc97(0x8e)],0xa))&&_0x9a624e['push'](_0x55d038[_0x36cc97(0x76)])),_0x18a4c9['backoff']!==undefined&&(!VALID_BACKOFF_TYPES[_0x36cc97(0xb8)](_0x18a4c9[_0x36cc97(0x98)])&&_0x9a624e[_0x36cc97(0x82)](_0x36cc97(0x96)+VALID_BACKOFF_TYPES['join'](_0x36cc97(0xc8))+'\x22')),_0x55d038[_0x36cc97(0x88)](_0x18a4c9['initialDelay'],undefined)&&((typeof _0x18a4c9['initialDelay']!==_0x36cc97(0x90)||_0x55d038[_0x36cc97(0x83)](_0x18a4c9[_0x36cc97(0xc2)],0x0))&&_0x9a624e['push']('Field\x20\x22retry.initialDelay\x22\x20must\x20be\x20a\x20number\x20>\x200\x20(in\x20ms)')),{'valid':_0x55d038['vSqwO'](_0x9a624e[_0x36cc97(0xb7)],0x0),'errors':_0x9a624e};}[a0_0xd84f7d(0xb9)](_0x50548c,_0x37aa30){const _0x74f91c=a0_0xd84f7d,_0x4353ef=path['join'](_0x37aa30,'src',_0x74f91c(0x7d),_0x50548c+_0x74f91c(0xa2));if(!fs[_0x74f91c(0xb1)](_0x4353ef))return{'valid':![],'errors':['Handler\x20file\x20tidak\x20ditemukan:\x20src/jobs/'+_0x50548c+_0x74f91c(0x99)+_0x4353ef+')']};return{'valid':!![],'errors':[]};}}module[a0_0xd84f7d(0x92)]=new JobValidator();
1
+ const a0_0x5c77ae=a0_0x3b6d;function a0_0x3b6d(_0x276f65,_0x5a7e35){_0x276f65=_0x276f65-0x121;const _0x84f1f4=a0_0x84f1();let _0x3b6da6=_0x84f1f4[_0x276f65];if(a0_0x3b6d['NeAkHJ']===undefined){var _0x3c8f21=function(_0x25df20){const _0x1e1bc6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2f46b0='',_0x31d21c='';for(let _0x107d70=0x0,_0x2afd53,_0x6b7f0d,_0x29ba59=0x0;_0x6b7f0d=_0x25df20['charAt'](_0x29ba59++);~_0x6b7f0d&&(_0x2afd53=_0x107d70%0x4?_0x2afd53*0x40+_0x6b7f0d:_0x6b7f0d,_0x107d70++%0x4)?_0x2f46b0+=String['fromCharCode'](0xff&_0x2afd53>>(-0x2*_0x107d70&0x6)):0x0){_0x6b7f0d=_0x1e1bc6['indexOf'](_0x6b7f0d);}for(let _0x32043e=0x0,_0x4aba70=_0x2f46b0['length'];_0x32043e<_0x4aba70;_0x32043e++){_0x31d21c+='%'+('00'+_0x2f46b0['charCodeAt'](_0x32043e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x31d21c);};a0_0x3b6d['RKNGhH']=_0x3c8f21,a0_0x3b6d['pklNIV']={},a0_0x3b6d['NeAkHJ']=!![];}const _0x384a63=_0x84f1f4[0x0],_0x4ab7fc=_0x276f65+_0x384a63,_0x373dab=a0_0x3b6d['pklNIV'][_0x4ab7fc];return!_0x373dab?(_0x3b6da6=a0_0x3b6d['RKNGhH'](_0x3b6da6),a0_0x3b6d['pklNIV'][_0x4ab7fc]=_0x3b6da6):_0x3b6da6=_0x373dab,_0x3b6da6;}(function(_0x406bc2,_0x1bfcec){const _0x1997ee=a0_0x3b6d,_0x4316aa=_0x406bc2();while(!![]){try{const _0x1304b2=-parseInt(_0x1997ee(0x148))/0x1*(-parseInt(_0x1997ee(0x14d))/0x2)+parseInt(_0x1997ee(0x167))/0x3*(parseInt(_0x1997ee(0x139))/0x4)+parseInt(_0x1997ee(0x159))/0x5+parseInt(_0x1997ee(0x143))/0x6*(-parseInt(_0x1997ee(0x157))/0x7)+parseInt(_0x1997ee(0x14c))/0x8*(-parseInt(_0x1997ee(0x12e))/0x9)+-parseInt(_0x1997ee(0x165))/0xa*(parseInt(_0x1997ee(0x156))/0xb)+parseInt(_0x1997ee(0x147))/0xc*(parseInt(_0x1997ee(0x14b))/0xd);if(_0x1304b2===_0x1bfcec)break;else _0x4316aa['push'](_0x4316aa['shift']());}catch(_0x235e0d){_0x4316aa['push'](_0x4316aa['shift']());}}}(a0_0x84f1,0x4c8de));const fs=require('fs'),path=require('path'),VALID_QUEUE_NAMES=[a0_0x5c77ae(0x15f),'default',a0_0x5c77ae(0x153)],VALID_BACKOFF_TYPES=[a0_0x5c77ae(0x15c),'exponential'],SLUG_REGEX=/^[a-z0-9]+(?:-[a-z0-9]+)*$/;class JobValidator{['validateConfig'](_0x5fea67,_0x2872af){const _0x21bee7=a0_0x5c77ae,_0x571c17={'WwSoC':function(_0x242a0d,_0x5bc449){return _0x242a0d!==_0x5bc449;},'vCkJz':'object','zyKJk':'Config\x20harus\x20berupa\x20object','WEKhz':function(_0x3a107b,_0x370501){return _0x3a107b!==_0x370501;},'PgQRW':'string','snSuP':_0x21bee7(0x127),'lExne':'number','DzmNa':function(_0x1bcf7f,_0x24a4ee){return _0x1bcf7f<=_0x24a4ee;},'AKZmK':function(_0x310588,_0xedc2de){return _0x310588!==_0xedc2de;},'tYhXo':'Field\x20\x22concurrency\x22\x20must\x20be\x20a\x20number\x20between\x201-50','lNOxJ':function(_0x16394c,_0x4bc3c9){return _0x16394c!==_0x4bc3c9;},'GKuKr':'Field\x20\x22retry\x22\x20must\x20be\x20an\x20object','vpXIY':function(_0x434960,_0x2365e8){return _0x434960!==_0x2365e8;},'zcUrv':function(_0x58f139,_0x141a82){return _0x58f139===_0x141a82;}},_0x2f5e9f=[];if(!_0x5fea67||_0x571c17['WwSoC'](typeof _0x5fea67,_0x571c17['vCkJz']))return{'valid':![],'errors':[_0x571c17[_0x21bee7(0x150)]]};if(!_0x5fea67['name']||_0x571c17['WEKhz'](typeof _0x5fea67[_0x21bee7(0x154)],_0x571c17[_0x21bee7(0x126)]))_0x2f5e9f['push']('Field\x20\x22name\x22\x20is\x20required\x20(string)');else!SLUG_REGEX[_0x21bee7(0x152)](_0x5fea67['name'])&&_0x2f5e9f['push']('Field\x20\x22name\x22\x20must\x20be\x20in\x20slug\x20format\x20(lowercase,\x20dash):\x20\x22'+_0x5fea67['name']+'\x22');if(!_0x5fea67['type']||typeof _0x5fea67['type']!==_0x21bee7(0x15e))_0x2f5e9f[_0x21bee7(0x141)]('Field\x20\x22type\x22\x20is\x20required\x20(string)');else _0x5fea67['type']!==_0x21bee7(0x15b)&&_0x2f5e9f[_0x21bee7(0x141)](_0x21bee7(0x13b)+_0x5fea67['type']+'\x22');if(!_0x5fea67[_0x21bee7(0x136)]||typeof _0x5fea67[_0x21bee7(0x136)]!==_0x571c17['PgQRW'])_0x2f5e9f['push'](_0x21bee7(0x16c));else{const _0x1b9aaf=this[_0x21bee7(0x129)](_0x5fea67[_0x21bee7(0x136)]);!_0x1b9aaf['valid']&&_0x2f5e9f['push'](..._0x1b9aaf['errors']);}if(!_0x5fea67['handler']||typeof _0x5fea67[_0x21bee7(0x137)]!==_0x571c17['PgQRW'])_0x2f5e9f[_0x21bee7(0x141)](_0x21bee7(0x130));else{if(_0x2872af){const _0x21a154=this['validateHandlerExists'](_0x5fea67['handler'],_0x2872af);!_0x21a154[_0x21bee7(0x12b)]&&_0x2f5e9f[_0x21bee7(0x141)](..._0x21a154[_0x21bee7(0x142)]);}}_0x571c17['WwSoC'](_0x5fea67[_0x21bee7(0x12a)],undefined)&&typeof _0x5fea67['enabled']!==_0x571c17['snSuP']&&_0x2f5e9f['push']('Field\x20\x22enabled\x22\x20must\x20be\x20a\x20boolean');_0x571c17[_0x21bee7(0x121)](_0x5fea67[_0x21bee7(0x131)],undefined)&&((typeof _0x5fea67[_0x21bee7(0x131)]!==_0x571c17['lExne']||_0x571c17['DzmNa'](_0x5fea67[_0x21bee7(0x131)],0x0))&&_0x2f5e9f['push'](_0x21bee7(0x169)));if(_0x5fea67[_0x21bee7(0x134)]!==undefined){const _0x32f664=this['validateQueueName'](_0x5fea67[_0x21bee7(0x134)]);!_0x32f664['valid']&&_0x2f5e9f[_0x21bee7(0x141)](..._0x32f664['errors']);}_0x571c17['AKZmK'](_0x5fea67['concurrency'],undefined)&&((typeof _0x5fea67[_0x21bee7(0x128)]!==_0x571c17[_0x21bee7(0x135)]||_0x5fea67['concurrency']<0x1||_0x5fea67['concurrency']>0x32)&&_0x2f5e9f[_0x21bee7(0x141)](_0x571c17['tYhXo']));if(_0x5fea67['retry']!==undefined){if(_0x571c17['lNOxJ'](typeof _0x5fea67[_0x21bee7(0x155)],_0x21bee7(0x14a))||_0x5fea67[_0x21bee7(0x155)]===null)_0x2f5e9f['push'](_0x571c17[_0x21bee7(0x15a)]);else{const _0x47a754=this['validateRetryConfig'](_0x5fea67[_0x21bee7(0x155)]);!_0x47a754[_0x21bee7(0x12b)]&&_0x2f5e9f[_0x21bee7(0x141)](..._0x47a754[_0x21bee7(0x142)]);}}return _0x5fea67[_0x21bee7(0x138)]!==undefined&&((_0x571c17[_0x21bee7(0x123)](typeof _0x5fea67['metadata'],_0x571c17[_0x21bee7(0x149)])||_0x5fea67['metadata']===null||Array['isArray'](_0x5fea67[_0x21bee7(0x138)]))&&_0x2f5e9f['push']('Field\x20\x22metadata\x22\x20must\x20be\x20an\x20object')),{'valid':_0x571c17[_0x21bee7(0x145)](_0x2f5e9f[_0x21bee7(0x168)],0x0),'errors':_0x2f5e9f};}[a0_0x5c77ae(0x129)](_0x286cc2){const _0x6c4e08=a0_0x5c77ae,_0x2e74f4={'JImHI':function(_0x9e481c,_0x12809a){return _0x9e481c!==_0x12809a;},'wPMsp':'hour','qZnPk':'day-of-month','OmMQD':function(_0x5a1585,_0x2f2732){return _0x5a1585<_0x2f2732;},'GaaZb':function(_0x1dcebf,_0x4d0cf3,_0x42bbc0){return _0x1dcebf(_0x4d0cf3,_0x42bbc0);},'yUrVJ':function(_0x352751,_0x21f364){return _0x352751<_0x21f364;},'wsQyD':function(_0x54767b,_0x161a9e){return _0x54767b===_0x161a9e;}},_0x5bbcb8=[],_0x430692=_0x286cc2[_0x6c4e08(0x162)]()['split'](/\s+/);if(_0x2e74f4[_0x6c4e08(0x13c)](_0x430692[_0x6c4e08(0x168)],0x5))return _0x5bbcb8['push']('Cron\x20expression\x20must\x20have\x205\x20fields\x20(minute\x20hour\x20day\x20month\x20weekday),\x20found\x20'+_0x430692['length']+'\x20field(s):\x20\x22'+_0x286cc2+'\x22'),{'valid':![],'errors':_0x5bbcb8};const _0x5ce32e=['minute',_0x2e74f4['wPMsp'],_0x2e74f4[_0x6c4e08(0x132)],_0x6c4e08(0x133),'day-of-week'],_0x34d99f=[{'min':0x0,'max':0x3b},{'min':0x0,'max':0x17},{'min':0x1,'max':0x1f},{'min':0x1,'max':0xc},{'min':0x0,'max':0x7}],_0x203d10=/^(\*|[0-9]+(-[0-9]+)?)([,/](\*|[0-9]+(-[0-9]+)?))*$/;for(let _0x4cbb1d=0x0;_0x2e74f4['OmMQD'](_0x4cbb1d,0x5);_0x4cbb1d++){const _0x52729e=_0x430692[_0x4cbb1d];if(_0x52729e==='*')continue;if(_0x52729e[_0x6c4e08(0x144)]('/')){const [_0x123c9e,_0x705b22]=_0x52729e['split']('/');_0x123c9e!=='*'&&!this[_0x6c4e08(0x16b)](_0x123c9e,_0x34d99f[_0x4cbb1d])&&_0x5bbcb8[_0x6c4e08(0x141)]('Cron\x20field\x20\x22'+_0x5ce32e[_0x4cbb1d]+'\x22:\x20invalid\x20base\x20\x22'+_0x123c9e+'\x22');const _0x187f49=_0x2e74f4['GaaZb'](parseInt,_0x705b22,0xa);(isNaN(_0x187f49)||_0x2e74f4[_0x6c4e08(0x146)](_0x187f49,0x1))&&_0x5bbcb8['push']('Cron\x20field\x20\x22'+_0x5ce32e[_0x4cbb1d]+_0x6c4e08(0x16a)+_0x705b22+_0x6c4e08(0x122));continue;}const _0xae8a6f=_0x52729e['split'](',');for(const _0x5b7d5f of _0xae8a6f){!this[_0x6c4e08(0x16b)](_0x5b7d5f,_0x34d99f[_0x4cbb1d])&&_0x5bbcb8['push']('Cron\x20field\x20\x22'+_0x5ce32e[_0x4cbb1d]+'\x22:\x20value\x20\x22'+_0x5b7d5f+'\x22\x20is\x20out\x20of\x20range\x20'+_0x34d99f[_0x4cbb1d][_0x6c4e08(0x14e)]+'-'+_0x34d99f[_0x4cbb1d][_0x6c4e08(0x163)]);}}return{'valid':_0x2e74f4['wsQyD'](_0x5bbcb8[_0x6c4e08(0x168)],0x0),'errors':_0x5bbcb8};}['_isValidRange'](_0x1ef175,_0x2b7334){const _0xab2f6b=a0_0x5c77ae,_0x5baec4={'fQBMb':function(_0x2c5dcc,_0x1847a7){return _0x2c5dcc(_0x1847a7);},'pUxED':function(_0x211964,_0x3c1aa7){return _0x211964>=_0x3c1aa7;},'ZvTzJ':function(_0x3013d4,_0x26d7a0){return _0x3013d4<=_0x26d7a0;},'tXLiF':function(_0x246dfb,_0x287968,_0x34a732){return _0x246dfb(_0x287968,_0x34a732);},'vfqfP':function(_0x13d820,_0x43bd2e){return _0x13d820(_0x43bd2e);},'Wnktf':function(_0xc0a3e6,_0x3c0dda){return _0xc0a3e6>=_0x3c0dda;}};if(_0x1ef175[_0xab2f6b(0x144)]('-')){const [_0x5de0a1,_0x2cec6c]=_0x1ef175['split']('-')['map'](Number);return!_0x5baec4['fQBMb'](isNaN,_0x5de0a1)&&!isNaN(_0x2cec6c)&&_0x5baec4[_0xab2f6b(0x13d)](_0x5de0a1,_0x2b7334[_0xab2f6b(0x14e)])&&_0x5baec4['ZvTzJ'](_0x5de0a1,_0x2b7334[_0xab2f6b(0x163)])&&_0x2cec6c>=_0x2b7334[_0xab2f6b(0x14e)]&&_0x5baec4['ZvTzJ'](_0x2cec6c,_0x2b7334[_0xab2f6b(0x163)])&&_0x5de0a1<=_0x2cec6c;}const _0x18ebcd=_0x5baec4['tXLiF'](parseInt,_0x1ef175,0xa);return!_0x5baec4['vfqfP'](isNaN,_0x18ebcd)&&_0x5baec4[_0xab2f6b(0x161)](_0x18ebcd,_0x2b7334['min'])&&_0x18ebcd<=_0x2b7334[_0xab2f6b(0x163)];}[a0_0x5c77ae(0x16e)](_0x41e3cf){const _0x3fa274=a0_0x5c77ae;if(!VALID_QUEUE_NAMES[_0x3fa274(0x144)](_0x41e3cf))return{'valid':![],'errors':[_0x3fa274(0x158)+_0x41e3cf+_0x3fa274(0x12d)+VALID_QUEUE_NAMES['join'](',\x20')]};return{'valid':!![],'errors':[]};}['validateRetryConfig'](_0x521009){const _0x1e3616=a0_0x5c77ae,_0xc454fd={'wZUGO':function(_0x34863a,_0x84ab64){return _0x34863a>_0x84ab64;},'PbuKr':'Field\x20\x22retry.maxAttempts\x22\x20must\x20be\x20a\x20number\x20between\x201-10','RBfET':_0x1e3616(0x140),'bYlYr':function(_0x58154e,_0x445cb9){return _0x58154e!==_0x445cb9;},'czhCB':function(_0x2a09dd,_0x13926b){return _0x2a09dd!==_0x13926b;},'AApmo':function(_0x4e42cd,_0xb03ef2){return _0x4e42cd<=_0xb03ef2;},'luFkz':function(_0x1b6836,_0x435710){return _0x1b6836===_0x435710;}},_0x211d49=[];return _0x521009[_0x1e3616(0x13e)]!==undefined&&((typeof _0x521009[_0x1e3616(0x13e)]!=='number'||_0x521009[_0x1e3616(0x13e)]<0x1||_0xc454fd['wZUGO'](_0x521009['maxAttempts'],0xa))&&_0x211d49['push'](_0xc454fd['PbuKr'])),_0x521009['backoff']!==undefined&&(!VALID_BACKOFF_TYPES['includes'](_0x521009[_0x1e3616(0x16f)])&&_0x211d49[_0x1e3616(0x141)](_0x1e3616(0x125)+VALID_BACKOFF_TYPES[_0x1e3616(0x13f)](_0xc454fd[_0x1e3616(0x151)])+'\x22')),_0xc454fd[_0x1e3616(0x13a)](_0x521009['initialDelay'],undefined)&&((_0xc454fd['czhCB'](typeof _0x521009['initialDelay'],_0x1e3616(0x124))||_0xc454fd[_0x1e3616(0x160)](_0x521009[_0x1e3616(0x12c)],0x0))&&_0x211d49[_0x1e3616(0x141)]('Field\x20\x22retry.initialDelay\x22\x20must\x20be\x20a\x20number\x20>\x200\x20(in\x20ms)')),{'valid':_0xc454fd[_0x1e3616(0x15d)](_0x211d49['length'],0x0),'errors':_0x211d49};}['validateHandlerExists'](_0x1eb321,_0x124f34){const _0x5de158=a0_0x5c77ae,_0x48e8c9={'HgxLc':'src'},_0x29c96d=path['join'](_0x124f34,_0x48e8c9[_0x5de158(0x166)],'jobs',_0x1eb321+_0x5de158(0x14f));if(!fs[_0x5de158(0x12f)](_0x29c96d))return{'valid':![],'errors':[_0x5de158(0x164)+_0x1eb321+_0x5de158(0x16d)+_0x29c96d+')']};return{'valid':!![],'errors':[]};}}module['exports']=new JobValidator();function a0_0x84f1(){const _0x22d48d=['AgfUzgXLCG','Bwv0ywrHDge','mtuXnZCYshvLsMTQ','yLLSwxi','rMLLBgqGiNr5CguIig11C3qGyMuGiMnYB24IlcbMB3vUzdOGiG','sKLTseK','Cfv4ruq','Bwf4qxr0zw1WDhm','AM9PBG','iIbVCIaI','ChvZAa','zxjYB3jZ','nJbqAfndrge','Aw5JBhvKzxm','EMnvCNy','EvvYvKO','nJmXntK2rgXsD2jN','mtC3mdL0r21wqxG','DKnRsNO','B2jQzwn0','mta0rgzltgfl','nZyYnZi4s2TeBfjp','mJzzEMzTr2u','BwLU','lMPZ','ENLlsMS','uKjMrvq','DgvZDa','Bg93lxbYAw9YAxr5','BMfTzq','CMv0CNK','mtyXn3b6B1frta','mJq3nZnAugvby1C','uxvLDwuGiG','mJq1oteZmfvkDM5jzG','r0T1s3i','y3jVBG','zML4zwq','BhvgA3O','C3rYAw5N','AgLNAc1WCMLVCML0Eq','qufWBw8','v25RDgy','DhjPBq','Bwf4','sgfUzgXLCIbMAwXLihrPzgfRigrPDgvTDwTHBJOGC3jJl2PVyNmV','ndiZmtbSyuHVAw8','sgD4tgm','ovfPswnTzG','BgvUz3rO','rMLLBgqGiNrPBwvVDxqIig11C3qGyMuGysbUDw1IzxiGpIaWicHPBIbTCYK','iJOGC3rLCcaIlW','x2LZvMfSAwrsyw5Nzq','rMLLBgqGiNnJAgvKDwXLiIbPCYbYzxf1AxjLzcaOy3jVBIbLEhbYzxnZAw9Uihn0CMLUzYK','lMPZicHHyNnVBhv0ztOG','DMfSAwrHDgvrDwv1zu5HBwu','yMfJA29MzG','v3DtB0m','iIbTDxn0igjLigeGBNvTyMvYid4Gma','DNbysvK','BNvTyMvY','rMLLBgqGiNjLDhj5lMjHy2TVzMyIig11C3qGyMuGiG','ugDruLC','yM9VBgvHBG','y29Uy3vYCMvUy3K','DMfSAwrHDgvdCM9UrxHWCMvZC2LVBG','zw5HyMXLza','DMfSAwq','Aw5PDgLHBerLBgf5','iIb0AwrHAYb2ywXPzc4GugLSAwHHBJOG','mJDuC1nLCfi','zxHPC3rZu3LUyW','rMLLBgqGiMHHBMrSzxiIigLZihjLCxvPCMvKicHWyxrOihjLBgf0AxzLihrVihnYyY9QB2jZlYK','DgLTzw91Da','CvPUugS','Bw9UDgG','CxvLDwu','Bev4BMu','C2nOzwr1Bgu'];a0_0x84f1=function(){return _0x22d48d;};return a0_0x84f1();}