@restforgejs/platform 5.0.8 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 +963 -0
  5. package/generators/cli/payload/sync.js +18 -2
  6. package/generators/lib/dbschema-kit/connection.js +17 -2
  7. package/generators/lib/migrate/field-type-resolver.js +18 -5
  8. package/generators/lib/payload/payload-runner.js +724 -39
  9. package/generators/lib/templates/dashboard-catalog.js +1 -1
  10. package/generators/lib/templates/db-connection-env.js +1 -1
  11. package/generators/lib/templates/dbschema-catalog.js +1 -1
  12. package/generators/lib/templates/field-validation-catalog.js +1 -1
  13. package/generators/lib/templates/mysql-template.js +1 -1
  14. package/generators/lib/templates/oracle-template.js +1 -1
  15. package/generators/lib/templates/postgres-template.js +1 -1
  16. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  17. package/generators/lib/templates/sqlite-template.js +1 -1
  18. package/generators/lib/utils/database-introspector.js +4 -1
  19. package/integrity-manifest.json +18 -18
  20. package/package.json +1 -1
  21. package/scripts/verify-integrity.js +1 -1
  22. package/server.js +1 -1
  23. package/src/components/handlers/adjust_handler.js +1 -1
  24. package/src/components/handlers/audit_handler.js +1 -1
  25. package/src/components/handlers/delete_handler.js +1 -1
  26. package/src/components/handlers/export_handler.js +1 -1
  27. package/src/components/handlers/import_handler.js +1 -1
  28. package/src/components/handlers/insert_handler.js +1 -1
  29. package/src/components/handlers/update_handler.js +1 -1
  30. package/src/components/handlers/upload_handler.js +1 -1
  31. package/src/components/handlers/workflow_handler.js +1 -1
  32. package/src/components/integrations/webhook.js +1 -1
  33. package/src/consumers/baseConsumer.js +1 -1
  34. package/src/consumers/declarativeMapper.js +1 -1
  35. package/src/consumers/handlers/apiHandler.js +1 -1
  36. package/src/consumers/handlers/consoleHandler.js +1 -1
  37. package/src/consumers/handlers/databaseHandler.js +1 -1
  38. package/src/consumers/handlers/index.js +1 -1
  39. package/src/consumers/handlers/kafkaHandler.js +1 -1
  40. package/src/consumers/index.js +1 -1
  41. package/src/consumers/messageTransformer.js +1 -1
  42. package/src/consumers/validator.js +1 -1
  43. package/src/core/db/dialect/base-dialect.js +1 -1
  44. package/src/core/db/dialect/index.js +1 -1
  45. package/src/core/db/dialect/mysql-dialect.js +1 -1
  46. package/src/core/db/dialect/oracle-dialect.js +1 -1
  47. package/src/core/db/dialect/postgres-dialect.js +1 -1
  48. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  49. package/src/core/db/flatten-helper.js +1 -1
  50. package/src/core/db/query-builder-error.js +1 -1
  51. package/src/core/db/query-builder.js +1 -1
  52. package/src/core/db/relation-helper.js +1 -1
  53. package/src/core/handlers/delete_handler.js +1 -1
  54. package/src/core/handlers/insert_handler.js +1 -1
  55. package/src/core/handlers/update_handler.js +1 -1
  56. package/src/core/models/base-model.js +1 -1
  57. package/src/core/utils/cache-manager.js +1 -1
  58. package/src/core/utils/component-engine.js +1 -1
  59. package/src/core/utils/context-builder.js +1 -1
  60. package/src/core/utils/datetime-formatter.js +1 -1
  61. package/src/core/utils/datetime-parser.js +1 -1
  62. package/src/core/utils/db.js +1 -1
  63. package/src/core/utils/logger.js +1 -1
  64. package/src/core/utils/payload-loader.js +1 -1
  65. package/src/core/utils/security-checks.js +1 -1
  66. package/src/middleware/body-options.js +1 -1
  67. package/src/middleware/cors.js +1 -1
  68. package/src/middleware/idempotency.js +1 -1
  69. package/src/middleware/rate-limiter.js +1 -1
  70. package/src/middleware/request-logger.js +1 -1
  71. package/src/middleware/security-headers.js +1 -1
  72. package/src/models/base-model-mysql.js +1 -1
  73. package/src/models/base-model-oracle.js +1 -1
  74. package/src/models/base-model-sqlite.js +1 -1
  75. package/src/models/base-model.js +1 -1
  76. package/src/pro/caching/redis-client.js +1 -1
  77. package/src/pro/caching/redis-helper.js +1 -1
  78. package/src/pro/consumers/baseConsumer.js +1 -1
  79. package/src/pro/consumers/declarativeMapper.js +1 -1
  80. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  81. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  82. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  83. package/src/pro/consumers/handlers/index.js +1 -1
  84. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  85. package/src/pro/consumers/index.js +1 -1
  86. package/src/pro/consumers/messageTransformer.js +1 -1
  87. package/src/pro/consumers/validator.js +1 -1
  88. package/src/pro/database/base-model-mysql.js +1 -1
  89. package/src/pro/database/base-model-oracle.js +1 -1
  90. package/src/pro/database/base-model-sqlite.js +1 -1
  91. package/src/pro/database/db-mysql.js +1 -1
  92. package/src/pro/database/db-oracle.js +1 -1
  93. package/src/pro/database/db-sqlite.js +1 -1
  94. package/src/pro/excel/excel-generator.js +1 -1
  95. package/src/pro/excel/excel-parser.js +1 -1
  96. package/src/pro/excel/export-service.js +1 -1
  97. package/src/pro/excel/export_handler.js +1 -1
  98. package/src/pro/excel/import-service.js +1 -1
  99. package/src/pro/excel/import-validator.js +1 -1
  100. package/src/pro/excel/import_handler.js +1 -1
  101. package/src/pro/excel/upsert-builder.js +1 -1
  102. package/src/pro/idgen/idgen-routes.js +1 -1
  103. package/src/pro/integrations/lookup-resolver.js +1 -1
  104. package/src/pro/integrations/upload-handler-v2.js +1 -1
  105. package/src/pro/integrations/upload-handler.js +1 -1
  106. package/src/pro/integrations/webhook.js +1 -1
  107. package/src/pro/locking/lock-routes.js +1 -1
  108. package/src/pro/locking/resource-lock-manager.js +1 -1
  109. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  110. package/src/pro/messaging/kafkaService.js +1 -1
  111. package/src/pro/messaging/messagehubService.js +1 -1
  112. package/src/pro/messaging/rabbitmqService.js +1 -1
  113. package/src/pro/scheduler/job-manager.js +1 -1
  114. package/src/pro/scheduler/job-routes.js +1 -1
  115. package/src/pro/scheduler/job-validator.js +1 -1
  116. package/src/pro/storage/base-storage-provider.js +1 -1
  117. package/src/pro/storage/file-metadata-helper.js +1 -1
  118. package/src/pro/storage/index.js +1 -1
  119. package/src/pro/storage/local-storage-provider.js +1 -1
  120. package/src/pro/storage/s3-storage-provider.js +1 -1
  121. package/src/pro/storage/upload-cleanup-job.js +1 -1
  122. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  123. package/src/pro/storage/upload-pending-tracker.js +1 -1
  124. package/src/pro/websocket/broadcast-helper.js +1 -1
  125. package/src/pro/websocket/index.js +1 -1
  126. package/src/pro/websocket/livesync-server.js +1 -1
  127. package/src/pro/websocket/ws-broadcaster.js +1 -1
  128. package/src/services/export-service.js +1 -1
  129. package/src/services/import-service.js +1 -1
  130. package/src/services/kafkaConsumerService.js +1 -1
  131. package/src/services/kafkaService.js +1 -1
  132. package/src/services/messagehubService.js +1 -1
  133. package/src/services/rabbitmqService.js +1 -1
  134. package/src/utils/cache-invalidation-registry.js +1 -1
  135. package/src/utils/cache-manager.js +1 -1
  136. package/src/utils/component-engine.js +1 -1
  137. package/src/utils/config-extractor.js +1 -1
  138. package/src/utils/consumerLogger.js +1 -1
  139. package/src/utils/context-builder.js +1 -1
  140. package/src/utils/dashboard-helpers.js +1 -1
  141. package/src/utils/dateHelper.js +1 -1
  142. package/src/utils/datetime-formatter.js +1 -1
  143. package/src/utils/datetime-parser.js +1 -1
  144. package/src/utils/db-bootstrap.js +1 -1
  145. package/src/utils/db-mysql.js +1 -1
  146. package/src/utils/db-oracle.js +1 -1
  147. package/src/utils/db-sqlite.js +1 -1
  148. package/src/utils/db.js +1 -1
  149. package/src/utils/demo-generator.js +1 -1
  150. package/src/utils/excel-generator.js +1 -1
  151. package/src/utils/excel-parser.js +1 -1
  152. package/src/utils/file-watcher.js +1 -1
  153. package/src/utils/id-generator.js +1 -1
  154. package/src/utils/idempotency-manager.js +1 -1
  155. package/src/utils/import-validator.js +1 -1
  156. package/src/utils/license-client.js +1 -1
  157. package/src/utils/lock-manager.js +1 -1
  158. package/src/utils/logger.js +1 -1
  159. package/src/utils/lookup-resolver.js +1 -1
  160. package/src/utils/payload-loader.js +1 -1
  161. package/src/utils/processor-response.js +1 -1
  162. package/src/utils/rabbitmq.js +1 -1
  163. package/src/utils/redis-client.js +1 -1
  164. package/src/utils/redis-helper.js +1 -1
  165. package/src/utils/request-scope.js +1 -1
  166. package/src/utils/security-checks.js +1 -1
  167. package/src/utils/service-resolver.js +1 -1
  168. package/src/utils/shutdown-coordinator.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
- function a0_0x43de(){const _0x49f151=['Bwf4x3jLDhjPzxm','CMvNAxn0zxjnzxnZywDLsgfUzgXLCG','C3rHCNrdB25ZDw1L','xsbgywLSzwqGDg8GC3rHCNqGy29UC3vTAw5NoIa','mtKXnde2mKjhvLfuDq','mJCYodHOv25IsNu','xsbfEgnOyw5Nzsa','y2XVC2u','BgvUz3rO','zxjYB3i','shDfzgC','Bg9N','C2v0DxbdB2XSzwn0B3jjBMzYyxn0CNvJDhvYzq','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','nJy3mtrWwfjyvM4','ywzvs1a','zxLhDgC','mJi2odeWsNvmsgfX','yxv0B19YzxrYEq','ignYzwf0zwqVCMvHzhK','zM91BMq','C3rYAw5NAwz5','xsbcAw5KAw5Nia','BwvZC2fNzuHHBMrSzxjZ','xsbgywLSzwqGDg8GAw5PDgLHBgL6zsbsywjIAxrnutOG','Dg9tDhjPBMC','lI4VDxrPBhmVzgf0zuHLBhbLCG','Dg9ju09tDhjPBMC','Ee9qBem','zw52','B0DssgC','CxvLDwuT','n2jitLvYEq','ruzsAhe','x3f1zxvL','ywnR','twvZC2fNzsbJB250zw50oIa','C3vIC3rYAw5N','zxHJAgfUz2u','DenHzKO','y3vtqLG','quHlA1u','nunUuu1mua','mJC1DePMvwPf','yxnZzxj0rxHJAgfUz2u','CM91DgLUz0TLEq','zeL0ExG','ihDPDgGGreXy','mtaYntCYmgz5swjiCq','DgLTzxn0yw1W','AxndB25Uzwn0zwq','y29UBMvJDgLVBG','yMLUzff1zxvL','rxjYB3i6ia','zNvUy3rPB24','xsbszxrYEsbIAw5KAw5NigzVCIa','xsbgywLSzwqGDg8GCMvJB25Uzwn0ihrVifjHyMjPDe1roIa','ChjVCgvYDgLLCW','BwvZC2fNzq','ndu1mZC2BufAv0je','qMnsv2O','yxf2zNe','ru5Hs1O','y29UzMLN','y29UDgvUDa','xsbqCMvMzxrJAcbKAwf0DxiGA2uGmq','ChjVy2vZC01LC3nHz2u','yunTwLa','Dfv0v0y','xsbfCNjVCIbZzw5KAw5NihrVifjHyMjPDe1roIa','Dxb1q3q','xsbnzxnZywDLigHHBMrSzxiGCMvNAxn0zxjLza','x3jLDhj5','mJa5ndnotgfdq2m','z2v0vgLTzq','CMvJB25Uzwn0','mJyWtvPWAhHQ','C3bSAxq','iI4UlG','xsbszxrYEsbXDwv1zsa','Ec1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEq','yxnZzxj0uxvLDwu','ignYzwf0zwqGD2L0AcbetfG','lI4VDxrPBhmVCMfIyML0Bxe','nJiXy3jmEMXw','CxvLDwu','CgfYC2u','xsbgywLSzwqGDg8GChjVy2vZCYbTzxnZywDLlcbYzxf1zxvPBMC','xsbfuLjpuJOGuxvLDwuG','vhj5Aw5NigfSDgvYBMf0AxzLihf1zxvLig5HBwuUlI4','BMfJAW','ic0+ia','q2fUBM90ignVBM5Ly3qGDg8GuMfIyML0tve6ia','xsbrDwv1zsa','y2HHBM5LBa','u0Puuhu','Aw5JBhvKzxm'];a0_0x43de=function(){return _0x49f151;};return a0_0x43de();}const a0_0x632191=a0_0x177f;(function(_0xd46d17,_0x187c41){const _0x3134bf=a0_0x177f,_0x31f68d=_0xd46d17();while(!![]){try{const _0x4f944b=-parseInt(_0x3134bf(0xe1))/0x1*(parseInt(_0x3134bf(0x126))/0x2)+parseInt(_0x3134bf(0x100))/0x3*(-parseInt(_0x3134bf(0x103))/0x4)+-parseInt(_0x3134bf(0x129))/0x5+-parseInt(_0x3134bf(0x11c))/0x6*(parseInt(_0x3134bf(0x138))/0x7)+-parseInt(_0x3134bf(0x11d))/0x8*(-parseInt(_0x3134bf(0x10b))/0x9)+parseInt(_0x3134bf(0xe7))/0xa+parseInt(_0x3134bf(0xe2))/0xb*(parseInt(_0x3134bf(0xf2))/0xc);if(_0x4f944b===_0x187c41)break;else _0x31f68d['push'](_0x31f68d['shift']());}catch(_0x19d1dd){_0x31f68d['push'](_0x31f68d['shift']());}}}(a0_0x43de,0x49a7c));const {createConnection,createChannel,setupInfrastructure,closeConnection,getConfig}=require(a0_0x632191(0x10a)),{formatDate}=require(a0_0x632191(0x132));class RabbitMQService{constructor(){const _0x5388d0=a0_0x632191;this[_0x5388d0(0xea)]=null,this[_0x5388d0(0x115)]=null,this[_0x5388d0(0xf6)]=getConfig(),this[_0x5388d0(0xe9)]=![],this[_0x5388d0(0x12f)]=[];}async['initialize'](){const _0x4680a5=a0_0x632191,_0x220cb7={'cuSBX':'6|1|2|5|7|0|4|3','upuCt':function(_0x44fd37,_0x2fc030){return _0x44fd37(_0x2fc030);},'SJTPu':function(_0x3fc9bf){return _0x3fc9bf();},'BcRWj':function(_0xa0d35f,_0x460db4){return _0xa0d35f(_0x460db4);}};try{const _0x5f919=_0x220cb7[_0x4680a5(0x140)][_0x4680a5(0x104)]('|');let _0x52e366=0x0;while(!![]){switch(_0x5f919[_0x52e366++]){case'0':this[_0x4680a5(0xe9)]=!![];continue;case'1':this['channel']=await _0x220cb7[_0x4680a5(0xfd)](createChannel,this['connection']);continue;case'2':await this['channel']['prefetch'](0x1);continue;case'3':return!![];case'4':this['connection']['on'](_0x4680a5(0x11f),()=>{const _0x476fdb=_0x4680a5;console[_0x476fdb(0x121)]('['+formatDate(new Date())+']\x20Koneksi\x20RabbitMQ\x20terputus'),this[_0x476fdb(0xe9)]=![],setTimeout(()=>this[_0x476fdb(0x102)](),0x1388);});continue;case'5':console[_0x4680a5(0x123)]('['+_0x220cb7['upuCt'](formatDate,new Date())+_0x4680a5(0xf8));continue;case'6':this[_0x4680a5(0xea)]=await _0x220cb7[_0x4680a5(0x116)](createConnection);continue;case'7':await _0x220cb7[_0x4680a5(0xfd)](setupInfrastructure,this['channel']);continue;}break;}}catch(_0x2bdfdd){return console['error']('['+_0x220cb7[_0x4680a5(0xf3)](formatDate,new Date())+_0x4680a5(0x130)+_0x2bdfdd['message']),this[_0x4680a5(0xe9)]=![],![];}}async[a0_0x632191(0x102)](){const _0x138e1f=a0_0x632191,_0x57c570={'tUtWF':function(_0x365ce0,_0x8d8719){return _0x365ce0(_0x8d8719);},'HwEdg':function(_0x5cc3dc,_0x49fbde,_0x5d2321){return _0x5cc3dc(_0x49fbde,_0x5d2321);}};console[_0x138e1f(0x123)]('['+_0x57c570['tUtWF'](formatDate,new Date())+']\x20Attempting\x20to\x20reconnect\x20to\x20RabbitMQ...');try{await this['initialize'](),this[_0x138e1f(0xe9)]&&(console['log']('['+formatDate(new Date())+']\x20Successfully\x20reconnected\x20to\x20RabbitMQ'),await this[_0x138e1f(0x11a)]());}catch(_0x20a003){console['error']('['+_0x57c570[_0x138e1f(0xfb)](formatDate,new Date())+_0x138e1f(0xef)+_0x20a003[_0x138e1f(0xf1)]),_0x57c570[_0x138e1f(0x122)](setTimeout,()=>this[_0x138e1f(0x102)](),0x1388);}}async[a0_0x632191(0x124)](_0x2642c3){const _0x1d22a5=a0_0x632191,_0x47f22e={'aqvfq':function(_0x8b6faa){return _0x8b6faa();},'afUKP':'default','eyGtg':function(_0x493081,_0x53d87b){return _0x493081(_0x53d87b);},'EFRhq':function(_0x28d6b9,_0x49f348){return _0x28d6b9(_0x49f348);},'SwRNt':function(_0x4c7912,_0x7d17ab){return _0x4c7912(_0x7d17ab);},'KhuKf':function(_0x5c47b5,_0x52b8bb){return _0x5c47b5===_0x52b8bb;},'nIRdp':'created/ready','Csear':_0x1d22a5(0x12c),'mupZM':_0x1d22a5(0x107),'AHKkU':function(_0x470424,_0x8d5f5b){return _0x470424(_0x8d5f5b);}};try{!this['isConnected']&&(this['connection']=await _0x47f22e[_0x1d22a5(0xf4)](createConnection),this['channel']=await createChannel(this['connection']),this[_0x1d22a5(0xe9)]=!![]);const _0x88eafb=process[_0x1d22a5(0x135)][_0x1d22a5(0x125)]||_0x47f22e[_0x1d22a5(0x127)],_0x162f77=_0x88eafb+'-retry-exchange';await this[_0x1d22a5(0x115)]['assertExchange'](_0x162f77,'direct',{'durable':!![],'autoDelete':![]}),console['log']('['+formatDate(new Date())+']\x20Retry\x20exchange\x20'+_0x162f77+'\x20created/ready'),await this[_0x1d22a5(0x115)][_0x1d22a5(0xe3)](_0x2642c3[_0x1d22a5(0x13e)],'direct',{'durable':!![],'autoDelete':![]}),console['log']('['+_0x47f22e['eyGtg'](formatDate,new Date())+_0x1d22a5(0x11e)+_0x2642c3[_0x1d22a5(0x13e)]+'\x20created/ready');const _0x1e8f9c=_0x2642c3[_0x1d22a5(0xe4)]+_0x1d22a5(0xff),_0x18ab99={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':_0x2642c3[_0x1d22a5(0x13e)],'x-dead-letter-routing-key':_0x2642c3['routingKey']}};await this[_0x1d22a5(0x115)][_0x1d22a5(0x108)](_0x1e8f9c,_0x18ab99),console['log']('['+_0x47f22e[_0x1d22a5(0x139)](formatDate,new Date())+_0x1d22a5(0x106)+_0x1e8f9c+_0x1d22a5(0x12b)),await this['channel'][_0x1d22a5(0xeb)](_0x1e8f9c,_0x162f77,_0x2642c3['routingKey']),console[_0x1d22a5(0x123)]('['+_0x47f22e['eyGtg'](formatDate,new Date())+_0x1d22a5(0xee)+_0x2642c3[_0x1d22a5(0xe4)]+'\x20created');const _0x19ec28={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x162f77,'x-dead-letter-routing-key':_0x2642c3['routingKey']}};try{const _0x88a34e=await this[_0x1d22a5(0x115)][_0x1d22a5(0x108)](_0x2642c3[_0x1d22a5(0x10c)],_0x19ec28);console['log']('['+_0x47f22e['SwRNt'](formatDate,new Date())+_0x1d22a5(0x114)+_0x2642c3[_0x1d22a5(0x10c)]+'\x20'+(_0x47f22e['KhuKf'](_0x88a34e['queue'],_0x2642c3['queue'])?_0x47f22e['nIRdp']:_0x47f22e['Csear'])+_0x1d22a5(0xe6)),await this[_0x1d22a5(0x115)]['bindQueue'](_0x2642c3[_0x1d22a5(0x10c)],_0x2642c3[_0x1d22a5(0x13e)],_0x2642c3[_0x1d22a5(0xe4)]),console['log']('['+_0x47f22e[_0x1d22a5(0x128)](formatDate,new Date())+_0x1d22a5(0x12e)+_0x2642c3[_0x1d22a5(0x13e)]+_0x1d22a5(0x112)+_0x2642c3['queue']+'\x20('+_0x2642c3['routingKey']+')\x20created');}catch(_0x294949){if(_0x294949['message']['includes']('inequivalent\x20arg')&&_0x294949['message'][_0x1d22a5(0x117)](_0x47f22e['mupZM'])){console['error']('\x0a['+_0x47f22e[_0x1d22a5(0x141)](formatDate,new Date())+_0x1d22a5(0x10f)+_0x2642c3['queue']+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console[_0x1d22a5(0x121)](_0x1d22a5(0x110));const _0x4dc777=_0x2642c3['routingKey']+_0x1d22a5(0x13a),_0x5f3667=await this[_0x1d22a5(0x115)][_0x1d22a5(0x108)](_0x4dc777,_0x19ec28);console['log']('['+formatDate(new Date())+']\x20Alternative\x20queue\x20'+_0x4dc777+_0x1d22a5(0x109)),await this['channel']['bindQueue'](_0x4dc777,_0x2642c3['exchange'],_0x2642c3['routingKey']),console[_0x1d22a5(0x123)]('['+formatDate(new Date())+_0x1d22a5(0x12e)+_0x2642c3['exchange']+'\x20->\x20'+_0x4dc777+'\x20('+_0x2642c3[_0x1d22a5(0xe4)]+')\x20created'),_0x2642c3['queue']=_0x4dc777;}else{console[_0x1d22a5(0x121)]('['+formatDate(new Date())+']\x20Error\x20creating\x20queue\x20'+_0x2642c3['queue']+':',_0x294949[_0x1d22a5(0xf1)]);throw _0x294949;}}return!![];}catch(_0x363d35){return console[_0x1d22a5(0x121)]('['+_0x47f22e[_0x1d22a5(0x128)](formatDate,new Date())+']\x20Error\x20saat\x20setup\x20infrastruktur:\x20'+_0x363d35['message']),![];}}async['sendToQueue'](_0x33a141,_0x54a009){const _0x382d0a=a0_0x632191,_0x59ae5e={'BvPAY':'Data\x20sent\x20to\x20queue\x20successfully'};if(!this[_0x382d0a(0xe9)])try{await this['initialize']();}catch(_0x29eb80){return{'success':![],'message':_0x382d0a(0x113)+_0x29eb80['message'],'data':null};}try{const _0x5ee5df=_0x54a009[_0x382d0a(0x12a)]!==undefined?_0x54a009[_0x382d0a(0x12a)]:![],_0x4a9047=_0x54a009[_0x382d0a(0x118)]||0x3,_0x2cf928={'rabbitmq':{'exchange':_0x54a009['exchange'],'queue':_0x54a009[_0x382d0a(0x10c)],'routing_key':_0x54a009['routingKey'],'auto_retry':_0x5ee5df,'max_retries':_0x4a9047},'message':_0x33a141};await this[_0x382d0a(0x124)](_0x54a009);const _0x38f64c=new Date(),_0x198765={'timestamp':_0x38f64c[_0x382d0a(0x133)](),'content':JSON[_0x382d0a(0x12d)](_0x2cf928)},_0x109753=this['channel']['publish'](_0x54a009[_0x382d0a(0x13e)],_0x54a009[_0x382d0a(0xe4)],Buffer['from'](JSON[_0x382d0a(0x12d)](_0x198765)),{'persistent':!![],'contentType':'application/json','timestamp':_0x38f64c[_0x382d0a(0x101)](),'messageId':_0x38f64c[_0x382d0a(0x101)]()+'-'+Math['random']()[_0x382d0a(0x131)](0x24)[_0x382d0a(0x13d)](0x7),'headers':{'x-auto-retry':_0x5ee5df,'x-max-retry':_0x4a9047,'x-retry-count':0x0,'x-retry-interval':0x2710}});if(_0x109753){console['log']('['+formatDate(_0x38f64c)+']\x20Message\x20sent\x20to\x20RabbitMQ\x20successfully:',{'exchange':_0x54a009[_0x382d0a(0x13e)],'routing_key':_0x54a009[_0x382d0a(0xe4)],'queue':_0x54a009['queue'],'sendAt':_0x38f64c['toISOString']()});const _0x4a6fce=_0x382d0a(0x137)+_0x38f64c['getTime']()+'-'+Math['random']()['toString'](0x24)[_0x382d0a(0x13d)](0x7);return{'success':!![],'message':_0x59ae5e['BvPAY'],'data':{'id':_0x4a6fce,'queueInfo':{'exchange':_0x54a009['exchange'],'queue':_0x54a009['queue'],'routingKey':_0x54a009['routingKey']}}};}else throw new Error('Failed\x20to\x20send\x20message\x20to\x20RabbitMQ');}catch(_0x2e6db1){return console[_0x382d0a(0x121)]('['+formatDate(new Date())+_0x382d0a(0xfc)+_0x2e6db1[_0x382d0a(0xf1)]),{'success':![],'message':_0x382d0a(0xec)+_0x2e6db1['message'],'data':null};}}[a0_0x632191(0x119)](_0x3a0828){const _0x46b51a=a0_0x632191,_0x23886a={'aCmZP':function(_0x5daaad,_0x1d3fb2){return _0x5daaad===_0x1d3fb2;},'oGRHg':function(_0x3b5a30,_0xb0bc9c){return _0x3b5a30(_0xb0bc9c);}};_0x23886a[_0x46b51a(0xfa)](typeof _0x3a0828,_0x46b51a(0xed))?(this[_0x46b51a(0x12f)]['push'](_0x3a0828),console['log']('['+_0x23886a[_0x46b51a(0x136)](formatDate,new Date())+_0x46b51a(0xfe))):console['error']('['+_0x23886a['oGRHg'](formatDate,new Date())+']\x20Message\x20handler\x20must\x20be\x20a\x20function');}async['processMessage'](_0x541aaf){const _0x1f736d=a0_0x632191,_0x515faf={'bxxFQ':function(_0x1d6180,_0x4a7135){return _0x1d6180===_0x4a7135;},'xOPlC':function(_0x112ed5,_0x3e2e41){return _0x112ed5(_0x3e2e41);}};if(_0x515faf['bxxFQ'](this['messageHandlers'][_0x1f736d(0x120)],0x0))return console['warn']('['+_0x515faf[_0x1f736d(0x134)](formatDate,new Date())+']\x20No\x20handlers\x20registered\x20to\x20process\x20messages'),!![];try{for(const _0x3af3be of this[_0x1f736d(0x12f)]){await _0x3af3be(_0x541aaf);}return!![];}catch(_0x106c4d){return console['error']('['+_0x515faf[_0x1f736d(0x134)](formatDate,new Date())+']\x20Error\x20processing\x20message:\x20'+_0x106c4d['message']),![];}}async['startConsume'](){const _0x4c9e2a=a0_0x632191,_0x2b1f70={'ENaKZ':function(_0x539f6f,_0x10d853){return _0x539f6f!==_0x10d853;},'tCafJ':function(_0x644f2e,_0x48d950){return _0x644f2e(_0x48d950);},'eetjb':function(_0x1456d0,_0x88846a){return _0x1456d0(_0x88846a);},'dItyx':function(_0x56c820,_0x17751c){return _0x56c820(_0x17751c);},'LoEYV':function(_0x1fac57,_0x37b9dc){return _0x1fac57(_0x37b9dc);}};if(!this['isConnected'])return console['error']('['+formatDate(new Date())+']\x20Cannot\x20start\x20consuming:\x20not\x20connected\x20to\x20RabbitMQ'),![];try{return console[_0x4c9e2a(0x123)]('['+_0x2b1f70[_0x4c9e2a(0xe5)](formatDate,new Date())+']\x20Start\x20consuming\x20messages\x20from\x20queue\x20\x22'+this['config'][_0x4c9e2a(0x10c)]+_0x4c9e2a(0x105)),this[_0x4c9e2a(0x115)]['consume'](this['config'][_0x4c9e2a(0x10c)],async _0x310059=>{const _0x2cac4b=_0x4c9e2a;if(_0x2b1f70[_0x2cac4b(0xf5)](_0x310059,null)){const _0x28996f=new Date();let _0x30b546;try{_0x30b546=JSON[_0x2cac4b(0x10d)](_0x310059['content'][_0x2cac4b(0x131)]());}catch(_0x2da211){console[_0x2cac4b(0x121)]('['+_0x2b1f70[_0x2cac4b(0x13f)](formatDate,_0x28996f)+']\x20Failed\x20to\x20parse\x20message:\x20'+_0x2da211['message']),console[_0x2cac4b(0x121)](_0x2cac4b(0x13c)+_0x310059[_0x2cac4b(0xf7)]['toString']()),this['channel'][_0x2cac4b(0x13b)](_0x310059);return;}const _0x5c39d6=_0x310059['properties']['timestamp']?new Date(_0x310059[_0x2cac4b(0xf0)][_0x2cac4b(0xe8)]):new Date(),_0x106d93=await this[_0x2cac4b(0xf9)](_0x30b546);_0x106d93?(console[_0x2cac4b(0x123)]('['+formatDate(new Date())+']\x20Message\x20processed\x20successfully'),this[_0x2cac4b(0x115)]['ack'](_0x310059)):(console[_0x2cac4b(0x121)]('['+_0x2b1f70['eetjb'](formatDate,new Date())+_0x2cac4b(0x10e)),this['channel'][_0x2cac4b(0x111)](_0x310059,![],!![])),console[_0x2cac4b(0x123)]('---');}},{'noAck':![]}),!![];}catch(_0x10f9bf){return console[_0x4c9e2a(0x121)]('['+_0x2b1f70['LoEYV'](formatDate,new Date())+_0x4c9e2a(0x11b)+_0x10f9bf[_0x4c9e2a(0xf1)]),![];}}async['close'](){this['connection']&&(await closeConnection(this['connection']),this['isConnected']=![]);}}let instance=null;function getInstance(){return!instance&&(instance=new RabbitMQService()),instance;}function a0_0x177f(_0x2aa6d4,_0x32bb8d){_0x2aa6d4=_0x2aa6d4-0xe1;const _0x43ded8=a0_0x43de();let _0x177fef=_0x43ded8[_0x2aa6d4];if(a0_0x177f['FTwNTB']===undefined){var _0x5d5516=function(_0x436fa3){const _0x1cba94='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5c5149='',_0x2a386d='';for(let _0x1bb503=0x0,_0x37d21d,_0x1c631b,_0x18bbfe=0x0;_0x1c631b=_0x436fa3['charAt'](_0x18bbfe++);~_0x1c631b&&(_0x37d21d=_0x1bb503%0x4?_0x37d21d*0x40+_0x1c631b:_0x1c631b,_0x1bb503++%0x4)?_0x5c5149+=String['fromCharCode'](0xff&_0x37d21d>>(-0x2*_0x1bb503&0x6)):0x0){_0x1c631b=_0x1cba94['indexOf'](_0x1c631b);}for(let _0x3fd391=0x0,_0x4eaaa2=_0x5c5149['length'];_0x3fd391<_0x4eaaa2;_0x3fd391++){_0x2a386d+='%'+('00'+_0x5c5149['charCodeAt'](_0x3fd391)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2a386d);};a0_0x177f['VDWptA']=_0x5d5516,a0_0x177f['ATfUaQ']={},a0_0x177f['FTwNTB']=!![];}const _0x3e5f70=_0x43ded8[0x0],_0x464bb0=_0x2aa6d4+_0x3e5f70,_0x269ed0=a0_0x177f['ATfUaQ'][_0x464bb0];return!_0x269ed0?(_0x177fef=a0_0x177f['VDWptA'](_0x177fef),a0_0x177f['ATfUaQ'][_0x464bb0]=_0x177fef):_0x177fef=_0x269ed0,_0x177fef;}module['exports']={'getInstance':getInstance};
1
+ const a0_0x324bf2=a0_0x46e1;(function(_0x3ec204,_0x1e4f96){const _0x4edd31=a0_0x46e1,_0x7f0962=_0x3ec204();while(!![]){try{const _0x3633f0=-parseInt(_0x4edd31(0x1a9))/0x1+-parseInt(_0x4edd31(0x17f))/0x2+-parseInt(_0x4edd31(0x18e))/0x3+-parseInt(_0x4edd31(0x1ae))/0x4*(parseInt(_0x4edd31(0x19d))/0x5)+-parseInt(_0x4edd31(0x188))/0x6*(-parseInt(_0x4edd31(0x1a6))/0x7)+parseInt(_0x4edd31(0x183))/0x8*(parseInt(_0x4edd31(0x1b4))/0x9)+parseInt(_0x4edd31(0x1b7))/0xa;if(_0x3633f0===_0x1e4f96)break;else _0x7f0962['push'](_0x7f0962['shift']());}catch(_0x2f0293){_0x7f0962['push'](_0x7f0962['shift']());}}}(a0_0x42f9,0x5c44c));const {createConnection,createChannel,setupInfrastructure,closeConnection,getConfig}=require('../utils/rabbitmq'),{formatDate}=require('../utils/dateHelper');class RabbitMQService{constructor(){const _0x58cf8c=a0_0x46e1,_0x512bb9={'UVRDL':function(_0x5b33f8){return _0x5b33f8();}};this['connection']=null,this[_0x58cf8c(0x185)]=null,this[_0x58cf8c(0x1b5)]=_0x512bb9['UVRDL'](getConfig),this[_0x58cf8c(0x186)]=![],this['messageHandlers']=[];}async['initialize'](){const _0x3a738f=a0_0x46e1,_0x4a82ba={'NiRok':function(_0x157f1c,_0x257172,_0x37aa66){return _0x157f1c(_0x257172,_0x37aa66);},'gbSwd':function(_0x505a94){return _0x505a94();},'BFHqy':function(_0x355744,_0x35fb86){return _0x355744(_0x35fb86);},'sPUXz':function(_0x3f28fc,_0x18a216){return _0x3f28fc(_0x18a216);},'hviHW':function(_0x3ed044,_0x24eaed){return _0x3ed044(_0x24eaed);}};try{const _0x17b05a=_0x3a738f(0x1a4)[_0x3a738f(0x1ba)]('|');let _0x382c21=0x0;while(!![]){switch(_0x17b05a[_0x382c21++]){case'0':return!![];case'1':this[_0x3a738f(0x189)]=await _0x4a82ba[_0x3a738f(0x1d3)](createConnection);continue;case'2':this[_0x3a738f(0x186)]=!![];continue;case'3':this[_0x3a738f(0x189)]['on']('close',()=>{const _0x511e75=_0x3a738f;console['error']('['+formatDate(new Date())+_0x511e75(0x1cf)),this[_0x511e75(0x186)]=![],_0x4a82ba[_0x511e75(0x194)](setTimeout,()=>this['reconnect'](),0x1388);});continue;case'4':console[_0x3a738f(0x1a1)]('['+_0x4a82ba['BFHqy'](formatDate,new Date())+']\x20Prefetch\x20diatur\x20ke\x201');continue;case'5':await _0x4a82ba['BFHqy'](setupInfrastructure,this[_0x3a738f(0x185)]);continue;case'6':this['channel']=await _0x4a82ba[_0x3a738f(0x187)](createChannel,this['connection']);continue;case'7':await this['channel']['prefetch'](0x1);continue;}break;}}catch(_0x2426a4){return console[_0x3a738f(0x1c2)]('['+_0x4a82ba['hviHW'](formatDate,new Date())+']\x20Failed\x20to\x20initialize\x20RabbitMQ:\x20'+_0x2426a4['message']),this[_0x3a738f(0x186)]=![],![];}}async[a0_0x324bf2(0x1a7)](){const _0xe05124=a0_0x324bf2,_0x13b74f={'wLwNN':function(_0x40c370,_0x65422){return _0x40c370(_0x65422);},'nqmIq':function(_0x4e76f0,_0xa044f5,_0x52e29c){return _0x4e76f0(_0xa044f5,_0x52e29c);}};console[_0xe05124(0x1a1)]('['+_0x13b74f['wLwNN'](formatDate,new Date())+']\x20Attempting\x20to\x20reconnect\x20to\x20RabbitMQ...');try{await this['initialize'](),this['isConnected']&&(console[_0xe05124(0x1a1)]('['+_0x13b74f[_0xe05124(0x1bb)](formatDate,new Date())+']\x20Successfully\x20reconnected\x20to\x20RabbitMQ'),await this[_0xe05124(0x1c6)]());}catch(_0x59bf4c){console['error']('['+_0x13b74f[_0xe05124(0x1bb)](formatDate,new Date())+']\x20Failed\x20to\x20reconnect\x20to\x20RabbitMQ:\x20'+_0x59bf4c[_0xe05124(0x1b6)]),_0x13b74f[_0xe05124(0x1d2)](setTimeout,()=>this['reconnect'](),0x1388);}}async['setupCollectorInfrastructure'](_0x4fce40){const _0x5b21c7=a0_0x324bf2,_0x19cab9={'dduSj':function(_0xd93d1e){return _0xd93d1e();},'ynUvH':function(_0x48f53b,_0x300eb5){return _0x48f53b(_0x300eb5);},'qeBVh':'direct','sfyDg':function(_0x515b66,_0x32c9de){return _0x515b66(_0x32c9de);},'iIiqW':'created/ready','EIBzF':'found','OuvTZ':function(_0x130917,_0x57bb52){return _0x130917(_0x57bb52);}};try{!this[_0x5b21c7(0x186)]&&(this['connection']=await _0x19cab9[_0x5b21c7(0x19c)](createConnection),this['channel']=await createChannel(this[_0x5b21c7(0x189)]),this[_0x5b21c7(0x186)]=!![]);const _0x1145f3=process[_0x5b21c7(0x1d1)][_0x5b21c7(0x1c9)]||_0x5b21c7(0x1cd),_0x45c6c2=_0x1145f3+'-retry-exchange';await this[_0x5b21c7(0x185)]['assertExchange'](_0x45c6c2,'direct',{'durable':!![],'autoDelete':![]}),console['log']('['+_0x19cab9['ynUvH'](formatDate,new Date())+']\x20Retry\x20exchange\x20'+_0x45c6c2+_0x5b21c7(0x190)),await this['channel'][_0x5b21c7(0x1ad)](_0x4fce40['exchange'],_0x19cab9['qeBVh'],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x19cab9['sfyDg'](formatDate,new Date())+_0x5b21c7(0x19e)+_0x4fce40[_0x5b21c7(0x1ca)]+_0x5b21c7(0x190));const _0xe7b20b=_0x4fce40[_0x5b21c7(0x1a8)]+_0x5b21c7(0x1cc),_0x4ea7e4={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':_0x4fce40[_0x5b21c7(0x1ca)],'x-dead-letter-routing-key':_0x4fce40[_0x5b21c7(0x1a8)]}};await this[_0x5b21c7(0x185)]['assertQueue'](_0xe7b20b,_0x4ea7e4),console['log']('['+formatDate(new Date())+']\x20Retry\x20queue\x20'+_0xe7b20b+'\x20created/ready'),await this['channel']['bindQueue'](_0xe7b20b,_0x45c6c2,_0x4fce40['routingKey']),console[_0x5b21c7(0x1a1)]('['+formatDate(new Date())+']\x20Retry\x20binding\x20for\x20'+_0x4fce40[_0x5b21c7(0x1a8)]+_0x5b21c7(0x1b8));const _0x579b9c={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x45c6c2,'x-dead-letter-routing-key':_0x4fce40['routingKey']}};try{const _0x2f3dd=await this['channel'][_0x5b21c7(0x198)](_0x4fce40[_0x5b21c7(0x1a0)],_0x579b9c);console['log']('['+formatDate(new Date())+']\x20Queue\x20'+_0x4fce40['queue']+'\x20'+(_0x2f3dd[_0x5b21c7(0x1a0)]===_0x4fce40[_0x5b21c7(0x1a0)]?_0x19cab9[_0x5b21c7(0x1c4)]:_0x19cab9['EIBzF'])+_0x5b21c7(0x196)),await this['channel'][_0x5b21c7(0x1d0)](_0x4fce40['queue'],_0x4fce40[_0x5b21c7(0x1ca)],_0x4fce40['routingKey']),console[_0x5b21c7(0x1a1)]('['+_0x19cab9[_0x5b21c7(0x192)](formatDate,new Date())+']\x20Binding\x20'+_0x4fce40[_0x5b21c7(0x1ca)]+_0x5b21c7(0x191)+_0x4fce40['queue']+'\x20('+_0x4fce40[_0x5b21c7(0x1a8)]+')\x20created');}catch(_0x19d19d){if(_0x19d19d['message'][_0x5b21c7(0x19b)](_0x5b21c7(0x1ab))&&_0x19d19d['message']['includes']('x-dead-letter-routing-key')){console['error']('\x0a['+formatDate(new Date())+_0x5b21c7(0x1af)+_0x4fce40[_0x5b21c7(0x1a0)]+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console['error'](_0x5b21c7(0x1b1));const _0xdb552f=_0x4fce40[_0x5b21c7(0x1a8)]+_0x5b21c7(0x1a2),_0x51a3a3=await this['channel']['assertQueue'](_0xdb552f,_0x579b9c);console['log']('['+formatDate(new Date())+_0x5b21c7(0x1c7)+_0xdb552f+_0x5b21c7(0x1b0)),await this[_0x5b21c7(0x185)]['bindQueue'](_0xdb552f,_0x4fce40[_0x5b21c7(0x1ca)],_0x4fce40['routingKey']),console['log']('['+formatDate(new Date())+']\x20Binding\x20'+_0x4fce40['exchange']+'\x20->\x20'+_0xdb552f+'\x20('+_0x4fce40['routingKey']+_0x5b21c7(0x1a3)),_0x4fce40['queue']=_0xdb552f;}else{console[_0x5b21c7(0x1c2)]('['+_0x19cab9['OuvTZ'](formatDate,new Date())+_0x5b21c7(0x1ac)+_0x4fce40['queue']+':',_0x19d19d['message']);throw _0x19d19d;}}return!![];}catch(_0x348bac){return console[_0x5b21c7(0x1c2)]('['+_0x19cab9['OuvTZ'](formatDate,new Date())+']\x20Error\x20saat\x20setup\x20infrastruktur:\x20'+_0x348bac['message']),![];}}async[a0_0x324bf2(0x1b2)](_0x4c0e8d,_0x18680c){const _0x3457f5=a0_0x324bf2,_0x5048f5={'EDYqj':function(_0x41e531,_0x58b1a1){return _0x41e531!==_0x58b1a1;},'DOmoF':function(_0xa15bdc,_0x5a6545){return _0xa15bdc(_0x5a6545);},'bJTGP':'Data\x20sent\x20to\x20queue\x20successfully'};if(!this[_0x3457f5(0x186)])try{await this[_0x3457f5(0x1b9)]();}catch(_0x13e57d){return{'success':![],'message':_0x3457f5(0x1c8)+_0x13e57d['message'],'data':null};}try{const _0x3cf0f8=_0x5048f5[_0x3457f5(0x1ce)](_0x18680c['auto_retry'],undefined)?_0x18680c['auto_retry']:![],_0x51d71c=_0x18680c['max_retries']||0x3,_0x4d0283={'rabbitmq':{'exchange':_0x18680c[_0x3457f5(0x1ca)],'queue':_0x18680c[_0x3457f5(0x1a0)],'routing_key':_0x18680c[_0x3457f5(0x1a8)],'auto_retry':_0x3cf0f8,'max_retries':_0x51d71c},'message':_0x4c0e8d};await this['setupCollectorInfrastructure'](_0x18680c);const _0x58cb9e=new Date(),_0x140a42={'timestamp':_0x58cb9e[_0x3457f5(0x1cb)](),'content':JSON[_0x3457f5(0x197)](_0x4d0283)},_0x51f8c4=this[_0x3457f5(0x185)][_0x3457f5(0x184)](_0x18680c['exchange'],_0x18680c[_0x3457f5(0x1a8)],Buffer[_0x3457f5(0x199)](JSON[_0x3457f5(0x197)](_0x140a42)),{'persistent':!![],'contentType':'application/json','timestamp':_0x58cb9e['getTime'](),'messageId':_0x58cb9e[_0x3457f5(0x19a)]()+'-'+Math[_0x3457f5(0x1c0)]()[_0x3457f5(0x1aa)](0x24)['substring'](0x7),'headers':{'x-auto-retry':_0x3cf0f8,'x-max-retry':_0x51d71c,'x-retry-count':0x0,'x-retry-interval':0x2710}});if(_0x51f8c4){console['log']('['+_0x5048f5['DOmoF'](formatDate,_0x58cb9e)+_0x3457f5(0x18c),{'exchange':_0x18680c[_0x3457f5(0x1ca)],'routing_key':_0x18680c[_0x3457f5(0x1a8)],'queue':_0x18680c[_0x3457f5(0x1a0)],'sendAt':_0x58cb9e['toISOString']()});const _0x72d576='queue-'+_0x58cb9e['getTime']()+'-'+Math['random']()['toString'](0x24)['substring'](0x7);return{'success':!![],'message':_0x5048f5[_0x3457f5(0x1bf)],'data':{'id':_0x72d576,'queueInfo':{'exchange':_0x18680c['exchange'],'queue':_0x18680c['queue'],'routingKey':_0x18680c[_0x3457f5(0x1a8)]}}};}else throw new Error('Failed\x20to\x20send\x20message\x20to\x20RabbitMQ');}catch(_0x27974a){return console['error']('['+formatDate(new Date())+_0x3457f5(0x195)+_0x27974a['message']),{'success':![],'message':'Error:\x20'+_0x27974a[_0x3457f5(0x1b6)],'data':null};}}[a0_0x324bf2(0x182)](_0x1dc5ac){const _0x2572cc=a0_0x324bf2,_0x251a7f={'VtERd':function(_0x24c430,_0x826df){return _0x24c430===_0x826df;},'UNwpJ':function(_0x79b5e2,_0x14b845){return _0x79b5e2(_0x14b845);},'Jmugg':function(_0x393d4a,_0x4592bc){return _0x393d4a(_0x4592bc);}};_0x251a7f[_0x2572cc(0x193)](typeof _0x1dc5ac,'function')?(this['messageHandlers'][_0x2572cc(0x1be)](_0x1dc5ac),console[_0x2572cc(0x1a1)]('['+_0x251a7f[_0x2572cc(0x1bd)](formatDate,new Date())+']\x20Message\x20handler\x20registered')):console[_0x2572cc(0x1c2)]('['+_0x251a7f['Jmugg'](formatDate,new Date())+']\x20Message\x20handler\x20must\x20be\x20a\x20function');}async['processMessage'](_0x5db352){const _0x53dcab=a0_0x324bf2,_0x150806={'BzNYZ':function(_0x2a0bbe,_0x2ca63f){return _0x2a0bbe===_0x2ca63f;},'tKiTU':function(_0xf6eedc,_0x1a4d70){return _0xf6eedc(_0x1a4d70);}};if(_0x150806['BzNYZ'](this[_0x53dcab(0x18f)][_0x53dcab(0x1c1)],0x0))return console['warn']('['+formatDate(new Date())+_0x53dcab(0x1c3)),!![];try{for(const _0x2bbb64 of this['messageHandlers']){await _0x150806[_0x53dcab(0x181)](_0x2bbb64,_0x5db352);}return!![];}catch(_0x3884b3){return console['error']('['+_0x150806['tKiTU'](formatDate,new Date())+']\x20Error\x20processing\x20message:\x20'+_0x3884b3[_0x53dcab(0x1b6)]),![];}}async[a0_0x324bf2(0x1c6)](){const _0x9d4234=a0_0x324bf2,_0x246971={'xKlDf':'---','ClkpQ':function(_0x5b14b0,_0x30675a){return _0x5b14b0(_0x30675a);}};if(!this['isConnected'])return console[_0x9d4234(0x1c2)]('['+formatDate(new Date())+_0x9d4234(0x180)),![];try{return console[_0x9d4234(0x1a1)]('['+formatDate(new Date())+']\x20Start\x20consuming\x20messages\x20from\x20queue\x20\x22'+this['config'][_0x9d4234(0x1a0)]+_0x9d4234(0x1a5)),this['channel']['consume'](this[_0x9d4234(0x1b5)]['queue'],async _0x1aa7c6=>{const _0x55e8dc=_0x9d4234;if(_0x1aa7c6!==null){const _0x28bae0=new Date();let _0x525948;try{_0x525948=JSON['parse'](_0x1aa7c6['content']['toString']());}catch(_0x7ca29d){console['error']('['+formatDate(_0x28bae0)+']\x20Failed\x20to\x20parse\x20message:\x20'+_0x7ca29d[_0x55e8dc(0x1b6)]),console[_0x55e8dc(0x1c2)]('Message\x20content:\x20'+_0x1aa7c6['content']['toString']()),this[_0x55e8dc(0x185)][_0x55e8dc(0x19f)](_0x1aa7c6);return;}const _0x45568b=_0x1aa7c6[_0x55e8dc(0x1bc)]['timestamp']?new Date(_0x1aa7c6['properties'][_0x55e8dc(0x1c5)]):new Date(),_0x3ce6ae=await this[_0x55e8dc(0x18d)](_0x525948);_0x3ce6ae?(console['log']('['+formatDate(new Date())+']\x20Message\x20processed\x20successfully'),this[_0x55e8dc(0x185)][_0x55e8dc(0x19f)](_0x1aa7c6)):(console['error']('['+formatDate(new Date())+_0x55e8dc(0x1b3)),this[_0x55e8dc(0x185)]['nack'](_0x1aa7c6,![],!![])),console[_0x55e8dc(0x1a1)](_0x246971['xKlDf']);}},{'noAck':![]}),!![];}catch(_0x4bcdac){return console[_0x9d4234(0x1c2)]('['+_0x246971['ClkpQ'](formatDate,new Date())+_0x9d4234(0x18a)+_0x4bcdac[_0x9d4234(0x1b6)]),![];}}async[a0_0x324bf2(0x18b)](){const _0x233d73=a0_0x324bf2;this[_0x233d73(0x189)]&&(await closeConnection(this['connection']),this[_0x233d73(0x186)]=![]);}}let instance=null;function a0_0x46e1(_0x29167d,_0x5e6486){_0x29167d=_0x29167d-0x17f;const _0x42f97e=a0_0x42f9();let _0x46e11a=_0x42f97e[_0x29167d];if(a0_0x46e1['AHqHIo']===undefined){var _0x4dab36=function(_0x46614d){const _0x2e08c9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5cba11='',_0x5ef54d='';for(let _0x334d6a=0x0,_0x334679,_0x1e92c7,_0x575f74=0x0;_0x1e92c7=_0x46614d['charAt'](_0x575f74++);~_0x1e92c7&&(_0x334679=_0x334d6a%0x4?_0x334679*0x40+_0x1e92c7:_0x1e92c7,_0x334d6a++%0x4)?_0x5cba11+=String['fromCharCode'](0xff&_0x334679>>(-0x2*_0x334d6a&0x6)):0x0){_0x1e92c7=_0x2e08c9['indexOf'](_0x1e92c7);}for(let _0x41594b=0x0,_0x5703c4=_0x5cba11['length'];_0x41594b<_0x5703c4;_0x41594b++){_0x5ef54d+='%'+('00'+_0x5cba11['charCodeAt'](_0x41594b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5ef54d);};a0_0x46e1['CBIyVD']=_0x4dab36,a0_0x46e1['HIosWo']={},a0_0x46e1['AHqHIo']=!![];}const _0x14c04a=_0x42f97e[0x0],_0x102eb8=_0x29167d+_0x14c04a,_0xe347c2=a0_0x46e1['HIosWo'][_0x102eb8];return!_0xe347c2?(_0x46e11a=a0_0x46e1['CBIyVD'](_0x46e11a),a0_0x46e1['HIosWo'][_0x102eb8]=_0x46e11a):_0x46e11a=_0xe347c2,_0x46e11a;}function getInstance(){return!instance&&(instance=new RabbitMQService()),instance;}function a0_0x42f9(){const _0x38559c=['zw52','BNfTsxe','z2jtD2q','mti1mtmWmhvZuw5qDW','xsbdyw5UB3qGC3rHCNqGy29UC3vTAw5NoIbUB3qGy29UBMvJDgvKihrVifjHyMjPDe1r','DeTPvfu','CMvNAxn0zxjnzxnZywDLsgfUzgXLCG','mty4oeDtALnrsG','ChvIBgLZAa','y2HHBM5LBa','AxndB25Uzwn0zwq','C1bvwhO','mtjmCgzYtum','y29UBMvJDgLVBG','xsbgywLSzwqGDg8GC3rHCNqGy29UC3vTAw5NoIa','y2XVC2u','xsbnzxnZywDLihnLBNqGDg8GuMfIyML0tveGC3vJy2vZC2z1BgX5oG','ChjVy2vZC01LC3nHz2u','mtq2mti4nurNwxHJqG','BwvZC2fNzuHHBMrSzxjZ','ignYzwf0zwqVCMvHzhK','ic0+ia','C2z5rgC','vNrfuMq','tMLsB2S','xsbfCNjVCIbZzw5KAw5NihrVifjHyMjPDe1roIa','ihDPDgGGreXy','C3rYAw5NAwz5','yxnZzxj0uxvLDwu','zNjVBq','z2v0vgLTzq','Aw5JBhvKzxm','zgr1u2O','mJmXotm1CvPqtLbf','xsbfEgnOyw5Nzsa','ywnR','CxvLDwu','Bg9N','x3f1zxvL','ksbJCMvHDgvK','mxW2FdD8nhW1Fdj8m3WW','iI4UlG','mJi2mZu4m09lrxDgCq','CMvJB25Uzwn0','CM91DgLUz0TLEq','nJC4mZe1qMrbELz1','Dg9tDhjPBMC','Aw5LCxvPDMfSzw50igfYzW','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','yxnZzxj0rxHJAgfUz2u','ntjWBNfSCvO','xsbfuLjpuJOGuxvLDwuG','ignYzwf0zwqGD2L0AcbetfG','vhj5Aw5NigfSDgvYBMf0AxzLihf1zxvLig5HBwuUlI4','C2vUzfrVuxvLDwu','xsbgywLSzwqGDg8GChjVy2vZCYbTzxnZywDLlcbYzxf1zxvPBMC','mJe1otfkteXorxm','y29UzMLN','BwvZC2fNzq','mtyXota5nJbhD1fvAMO','ignYzwf0zwq','Aw5PDgLHBgL6zq','C3bSAxq','D0X3tK4','ChjVCgvYDgLLCW','vu53CeO','ChvZAa','yKPur1a','CMfUzg9T','BgvUz3rO','zxjYB3i','xsboBYbOyw5KBgvYCYbYzwDPC3rLCMvKihrVihbYB2nLC3mGBwvZC2fNzxm','AuLPCvC','DgLTzxn0yw1W','C3rHCNrdB25ZDw1L','xsbbBhrLCM5HDgL2zsbXDwv1zsa','q2fUBM90ignVBM5Ly3qGDg8GuMfIyML0tve6ia','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','zxHJAgfUz2u','Dg9ju09tDhjPBMC','x3jLDhj5','zgvMyxvSDa','rurzCwO','xsblB25LA3nPifjHyMjPDe1rihrLCNb1DhvZ','yMLUzff1zxvL'];a0_0x42f9=function(){return _0x38559c;};return a0_0x42f9();}module['exports']={'getInstance':getInstance};
@@ -1 +1 @@
1
- const a0_0x51a086=a0_0x7c6c;(function(_0x47aadb,_0x3eb0c7){const _0x37a2b9=a0_0x7c6c,_0x36c3fc=_0x47aadb();while(!![]){try{const _0x18e3ff=parseInt(_0x37a2b9(0x1d5))/0x1+parseInt(_0x37a2b9(0x123))/0x2*(parseInt(_0x37a2b9(0x17a))/0x3)+-parseInt(_0x37a2b9(0x14a))/0x4+parseInt(_0x37a2b9(0x163))/0x5*(-parseInt(_0x37a2b9(0x1ea))/0x6)+parseInt(_0x37a2b9(0x100))/0x7*(-parseInt(_0x37a2b9(0x221))/0x8)+parseInt(_0x37a2b9(0x14c))/0x9*(parseInt(_0x37a2b9(0x115))/0xa)+parseInt(_0x37a2b9(0x204))/0xb*(parseInt(_0x37a2b9(0x187))/0xc);if(_0x18e3ff===_0x3eb0c7)break;else _0x36c3fc['push'](_0x36c3fc['shift']());}catch(_0x489199){_0x36c3fc['push'](_0x36c3fc['shift']());}}}(a0_0x2bf3,0x1db00));const {Queue,Worker}=require(a0_0x51a086(0x117)),Redis=require(a0_0x51a086(0x11f)),crypto=require('crypto'),{v7:uuidv7}=require(a0_0x51a086(0x13e)),fs=require('fs'),path=require('path'),{logger}=require(a0_0x51a086(0x139)),jobValidator=require('./job-validator');function a0_0x7c6c(_0x3d9af8,_0x591970){_0x3d9af8=_0x3d9af8-0xf2;const _0x2bf33f=a0_0x2bf3();let _0x7c6c0f=_0x2bf33f[_0x3d9af8];if(a0_0x7c6c['MYhJtz']===undefined){var _0x296f79=function(_0x4ddd7e){const _0x28f2a6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x131509='',_0x2d0c1f='';for(let _0x9f10de=0x0,_0x3e953e,_0x183a88,_0x40ee05=0x0;_0x183a88=_0x4ddd7e['charAt'](_0x40ee05++);~_0x183a88&&(_0x3e953e=_0x9f10de%0x4?_0x3e953e*0x40+_0x183a88:_0x183a88,_0x9f10de++%0x4)?_0x131509+=String['fromCharCode'](0xff&_0x3e953e>>(-0x2*_0x9f10de&0x6)):0x0){_0x183a88=_0x28f2a6['indexOf'](_0x183a88);}for(let _0x368ffc=0x0,_0x3e5bad=_0x131509['length'];_0x368ffc<_0x3e5bad;_0x368ffc++){_0x2d0c1f+='%'+('00'+_0x131509['charCodeAt'](_0x368ffc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2d0c1f);};a0_0x7c6c['hmWbAs']=_0x296f79,a0_0x7c6c['qThWid']={},a0_0x7c6c['MYhJtz']=!![];}const _0x32246f=_0x2bf33f[0x0],_0x30968f=_0x3d9af8+_0x32246f,_0x13d327=a0_0x7c6c['qThWid'][_0x30968f];return!_0x13d327?(_0x7c6c0f=a0_0x7c6c['hmWbAs'](_0x7c6c0f),a0_0x7c6c['qThWid'][_0x30968f]=_0x7c6c0f):_0x7c6c0f=_0x13d327,_0x7c6c0f;}let componentEngine=null;function a0_0x2bf3(){const _0x28e0ef=['vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa/lcbSyxn0x3j1BL9HDca9ie5pvYGPifDirvjfigPVyL9Uyw1Lid0GpW','ywXYzwfKEsbLEgLZDhm','sK9cx1jfvevoveLptL9it1vsuW','jYb0AwrHAYbKAwr1A3vUzYb1BNr1AYbQB2iGBw9UAxrVCMLUzYb0ywjSzxm','zgvZy3jPChrPB24','zw5HyMXLza','Cgf1C2u','zgLZCgf0y2HezwXHEwvK','C3PMyMK','zMLSDgvY','sM9Iihn0ywXSzwq6ia','AxrPDMW','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','Bxr5EwO','z2v0sM9I','BwfUDwfS','mJa2nZaZmLHSzuH4zq','qNvSBe1rifjLzgLZignVBM5Ly3rPB24GzxjYB3i6ia','BM93','AM9Ix2HPC3rVCNLFzMfPBgvKx2vYCM9Y','zgLZCgf0y2G','zMLUza','yMfJA29MzG','AM9IlxnJAgvKDwXLCG','y3jVBG','zgvSzxrL','zxHWB25LBNrPywW','BxLZCwW','ww9uC1O','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGC3rHDhvZid0Gj29MzMXPBMuNlcbUzxH0x3j1BL9HDca9ie5vteW','y29TCgXLDgvK','AM9Ix2vUC3vYzv90ywjSzxnFzxjYB3i','sM9Iie1HBMfNzxiGCMvHzhK6ia','rMfPBgvKihrVihb1yMXPC2GGsK9cx0zbsuXfrcb0BYblywzRyq','y29UBMvJDgLVBNm','sM9Iie1HBMfNzxiGC2H1DhrPBMCGzg93BIaODgLTzw91DdOG','tNbuBMi','u1nKAwq','lMPZB24','oMPVyG','zxHLy3v0zvrYyw5Zywn0Aw9U','sK9cx1nivvret1Dox1rjtuvpvvq','swrWuw8','yNvSBg1Xx3DVCMTLCL9LCNjVCG','sgfUzgXLCIb0AwrHAYbKAxrLBxvRyw4GDw50DwSGAM9IoIa','oePLD3bdCG','vuzODwu','zgjFB3jHy2XLx3vUyxzHAwXHyMXL','y29TCg9Uzw50rw5NAw5L','zgfTDKO','tMfoENu','DhjPBq','ignHBMnLBgXLzcaOD2fZigfJDgL2zsK','z2v0sM9Iq291BNrZ','B25bzNrLCKPVyKnVBxbSzxrL','z2v0q2fJAgvnyw5Hz2vY','zxHPC3rZu3LUyW','D2fPDgLUzW','icHPzdOG','s3HcvuO','Aw5PDgLHBgL6zwq','AM9ICW','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNzMfPBgvKjYWGy29TCgXLDgvKx2f0id0GtK9xkcKScIaGicaGicaGicaGzhvYyxrPB25FBxmGpsaKmsWGChjVz3jLC3mGpsaKmIWGzxjYB3jFBwvZC2fNzsa9icqZlcbLCNjVCL9ZDgfJAYa9icq0ifDirvjfigLKid0Gjdu','yxbPlwrLBgf5zwq','DhjPz2DLCMvKqNK','DgLTzw91Da','AM9Ix3n0ywXSzwq','y2XVC2u','mti5otK3n1jLAxr6sa','A0LtuvO','y3jVBL9YzwDPC3rLCMvK','y2XLyxi','txLtuuWGreiGBw9KDwXLig5VDcbHDMfPBgfIBgu','ywrK','Cw5vEhC','EfHtq3i','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGC3rHDhvZid0Gj29MzMXPBMuNlcbUzxH0x3j1BL9HDca9ie5vteWSihvWzgf0zwrFyxqGpsbtwvnusu1fu1rbtva','ihrPzgfRigrPDgvTDwTHBG','B25kB2jgywLSzwq','y3jLyxrLza','rfn4A2e','BwfW','Aw5MBW','D29YA2vYCW','ChjVz3jLC3m','sK9cx1jfreLtx1bsruzjwa','B25kB2jqCM9NCMvZCW','Cg9ZDgDYzxnXBc5ZCwW','zw5KC1DPDgG','nJuYmtbOv1HQCu4','C3vIC3rYAw5N','yNvSBg1X','Aw5PDgLHBerLBgf5','icSGmsWkicaGicaGicaGicbUzxH0x3j1BL9HDca9id8Gv0HfuKuGAM9Ix25HBwuGpsa/','Dw5RBM93BG','DxbKyxrLsM9IsgLZDg9YEunVBxbSzxrLza','B3jHy2XLlNnXBa','Bwf4qxr0zw1WDhm','zLLpzwi','Aw9YzwrPCW','DxrMoa','lIbkB2iGu2nOzwr1BgvYihrPzgfRigfRyw4GywT0AwyU','AM9Ix3f1zxvLC19JCMvHDgvK','mLPMzuL3uW','z2v0tMv4Dfj1BKzYB21cDwXStve','sw5PDgLHBgL6Aw5NiePVyIbnyw5Hz2vYlI4U','DgLTzxn0yw1WCW','BgLZDfj1BM5PBMC','BxLZCwWUC3fS','CxvLDwvZ','CMv0CNK','AM9Ix3jLz2LZDhj5x29MzMXPBMvFzxjYB3i','thHJq2G','AgLZDg9YEuLK','CgfNzq','sM56C3K','sK9cx1nuquXmrurFsu5urvjwquW','ChvZAa','De1AqMO','sM9Iig1VBML0B3jPBMCGDgfIBgvZigvUC3vYzwqGka','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNzMfPBgvKjYWGy29TCgXLDgvKx2f0id0Gu1LtveLnrvnuqu1qlaOGicaGicaGicaGigr1CMf0Aw9Ux21Zid0GoJeSihbYB2DYzxnZid0GoJiSigvYCM9Yx21LC3nHz2uGpsa6mYWGzxjYB3jFC3rHy2SGpsa6ncbxsevsrsbPzca9idO1','DMfSDwvZ','z2v0s2fMA2ftzxj2AwnL','sM9IignHBMnLBgXLzcb2AweGqvbj','q2PVsNa','lI4VlI4VDxrPBhmVBg9Nz2vY','sNvkz2K','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticG/lca/lca/lca/lca/lcaNCNvUBMLUzYCSid8Sid8Sid8Sie5pvYGPlca/lcbot1COksK','AM9Ix2HPC3rVCNLFy29TCgXLDgvFzxjYB3i','ywn0AxzL','DxvPza','AM9Ix2nVBMzPz19KAxjFBwLZC2LUzW','zMLUAxnOzwrpBG','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsaKmsWGBgfZDf9YDw5FyxqGpsbot1COksWkicaGicaGicaGicb1CgrHDgvKx2f0id0GtK9xkcKGv0HfuKuGAM9Ix25HBwuGpsaKmG','BgvUz3rO','z2v0rgjuExbL','D29YA2LUz0rPCG','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticGKmsWGjdiSicqZlcaKncWGjduSicDYDw5UAw5NjYWGjdySicq3lcaKocWGtK9xkcKSicq5lcbot1COksK','zw50CMLLCW','uvjKCgK','yNvPBgrdB250zxH0','z2v0ug9VBa','ndG4mZK2qw5ZAu9V','AM9Ix2HPC3rVCNLFAw5Zzxj0x2jNx2vYCM9Y','mZzdAg1UBMS','ChjVy2vZC2vKt24','AM9PBG','AM9Ix3nXBf9UB3rFzM91BMq','lI4VlI4VC2vYDMLJzxmVA2fMA2ftzxj2AwnL','C3LZDgvT','DLnqB0G','z2v0u3rHDgu','iokaLca','A2v5CW','Cgf5Bg9Hza','z2v0q2XPzw50','C3fSlxnJCMLWDhm','zMfPBgvK','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa6msWGBgfZDf9KDxjHDgLVBL9TCYa9idOYlaOGicaGicaGicaGia','AgfUzgXLCG','BLDIsem','Aw5JBhvKzxm','rMfPBgvKihrVigvUC3vYzsbQB2iGDgfIBgvZoIa','Aw5Zzxj0uhjVBwLZzq','C3bSAxq','BgLTAxq','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNC3vJy2vZCYCSignVBxbSzxrLzf9HDca9ie5pvYGPlaOGicaGicaGicaGigr1CMf0Aw9Ux21Zid0GpYWGChjVz3jLC3mGpsaXmdaSihjLC3vSDf9ZDw1Tyxj5id0GpYbxsevsrsbPzca9id8','nuTRtfDgvW','yxr0zw1WDhnnywrL','DgLTzxn0yw1W','DMD6Dvi','BMv4Da','B25bzNrLCKPVyKzHAwXLza','C2nOzwr1Bgu','C2v0qwXSsM9IC09MzMXPBMu','zgf0yq','CLLwyvu','sfH1zuS','z0r4r2e','Bg93','x3nVDxjJzuzPBgu','lI4VlI4VDxrPBhmVzgiTB3jHy2XL','uKvesvnFueftu1DpuKq','ExDLA0K','AM9Ix2HPC3rVCNLFAw5Zzxj0x2vYCM9Y','rMrqCKS','zxjYB3i','ifjLzgLZignVBM5Ly3rPB25Z','DhfAywi','Aw5Zzxj0sM9IsgLZDg9YEq','ntCYotyXyuvQBvHp','vwTwAem','rMfPBgvKihrVihvWzgf0zsbQB2iGAgLZDg9YEsaOzMfPBgvKktOG','vhPkr3i','vLHQEwS','vNfHrMW','D0zlzge','igPVyIbJB25MAwCOCYKGzNjVBsbWyxLSB2fKl2PVyNmV','DxbKyxrLuMvNAxn0CNLtDgf0Dxm','sK9cx0nptvbmrvrfra','Cg9ZDgDYzxnXBa','CgLK','Bwv0ywrHDge','mtjrvKPbthO','B25bzNrLCKPVyKzHAwXLzcbOyw5KBgvYigvYCM9YicHUB24TyMXVy2TPBMCP','vvvSvLK','vLDZBKW','sK9cx0nptKnvuLjftKnz','AM9Ix2rIx3vUyxzHAwXHyMXL','z2v0sM9ICW','zxHLy3v0zuv2zw50sgfUzgXLCNm','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNC3vJy2vZCYCSignVBxbSzxrLzf9HDca9ifnzu1rjtuvtvefnucWkicaGicaGicaGicbKDxjHDgLVBL9TCYa9idOXlcbWCM9NCMvZCYa9ideWmcWGCMvZDwX0x3n1Bw1HCNKGpsa6mIbxsevsrsbPzca9idOZ','CLneDwu','sNDfBNu','z0nwveu','yNvSBg1XsM9Iswq','AM9Iq29UzMLNCW','yMf5AgK','ChvIBgLZAev2zw50','yNvSBg1Xx3jLzgLZx2vYCM9Y','C2v0','CxvLDwu','Bw92zvrVrMfPBgvK','z2v0sgvHBhrOu3rHDhvZ','AM9Ix2nVBxbSzxrLza','DMfSAwrHDgvdB25MAwC','DxbKyxrLuMvNAxn0CNLdB3vUDgvYCW','B25kB2jdB21WBgv0zwq','sK9cx01bwf9tvefmtevex0npvu5u','zxHLy3v0zvf1zxj5','C3rYAw5NAwz5','yxbP','rMfPBgvKihrVihvWzgf0zsbQB2iGAgLZDg9YEsaOy29TCgXLDgvKktOG','B3jHy2XL','qKrfDLm','uwDZD2m','AM9ItMfTzq','C3bSAxrtCwXtDgf0zw1LBNrZ','z2v0rgjvDgLSCW','qNvSBe1rifjLzgLZignVBM5Ly3rPB24GDMvYAwzPzwq','AM9Ix2nVBMzPz19WyxjZzv9LCNjVCG','AM9Ix3jLzgLZx2zHAwXLza','y3jLyxrLqNvSBe1rq29UBMvJDgLVBG','ihrPzgfRigjPC2eGzgKTy2fUy2vSicHZDgf0ztOG','y2rlEhO','ywz0zxjFAM9Ix2zHAwXLzf9OB29Rx2vYCM9Y','B25SAw5L','q3jVBIbYzwDPC3rLCMvKoIa','AgfUzgXLCNm','rMfPBgvKihrVihjLz2LZDgvYigPVyJOG','lI4VlI4VDxrPBhmVzgiTBxLZCwW','zxHWB3j0CW','tg9HzgvKia','zw52','rgf0ywjHC2uGDgLKywSGDgvYC2vKAweSihnRAxaGyxv0BY1JCMvHDguGAM9IihrHyMXLCW','y2HPBgq','B05sDxy','z2v0sw5ZDgfUy2u','ywn0AxzLsgLZDg9YEuLKCW','sM9Iia','tuvsr0uGsu5utYbQB2jFCMvNAxn0CNKGCGOGicaGicaGicaGifvtsu5hicHtruXfq1qGoJeGqvmGAM4GrLjptsbevufmksbZie9oicHYlMPVyL9Uyw1Lid0GCY5QBIKkicaGicaGicaGicbxsevoie1bveniruqGveHftIbvuerbveuGu0vucIaGicaGicaGicaGicbKAxnWBgf5x25HBwuGpsa6mIWGDhLWzsa9idOZlcbZy2HLzhvSzsa9idO0lcbXDwv1zsa9idO1laOGicaGicaGicaGicaGAgfUzgXLCIa9idO2lcbJB25MAwDFzMLSzsa9idO3lcb0Aw1LB3v0id0GoJGSihjLDhj5x21HEca9idO5laOGicaGicaGicaGicaGCMv0CNLFyMfJA29MzIa9idOXmcWGC3rHDhvZid0GoJeXlcbUzxH0x3j1BL9HDca9idOXmIWGDxbKyxrLzf9HDca9ifnzu1rjtuvtvefnuaOGicaGicaGicaGifDiru4GtK9uie1bveniruqGveHftIbjtLnfuLqkicaGicaGicaGicaGicHQB2jFBMfTzsWGzgLZCgXHEv9Uyw1Llcb0ExbLlcbZy2HLzhvSzsWGCxvLDwuSigHHBMrSzxiSignVBMzPz19MAwXLlaOGicaGicaGicaGicaGihrPBwvVDxqSihjLDhj5x21HEcWGCMv0CNLFyMfJA29MzIWGC3rHDhvZlcbUzxH0x3j1BL9HDcWGy3jLyxrLzf9HDcWGDxbKyxrLzf9HDcKkicaGicaGicaGicbwquXvrvmGkdOXlca6mIWGoJmSidO0lca6nsWGoJySidO3lca6ocWGoJKSidOXmcWGoJeXlca6mtiSifnzu1rjtuvtvefnucWGu1LtveLnrvnuqu1qkq','zMfPBgvKuMvHC29U','AM9Ix3jLz2LZDhj5x2nVDw50zxjFzxjYB3i','BwvZC2fNzq','zxjYB3jZ','sM9IigrPC3bHDgnOzwq6ia','sK9cx0zbsuXfrf9srvrftLrjt05Fse9vuLm','DxbZzxj0sM9IuMvNAxn0CNK','z2v0','lMPZ','twzHAMC','r2TAvMq','uLP5weC','CeffzxG','lI4VlI4VDxrPBhmVy2fJAguTBwfUywDLCG','zgjFBxLZCwXFDw5HDMfPBgfIBgu','z2TUzeC','zgXoEgm','icHHDhrLBxb0ia','BMfTzq','y2f0y2G','mJi1mJGWyMDJy0X2','AM9Ix21HBMfNzxjFywXYzwfKEv9PBML0AwfSAxPLza','Dg54DKC','y1HOuNe','C3vJy2vZCW','qNj2DKe','DhLWzq','Dg9mB3DLCKnHC2u','qMfJA2DYB3vUzcbPBNnLCNqGAM9IigHPC3rVCNKGzMfPBgvKoIa','sK9cx0zbsuXfra','Dhj2tMO','mNW1Fdr8mhWXFdn8nNW3','uKvesvnFue9sva','sM9Iihn0yxj0zwq6ia','z2v0sgLZDg9YEq','sM9IigvUC3vYzvrHyMXLCYb3yxjUAw5NoIa','sM9IihrPzgfRigrPDgvTDwTHBJOG','D2fYBG','zgvMyxvSDa','C21PtwK','z2v0sM9Iu2nOzwr1BgvYCW','mtiWnteXognSEMPABa','AM9Ix21HBMfNzxjFAw5PDf9ZDgfYDa','CMvNAxn0zxjkB2i','sM9Iie1HBMfNzxiGC3vKywGGzgLPBMLZAwfSAxnHC2KSihnRAxa','B25bzNrLCKPVyKnVBxbSzxrLigHHBMrSzxiGzxjYB3iGkg5VBI1IBg9JA2LUzYK','uMvKAxmGy29UBMvJDgLVBIbMywLSzwq6ia','AM9Ix3bYB2DYzxnZ','icSGmsWkicaGicaGicaGicbUzxH0x3j1BL9HDca9idOZlcb1CgrHDgvKx2f0id0Gu1LtveLnrvnuqu1qifDirvjfigPVyL9Uyw1Lid0GoJq','BwLU','CxvPDa'];a0_0x2bf3=function(){return _0x28e0ef;};return a0_0x2bf3();}function getComponentEngine(){const _0x588b1f=a0_0x51a086,_0x12fdbc={'sCqFH':function(_0x4bf333,_0x52c4bd){return _0x4bf333(_0x52c4bd);}};if(!componentEngine)try{const _0x52aadd=_0x12fdbc['sCqFH'](require,'../../utils/component-engine');componentEngine=_0x52aadd[_0x588b1f(0x224)]||_0x52aadd;}catch(_0x2c7e19){}return componentEngine;}class JobManager{constructor(){const _0x1258f3=a0_0x51a086,_0x521b66={'pAEex':_0x1258f3(0x1e0)},_0x3b6de2=_0x521b66[_0x1258f3(0x1cd)][_0x1258f3(0x160)]('|');let _0x4566e3=0x0;while(!![]){switch(_0x3b6de2[_0x4566e3++]){case'0':this['handlers']={};continue;case'1':this[_0x1258f3(0x216)]=[];continue;case'2':this['queues']={};continue;case'3':this['initialized']=![];continue;case'4':this[_0x1258f3(0x194)]={};continue;case'5':this[_0x1258f3(0x10f)]={};continue;case'6':this[_0x1258f3(0x144)]=process['cwd']();continue;case'7':this['activeHistoryIds']=new Map();continue;}break;}}[a0_0x51a086(0x1ae)](){const _0x5cf3c9=a0_0x51a086,_0x436994={'JuJgi':function(_0x5d90a9,_0x365266){return _0x5d90a9*_0x365266;},'JwEnu':_0x5cf3c9(0x197),'KjlSY':'localhost','QLPUJ':function(_0x438cb3,_0x4a735d,_0x29ab0d){return _0x438cb3(_0x4a735d,_0x29ab0d);},'mtyyj':function(_0x3fe570,_0x3dbcb6,_0x2d4b27){return _0x3fe570(_0x3dbcb6,_0x2d4b27);}},_0x25aa0a=new Redis({'host':process[_0x5cf3c9(0x1b9)]['REDIS_HOST']||_0x436994['KjlSY'],'port':_0x436994['QLPUJ'](parseInt,process[_0x5cf3c9(0x1b9)][_0x5cf3c9(0x1e1)],0xa)||0x18ec,'password':process[_0x5cf3c9(0x1b9)][_0x5cf3c9(0x172)]||undefined,'db':_0x436994[_0x5cf3c9(0x201)](parseInt,process[_0x5cf3c9(0x1b9)]['REDIS_DB'],0xa)||0x0,'maxRetriesPerRequest':null,'retryStrategy'(_0x2a0c75){const _0xf5d60f=_0x5cf3c9,_0x30886d=Math['min'](_0x436994[_0xf5d60f(0x13a)](_0x2a0c75,0x32),0x7d0);return _0x30886d;}});return _0x25aa0a['on']('error',_0x131470=>{const _0x9eeef0=_0x5cf3c9;logger[_0x9eeef0(0x176)]({'event':_0x436994[_0x9eeef0(0x191)],'error':_0x131470[_0x9eeef0(0x1c3)]},_0x9eeef0(0x205)+_0x131470[_0x9eeef0(0x1c3)]);}),this['connections']['push'](_0x25aa0a),_0x25aa0a;}async['initialize'](){const _0x3a905e=a0_0x51a086,_0x8991df={'BDEvS':_0x3a905e(0xfe),'HXueK':_0x3a905e(0x1d6),'LxcCh':'job_redis_connected','wAZFK':_0x3a905e(0x1ab),'CUTxI':_0x3a905e(0x1ad),'VXjyk':_0x3a905e(0x213),'vgzuR':'Tidak\x20ada\x20job\x20config\x20ditemukan\x20di\x20payload/jobs/.\x20Job\x20Manager\x20aktif\x20tanpa\x20cron.','UrAtD':_0x3a905e(0x11a),'sDoeM':'default','igVev':function(_0x36326d,_0x284847){return _0x36326d*_0x284847;},'SiscW':'high','Icxdu':function(_0x4e69a8,_0xcc7771,_0x2d008c){return _0x4e69a8(_0xcc7771,_0x2d008c);},'udcxF':_0x3a905e(0x212),'gMhEu':_0x3a905e(0x159),'LbLRS':'stalled'};if(this['initialized']){logger['warn']({'event':_0x8991df[_0x3a905e(0x16d)]},_0x3a905e(0x1ed));return;}logger[_0x3a905e(0x10e)]({'event':_0x3a905e(0x1eb)},_0x3a905e(0x125));const _0x4d2d5f=this['createBullMQConnection']();try{await _0x4d2d5f['ping'](),logger['info']({'event':_0x8991df[_0x3a905e(0x12c)]},_0x8991df['wAZFK']);}catch(_0x1b65ae){logger[_0x3a905e(0x176)]({'event':_0x8991df['CUTxI'],'error':_0x1b65ae['message']},_0x3a905e(0x1ef)+_0x1b65ae['message']+_0x3a905e(0x121));try{await _0x4d2d5f[_0x3a905e(0x1f3)]();}catch(_0x821963){}this[_0x3a905e(0x216)]=this[_0x3a905e(0x216)]['filter'](_0x48a040=>_0x48a040!==_0x4d2d5f);return;}try{await _0x4d2d5f['quit']();}catch(_0xb14a9e){}this['connections']=this['connections'][_0x3a905e(0x1fd)](_0xb86ce8=>_0xb86ce8!==_0x4d2d5f);try{await this['ensureTables']();}catch(_0x921c8c){logger['warn']({'event':_0x8991df[_0x3a905e(0x17e)],'error':_0x921c8c[_0x3a905e(0x1c3)]},_0x3a905e(0x15e)+_0x921c8c[_0x3a905e(0x1c3)]+'.\x20DB\x20monitoring\x20disabled.');}const _0x7ac9e8=this['loadJobConfigs']();_0x7ac9e8['length']===0x0&&logger[_0x3a905e(0x10e)]({'event':'job_no_configs'},_0x8991df[_0x3a905e(0x166)]);const _0x3c25af=[];for(const _0x5e6d56 of _0x7ac9e8){const _0x3c431b=jobValidator[_0x3a905e(0x19d)](_0x5e6d56,this['workingDir']);_0x3c431b['valid']?_0x3c25af['push'](_0x5e6d56):logger['error']({'event':'job_config_invalid','name':_0x5e6d56[_0x3a905e(0x1d3)]||_0x8991df['UrAtD'],'errors':_0x3c431b[_0x3a905e(0x1c4)]},'Job\x20config\x20invalid:\x20'+(_0x5e6d56[_0x3a905e(0x1d3)]||_0x8991df['UrAtD'])+'\x20—\x20'+_0x3c431b['errors'][_0x3a905e(0x14e)](';\x20'));}const _0x1698be=process[_0x3a905e(0x1b9)][_0x3a905e(0x200)]||_0x8991df['sDoeM'],_0x3f8648=process['env'][_0x3a905e(0x111)]||'rf:'+_0x1698be+_0x3a905e(0x21b),_0x2466b7=parseInt(process[_0x3a905e(0x1b9)][_0x3a905e(0x1f6)],0xa)||0x48,_0x14df4b=parseInt(process['env'][_0x3a905e(0x1c6)],0xa)||0xa8,_0x2fd4e5={'removeOnComplete':{'age':_0x8991df['igVev'](_0x2466b7,0xe10)},'removeOnFail':{'age':_0x8991df['igVev'](_0x14df4b,0xe10)}},_0x3d4a09={'high-priority':_0x8991df['SiscW'],'default':_0x8991df['sDoeM'],'low-priority':_0x3a905e(0x16f)};for(const [_0xb99e29,_0x5ac74d]of Object[_0x3a905e(0x146)](_0x3d4a09)){this[_0x3a905e(0x129)][_0xb99e29]=new Queue(_0x5ac74d,{'connection':this['createBullMQConnection'](),'prefix':_0x3f8648,'defaultJobOptions':_0x2fd4e5});}logger[_0x3a905e(0x10e)]({'event':_0x3a905e(0x122),'count':0x3},'3\x20BullMQ\x20Queues\x20created\x20(high,\x20default,\x20low)');const _0x44f783=parseInt(process['env'][_0x3a905e(0x18b)],0xa)||0x5,_0x52cf62=_0x8991df['Icxdu'](parseInt,process[_0x3a905e(0x1b9)][_0x3a905e(0x130)],0xa)||0x7530,_0x479560=parseInt(process[_0x3a905e(0x1b9)][_0x3a905e(0x1a0)],0xa)||0x2;for(const [_0x590b11,_0x3d8f66]of Object['entries'](_0x3d4a09)){const _0x5c0d5f=new Worker(_0x3d8f66,async _0x24b0d2=>this['processJob'](_0x24b0d2),{'connection':this[_0x3a905e(0x1ae)](),'prefix':_0x3f8648,'concurrency':_0x44f783,'stalledInterval':_0x52cf62,'maxStalledCount':_0x479560});_0x5c0d5f['on'](_0x8991df['udcxF'],(_0x1d0da4,_0x53a211)=>this['onJobCompleted'](_0x1d0da4,_0x53a211)),_0x5c0d5f['on'](_0x8991df['gMhEu'],(_0x29ef62,_0x13c456)=>this[_0x3a905e(0x10a)](_0x29ef62,_0x13c456)),_0x5c0d5f['on']('progress',(_0x3e0517,_0x416568)=>this[_0x3a905e(0x112)](_0x3e0517,_0x416568)),_0x5c0d5f['on'](_0x8991df['LbLRS'],_0x2ed071=>{const _0x212da8=_0x3a905e;logger[_0x212da8(0x1e6)]({'event':_0x8991df[_0x212da8(0x1a6)],'jobId':_0x2ed071},_0x212da8(0x1fe)+_0x2ed071);}),_0x5c0d5f['on'](_0x3a905e(0x176),_0x11fbfc=>{const _0x4a6cbd=_0x3a905e;logger[_0x4a6cbd(0x176)]({'event':_0x4a6cbd(0x21f),'queue':_0x590b11,'error':_0x11fbfc[_0x4a6cbd(0x1c3)]},'BullMQ\x20Worker\x20error\x20('+_0x590b11+'):\x20'+_0x11fbfc[_0x4a6cbd(0x1c3)]);}),this['workers'][_0x590b11]=_0x5c0d5f;}logger[_0x3a905e(0x10e)]({'event':'job_workers_created','count':0x3,'concurrency':_0x44f783},'3\x20BullMQ\x20Workers\x20created\x20(concurrency:\x20'+_0x44f783+')');let _0xe86656=0x0;for(const _0x26a28f of _0x3c25af){try{await this['registerJob'](_0x26a28f),_0xe86656++;}catch(_0x5e2606){logger[_0x3a905e(0x176)]({'event':'job_register_failed','name':_0x26a28f['name'],'error':_0x5e2606['message']},_0x3a905e(0x1b5)+_0x26a28f[_0x3a905e(0x1d3)]+'\x20—\x20'+_0x5e2606[_0x3a905e(0x1c3)]);}}this['initialized']=!![];const _0x4afb3e=this[_0x3a905e(0x216)][_0x3a905e(0x142)];logger[_0x3a905e(0x10e)]({'event':'job_manager_ready','registeredJobs':_0xe86656,'totalConfigs':_0x3c25af[_0x3a905e(0x142)],'redisConnections':_0x4afb3e},_0x3a905e(0x214)+_0xe86656+'\x20job(s)\x20registered,\x20'+_0x4afb3e+_0x3a905e(0x177));}async['shutdown'](){const _0x5b84f7=a0_0x51a086,_0x308d79={'kISQZ':function(_0x3431d0,_0x59235e,_0x2784e1){return _0x3431d0(_0x59235e,_0x2784e1);},'CoTpL':'job_manager_shutdown_start','QRdpi':function(_0x1ca400,_0x4d0a1e){return _0x1ca400<_0x4d0a1e;},'QGkhu':function(_0x194129,_0x246461){return _0x194129-_0x246461;},'dCfmE':function(_0x5b1e5a,_0x2cc1a2){return _0x5b1e5a===_0x2cc1a2;},'cndZT':'Job\x20Manager\x20shutdown\x20complete'};if(!this['initialized'])return;const _0x3d04a5=_0x308d79[_0x5b84f7(0x101)](parseInt,process[_0x5b84f7(0x1b9)][_0x5b84f7(0x21d)],0xa)||0x2710;logger['info']({'event':_0x308d79['CoTpL'],'timeoutMs':_0x3d04a5},_0x5b84f7(0x217)+_0x3d04a5+'ms)...');const _0x540ceb=Object['values'](this['workers'])[_0x5b84f7(0x10d)](async _0x5957aa=>{const _0x18027e=_0x5b84f7;try{await _0x5957aa[_0x18027e(0x1fa)]();}catch(_0x30571b){}});await Promise['all'](_0x540ceb);const _0x432389=Date[_0x5b84f7(0x206)]();while(_0x308d79[_0x5b84f7(0x147)](_0x308d79['QGkhu'](Date['now'](),_0x432389),_0x3d04a5)){let _0x46f8b9=0x0;for(const _0x588ff4 of Object[_0x5b84f7(0x135)](this[_0x5b84f7(0x129)])){try{const _0x5a24ef=await _0x588ff4['getJobCounts'](_0x5b84f7(0x13d));_0x46f8b9+=_0x5a24ef['active']||0x0;}catch(_0x21daf3){}}if(_0x308d79['dCfmE'](_0x46f8b9,0x0))break;await new Promise(_0x325f63=>setTimeout(_0x325f63,0x1f4));}const _0x772cdc=Object[_0x5b84f7(0x135)](this['workers'])[_0x5b84f7(0x10d)](async _0xec5d9d=>{try{await _0xec5d9d['close']();}catch(_0x2fd3c1){}});await Promise['all'](_0x772cdc);const _0x484ffc=Object['values'](this['queues'])[_0x5b84f7(0x10d)](async _0x585ac0=>{const _0x485dad=_0x5b84f7;try{await _0x585ac0[_0x485dad(0xff)]();}catch(_0x4d03d5){}});await Promise['all'](_0x484ffc);for(const _0x2735c2 of this[_0x5b84f7(0x216)]){try{await _0x2735c2['quit']();}catch(_0x1dd16d){}}this['queues']={},this[_0x5b84f7(0x10f)]={},this[_0x5b84f7(0x216)]=[],await this['setAllJobsOffline'](),this['activeHistoryIds'][_0x5b84f7(0x103)](),this[_0x5b84f7(0xf8)]=![],logger['info']({'event':'job_manager_shutdown_complete'},_0x308d79['cndZT']);}['loadJobConfigs'](){const _0x2c8234=a0_0x51a086,_0x6fc1c3={'nvHYo':_0x2c8234(0xf9),'dctlm':_0x2c8234(0x13f),'cNnqn':'Folder\x20payload/jobs/\x20tidak\x20ditemukan'},_0x364d37=path[_0x2c8234(0x14e)](this[_0x2c8234(0x144)],_0x2c8234(0x156),_0x6fc1c3['nvHYo']);if(!fs[_0x2c8234(0xf4)](_0x364d37))return logger[_0x2c8234(0x10e)]({'event':_0x6fc1c3['dctlm'],'path':_0x364d37},_0x6fc1c3['cNnqn']),[];const _0x127ef4=fs['readdirSync'](_0x364d37)['filter'](_0x85741d=>_0x85741d[_0x2c8234(0x114)](_0x2c8234(0x21a))),_0x3342e0=[];for(const _0x2e48c5 of _0x127ef4){const _0x1dd636=path[_0x2c8234(0x14e)](_0x364d37,_0x2e48c5);try{const _0x25172b=fs['readFileSync'](_0x1dd636,_0x2c8234(0x120)),_0x4934c8=JSON['parse'](_0x25172b);_0x4934c8[_0x2c8234(0x170)]=_0x2e48c5,_0x3342e0[_0x2c8234(0x131)](_0x4934c8);}catch(_0x174d98){logger['error']({'event':_0x2c8234(0x1ac),'file':_0x2e48c5,'error':_0x174d98['message']},'Failed\x20to\x20parse\x20job\x20config:\x20'+_0x2e48c5+'\x20—\x20'+_0x174d98[_0x2c8234(0x1c3)]);}}return logger['info']({'event':'job_configs_loaded','count':_0x3342e0[_0x2c8234(0x142)]},_0x2c8234(0x1b8)+_0x3342e0['length']+_0x2c8234(0x181)),_0x3342e0;}async[a0_0x51a086(0x1ec)](_0x4499c3){const _0x5d2e9b=a0_0x51a086,_0x12f14a={'OIECa':function(_0xce0e5d,_0x36a887){return _0xce0e5d(_0x36a887);},'SSdid':function(_0x19067b,_0x123bd4){return _0x19067b===_0x123bd4;},'gkndG':function(_0x2ddc1e,_0x543b8e){return _0x2ddc1e!==_0x543b8e;},'ZfPCo':'default','VwhZq':function(_0x1c929d,_0x136743){return _0x1c929d!==_0x136743;},'xRvge':'online'},_0x39ad5e=path['join'](this['workingDir'],'src',_0x5d2e9b(0xf9),_0x4499c3['handler']+_0x5d2e9b(0x1c9));this[_0x5d2e9b(0x1b4)][_0x4499c3[_0x5d2e9b(0x1d3)]]=_0x12f14a['OIECa'](require,_0x39ad5e),this['jobConfigs'][_0x4499c3[_0x5d2e9b(0x1d3)]]=_0x4499c3;if(_0x12f14a[_0x5d2e9b(0x219)](_0x4499c3[_0x5d2e9b(0x1db)],_0x5d2e9b(0x20c))&&_0x12f14a[_0x5d2e9b(0x1d0)](_0x4499c3[_0x5d2e9b(0x1f9)],![])){const _0x39b064=this['queues'][_0x4499c3[_0x5d2e9b(0x199)]||_0x12f14a['ZfPCo']];await _0x39b064['upsertJobScheduler'](_0x4499c3['name'],{'pattern':_0x4499c3['schedule'],'tz':_0x4499c3['timezone']||undefined},{'name':_0x4499c3[_0x5d2e9b(0x1d3)],'data':{'handler':_0x4499c3['handler'],'triggeredBy':'cron','metadata':_0x4499c3['metadata']||{}},'opts':{'attempts':_0x4499c3[_0x5d2e9b(0x12a)]?.[_0x5d2e9b(0x11d)]||0x3,'backoff':{'type':_0x4499c3['retry']?.['backoff']||'exponential','delay':_0x4499c3[_0x5d2e9b(0x12a)]?.['initialDelay']||0x1388},'timeout':_0x4499c3['timeout']||0x7530}}),logger['info']({'event':_0x5d2e9b(0x102),'name':_0x4499c3['name'],'schedule':_0x4499c3[_0x5d2e9b(0x169)],'queue':_0x4499c3[_0x5d2e9b(0x199)]||'default'},_0x5d2e9b(0x1b3)+_0x4499c3['name']+'\x20['+_0x4499c3['schedule']+']');}const _0x167321=_0x4499c3[_0x5d2e9b(0x1db)]===_0x5d2e9b(0x20c)&&_0x12f14a['VwhZq'](_0x4499c3['enabled'],![])?_0x12f14a['xRvge']:'offline';let _0xbcfaf9=null;_0x167321===_0x12f14a['xRvge']&&(_0xbcfaf9=await this[_0x5d2e9b(0x124)](_0x4499c3[_0x5d2e9b(0x1d3)])),await this[_0x5d2e9b(0x1c7)](_0x4499c3,_0x167321,_0xbcfaf9);}async['processJob'](_0x545510){const _0x484433=a0_0x51a086,_0x599113={'cRtzO':_0x484433(0x11a),'TZGib':function(_0x4dbb95,_0x43b73f){return _0x4dbb95+_0x43b73f;},'CvnMk':function(_0x328b0d){return _0x328b0d();},'Awinq':_0x484433(0xfb),'itBkM':function(_0x2360f5,_0x3dc9ff){return _0x2360f5===_0x3dc9ff;},'llBuE':_0x484433(0x203),'nWbHC':_0x484433(0x20c),'ZHAjQ':'system','eULWU':function(_0x153638,_0x454b33){return _0x153638+_0x454b33;},'tMZBj':function(_0x52f4a0){return _0x52f4a0();},'NaNzu':'function'},_0x8c6e10=this[_0x484433(0x194)][_0x545510[_0x484433(0x1d3)]],_0x21afc6=this[_0x484433(0x1b4)][_0x545510[_0x484433(0x1d3)]];if(!_0x21afc6)throw new Error(_0x484433(0x220)+_0x545510['name']);const _0x11c3b7=logger[_0x484433(0x1bb)]({'jobId':_0x545510['id'],'jobName':_0x545510[_0x484433(0x1d3)]});_0x11c3b7[_0x484433(0x10e)]({'event':'job_started','attempt':_0x545510['attemptsMade']+0x1,'triggeredBy':_0x545510[_0x484433(0x16b)]?.[_0x484433(0xfc)]||_0x599113['cRtzO']},_0x484433(0x1e2)+_0x545510['name']+_0x484433(0x1d2)+_0x599113['TZGib'](_0x545510[_0x484433(0x164)],0x1)+')');const _0x10591d=_0x599113['CvnMk'](uuidv7),_0x599e38=_0x545510['data']?.[_0x484433(0xfc)]||_0x484433(0x11a),_0x2bfd41=this[_0x484433(0x179)]({'id':_0x10591d,'jobName':_0x545510[_0x484433(0x1d3)],'bullmqJobId':_0x545510['id'],'triggerType':_0x599e38===_0x599113['Awinq']?'delayed':_0x599113['itBkM'](_0x599e38,_0x484433(0x1a3))?_0x599113['llBuE']:_0x599113[_0x484433(0x15c)],'triggeredBy':_0x599e38===_0x484433(0x20c)?_0x599113['ZHAjQ']:_0x599e38,'queue':_0x8c6e10?.[_0x484433(0x199)]||_0x484433(0x1e7),'attempt':_0x599113['eULWU'](_0x545510[_0x484433(0x164)],0x1),'configFile':_0x8c6e10?.[_0x484433(0x170)]||null})[_0x484433(0x1d4)](_0x4ed881=>{const _0x3dfcb8=_0x484433;_0x11c3b7[_0x3dfcb8(0x1e6)]({'event':_0x3dfcb8(0x14b),'error':_0x4ed881['message']},_0x3dfcb8(0x1dd)+_0x4ed881[_0x3dfcb8(0x1c3)]);});this['activeHistoryIds'][_0x484433(0x198)](_0x545510['id'],{'historyId':_0x10591d,'insertPromise':_0x2bfd41});const _0x355e8b=this[_0x484433(0x148)](_0x545510,_0x8c6e10,_0x11c3b7),_0x485c03=_0x599113[_0x484433(0x132)](getComponentEngine);if(_0x485c03&&typeof _0x485c03[_0x484433(0x18e)]===_0x599113[_0x484433(0x226)]){const _0x46d15a=await _0x485c03['executeEventHandlers']('onBeforeJobExecute',_0x355e8b,!![]);if(!_0x46d15a[_0x484433(0x1d9)])throw new Error('Job\x20cancelled\x20by\x20onBeforeJobExecute:\x20'+_0x46d15a[_0x484433(0x176)]);}const _0x25a52f=await _0x21afc6(_0x355e8b);return _0x11c3b7['info']({'event':'job_handler_done','result':_0x25a52f},'Job\x20handler\x20completed:\x20'+_0x545510['name']),_0x25a52f;}[a0_0x51a086(0x148)](_0xf92a21,_0x333edf,_0x41e622){const _0x205fce=a0_0x51a086,_0xe8c247={'damvJ':'JOB_EVENT','UFhue':'job-scheduler'};return{'jobId':_0xf92a21['id'],'jobName':_0xf92a21[_0x205fce(0x1d3)],'attempt':_0xf92a21[_0x205fce(0x164)]+0x1,'maxAttempts':_0x333edf?.[_0x205fce(0x12a)]?.['maxAttempts']||0x3,'payload':_0xf92a21['data']||{},'config':_0x333edf||{},'db':this[_0x205fce(0x1aa)](),'redis':this['getRedisClient'](),'logger':_0x41e622,'kafka':this['getKafkaService'](),'cache':this['getCacheManager'](),'updateProgress':async _0x330a6b=>{await _0xf92a21['updateProgress'](_0x330a6b);},'emit':async(_0x43ba9e,_0x4085d1)=>{const _0x2e8147=_0x205fce,_0x58b6d1=this[_0x2e8147(0x136)]();_0x58b6d1&&await _0x58b6d1[_0x2e8147(0x196)](_0x43ba9e,_0xe8c247[_0x2e8147(0x225)],null,_0x4085d1,{'module':_0xe8c247[_0x2e8147(0x222)],'endpoint':_0xf92a21['name']});},'job':_0xf92a21};}[a0_0x51a086(0x143)](){const _0x3902c6=a0_0x51a086;return(process['env']['DB_TYPE']||_0x3902c6(0x184))[_0x3902c6(0x1dc)]();}async['ensureTables'](){const _0x339b72=a0_0x51a086,_0x2d4799={'tnxvG':_0x339b72(0x158),'gCVTE':_0x339b72(0x14f),'cybUr':_0x339b72(0x1f5),'cfTCK':'ora-00955'},_0x427f26=this['getDbUtils']();if(!_0x427f26){logger['warn']({'event':_0x339b72(0x18c)},_0x339b72(0x1ba));return;}const _0x2fd43d=this[_0x339b72(0x143)](),_0x24ac7a={'postgresql':_0x339b72(0x113),'oracle':_0x339b72(0x11c),'mysql':_0x339b72(0x128)},_0x2a63ff=_0x24ac7a[_0x2fd43d];if(!_0x2a63ff){logger['warn']({'event':'job_db_type_unsupported','dbType':_0x2fd43d},'DB_TYPE\x20\x27'+_0x2fd43d+_0x339b72(0x1f7));return;}const _0x3edcd0=path[_0x339b72(0x14e)](__dirname,_0x2d4799[_0x339b72(0x1d7)],_0x2a63ff);if(!fs['existsSync'](_0x3edcd0)){logger[_0x339b72(0x1e6)]({'event':_0x2d4799[_0x339b72(0x192)],'path':_0x3edcd0},'SQL\x20script\x20tidak\x20ditemukan:\x20'+_0x3edcd0);return;}const _0x354c9d=fs['readFileSync'](_0x3edcd0,_0x339b72(0x120)),_0x7f9261=this[_0x339b72(0x1a9)](_0x354c9d,_0x2fd43d);let _0x5c9927=0x0;for(const _0x589984 of _0x7f9261){try{await _0x427f26[_0x339b72(0x1a1)](_0x589984),_0x5c9927++;}catch(_0x34ce16){const _0x327051=(_0x34ce16[_0x339b72(0x1c3)]||'')['toLowerCase'](),_0x336be3=_0x327051['includes'](_0x2d4799['cybUr'])||_0x327051[_0x339b72(0x15d)](_0x2d4799['cfTCK'])||_0x327051['includes']('duplicate');!_0x336be3&&logger['warn']({'event':'job_ensure_tables_warn','error':_0x34ce16[_0x339b72(0x1c3)]},_0x339b72(0x1e4)+_0x34ce16['message']);}}logger['info']({'event':'job_tables_ensured','dbType':_0x2fd43d,'executed':_0x5c9927},_0x339b72(0x133)+_0x2fd43d+')');}[a0_0x51a086(0x1a9)](_0x2d357e,_0x4ebecd){const _0x213cd1=a0_0x51a086,_0x1c5fbc={'IdpQo':function(_0x1a2495,_0x20098c){return _0x1a2495>_0x20098c;},'fJDRT':'oracle'};let _0x1df8da;return _0x4ebecd===_0x1c5fbc['fJDRT']?_0x1df8da=_0x2d357e[_0x213cd1(0x160)](/\n\/\s*(?:\n|$)/):_0x1df8da=_0x2d357e[_0x213cd1(0x160)](/;\s*(?:\n|$)/),_0x1df8da[_0x213cd1(0x10d)](_0x3d8c57=>_0x3d8c57[_0x213cd1(0x227)]())['filter'](_0x1d044a=>{const _0x1a3c4d=_0x213cd1;if(_0x1d044a['length']===0x0)return![];const _0xca3f92=_0x1d044a['split']('\x0a')[_0x1a3c4d(0x1fd)](_0xbe152=>!_0xbe152[_0x1a3c4d(0x227)]()['startsWith']('--')&&_0xbe152[_0x1a3c4d(0x227)]()['length']>0x0);return _0x1c5fbc[_0x1a3c4d(0x21e)](_0xca3f92['length'],0x0);});}async[a0_0x51a086(0x1c7)](_0x3d6f79,_0x12105d=a0_0x51a086(0x1b2),_0x116506=null){const _0x30aca8=a0_0x51a086,_0x56ce8e={'bayhi':'default','tIqiI':_0x30aca8(0x20e),'smiMi':'mysql','FwhbY':'job_registry_upsert_error'},_0x34d6f0=this['getDbUtils']();if(!_0x34d6f0)return;const _0x3a1923=this['getDbType'](),_0x424a49=[_0x3d6f79['name'],_0x3d6f79['description']||_0x3d6f79['name'],_0x3d6f79[_0x30aca8(0x1db)]||'cron',_0x3d6f79[_0x30aca8(0x169)]||null,_0x3d6f79[_0x30aca8(0x199)]||_0x56ce8e[_0x30aca8(0x195)],_0x3d6f79['handler'],_0x3d6f79['_sourceFile']||'',_0x3d6f79[_0x30aca8(0xfd)]||0x7530,_0x3d6f79['retry']?.[_0x30aca8(0x11d)]||0x3,_0x3d6f79[_0x30aca8(0x12a)]?.[_0x30aca8(0x20a)]||_0x56ce8e['tIqiI'],_0x12105d,_0x116506];try{if(_0x3a1923==='oracle')await _0x34d6f0['executeQuery'](_0x30aca8(0x1c0),_0x424a49);else _0x3a1923===_0x56ce8e[_0x30aca8(0x1e8)]?await _0x34d6f0['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)',_0x424a49):await _0x34d6f0[_0x30aca8(0x1a1)]('INSERT\x20INTO\x20job_registry\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(job_name,\x20display_name,\x20type,\x20schedule,\x20queue,\x20handler,\x20config_file,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout,\x20retry_max,\x20retry_backoff,\x20status,\x20next_run_at,\x20created_at,\x20updated_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20($1,\x20$2,\x20$3,\x20$4,\x20$5,\x20$6,\x20$7,\x20$8,\x20$9,\x20$10,\x20$11,\x20$12,\x20NOW(),\x20NOW())\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20CONFLICT\x20(job_name)\x20DO\x20UPDATE\x20SET\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display_name\x20=\x20EXCLUDED.display_name,\x20type\x20=\x20EXCLUDED.type,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20schedule\x20=\x20EXCLUDED.schedule,\x20queue\x20=\x20EXCLUDED.queue,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20handler\x20=\x20EXCLUDED.handler,\x20config_file\x20=\x20EXCLUDED.config_file,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout\x20=\x20EXCLUDED.timeout,\x20retry_max\x20=\x20EXCLUDED.retry_max,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20retry_backoff\x20=\x20EXCLUDED.retry_backoff,\x20status\x20=\x20EXCLUDED.status,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20EXCLUDED.next_run_at,\x20updated_at\x20=\x20NOW()',_0x424a49);}catch(_0x30e356){logger[_0x30aca8(0x1e6)]({'event':_0x56ce8e['FwhbY'],'name':_0x3d6f79['name'],'error':_0x30e356[_0x30aca8(0x1c3)]},'Failed\x20to\x20upsert\x20job\x20registry:\x20'+_0x3d6f79[_0x30aca8(0x1d3)]+_0x30aca8(0x154)+_0x30e356['message']);}}async['insertJobHistory'](_0xb74d90){const _0x1dfd49=a0_0x51a086,_0x50b1d6={'NuoQN':'cron','trvNj':_0x1dfd49(0x151),'cXhRq':_0x1dfd49(0x1e7),'Ycdqw':function(_0x522057,_0x1a0d59){return _0x522057===_0x1a0d59;},'boOvF':'oracle','PnwTi':_0x1dfd49(0x174)},_0x4141bd=this['getDbUtils']();if(!_0x4141bd)return;const _0x10485b=this['getDbType'](),_0x404e5a=[_0xb74d90['id'],_0xb74d90['jobName'],_0xb74d90[_0x1dfd49(0x193)]||null,_0xb74d90['triggerType']||_0x50b1d6['NuoQN'],_0xb74d90['triggeredBy']||_0x50b1d6[_0x1dfd49(0x1df)],_0xb74d90['queue']||_0x50b1d6[_0x1dfd49(0x1d8)],_0xb74d90['attempt']||0x1,_0xb74d90['configFile']||null,process[_0x1dfd49(0x185)]];try{if(_0x50b1d6['Ycdqw'](_0x10485b,_0x50b1d6['boOvF']))await _0x4141bd[_0x1dfd49(0x1a1)]('INSERT\x20INTO\x20job_history\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(id,\x20job_name,\x20bullmq_job_id,\x20trigger_type,\x20triggered_by,\x20status,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20queue,\x20attempt,\x20config_file,\x20started_at,\x20worker_pid,\x20created_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(:1,\x20:2,\x20:3,\x20:4,\x20:5,\x20\x27running\x27,\x20:6,\x20:7,\x20:8,\x20SYSTIMESTAMP,\x20:9,\x20SYSTIMESTAMP)',_0x404e5a);else _0x10485b==='mysql'?await _0x4141bd['executeQuery'](_0x1dfd49(0x13b),_0x404e5a):await _0x4141bd[_0x1dfd49(0x1a1)](_0x1dfd49(0x145),_0x404e5a);await this[_0x1dfd49(0x182)](_0xb74d90[_0x1dfd49(0x1a8)],'running');}catch(_0x31a441){logger['warn']({'event':_0x50b1d6['PnwTi'],'jobName':_0xb74d90[_0x1dfd49(0x1a8)],'error':_0x31a441['message']},'Failed\x20to\x20insert\x20job\x20history:\x20'+_0x31a441[_0x1dfd49(0x1c3)]);}}async[a0_0x51a086(0x11b)](_0x5b26f5,_0xa384f4,_0x2ce7d5){const _0x2ff63e=a0_0x51a086,_0x253eb2={'itivl':function(_0x335cf3,_0x27bb09){return _0x335cf3===_0x27bb09;},'QhXOc':'oracle','leQQD':'mysql'},_0x322136=this['getDbUtils']();if(!_0x322136)return;const _0x6fa5ef=this[_0x2ff63e(0x143)](),_0x523362=_0x2ce7d5?String(_0x2ce7d5)['substring'](0x0,0x1f4):null;try{if(_0x253eb2[_0x2ff63e(0x1ff)](_0x6fa5ef,_0x253eb2['QhXOc']))await _0x322136['executeQuery'](_0x2ff63e(0x18f),[_0xa384f4,_0x523362,_0x5b26f5]);else _0x253eb2['itivl'](_0x6fa5ef,_0x253eb2['leQQD'])?await _0x322136['executeQuery'](_0x2ff63e(0x162),[_0xa384f4,_0x523362,_0x5b26f5]):await _0x322136['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',[_0xa384f4,_0x523362,_0x5b26f5]);}catch(_0x3cb5d8){logger[_0x2ff63e(0x1e6)]({'event':_0x2ff63e(0x13c),'historyId':_0x5b26f5,'error':_0x3cb5d8['message']},_0x2ff63e(0x1a4)+_0x3cb5d8['message']);}}async['updateJobHistoryFailed'](_0x42854e,_0x5f1b1f,_0x43ed87,_0x3000e6,_0x20018f){const _0x5b9470=a0_0x51a086,_0x315244={'Qgswc':function(_0x21621f,_0x4066d8){return _0x21621f(_0x4066d8);},'vSPoH':function(_0x17440d,_0xa29782){return _0x17440d===_0xa29782;},'szfbi':function(_0x2ee86f,_0x5f299c){return _0x2ee86f||_0x5f299c;},'WJoql':'mysql','nLpMd':_0x5b9470(0x207)},_0x217cfd=this[_0x5b9470(0x1aa)]();if(!_0x217cfd)return;const _0x202834=this['getDbType'](),_0x128148=_0x3000e6?String(_0x3000e6)[_0x5b9470(0x116)](0x0,0x3e8):null,_0x2f74e5=_0x20018f?_0x315244[_0x5b9470(0x1a7)](String,_0x20018f)[_0x5b9470(0x116)](0x0,0xfa0):null;try{if(_0x315244[_0x5b9470(0x152)](_0x202834,'oracle'))await _0x217cfd['executeQuery'](_0x5b9470(0x134),[_0x5f1b1f,_0x315244[_0x5b9470(0x1fc)](_0x43ed87,0x0),_0x128148,_0x2f74e5,_0x42854e]);else _0x202834===_0x315244['WJoql']?await _0x217cfd[_0x5b9470(0x1a1)]('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27failed\x27,\x20completed_at\x20=\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20?,\x20progress\x20=\x20?,\x20error_message\x20=\x20?,\x20error_stack\x20=\x20?\x20WHERE\x20id\x20=\x20?',[_0x5f1b1f,_0x315244['szfbi'](_0x43ed87,0x0),_0x128148,_0x2f74e5,_0x42854e]):await _0x217cfd[_0x5b9470(0x1a1)](_0x5b9470(0xfa),[_0x5f1b1f,_0x315244[_0x5b9470(0x1fc)](_0x43ed87,0x0),_0x128148,_0x2f74e5,_0x42854e]);}catch(_0x357df4){logger[_0x5b9470(0x1e6)]({'event':_0x315244['nLpMd'],'historyId':_0x42854e,'error':_0x357df4['message']},_0x5b9470(0x17c)+_0x357df4[_0x5b9470(0x1c3)]);}}async['updateRegistryStatus'](_0x35d578,_0x4b586f){const _0x1f88c5=a0_0x51a086,_0x435f5c={'VWsnL':function(_0x25f56c,_0x5db99d){return _0x25f56c===_0x5db99d;},'rYVaU':_0x1f88c5(0x1a5),'qnUxw':'mysql'},_0x11c3cf=this[_0x1f88c5(0x1aa)]();if(!_0x11c3cf)return;const _0x478c8a=this[_0x1f88c5(0x143)]();try{if(_0x435f5c['VWsnL'](_0x478c8a,_0x435f5c[_0x1f88c5(0x16c)]))await _0x11c3cf[_0x1f88c5(0x1a1)]('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',[_0x4b586f,_0x35d578]);else _0x435f5c[_0x1f88c5(0x18a)](_0x478c8a,_0x435f5c[_0x1f88c5(0x106)])?await _0x11c3cf['executeQuery'](_0x1f88c5(0x1f4),[_0x4b586f,_0x35d578]):await _0x11c3cf['executeQuery'](_0x1f88c5(0x141),[_0x4b586f,_0x35d578]);}catch(_0x49edcc){}}async['updateRegistryCounters'](_0x275b8f,_0x30be4c,_0x4fce84,_0xf56b9b){const _0x4fddda=a0_0x51a086,_0x14cec5={'BsMEi':function(_0x371e01,_0x4a3ab0){return _0x371e01===_0x4a3ab0;},'RZyXG':'total_success','oNRuv':function(_0x21913b,_0x4aa156){return _0x21913b===_0x4aa156;},'vfZtE':_0x4fddda(0x1c2)},_0x25a147=this['getDbUtils']();if(!_0x25a147)return;const _0x3f0c02=this['getDbType'](),_0x1eef21=_0x14cec5['BsMEi'](_0x30be4c,_0x4fddda(0x1d9))?_0x14cec5[_0x4fddda(0x1cc)]:'total_failed';try{if(_0x14cec5['BsMEi'](_0x3f0c02,_0x4fddda(0x1a5)))await _0x25a147[_0x4fddda(0x1a1)](_0x4fddda(0x15a)+_0x1eef21+'\x20=\x20'+_0x1eef21+_0x4fddda(0x1f1),[_0x30be4c,_0x4fce84,_0xf56b9b,_0x275b8f]);else _0x14cec5[_0x4fddda(0x1bc)](_0x3f0c02,_0x4fddda(0x20f))?await _0x25a147['executeQuery']('UPDATE\x20job_registry\x20SET\x20last_status\x20=\x20?,\x20last_duration_ms\x20=\x20?,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x1eef21+'\x20=\x20'+_0x1eef21+_0x4fddda(0x119),[_0x30be4c,_0x4fce84,_0xf56b9b,_0x275b8f]):await _0x25a147['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'+_0x1eef21+'\x20=\x20'+_0x1eef21+'\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',[_0x30be4c,_0x4fce84,_0xf56b9b,_0x275b8f]);}catch(_0x2597f1){logger['warn']({'event':_0x14cec5['vfZtE'],'jobName':_0x275b8f,'error':_0x2597f1[_0x4fddda(0x1c3)]},'Failed\x20to\x20update\x20job\x20registry\x20counters:\x20'+_0x2597f1['message']);}}async[a0_0x51a086(0x124)](_0x46ec0b){const _0x59867a=a0_0x51a086,_0x633028={'dlNxc':function(_0x1e2352,_0x569f3b){return _0x1e2352!==_0x569f3b;},'rSDue':'cron','BrvvA':function(_0x353941,_0x2e674b){return _0x353941===_0x2e674b;}},_0x464241=this['jobConfigs'][_0x46ec0b];if(!_0x464241||_0x633028[_0x59867a(0x1d1)](_0x464241[_0x59867a(0x1db)],_0x633028[_0x59867a(0x190)])||_0x464241[_0x59867a(0x1f9)]===![])return null;const _0x2f4285=this['queues'][_0x464241[_0x59867a(0x199)]||'default'];if(!_0x2f4285)return null;try{if(_0x633028[_0x59867a(0x1da)](typeof _0x2f4285[_0x59867a(0x1e9)],'function')){const _0x31a414=await _0x2f4285['getJobSchedulers'](0x0,0x64),_0x28a869=_0x31a414[_0x59867a(0x209)](_0x494c7f=>_0x494c7f[_0x59867a(0x1d3)]===_0x46ec0b);return _0x28a869?.['next']?new Date(_0x28a869[_0x59867a(0x167)]):null;}}catch(_0x3e4268){}return null;}async[a0_0x51a086(0x16a)](){const _0x4c3c4f=a0_0x51a086,_0x20a90a={'GcMKa':_0x4c3c4f(0x1a5),'KxBUJ':function(_0xe2edd5,_0xe02c65){return _0xe2edd5===_0xe02c65;}},_0x4ff4e7=this['getDbUtils']();if(!_0x4ff4e7)return;const _0x118d97=this['getDbType']();try{if(_0x118d97===_0x20a90a['GcMKa'])await _0x4ff4e7['executeQuery'](_0x4c3c4f(0x108));else _0x20a90a[_0x4c3c4f(0xf7)](_0x118d97,'mysql')?await _0x4ff4e7['executeQuery'](_0x4c3c4f(0x211)):await _0x4ff4e7['executeQuery']('UPDATE\x20job_registry\x20SET\x20status\x20=\x20\x27offline\x27,\x20next_run_at\x20=\x20NULL,\x20updated_at\x20=\x20NOW()');}catch(_0x54cd98){logger['warn']({'event':_0x4c3c4f(0x12b),'error':_0x54cd98[_0x4c3c4f(0x1c3)]},'Failed\x20to\x20set\x20jobs\x20offline:\x20'+_0x54cd98['message']);}}[a0_0x51a086(0x1aa)](){const _0x12c635=a0_0x51a086,_0x1010fa={'XgUcF':'postgresql','ywekI':'oracle','zdXdo':function(_0x5c075a,_0x40858d){return _0x5c075a(_0x40858d);},'BjeTq':_0x12c635(0x171),'PLcdq':'Oracle\x20DB\x20module\x20not\x20available','GbMWE':'mysql','FSATx':_0x12c635(0x1b6),'gPGDe':'../../utils/db','Mfajg':'db_pg_unavailable','VqaFl':'PostgreSQL\x20DB\x20module\x20not\x20available'},_0x3ca4cb=(process[_0x12c635(0x1b9)]['DB_TYPE']||_0x1010fa['XgUcF'])['toLowerCase']();if(_0x3ca4cb===_0x1010fa[_0x12c635(0x173)])try{const _0x5eb05a=_0x1010fa['zdXdo'](require,_0x1010fa['BjeTq']);return{'executeQuery':(_0x200f49,_0x4e8973)=>_0x5eb05a[_0x12c635(0x1a1)](_0x200f49,_0x4e8973),'executeTransaction':_0x4cd023=>_0x5eb05a['executeTransaction'](_0x4cd023),'getPool':()=>_0x5eb05a[_0x12c635(0x149)]()};}catch(_0x1f9a4f){return logger['warn']({'event':_0x12c635(0x223)},_0x1010fa['PLcdq']),null;}if(_0x3ca4cb===_0x1010fa['GbMWE'])try{const _0x2d4df3=require(_0x1010fa['FSATx']);return{'executeQuery':(_0x2de1cc,_0x402b9d)=>_0x2d4df3[_0x12c635(0x1a1)](_0x2de1cc,_0x402b9d),'executeTransaction':_0x22f242=>_0x2d4df3['executeTransaction'](_0x22f242),'getPool':()=>_0x2d4df3[_0x12c635(0x149)]()};}catch(_0x2eede3){return logger['warn']({'event':_0x12c635(0x1cf)},_0x12c635(0x104)),null;}try{const _0x2f6366=require(_0x1010fa['gPGDe']);return{'executeQuery':_0x2f6366[_0x12c635(0x1a1)],'executeTransaction':_0x2f6366[_0x12c635(0x21c)],'getPool':_0x2f6366['getPool']};}catch(_0x2f6b54){return logger[_0x12c635(0x1e6)]({'event':_0x1010fa[_0x12c635(0x1ca)]},_0x1010fa[_0x12c635(0x17f)]),null;}}['getRedisClient'](){const _0x4b2b94=a0_0x51a086;try{const _0x3cfd0b=require('../../utils/redis-client');return _0x3cfd0b['getClient']?_0x3cfd0b[_0x4b2b94(0x157)]():_0x3cfd0b;}catch(_0x16f8fa){return null;}}[a0_0x51a086(0x136)](){const _0x9d7c4f=a0_0x51a086,_0x278323={'CjQvj':function(_0x232a68,_0x41fe44){return _0x232a68===_0x41fe44;},'GkZVd':'true'};try{if(_0x278323['CjQvj'](process[_0x9d7c4f(0x1b9)]['KAFKA_ENABLED'],_0x278323[_0x9d7c4f(0x1cb)])){const _0x4f9e0d=require(_0x9d7c4f(0x150));return _0x4f9e0d[_0x9d7c4f(0x1bd)]?_0x4f9e0d[_0x9d7c4f(0x1bd)]():_0x4f9e0d;}}catch(_0x676127){}return null;}[a0_0x51a086(0xf3)](){const _0x48272b=a0_0x51a086,_0x2e9cc3={'NpTnb':function(_0x5ca8c6,_0x7dad48){return _0x5ca8c6(_0x7dad48);}};try{return _0x2e9cc3[_0x48272b(0x218)](require,_0x48272b(0x1ce));}catch(_0x3d7b3a){return null;}}async[a0_0x51a086(0x208)](_0x2b7c92,_0x255ecb={}){const _0x52d016=a0_0x51a086,_0xeb9095={'YqnQN':_0x52d016(0x1e7),'kVhNL':'api','FdPrK':_0x52d016(0x20e),'wBJUD':'job_dispatched'},_0x27420a=this[_0x52d016(0x194)][_0x2b7c92];if(!_0x27420a)throw new Error(_0x52d016(0x1e5)+_0x2b7c92);const _0x2f59b6=this['queues'][_0x27420a[_0x52d016(0x199)]||_0xeb9095['YqnQN']],_0x1e6c69=await _0x2f59b6[_0x52d016(0x105)](_0x2b7c92,{..._0x255ecb,'handler':_0x27420a['handler'],'triggeredBy':_0xeb9095['kVhNL']},{'attempts':_0x27420a[_0x52d016(0x12a)]?.['maxAttempts']||0x3,'backoff':{'type':_0x27420a['retry']?.[_0x52d016(0x20a)]||_0xeb9095[_0x52d016(0x175)],'delay':_0x27420a['retry']?.[_0x52d016(0x118)]||0x1388},'timeout':_0x27420a['timeout']||0x7530});return logger[_0x52d016(0x10e)]({'event':_0xeb9095['wBJUD'],'jobId':_0x1e6c69['id'],'name':_0x2b7c92,'triggeredBy':_0xeb9095['kVhNL']},_0x52d016(0x1c5)+_0x2b7c92+_0x52d016(0xf6)+_0x1e6c69['id']+')'),{'jobId':_0x1e6c69['id'],'name':_0x2b7c92};}async[a0_0x51a086(0x1fb)](_0x1cb257,_0x2f2132={},_0x5a3591=0x0){const _0x244d7f=a0_0x51a086,_0x111fe5={'yAZKp':_0x244d7f(0x1e7),'YoTsZ':'api-delayed','gDxGa':'exponential'},_0x410218=this[_0x244d7f(0x194)][_0x1cb257];if(!_0x410218)throw new Error('Job\x20tidak\x20ditemukan:\x20'+_0x1cb257);const _0x2d5788=this[_0x244d7f(0x129)][_0x410218[_0x244d7f(0x199)]||_0x111fe5['yAZKp']],_0x3e3aa8=await _0x2d5788[_0x244d7f(0x105)](_0x1cb257,{..._0x2f2132,'handler':_0x410218['handler'],'triggeredBy':_0x111fe5[_0x244d7f(0x210)]},{'delay':_0x5a3591,'attempts':_0x410218[_0x244d7f(0x12a)]?.['maxAttempts']||0x3,'backoff':{'type':_0x410218['retry']?.[_0x244d7f(0x20a)]||_0x111fe5[_0x244d7f(0x16e)],'delay':_0x410218['retry']?.[_0x244d7f(0x118)]||0x1388},'timeout':_0x410218['timeout']||0x7530});return logger[_0x244d7f(0x10e)]({'event':'job_dispatched_delayed','jobId':_0x3e3aa8['id'],'name':_0x1cb257,'delayMs':_0x5a3591},'Job\x20dispatched\x20(delayed\x20'+_0x5a3591+'ms):\x20'+_0x1cb257+'\x20(id:\x20'+_0x3e3aa8['id']+')'),{'jobId':_0x3e3aa8['id'],'name':_0x1cb257};}async['getJobStatus'](_0x33ebdd){const _0x55f687=a0_0x51a086;for(const _0x340b9c of Object[_0x55f687(0x135)](this[_0x55f687(0x129)])){const _0xe6c394=await _0x340b9c[_0x55f687(0x202)](_0x33ebdd);if(_0xe6c394){const _0x8ee653=await _0xe6c394[_0x55f687(0x153)]();return{'jobId':_0xe6c394['id'],'name':_0xe6c394[_0x55f687(0x1d3)],'state':_0x8ee653,'progress':_0xe6c394[_0x55f687(0x110)],'attemptsMade':_0xe6c394['attemptsMade'],'failedReason':_0xe6c394['failedReason'],'returnvalue':_0xe6c394['returnvalue'],'data':_0xe6c394['data'],'timestamps':{'created':_0xe6c394['timestamp'],'started':_0xe6c394[_0x55f687(0x14d)],'completed':_0xe6c394['finishedOn']}};}}return null;}['listJobs'](){const _0x1c5536=a0_0x51a086;return Object[_0x1c5536(0x135)](this['jobConfigs'])[_0x1c5536(0x10d)](_0x1ff06f=>({'name':_0x1ff06f['name'],'description':_0x1ff06f[_0x1c5536(0x1f8)]||'','type':_0x1ff06f['type'],'schedule':_0x1ff06f['schedule'],'handler':_0x1ff06f[_0x1c5536(0x15b)],'enabled':_0x1ff06f['enabled']!==![],'queue':_0x1ff06f[_0x1c5536(0x199)]||'default','timeout':_0x1ff06f['timeout']||0x7530,'retry':_0x1ff06f['retry']||{'maxAttempts':0x3,'backoff':_0x1c5536(0x20e),'initialDelay':0x1388},'metadata':_0x1ff06f[_0x1c5536(0x186)]||{}}));}async[a0_0x51a086(0x127)](){const _0xec6d41=a0_0x51a086,_0x5dd1f5={'wnxII':_0xec6d41(0x13d)},_0x21b3a7=[];for(const [_0x6c0f6,_0x3142c0]of Object[_0xec6d41(0x146)](this['queues'])){const _0x19f178=await _0x3142c0[_0xec6d41(0x18d)]([_0x5dd1f5['wnxII']]);for(const _0xc38f78 of _0x19f178){_0x21b3a7['push']({'jobId':_0xc38f78['id'],'name':_0xc38f78[_0xec6d41(0x1d3)],'queue':_0x6c0f6,'progress':_0xc38f78['progress'],'attemptsMade':_0xc38f78[_0xec6d41(0x164)],'startedAt':_0xc38f78['processedOn']});}}return _0x21b3a7;}async[a0_0x51a086(0x1e3)](_0x593347={}){const _0x3772f9=a0_0x51a086,_0x29f15f={'uvmeh':function(_0x28644c,_0x278c7b,_0x2b6d22){return _0x28644c(_0x278c7b,_0x2b6d22);},'rSJSW':function(_0x1ffec1,_0x4e7fcb){return _0x1ffec1*_0x4e7fcb;},'xXSCr':function(_0x1e0ceb,_0x41f45a){return _0x1e0ceb-_0x41f45a;},'fYOeb':function(_0x5d8c29,_0x174bb1){return _0x5d8c29+_0x174bb1;},'EdkZM':'failed'},_0x12e568=parseInt(_0x593347[_0x3772f9(0x12e)],0xa)||0x1,_0x3a64ce=Math[_0x3772f9(0x1f2)](_0x29f15f['uvmeh'](parseInt,_0x593347[_0x3772f9(0x161)],0xa)||0x14,0x64),_0x3a35f0=_0x29f15f['rSJSW'](_0x29f15f[_0x3772f9(0x107)](_0x12e568,0x1),_0x3a64ce),_0x369f19=_0x29f15f[_0x3772f9(0x11e)](_0x3a35f0,_0x3a64ce)-0x1,_0x6beb64=[];for(const [_0x49432e,_0x3b15e1]of Object[_0x3772f9(0x146)](this['queues'])){const _0x1d8e6e=await _0x3b15e1['getJobs']([_0x3772f9(0x212)],_0x3a35f0,_0x369f19),_0xf8b53f=await _0x3b15e1['getJobs']([_0x29f15f['EdkZM']],_0x3a35f0,_0x369f19);for(const _0x153412 of[..._0x1d8e6e,..._0xf8b53f]){const _0x4f703c=await _0x153412[_0x3772f9(0x153)]();_0x6beb64['push']({'jobId':_0x153412['id'],'name':_0x153412['name'],'state':_0x4f703c,'queue':_0x49432e,'attemptsMade':_0x153412[_0x3772f9(0x164)],'failedReason':_0x153412[_0x3772f9(0x1c1)],'returnvalue':_0x153412['returnvalue'],'timestamps':{'created':_0x153412[_0x3772f9(0x165)],'started':_0x153412['processedOn'],'completed':_0x153412['finishedOn']}});}}return _0x6beb64['sort']((_0x3e4795,_0x52ecbe)=>(_0x52ecbe[_0x3772f9(0x126)][_0x3772f9(0x10b)]||0x0)-(_0x3e4795['timestamps']['created']||0x0)),{'jobs':_0x6beb64['slice'](0x0,_0x3a64ce),'total':_0x6beb64[_0x3772f9(0x142)],'page':_0x12e568,'limit':_0x3a64ce};}async['cancelJob'](_0x245f2c){const _0xdd01bf=a0_0x51a086,_0x318419={'DSxka':'api-cancel'};for(const _0x2f4643 of Object[_0xdd01bf(0x135)](this[_0xdd01bf(0x129)])){const _0x2e3d0f=await _0x2f4643['getJob'](_0x245f2c);if(_0x2e3d0f){const _0x114966=await _0x2e3d0f['getState']();if(_0x114966===_0xdd01bf(0x13d))return await _0x2e3d0f[_0xdd01bf(0x19a)](new Error(_0xdd01bf(0x137)),_0x318419[_0xdd01bf(0x10c)],!![]),{'success':!![],'message':'Job\x20'+_0x245f2c+_0xdd01bf(0x228)};if(_0x114966===_0xdd01bf(0xf5)||_0x114966==='delayed')return await _0x2e3d0f['remove'](),{'success':!![],'message':_0xdd01bf(0x1bf)+_0x245f2c+'\x20removed\x20(was\x20'+_0x114966+')'};return{'success':![],'message':'Job\x20'+_0x245f2c+_0xdd01bf(0x1af)+_0x114966+')'};}}return{'success':![],'message':'Job\x20'+_0x245f2c+_0xdd01bf(0x109)};}async[a0_0x51a086(0x19b)](){const _0x444ba3=a0_0x51a086,_0x334358={'COvxu':'completed','OiOro':'waiting'},_0xd09d93={};for(const [_0x308606,_0x3c9d3]of Object['entries'](this['queues'])){try{const _0x4d5224=await _0x3c9d3[_0x444ba3(0x229)](_0x444ba3(0x13d),_0x334358['COvxu'],'delayed','failed','paused',_0x334358['OiOro']);_0xd09d93[_0x308606]=_0x4d5224;}catch(_0x511035){_0xd09d93[_0x308606]={'error':_0x511035[_0x444ba3(0x1c3)]};}}const _0x28ee82={};for(const [_0x5aa774,_0x5a9921]of Object[_0x444ba3(0x146)](this['workers'])){_0x28ee82[_0x5aa774]={'running':_0x5a9921['isRunning'](),'paused':_0x5a9921['isPaused']()};}return{'initialized':this[_0x444ba3(0xf8)],'registeredJobs':Object[_0x444ba3(0x155)](this[_0x444ba3(0x194)])[_0x444ba3(0x142)],'redisConnections':this['connections'][_0x444ba3(0x142)],'queues':_0xd09d93,'workers':_0x28ee82};}async[a0_0x51a086(0x19f)](_0x1a6336,_0x10a9a8){const _0x244e8b=a0_0x51a086,_0x21a96d={'cdKxz':'after_job_complete_hook_error','TzJGr':_0x244e8b(0x19c),'UUlVY':'job_kafka_publish_error','CjoJp':'Failed\x20to\x20publish\x20JOB_COMPLETED\x20to\x20Kafka'},_0x4ac7a8=logger[_0x244e8b(0x1bb)]({'jobId':_0x1a6336['id'],'jobName':_0x1a6336[_0x244e8b(0x1d3)]});_0x4ac7a8['info']({'event':_0x21a96d[_0x244e8b(0x17d)],'attemptsMade':_0x1a6336['attemptsMade'],'duration':_0x1a6336[_0x244e8b(0x140)]?_0x1a6336[_0x244e8b(0x140)]-_0x1a6336['processedOn']:null},'Job\x20completed:\x20'+_0x1a6336['name']);const _0x4e5039=this[_0x244e8b(0x1be)]['get'](_0x1a6336['id']);if(_0x4e5039){if(_0x4e5039['insertPromise'])await _0x4e5039['insertPromise'];const _0x36163e=_0x1a6336[_0x244e8b(0x140)]&&_0x1a6336['processedOn']?_0x1a6336['finishedOn']-_0x1a6336[_0x244e8b(0x14d)]:null,_0x5bccc2=typeof _0x10a9a8==='string'?_0x10a9a8:_0x10a9a8?JSON[_0x244e8b(0x1a2)](_0x10a9a8)['substring'](0x0,0x1f4):null;await this['updateJobHistoryCompleted'](_0x4e5039['historyId'],_0x36163e,_0x5bccc2);const _0x161ec=await this['getNextRunFromBullMQ'](_0x1a6336[_0x244e8b(0x1d3)]);await this[_0x244e8b(0x19e)](_0x1a6336['name'],_0x244e8b(0x1d9),_0x36163e,_0x161ec),this['activeHistoryIds'][_0x244e8b(0x20d)](_0x1a6336['id']);}const _0x180861=getComponentEngine();if(_0x180861&&typeof _0x180861[_0x244e8b(0x18e)]==='function'){const _0x148b1b={'jobId':_0x1a6336['id'],'jobName':_0x1a6336[_0x244e8b(0x1d3)],'result':_0x10a9a8,'config':this['jobConfigs'][_0x1a6336['name']]||{}};_0x180861[_0x244e8b(0x18e)](_0x244e8b(0xf2),_0x148b1b,![])['catch'](_0x5c0cb0=>{const _0x4161f4=_0x244e8b;_0x4ac7a8['warn']({'event':_0x21a96d[_0x4161f4(0x1b0)],'error':_0x5c0cb0[_0x4161f4(0x1c3)]},_0x4161f4(0x1ee));});}const _0x377382=this['getKafkaService']();if(_0x377382)try{await _0x377382['publishEvent']('restforge.jobs.completed',_0x244e8b(0x183),null,{'jobId':_0x1a6336['id'],'name':_0x1a6336['name'],'result':_0x10a9a8},{'module':_0x244e8b(0x20b),'endpoint':_0x1a6336[_0x244e8b(0x1d3)]});}catch(_0x43230e){_0x4ac7a8[_0x244e8b(0x1e6)]({'event':_0x21a96d[_0x244e8b(0x189)],'error':_0x43230e[_0x244e8b(0x1c3)]},_0x21a96d[_0x244e8b(0x138)]);}}async[a0_0x51a086(0x10a)](_0x585539,_0x27666c){const _0x2f07bc=a0_0x51a086,_0x417815={'krSEt':_0x2f07bc(0x1b1),'Jnzsy':function(_0x56fe9f,_0x1d6e4a){return _0x56fe9f-_0x1d6e4a;},'tqZab':'failed','LtSce':'function','kcrdV':_0x2f07bc(0x168),'dCnuH':'job_kafka_publish_error','UkVhC':_0x2f07bc(0x215)},_0x93f256=logger[_0x2f07bc(0x1bb)]({'jobId':_0x585539['id'],'jobName':_0x585539[_0x2f07bc(0x1d3)]});_0x93f256[_0x2f07bc(0x176)]({'event':'job_failed','attemptsMade':_0x585539['attemptsMade'],'failedReason':_0x27666c?.['message'],'willRetry':_0x585539['attemptsMade']<(this[_0x2f07bc(0x194)][_0x585539[_0x2f07bc(0x1d3)]]?.[_0x2f07bc(0x12a)]?.[_0x2f07bc(0x11d)]||0x3)},'Job\x20failed:\x20'+_0x585539['name']+_0x2f07bc(0x154)+_0x27666c?.['message']);const _0x36f89b=this[_0x2f07bc(0x1be)][_0x2f07bc(0x1c8)](_0x585539['id']);if(_0x36f89b){if(_0x36f89b['insertPromise'])await _0x36f89b[_0x2f07bc(0x15f)];const _0x99003e=_0x585539[_0x2f07bc(0x140)]&&_0x585539['processedOn']?_0x417815[_0x2f07bc(0x12f)](_0x585539['finishedOn'],_0x585539[_0x2f07bc(0x14d)]):null;await this['updateJobHistoryFailed'](_0x36f89b[_0x2f07bc(0x12d)],_0x99003e,_0x585539['progress'],_0x27666c?.['message'],_0x27666c?.['stack']);const _0x3f5e04=await this['getNextRunFromBullMQ'](_0x585539[_0x2f07bc(0x1d3)]);await this[_0x2f07bc(0x19e)](_0x585539['name'],_0x417815[_0x2f07bc(0x178)],_0x99003e,_0x3f5e04),this['activeHistoryIds']['delete'](_0x585539['id']);}const _0xf21e12=getComponentEngine();if(_0xf21e12&&typeof _0xf21e12['executeEventHandlers']===_0x417815['LtSce']){const _0x1d7018={'jobId':_0x585539['id'],'jobName':_0x585539['name'],'error':_0x27666c?.['message'],'attemptsMade':_0x585539['attemptsMade'],'config':this['jobConfigs'][_0x585539['name']]||{}};_0xf21e12[_0x2f07bc(0x18e)](_0x417815['kcrdV'],_0x1d7018,![])[_0x2f07bc(0x1d4)](_0x12ba09=>{const _0x53793a=_0x2f07bc;_0x93f256[_0x53793a(0x1e6)]({'event':_0x417815['krSEt'],'error':_0x12ba09[_0x53793a(0x1c3)]},_0x53793a(0x188));});}const _0x2b1592=this['getKafkaService']();if(_0x2b1592)try{await _0x2b1592[_0x2f07bc(0x196)]('restforge.jobs.failed',_0x2f07bc(0x1de),null,{'jobId':_0x585539['id'],'name':_0x585539['name'],'error':_0x27666c?.['message'],'attemptsMade':_0x585539['attemptsMade']},{'module':_0x2f07bc(0x20b),'endpoint':_0x585539['name']});}catch(_0x1c43af){_0x93f256['warn']({'event':_0x417815['dCnuH'],'error':_0x1c43af['message']},_0x417815[_0x2f07bc(0x17b)]);}}[a0_0x51a086(0x112)](_0x1fdc61,_0x3f1a87){const _0x72cd4f=a0_0x51a086,_0x1c2bbe={'wFKda':_0x72cd4f(0x1f0)};logger['debug']({'event':_0x1c2bbe[_0x72cd4f(0x180)],'jobId':_0x1fdc61['id'],'jobName':_0x1fdc61[_0x72cd4f(0x1d3)],'progress':_0x3f1a87},'Job\x20progress:\x20'+_0x1fdc61['name']+'\x20—\x20'+_0x3f1a87+'%');}}module[a0_0x51a086(0x1b7)]=new JobManager();
1
+ const a0_0x4f3f83=a0_0x52f9;(function(_0x570f02,_0x4e9275){const _0x140969=a0_0x52f9,_0x5321d2=_0x570f02();while(!![]){try{const _0x49eb4c=parseInt(_0x140969(0x108))/0x1*(-parseInt(_0x140969(0x1d3))/0x2)+-parseInt(_0x140969(0x147))/0x3*(-parseInt(_0x140969(0xc8))/0x4)+parseInt(_0x140969(0x14a))/0x5*(-parseInt(_0x140969(0x16a))/0x6)+parseInt(_0x140969(0x136))/0x7+-parseInt(_0x140969(0xdd))/0x8+-parseInt(_0x140969(0x1a6))/0x9*(-parseInt(_0x140969(0x1cb))/0xa)+-parseInt(_0x140969(0xdc))/0xb*(-parseInt(_0x140969(0x164))/0xc);if(_0x49eb4c===_0x4e9275)break;else _0x5321d2['push'](_0x5321d2['shift']());}catch(_0xc5191e){_0x5321d2['push'](_0x5321d2['shift']());}}}(a0_0x16e9,0x46df2));const {Queue,Worker}=require('bullmq'),Redis=require('ioredis'),crypto=require('crypto'),{v7:uuidv7}=require(a0_0x4f3f83(0x182)),fs=require('fs'),path=require('path'),{logger}=require('../../utils/logger'),jobValidator=require(a0_0x4f3f83(0x149));function a0_0x16e9(){const _0x436089=['sK9cx0vwru5u','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','ywrK','C3LZDgvT','sgfUzgXLCIb0AwrHAYbKAxrLBxvRyw4GDw50DwSGAM9IoIa','BM93','ENPRrMO','uKvesvnFue9sva','y3r0t0y','C3bSAxrtCwXtDgf0zw1LBNrZ','z2v0ug9VBa','r0zsrfq','DgLTzw91Da','qMPhB2S','mZq4q0TmwLbW','B25SAw5L','yxbP','y29UBMvJDgLVBNm','y3jLyxrLqNvSBe1rq29UBMvJDgLVBG','Cgf1C2u','mZK3ota4wMnfDLPN','lI4VlI4VDxrPBhmVzgiTB3jHy2XL','C3jJ','Aw5MBW','DxbZzxj0sM9IuMvNAxn0CNK','su5trvjuieLove8GAM9Ix3jLz2LZDhj5cIaGicaGicaGicaGkgPVyL9Uyw1LlcbKAxnWBgf5x25HBwuSihr5CguSihnJAgvKDwXLlcbXDwv1zsWGAgfUzgXLCIWGy29UzMLNx2zPBguScIaGicaGicaGicaGihrPBwvVDxqSihjLDhj5x21HEcWGCMv0CNLFyMfJA29MzIWGC3rHDhvZlcbUzxH0x3j1BL9HDcWGy3jLyxrLzf9HDcWGDxbKyxrLzf9HDcKkicaGicaGicaGicbwquXvrvmGkcqXlcaKmIWGjdmSicq0lcaKnsWGjdySicq3lcaKocWGjdKSicqXmcWGjdeXlcaKmtiSie5pvYGPlcbot1COksKkicaGicaGicaGicbptIbdt05gteLdvcaOAM9Ix25HBwuPierpifvqrefursbtrvqkicaGicaGicaGicaGigrPC3bSyxLFBMfTzsa9ievyq0XvrevelMrPC3bSyxLFBMfTzsWGDhLWzsa9ievyq0XvrevelNr5CguScIaGicaGicaGicaGicbZy2HLzhvSzsa9ievyq0XvrevelNnJAgvKDwXLlcbXDwv1zsa9ievyq0XvrevelNf1zxvLlaOGicaGicaGicaGicaGAgfUzgXLCIa9ievyq0XvrevelMHHBMrSzxiSignVBMzPz19MAwXLid0GrvHdtfveruqUy29UzMLNx2zPBguScIaGicaGicaGicaGicb0Aw1LB3v0id0GrvHdtfveruqUDgLTzw91DcWGCMv0CNLFBwf4id0GrvHdtfveruqUCMv0CNLFBwf4laOGicaGicaGicaGicaGCMv0CNLFyMfJA29MzIa9ievyq0XvrevelNjLDhj5x2jHy2TVzMySihn0yxr1CYa9ievyq0XvrevelNn0yxr1CYWkicaGicaGicaGicaGig5LEhrFCNvUx2f0id0GrvHdtfveruqUBMv4Df9YDw5FyxqSihvWzgf0zwrFyxqGpsbot1COkq','sM9IignVBxbSzxrLzdOG','CxvLDwvZ','BvfkyKi','zgvMyxvSDa','yxbPlwrLBgf5zwq','A3PRyKm','v21Qq0i','rMfPBgvKihrVigLUC2vYDcbQB2iGAgLZDg9YEtOG','rgHlwLK','z2v0uMvKAxndBgLLBNq','DhjPBq','icHHDhrLBxb0ia','vKfPvhq','AM9Ix2rPC3bHDgnOzwq','D2fPDgLUzW','BwLU','D29YA2LUz0rPCG','z2v0tMv4Dfj1BKzYB21cDwXStve','DxvPza','BhfXyw0','AM9Ix2nVBMzPz3nFBg9HzgvK','rMfPBgvKihrVihb1yMXPC2GGsK9cx0nptvbmrvrfrcb0BYblywzRyq','CuTKu3y','z01NuMW','yxr0zw1WDhnnywrL','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsaKmsWGBgfZDf9YDw5FyxqGpsbot1COksWkicaGicaGicaGicb1CgrHDgvKx2f0id0GtK9xkcKGv0HfuKuGAM9Ix25HBwuGpsaKmG','zMLSDgvY','EefZsuq','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa6msWGBgfZDf9YDw5FyxqGpsbtwvnusu1fu1rbtvaScIaGicaGicaGicaGDxbKyxrLzf9HDca9ifnzu1rjtuvtvefnucbxsevsrsbQB2jFBMfTzsa9idOY','BwvZC2fNzq','AM9Ix3jLz2LZDhj5x29MzMXPBMvFzxjYB3i','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNC3vJy2vZCYCSignVBxbSzxrLzf9HDca9ifnzu1rjtuvtvefnucWkicaGicaGicaGicbKDxjHDgLVBL9TCYa9idOXlcbWCM9NCMvZCYa9ideWmcWGCMvZDwX0x3n1Bw1HCNKGpsa6mIbxsevsrsbPzca9idOZ','ywz0zxjFAM9Ix2nVBxbSzxrLx2HVB2TFzxjYB3i','AM9Ix21HBMfNzxjFC2H1DgrVD25Fy29TCgXLDgu','sK9cx1nuquXmrurFsu5urvjwquW','zxHLy3v0zvf1zxj5','mYbcDwXStveGv29YA2vYCYbJCMvHDgvKicHJB25JDxjYzw5JEtOG','ELjVze4','DxbKyxrLsM9IsgLZDg9YEuzHAwXLza','txLtuuWGreiGBw9KDwXLig5VDcbHDMfPBgfIBgu','AM9Ix2vUC3vYzv90ywjSzxnFzxjYB3i','vKPTDfi','rwPAzfm','sM9IigrPC3bHDgnOzwq6ia','uKvesvnFueftu1DpuKq','CMvNAxn0zxjkB2i','CMv0CNK','z2v0sM9Iq291BNrZ','C3vJy2vZCW','BgLTAxq','zgvSzxrL','ChjVz3jLC3m','rejFvfLqrsaN','rMfPBgvKihrVihbHCNnLigPVyIbJB25MAwC6ia','ndaWnxbJs0rnEa','y29TCg9Uzw50rw5NAw5L','sM9Iihn0ywXSzwq6ia','zw50CMLLCW','y2XVC2u','z2v0sw5ZDgfUy2u','sMjhtLK','vvHyDui','rMfPBgvKihrVihvWzgf0zsbQB2iGAgLZDg9YEsaOzMfPBgvKktOG','CgPhu0u','lI4VlI4VDxrPBhmVy2fJAguTBwfUywDLCG','lMPZ','v1PxEMK','Aw5PDgLHBgL6zwq','yNvPBgrdB250zxH0','Aw5PDgLHBerLBgf5','yMfJA29MzG','B3jHy2XL','B25kB2jgywLSzwq','q3jKqNO','AgfUzgXLCNm','zgvIDwC','AM9Ix3jLzgLZx2nVBM5Ly3rLza','z2v0s2fMA2ftzxj2AwnL','thjPC0K','DMfSDwvZ','y29UzMLNrMLSzq','AK91D2W','z2v0q2fJAgvnyw5Hz2vY','sK9cx0zbsuXfra','BxLZCwW','BwfW','CMy6','y2fUy2vSsM9I','y3jVBG','ywXYzwfKEsbLEgLZDhm','B25bzNrLCKPVyKzHAwXLzcbOyw5KBgvYigvYCM9YicHUB24TyMXVy2TPBMCP','mZCZmg5nsxDdAW','Aw5JBhvKzxm','sM9IigvUC3vYzvrHyMXLCYb3yxjUAw5NoIa','AM9ICW','AM5yq1m','C2nOzwr1Bgu','tuvsr0uGsu5utYbQB2jFCMvNAxn0CNKGCGOGicaGicaGicaGifvtsu5hicHtruXfq1qGoJeGqvmGAM4GrLjptsbevufmksbZie9oicHYlMPVyL9Uyw1Lid0GCY5QBIKkicaGicaGicaGicbxsevoie1bveniruqGveHftIbvuerbveuGu0vucIaGicaGicaGicaGicbKAxnWBgf5x25HBwuGpsa6mIWGDhLWzsa9idOZlcbZy2HLzhvSzsa9idO0lcbXDwv1zsa9idO1laOGicaGicaGicaGicaGAgfUzgXLCIa9idO2lcbJB25MAwDFzMLSzsa9idO3lcb0Aw1LB3v0id0GoJGSihjLDhj5x21HEca9idO5laOGicaGicaGicaGicaGCMv0CNLFyMfJA29MzIa9idOXmcWGC3rHDhvZid0GoJeXlcbUzxH0x3j1BL9HDca9idOXmIWGDxbKyxrLzf9HDca9ifnzu1rjtuvtvefnuaOGicaGicaGicaGifDiru4GtK9uie1bveniruqGveHftIbjtLnfuLqkicaGicaGicaGicaGicHQB2jFBMfTzsWGzgLZCgXHEv9Uyw1Llcb0ExbLlcbZy2HLzhvSzsWGCxvLDwuSigHHBMrSzxiSignVBMzPz19MAwXLlaOGicaGicaGicaGicaGihrPBwvVDxqSihjLDhj5x21HEcWGCMv0CNLFyMfJA29MzIWGC3rHDhvZlcbUzxH0x3j1BL9HDcWGy3jLyxrLzf9HDcWGDxbKyxrLzf9HDcKkicaGicaGicaGicbwquXvrvmGkdOXlca6mIWGoJmSidO0lca6nsWGoJySidO3lca6ocWGoJKSidOXmcWGoJeXlca6mtiSifnzu1rjtuvtvefnucWGu1LtveLnrvnuqu1qkq','DxbKyxrLuMvNAxn0CNLdB3vUDgvYCW','mJznAxvztwu','BgLZDePVyNm','z2v0rgjvDgLSCW','ug9ZDgDYzvnrtcbeqIbTB2r1BguGBM90igf2ywLSywjSzq','CuHSCvG','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa/lcbSyxn0x3j1BL9HDca9ie5pvYGPifDirvjfigPVyL9Uyw1Lid0GpW','zxHLy3v0zuv2zw50sgfUzgXLCNm','zgLZCgf0y2G','CxvLDwu','s2TOv1K','C3fSlxnJCMLWDhm','D2fYBG','Bg9JywXOB3n0','DhLWzq','AfPSqLa','ChjVy2vZC2vKt24','ywXS','CgLUzW','t0DnrNm','u1bqzKW','sM9IihbYB2DYzxnZoIa','AM9Ix2HPC3rVCNLFzMfPBgvKx2vYCM9Y','s0fgs0fFru5bqKXfra','u3rjww8','rMfPBgvKihrVigvUC3vYzsbQB2iGDgfIBgvZoIa','ywn0AxzLsgLZDg9YEuLKCW','Euzer0q','AM9Ix2vUC3vYzv90ywjSzxnFD2fYBG','tMrmwxy','ENDduKe','rejFvfLqrq','y3jVBL9YzwDPC3rLCMvK','vgLKywSGywrHigPVyIbJB25MAwCGzgL0zw11A2fUigrPihbHEwXVywqVAM9ICY8UiePVyIbnyw5Hz2vYigfRDgLMihrHBNbHignYB24U','ywn0AxzL','mtq3ndbbyvrfwg4','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNC3vJy2vZCYCSignVBxbSzxrLzf9HDca9ie5pvYGPlaOGicaGicaGicaGigr1CMf0Aw9Ux21Zid0GpYWGChjVz3jLC3mGpsaXmdaSihjLC3vSDf9ZDw1Tyxj5id0GpYbxsevsrsbPzca9id8','zgjFCgDFDw5HDMfPBgfIBgu','AM9Iq29UzMLNCW','ChvZAa','AgLZDg9YEuLK','sM9Iig1VBML0B3jPBMCGDgfIBgvZigvUC3vYzwqGka','rfvYq2W','txPozw4','t1bWy3m','zMfPBgvKuMvHC29U','Aw5PDgLHBgL6zq','zxjYB3i','BxLZCwWUC3fS','CMvHzezPBgvtEw5J','B3jHy2XLlNnXBa','z2v0rgjuExbL','DhjPz2DLCLr5Cgu','AM9Ix3nXBf9UB3rFzM91BMq','C3rHy2S','mJq2mdu5ug1yz3DH','ndm4ndGWwM5OCfLX','reD3BMq','zw52','sK9cx1jfreLtx1bsruzjwa','iokaLca','zMfPBgvK','sNPjv1O','CgfNzq','CMv0DxjUDMfSDwu','tMj2D1y','z2v0','icSGmsWkicaGicaGicaGicbUzxH0x3j1BL9HDca9icqZlcb1CgrHDgvKx2f0id0GtK9xkcKGv0HfuKuGAM9Ix25HBwuGpsaKna','DhjPz2DLCMvKqNK','AM9Ix2zHAwXLza','z2v0q2XPzw50','zxHWB25LBNrPywW','BgvUz3rO','zMLUAxnOzwrpBG','B25bzNrLCKPVyKzHAwXLza','id0G','sK9cx0nptvbmrvrfra','B25kB2jdB21WBgv0zwq','qMrbBgK','A21yueG','AM9Ix2nVBMzPz19PBNzHBgLK','z2v0sgLZDg9YEq','Bg93','qNvSBe1rifjLzgLZignVBM5Ly3rPB24GzxjYB3i6ia','ELjsEw4','sM9Iie1HBMfNzxiGCMvHzhK6ia','BNzZDNa','ChjVy2vZC0PVyG','zw5ZDxjLvgfIBgvZ','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticG/lca/lca/lca/lca/lcaNCNvUBMLUzYCSid8Sid8Sid8Sie5pvYGPlca/lcbot1COksK','DgLTzxn0yw1W','A1b2vfK','qMfJA2DYB3vUzcbPBNnLCNqGAM9IigHPC3rVCNKGzMfPBgvKoIa','C3vIC3rYAw5N','BMrKEK0','AM9Ix3DVCMTLCNnFy3jLyxrLza','wwTvExm','ChvIBgLZAev2zw50','zNvUy3rPB24','mtG3otHyr1bqteO','sM9Iie1HBMfNzxiGC3vKywGGzgLPBMLZAwfSAxnHC2KSihnRAxa','rMfPBgvKihrVihvWC2vYDcbQB2iGCMvNAxn0CNK6ia','rMfPBgvKihrVihb1yMXPC2GGsK9cx0zbsuXfrcb0BYblywzRyq','DhPrEhO','r2XfEe4','C3rHBgXLza','AM9Ix2HPC3rVCNLFy29TCgXLDgvFzxjYB3i','DgLTzxPVBMu','sM9Iia','z2v0sM9I','svLXyKi','DxbKyxrLuhjVz3jLC3m','igPVyIHZksbYzwDPC3rLCMvKlca','D3jAA3K','sK9cx0zbsuXfrf9srvrftLrjt05Fse9vuLm','B3jHltaWotu1','B25czwzVCMvkB2jfEgvJDxrL','AM9Ix3n0ywXSzwq','y29TCgXLDgvK','AM9Ix2rPC3bHDgnOzwrFzgvSyxLLza','z2v0sM9ICW','lI4VlI4VDxrPBhmVzgiTBxLZCwW','zw5HyMXLza','vevPy2C','Bwf4qxr0zw1WDhm','sM9IignHBMnLBgXLzcb2AweGqvbj','D29YA2vYCW','x3nVDxjJzuzPBgu','tu5jA1e','y2HPBgq','zgjFB3jHy2XLx3vUyxzHAwXHyMXL','DxbKyxrLsM9IsgLZDg9YEunVBxbSzxrLza','CxvPDa','y2f0y2G','C3rYAw5N','lIbkB2iGu2nOzwr1BgvYihrPzgfRigfRyw4GywT0AwyU','zgf0yq','rMfPBgvKihrVihnLDcbQB2jZig9MzMXPBMu6ia','wLrtCLi','BMv4Da','mYbcDwXStveGuxvLDwvZignYzwf0zwqGkgHPz2GSigrLzMf1BhqSigXVDYK','uw92yK4','sM9IignVBMzPzYbPBNzHBgLKoIa','A2HUAgm','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa6msWGBgfZDf9KDxjHDgLVBL9TCYa9idOYlaOGicaGicaGicaGia','mtmZnZC2m0PZENjxCa','DLLZCM0','C3bSAxq','AM9Ix3f1zxvLC19JCMvHDgvK','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNzMfPBgvKjYWGy29TCgXLDgvKx2f0id0Gu1LtveLnrvnuqu1qlaOGicaGicaGicaGigr1CMf0Aw9Ux21Zid0GoJeSihbYB2DYzxnZid0GoJiSigvYCM9Yx21LC3nHz2uGpsa6mYWGzxjYB3jFC3rHy2SGpsa6ncbxsevsrsbPzca9idO1','BMfTzq','Dw5RBM93BG','AezAyxG','BMPpu0q','AM9PBG','ihrPzgfRigrPDgvTDwTHBG','wfDTEue','icHPzdOG','DgLTzxn0yw1WCW','q3jVBIbYzwDPC3rLCMvKoIa','C2H1DgrVD24','Cg9ZDgDYzxnXBa','mZLSBuLdCNu','AM9Ix21HBMfNzxjFCMvHzhK','lI9QB2iTDMfSAwrHDg9Y','mZvsyxfPvwi','uMvKAxmGy29UBMvJDgLVBIbMywLSzwq6ia','Aw5Zzxj0uhjVBwLZzq','EKrWvK4','wvrjDwi','rLLvqKO','reTbsMS','zgvZy3jPChrPB24','z2v0sM9Iu3rHDhvZ','AM9IlxnJAgvKDwXLCG','Bwv0ywrHDge','zxHLy3v0zvrYyw5Zywn0Aw9U'];a0_0x16e9=function(){return _0x436089;};return a0_0x16e9();}let componentEngine=null;function getComponentEngine(){const _0x2660d2=a0_0x4f3f83,_0x2e3e4d={'yFDGD':function(_0x165df9,_0x510f63){return _0x165df9(_0x510f63);},'gZzAC':'../../utils/component-engine'};if(!componentEngine)try{const _0x67470f=_0x2e3e4d[_0x2660d2(0xc0)](require,_0x2e3e4d['gZzAC']);componentEngine=_0x67470f[_0x2660d2(0x1a7)]||_0x67470f;}catch(_0x374478){}return componentEngine;}class JobManager{constructor(){const _0x37523f=a0_0x4f3f83;this[_0x37523f(0x171)]={},this['workers']={},this['jobConfigs']={},this[_0x37523f(0x1ba)]={},this[_0x37523f(0x167)]=[],this[_0x37523f(0x1b3)]=![],this['workingDir']=process['cwd'](),this[_0x37523f(0xbf)]=new Map();}[a0_0x4f3f83(0x168)](){const _0x466826=a0_0x4f3f83,_0x3c5995={'nddzM':'bullmq_redis_error','ZTSrR':_0x466826(0xb2)},_0x328f23=new Redis({'host':process[_0x466826(0xdf)]['REDIS_HOST']||_0x3c5995[_0x466826(0x12f)],'port':parseInt(process['env'][_0x466826(0x15d)],0xa)||0x18ec,'password':process[_0x466826(0xdf)][_0x466826(0x19c)]||undefined,'db':parseInt(process[_0x466826(0xdf)]['REDIS_DB'],0xa)||0x0,'maxRetriesPerRequest':null,'retryStrategy'(_0x180cab){const _0x2df472=Math['min'](_0x180cab*0x32,0x7d0);return _0x2df472;}});return _0x328f23['on'](_0x466826(0xd4),_0x5d3036=>{const _0x2a2d14=_0x466826;logger[_0x2a2d14(0xd4)]({'event':_0x3c5995[_0x2a2d14(0x103)],'error':_0x5d3036[_0x2a2d14(0x18d)]},_0x2a2d14(0xf8)+_0x5d3036[_0x2a2d14(0x18d)]);}),this['connections']['push'](_0x328f23),_0x328f23;}async[a0_0x4f3f83(0xd3)](){const _0x59beb6=a0_0x4f3f83,_0x35a4a3={'kvplU':_0x59beb6(0x109),'uohYw':'Initializing\x20Job\x20Manager...','vYsrm':_0x59beb6(0x1bc),'WZWzi':'BullMQ\x20Redis\x20connection\x20verified','YTIub':_0x59beb6(0x198),'CgICp':'job_no_configs','LRigt':_0x59beb6(0xc6),'njOSD':_0x59beb6(0x13c),'GkigH':_0x59beb6(0x173),'JjEii':function(_0x4e84c7,_0x29e423,_0x170248){return _0x4e84c7(_0x29e423,_0x170248);},'OGMFs':function(_0x25f48a,_0x52838b){return _0x25f48a*_0x52838b;},'hZlBP':_0x59beb6(0xf7),'IqQTK':_0x59beb6(0x131),'SPPfL':function(_0x41593d,_0x3d5027,_0x5b0e59){return _0x41593d(_0x3d5027,_0x5b0e59);},'zDpVN':function(_0xe54212,_0x2eff06,_0x265ccb){return _0xe54212(_0x2eff06,_0x265ccb);},'MVWsH':'failed','QlLmo':_0x59beb6(0x1a3),'rDVTQ':_0x59beb6(0x10e)};if(this[_0x59beb6(0x1b3)]){logger[_0x59beb6(0xb1)]({'event':'job_manager_already_initialized'},_0x35a4a3['kvplU']);return;}logger[_0x59beb6(0x16d)]({'event':'job_manager_init_start'},_0x35a4a3['uohYw']);const _0x4690cf=this[_0x59beb6(0x168)]();try{await _0x4690cf[_0x59beb6(0xb7)](),logger[_0x59beb6(0x16d)]({'event':_0x35a4a3[_0x59beb6(0x137)]},_0x35a4a3[_0x59beb6(0x1b2)]);}catch(_0x46a231){logger['error']({'event':'job_redis_failed','error':_0x46a231[_0x59beb6(0x18d)]},_0x59beb6(0x14b)+_0x46a231['message']+_0x59beb6(0x12c));try{await _0x4690cf['quit']();}catch(_0x1036a8){}this['connections']=this['connections']['filter'](_0xa4ee39=>_0xa4ee39!==_0x4690cf);return;}try{await _0x4690cf[_0x59beb6(0x129)]();}catch(_0x141955){}this['connections']=this[_0x59beb6(0x167)]['filter'](_0x49f2b2=>_0x49f2b2!==_0x4690cf);try{await this[_0x59beb6(0xfd)]();}catch(_0x11745c){logger[_0x59beb6(0xb1)]({'event':_0x35a4a3[_0x59beb6(0x14e)],'error':_0x11745c['message']},_0x59beb6(0xbe)+_0x11745c['message']+'.\x20DB\x20monitoring\x20disabled.');}const _0x437ee6=this['loadJobConfigs']();_0x437ee6[_0x59beb6(0xed)]===0x0&&logger[_0x59beb6(0x16d)]({'event':_0x35a4a3['CgICp']},_0x35a4a3['LRigt']);const _0x3b834f=[];for(const _0x24738c of _0x437ee6){const _0x514487=jobValidator['validateConfig'](_0x24738c,this[_0x59beb6(0x180)]);_0x514487['valid']?_0x3b834f[_0x59beb6(0xcc)](_0x24738c):logger['error']({'event':_0x59beb6(0xf5),'name':_0x24738c['name']||_0x59beb6(0x13c),'errors':_0x514487['errors']},_0x59beb6(0x133)+(_0x24738c['name']||_0x35a4a3[_0x59beb6(0x13e)])+'\x20—\x20'+_0x514487['errors'][_0x59beb6(0x13f)](';\x20'));}const _0x5dbfb5=process['env']['RESTFORGE_PROJECT_NAME']||_0x35a4a3['GkigH'],_0x19901c=process['env'][_0x59beb6(0xe0)]||_0x59beb6(0x1c6)+_0x5dbfb5+':job',_0x201279=_0x35a4a3['JjEii'](parseInt,process['env']['JOB_RETENTION_HOURS'],0xa)||0x48,_0x54a151=parseInt(process['env'][_0x59beb6(0x117)],0xa)||0xa8,_0x5cf2ce={'removeOnComplete':{'age':_0x35a4a3['OGMFs'](_0x201279,0xe10)},'removeOnFail':{'age':_0x35a4a3[_0x59beb6(0xb8)](_0x54a151,0xe10)}},_0x1697a1={'high-priority':'high','default':_0x59beb6(0x173),'low-priority':_0x35a4a3[_0x59beb6(0xb4)]};for(const [_0x391469,_0x2c5024]of Object['entries'](_0x1697a1)){this[_0x59beb6(0x171)][_0x391469]=new Queue(_0x2c5024,{'connection':this[_0x59beb6(0x168)](),'prefix':_0x19901c,'defaultJobOptions':_0x5cf2ce});}logger['info']({'event':_0x59beb6(0x139),'count':0x3},_0x35a4a3['IqQTK']);const _0x2cd2ff=parseInt(process['env']['JOB_CONCURRENCY'],0xa)||0x5,_0x22f70e=_0x35a4a3[_0x59beb6(0xb9)](parseInt,process['env'][_0x59beb6(0x192)],0xa)||0x7530,_0x173921=_0x35a4a3[_0x59beb6(0x14d)](parseInt,process[_0x59beb6(0xdf)]['JOB_MAX_STALLED_COUNT'],0xa)||0x2;for(const [_0x3aca39,_0x19973a]of Object['entries'](_0x1697a1)){const _0x3f3326=new Worker(_0x19973a,async _0x2f95dd=>this[_0x59beb6(0xfc)](_0x2f95dd),{'connection':this['createBullMQConnection'](),'prefix':_0x19901c,'concurrency':_0x2cd2ff,'stalledInterval':_0x22f70e,'maxStalledCount':_0x173921});_0x3f3326['on']('completed',(_0x54ff49,_0x482ae6)=>this[_0x59beb6(0xf2)](_0x54ff49,_0x482ae6)),_0x3f3326['on'](_0x35a4a3['MVWsH'],(_0x879a64,_0x3c024e)=>this[_0x59beb6(0x1b8)](_0x879a64,_0x3c024e)),_0x3f3326['on'](_0x35a4a3['QlLmo'],(_0x527c0b,_0x353abe)=>this['onJobProgress'](_0x527c0b,_0x353abe)),_0x3f3326['on'](_0x35a4a3['rDVTQ'],_0x52ab28=>{const _0x38c02c=_0x59beb6;logger['warn']({'event':_0x38c02c(0x11a),'jobId':_0x52ab28},_0x38c02c(0x1a8)+_0x52ab28);}),_0x3f3326['on']('error',_0x111e51=>{const _0x1b7068=_0x59beb6;logger[_0x1b7068(0xd4)]({'event':'bullmq_worker_error','queue':_0x3aca39,'error':_0x111e51['message']},'BullMQ\x20Worker\x20error\x20('+_0x3aca39+'):\x20'+_0x111e51[_0x1b7068(0x18d)]);}),this['workers'][_0x3aca39]=_0x3f3326;}logger['info']({'event':_0x59beb6(0x104),'count':0x3,'concurrency':_0x2cd2ff},_0x59beb6(0x194)+_0x2cd2ff+')');let _0x98b95=0x0;for(const _0x157809 of _0x3b834f){try{await this[_0x59beb6(0x19d)](_0x157809),_0x98b95++;}catch(_0x3d67c4){logger[_0x59beb6(0xd4)]({'event':'job_register_failed','name':_0x157809['name'],'error':_0x3d67c4[_0x59beb6(0x18d)]},'Failed\x20to\x20register\x20job:\x20'+_0x157809[_0x59beb6(0x13b)]+_0x59beb6(0xe1)+_0x3d67c4['message']);}}this[_0x59beb6(0x1b3)]=!![];const _0x3634e4=this['connections'][_0x59beb6(0xed)];logger[_0x59beb6(0x16d)]({'event':_0x59beb6(0x148),'registeredJobs':_0x98b95,'totalConfigs':_0x3b834f['length'],'redisConnections':_0x3634e4},_0x59beb6(0xfa)+_0x98b95+_0x59beb6(0x115)+_0x3634e4+'\x20Redis\x20connections');}async[a0_0x4f3f83(0x145)](){const _0x1f37a0=a0_0x4f3f83,_0x1eafc9={'cIIXP':'job_manager_shutdown_start','QovbN':function(_0x227767,_0x9b611f){return _0x227767<_0x9b611f;},'mQJbB':_0x1f37a0(0xc7),'rrgRo':function(_0x2ac512,_0x47c8e8){return _0x2ac512===_0x47c8e8;}};if(!this[_0x1f37a0(0x1b3)])return;const _0x25a47a=parseInt(process[_0x1f37a0(0xdf)]['JOB_SHUTDOWN_TIMEOUT'],0xa)||0x2710;logger[_0x1f37a0(0x16d)]({'event':_0x1eafc9['cIIXP'],'timeoutMs':_0x25a47a},'Job\x20Manager\x20shutting\x20down\x20(timeout:\x20'+_0x25a47a+'ms)...');const _0x19a6dc=Object[_0x1f37a0(0x1bf)](this['workers'])['map'](async _0x287713=>{const _0x4359e1=_0x1f37a0;try{await _0x287713[_0x4359e1(0x169)]();}catch(_0x5c54af){}});await Promise[_0x1f37a0(0xb6)](_0x19a6dc);const _0x82013a=Date['now']();while(_0x1eafc9[_0x1f37a0(0x132)](Date[_0x1f37a0(0x15b)]()-_0x82013a,_0x25a47a)){let _0x179abf=0x0;for(const _0x1156ad of Object['values'](this[_0x1f37a0(0x171)])){try{const _0x3099fd=await _0x1156ad['getJobCounts'](_0x1eafc9[_0x1f37a0(0x172)]);_0x179abf+=_0x3099fd[_0x1f37a0(0xc7)]||0x0;}catch(_0x3b5caf){}}if(_0x1eafc9['rrgRo'](_0x179abf,0x0))break;await new Promise(_0x41609b=>setTimeout(_0x41609b,0x1f4));}const _0x5f217c=Object[_0x1f37a0(0x1bf)](this['workers'])['map'](async _0x3a7903=>{const _0x1b0041=_0x1f37a0;try{await _0x3a7903[_0x1b0041(0x1aa)]();}catch(_0x3bb42e){}});await Promise['all'](_0x5f217c);const _0x22e36f=Object[_0x1f37a0(0x1bf)](this['queues'])[_0x1f37a0(0x1c5)](async _0x315ead=>{try{await _0x315ead['close']();}catch(_0x538a6e){}});await Promise['all'](_0x22e36f);for(const _0x3fe0d4 of this['connections']){try{await _0x3fe0d4[_0x1f37a0(0x129)]();}catch(_0x4436ea){}}this[_0x1f37a0(0x171)]={},this[_0x1f37a0(0x123)]={},this[_0x1f37a0(0x167)]=[],await this['setAllJobsOffline'](),this[_0x1f37a0(0xbf)]['clear'](),this['initialized']=![],logger['info']({'event':_0x1f37a0(0x191)},'Job\x20Manager\x20shutdown\x20complete');}['loadJobConfigs'](){const _0x484b9c=a0_0x4f3f83,_0xaad1eb={'qHlqX':_0x484b9c(0x1ce),'DGwnd':'job_config_parse_error'},_0xbee6c0=path[_0x484b9c(0x13f)](this[_0x484b9c(0x180)],'payload',_0xaad1eb[_0x484b9c(0x1d7)]);if(!fs['existsSync'](_0xbee6c0))return logger[_0x484b9c(0x16d)]({'event':'job_config_dir_missing','path':_0xbee6c0},'Folder\x20payload/jobs/\x20tidak\x20ditemukan'),[];const _0x208a1e=fs['readdirSync'](_0xbee6c0)[_0x484b9c(0x18a)](_0x5e6945=>_0x5e6945['endsWith']('.json')),_0x406d25=[];for(const _0xd81ea9 of _0x208a1e){const _0x149d5b=path[_0x484b9c(0x13f)](_0xbee6c0,_0xd81ea9);try{const _0x183000=fs[_0x484b9c(0xd6)](_0x149d5b,'utf8'),_0x4237a0=JSON['parse'](_0x183000);_0x4237a0[_0x484b9c(0x124)]=_0xd81ea9,_0x406d25[_0x484b9c(0xcc)](_0x4237a0);}catch(_0x68675f){logger[_0x484b9c(0xd4)]({'event':_0xaad1eb[_0x484b9c(0xde)],'file':_0xd81ea9,'error':_0x68675f[_0x484b9c(0x18d)]},_0x484b9c(0x1a5)+_0xd81ea9+'\x20—\x20'+_0x68675f['message']);}}return logger[_0x484b9c(0x16d)]({'event':_0x484b9c(0x184),'count':_0x406d25[_0x484b9c(0xed)]},'Loaded\x20'+_0x406d25[_0x484b9c(0xed)]+'\x20job\x20config(s)\x20from\x20payload/jobs/'),_0x406d25;}async[a0_0x4f3f83(0x19d)](_0x317d25){const _0x1a1edb=a0_0x4f3f83,_0x21f826={'lqqam':function(_0x7f9870,_0x4e3cf6){return _0x7f9870(_0x4e3cf6);},'BgZHW':function(_0x2f254f,_0x1bd19c){return _0x2f254f!==_0x1bd19c;},'nvsvp':_0x1a1edb(0x173),'StIYo':'cron','AgdLq':function(_0x346919,_0x27e22a){return _0x346919!==_0x27e22a;}},_0xf2f433=path[_0x1a1edb(0x13f)](this['workingDir'],_0x1a1edb(0x16c),'jobs',_0x317d25['handler']+_0x1a1edb(0x1b1));this['handlers'][_0x317d25['name']]=_0x21f826[_0x1a1edb(0x183)](require,_0xf2f433),this[_0x1a1edb(0xcb)][_0x317d25['name']]=_0x317d25;if(_0x317d25['type']===_0x1a1edb(0x1c8)&&_0x21f826['BgZHW'](_0x317d25[_0x1a1edb(0x11f)],![])){const _0x9f2819=this['queues'][_0x317d25[_0x1a1edb(0x1db)]||_0x21f826[_0x1a1edb(0xfb)]];await _0x9f2819['upsertJobScheduler'](_0x317d25['name'],{'pattern':_0x317d25['schedule'],'tz':_0x317d25[_0x1a1edb(0x110)]||undefined},{'name':_0x317d25['name'],'data':{'handler':_0x317d25['handler'],'triggeredBy':_0x21f826['StIYo'],'metadata':_0x317d25[_0x1a1edb(0x154)]||{}},'opts':{'attempts':_0x317d25['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0x317d25['retry']?.['backoff']||_0x1a1edb(0xec),'delay':_0x317d25[_0x1a1edb(0x19e)]?.[_0x1a1edb(0x1b5)]||0x1388},'timeout':_0x317d25['timeout']||0x7530}}),logger[_0x1a1edb(0x16d)]({'event':_0x1a1edb(0xc5),'name':_0x317d25[_0x1a1edb(0x13b)],'schedule':_0x317d25[_0x1a1edb(0x1d0)],'queue':_0x317d25['queue']||_0x1a1edb(0x173)},_0x1a1edb(0x144)+_0x317d25[_0x1a1edb(0x13b)]+'\x20['+_0x317d25['schedule']+']');}const _0x4fc99e=_0x317d25['type']===_0x21f826[_0x1a1edb(0xbd)]&&_0x21f826['AgdLq'](_0x317d25['enabled'],![])?_0x1a1edb(0x165):'offline';let _0x156641=null;_0x4fc99e==='online'&&(_0x156641=await this[_0x1a1edb(0x181)](_0x317d25[_0x1a1edb(0x13b)])),await this[_0x1a1edb(0x16e)](_0x317d25,_0x4fc99e,_0x156641);}async[a0_0x4f3f83(0xfc)](_0x30eeab){const _0x35330d=a0_0x4f3f83,_0x260784={'VpaBT':function(_0x3996b1,_0x917e79){return _0x3996b1+_0x917e79;},'DhKZY':function(_0x5355a7){return _0x5355a7();},'Hzsgz':_0x35330d(0x174),'jmUrL':'delayed','tzQxz':function(_0x576f0d,_0x4a82e9){return _0x576f0d===_0x4a82e9;},'DUrCl':_0x35330d(0x166),'cttOF':'manual','kPvTY':_0x35330d(0x1c8),'GlExN':'system','IGTwR':_0x35330d(0x107),'DwkVb':'job_handler_done'},_0x120a6c=this['jobConfigs'][_0x30eeab[_0x35330d(0x13b)]],_0x90a999=this['handlers'][_0x30eeab[_0x35330d(0x13b)]];if(!_0x90a999)throw new Error(_0x35330d(0x15a)+_0x30eeab[_0x35330d(0x13b)]);const _0x1eec38=logger['child']({'jobId':_0x30eeab['id'],'jobName':_0x30eeab[_0x35330d(0x13b)]});_0x1eec38[_0x35330d(0x16d)]({'event':'job_started','attempt':_0x260784['VpaBT'](_0x30eeab[_0x35330d(0x188)],0x1),'triggeredBy':_0x30eeab['data']?.['triggeredBy']||_0x35330d(0x13c)},'Job\x20started:\x20'+_0x30eeab['name']+_0x35330d(0x17b)+(_0x30eeab['attemptsMade']+0x1)+')');const _0x18d3c4=_0x260784[_0x35330d(0x178)](uuidv7),_0x290181=_0x30eeab[_0x35330d(0x12d)]?.[_0x35330d(0xe9)]||'unknown',_0x274bd9=this['insertJobHistory']({'id':_0x18d3c4,'jobName':_0x30eeab['name'],'bullmqJobId':_0x30eeab['id'],'triggerType':_0x290181===_0x260784['Hzsgz']?_0x260784['jmUrL']:_0x260784[_0x35330d(0x10c)](_0x290181,_0x260784[_0x35330d(0xcf)])?_0x260784[_0x35330d(0x15e)]:_0x260784[_0x35330d(0x100)],'triggeredBy':_0x290181==='cron'?_0x260784[_0x35330d(0x10d)]:_0x290181,'queue':_0x120a6c?.[_0x35330d(0x1db)]||_0x35330d(0x173),'attempt':_0x30eeab['attemptsMade']+0x1,'configFile':_0x120a6c?.[_0x35330d(0x124)]||null})['catch'](_0x1fba2a=>{const _0x2c14d1=_0x35330d;_0x1eec38['warn']({'event':'job_history_insert_bg_error','error':_0x1fba2a['message']},_0x2c14d1(0x101)+_0x1fba2a['message']);});this['activeHistoryIds']['set'](_0x30eeab['id'],{'historyId':_0x18d3c4,'insertPromise':_0x274bd9});const _0x11ec3d=this['buildContext'](_0x30eeab,_0x120a6c,_0x1eec38),_0x448f34=getComponentEngine();if(_0x448f34&&_0x260784[_0x35330d(0x10c)](typeof _0x448f34['executeEventHandlers'],_0x260784['IGTwR'])){const _0x205a17=await _0x448f34[_0x35330d(0x1d9)](_0x35330d(0x119),_0x11ec3d,!![]);if(!_0x205a17[_0x35330d(0x1a0)])throw new Error('Job\x20cancelled\x20by\x20onBeforeJobExecute:\x20'+_0x205a17[_0x35330d(0xd4)]);}const _0x360720=await _0x90a999(_0x11ec3d);return _0x1eec38[_0x35330d(0x16d)]({'event':_0x260784['DwkVb'],'result':_0x360720},'Job\x20handler\x20completed:\x20'+_0x30eeab['name']),_0x360720;}[a0_0x4f3f83(0x1b4)](_0x27390f,_0x3f67dc,_0x20fce8){const _0x4e6934=a0_0x4f3f83,_0x4e2c41={'MzNen':'job-scheduler','hiOfW':function(_0x3e47d5,_0xaebfae){return _0x3e47d5+_0xaebfae;}};return{'jobId':_0x27390f['id'],'jobName':_0x27390f['name'],'attempt':_0x4e2c41['hiOfW'](_0x27390f[_0x4e6934(0x188)],0x1),'maxAttempts':_0x3f67dc?.['retry']?.[_0x4e6934(0x121)]||0x3,'payload':_0x27390f['data']||{},'config':_0x3f67dc||{},'db':this[_0x4e6934(0x1d5)](),'redis':this[_0x4e6934(0x179)](),'logger':_0x20fce8,'kafka':this[_0x4e6934(0x1bd)](),'cache':this['getCacheManager'](),'updateProgress':async _0x232667=>{const _0x2baf3e=_0x4e6934;await _0x27390f[_0x2baf3e(0x114)](_0x232667);},'emit':async(_0x5db8ab,_0x5ae234)=>{const _0x4b7e3e=_0x4e6934,_0x597326=this[_0x4b7e3e(0x1bd)]();_0x597326&&await _0x597326['publishEvent'](_0x5db8ab,_0x4b7e3e(0x156),null,_0x5ae234,{'module':_0x4e2c41[_0x4b7e3e(0xd0)],'endpoint':_0x27390f[_0x4b7e3e(0x13b)]});},'job':_0x27390f};}['getDbType'](){const _0x1ff5ad=a0_0x4f3f83,_0x303f36={'OMhpq':_0x1ff5ad(0x146)};return(process['env']['DB_TYPE']||_0x303f36['OMhpq'])['toLowerCase']();}async['ensureTables'](){const _0x51d2d7=a0_0x4f3f83,_0x4bd69b={'XvDUu':'job_db_unavailable','ycGqJ':'Database\x20tidak\x20tersedia,\x20skip\x20auto-create\x20job\x20tables','BdAli':'postgresql.sql','MTNFe':_0x51d2d7(0xd5),'HqKFS':_0x51d2d7(0x1dd),'twOzx':_0x51d2d7(0x118),'DpOBI':_0x51d2d7(0xc1)},_0x3beffa=this[_0x51d2d7(0x1d5)]();if(!_0x3beffa){logger[_0x51d2d7(0xb1)]({'event':_0x4bd69b['XvDUu']},_0x4bd69b['ycGqJ']);return;}const _0x19e256=this[_0x51d2d7(0xd8)](),_0x1ff8bb={'postgresql':_0x4bd69b[_0x51d2d7(0xf3)],'oracle':_0x51d2d7(0xd7),'mysql':_0x4bd69b['MTNFe']},_0xbe64c4=_0x1ff8bb[_0x19e256];if(!_0xbe64c4){logger[_0x51d2d7(0xb1)]({'event':'job_db_type_unsupported','dbType':_0x19e256},_0x51d2d7(0x1a4)+_0x19e256+'\x27\x20tidak\x20didukung\x20untuk\x20job\x20monitoring\x20tables');return;}const _0x3f85aa=path['join'](__dirname,_0x4bd69b['HqKFS'],_0xbe64c4);if(!fs['existsSync'](_0x3f85aa)){logger['warn']({'event':_0x51d2d7(0xda),'path':_0x3f85aa},'SQL\x20script\x20tidak\x20ditemukan:\x20'+_0x3f85aa);return;}const _0x4aeac5=fs[_0x51d2d7(0xd6)](_0x3f85aa,'utf8'),_0x5254bf=this[_0x51d2d7(0x15f)](_0x4aeac5,_0x19e256);let _0x3f16e8=0x0;for(const _0x3ab33e of _0x5254bf){try{await _0x3beffa['executeQuery'](_0x3ab33e),_0x3f16e8++;}catch(_0x1cbdf0){const _0x57753e=(_0x1cbdf0[_0x51d2d7(0x18d)]||'')['toLowerCase'](),_0x252341=_0x57753e[_0x51d2d7(0x1cc)](_0x51d2d7(0x1c9))||_0x57753e[_0x51d2d7(0x1cc)](_0x4bd69b['twOzx'])||_0x57753e['includes']('duplicate');!_0x252341&&logger[_0x51d2d7(0xb1)]({'event':_0x4bd69b['DpOBI'],'error':_0x1cbdf0['message']},_0x51d2d7(0x1cd)+_0x1cbdf0['message']);}}logger['info']({'event':'job_tables_ensured','dbType':_0x19e256,'executed':_0x3f16e8},_0x51d2d7(0xce)+_0x19e256+')');}[a0_0x4f3f83(0x15f)](_0x1de8d5,_0x514d18){const _0x34432b=a0_0x4f3f83,_0x15160e={'Twwth':function(_0x34d1af,_0x33a0e0){return _0x34d1af===_0x33a0e0;},'hFZax':function(_0x720465,_0x2bfa05){return _0x720465>_0x2bfa05;},'AhYKe':'oracle'};let _0x9ef344;return _0x514d18===_0x15160e['AhYKe']?_0x9ef344=_0x1de8d5[_0x34432b(0x138)](/\n\/\s*(?:\n|$)/):_0x9ef344=_0x1de8d5['split'](/;\s*(?:\n|$)/),_0x9ef344[_0x34432b(0x1c5)](_0x52fa00=>_0x52fa00['trim']())['filter'](_0x42e012=>{const _0x318d0c=_0x34432b;if(_0x15160e['Twwth'](_0x42e012['length'],0x0))return![];const _0x5ab41e=_0x42e012['split']('\x0a')['filter'](_0x398bff=>!_0x398bff['trim']()['startsWith']('--')&&_0x398bff[_0x318d0c(0x17a)]()['length']>0x0);return _0x15160e[_0x318d0c(0x13d)](_0x5ab41e[_0x318d0c(0xed)],0x0);});}async['upsertJobRegistry'](_0x2a6c06,_0x33c437=a0_0x4f3f83(0x165),_0x59e487=null){const _0xd85739=a0_0x4f3f83,_0x261da1={'NbvwV':'cron','zzkFj':_0xd85739(0x1b7),'JbGNY':'job_registry_upsert_error'},_0x595eae=this[_0xd85739(0x1d5)]();if(!_0x595eae)return;const _0x233a3b=this['getDbType'](),_0x27f833=[_0x2a6c06['name'],_0x2a6c06[_0xd85739(0x151)]||_0x2a6c06[_0xd85739(0x13b)],_0x2a6c06['type']||_0x261da1[_0xd85739(0xe6)],_0x2a6c06[_0xd85739(0x1d0)]||null,_0x2a6c06['queue']||'default',_0x2a6c06['handler'],_0x2a6c06[_0xd85739(0x124)]||'',_0x2a6c06[_0xd85739(0x162)]||0x7530,_0x2a6c06[_0xd85739(0x19e)]?.['maxAttempts']||0x3,_0x2a6c06[_0xd85739(0x19e)]?.[_0xd85739(0x1b6)]||_0xd85739(0xec),_0x33c437,_0x59e487];try{if(_0x233a3b===_0x261da1[_0xd85739(0x15c)])await _0x595eae[_0xd85739(0x193)](_0xd85739(0x1d1),_0x27f833);else _0x233a3b===_0xd85739(0x1c4)?await _0x595eae['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)',_0x27f833):await _0x595eae['executeQuery'](_0xd85739(0x16f),_0x27f833);}catch(_0x1aa9ce){logger['warn']({'event':_0x261da1[_0xd85739(0x1ac)],'name':_0x2a6c06['name'],'error':_0x1aa9ce[_0xd85739(0x18d)]},_0xd85739(0x10a)+_0x2a6c06['name']+_0xd85739(0xe1)+_0x1aa9ce[_0xd85739(0x18d)]);}}async['insertJobHistory'](_0xfa7487){const _0xe6df60=a0_0x4f3f83,_0x25aef3={'XWmyA':_0xe6df60(0x1b7),'AcYGM':function(_0x3399a0,_0x2767f1){return _0x3399a0===_0x2767f1;},'DKAJk':'running'},_0x486b5c=this['getDbUtils']();if(!_0x486b5c)return;const _0x5ee146=this['getDbType'](),_0x4e264b=[_0xfa7487['id'],_0xfa7487['jobName'],_0xfa7487['bullmqJobId']||null,_0xfa7487[_0xe6df60(0xd9)]||_0xe6df60(0x1c8),_0xfa7487['triggeredBy']||_0xe6df60(0x159),_0xfa7487[_0xe6df60(0x1db)]||'default',_0xfa7487['attempt']||0x1,_0xfa7487[_0xe6df60(0x1c0)]||null,process['pid']];try{if(_0x5ee146===_0x25aef3[_0xe6df60(0x141)])await _0x486b5c['executeQuery']('INSERT\x20INTO\x20job_history\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(id,\x20job_name,\x20bullmq_job_id,\x20trigger_type,\x20triggered_by,\x20status,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20queue,\x20attempt,\x20config_file,\x20started_at,\x20worker_pid,\x20created_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(:1,\x20:2,\x20:3,\x20:4,\x20:5,\x20\x27running\x27,\x20:6,\x20:7,\x20:8,\x20SYSTIMESTAMP,\x20:9,\x20SYSTIMESTAMP)',_0x4e264b);else _0x25aef3['AcYGM'](_0x5ee146,'mysql')?await _0x486b5c[_0xe6df60(0x193)](_0xe6df60(0xfe),_0x4e264b):await _0x486b5c['executeQuery']('INSERT\x20INTO\x20job_history\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(id,\x20job_name,\x20bullmq_job_id,\x20trigger_type,\x20triggered_by,\x20status,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20queue,\x20attempt,\x20config_file,\x20started_at,\x20worker_pid,\x20created_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20($1,\x20$2,\x20$3,\x20$4,\x20$5,\x20\x27running\x27,\x20$6,\x20$7,\x20$8,\x20NOW(),\x20$9,\x20NOW())',_0x4e264b);await this['updateRegistryStatus'](_0xfa7487['jobName'],_0x25aef3[_0xe6df60(0x150)]);}catch(_0x877948){logger['warn']({'event':'job_history_insert_error','jobName':_0xfa7487['jobName'],'error':_0x877948['message']},_0xe6df60(0x177)+_0x877948[_0xe6df60(0x18d)]);}}async['updateJobHistoryCompleted'](_0x38f40a,_0x357024,_0x2db7bd){const _0x54aed8=a0_0x4f3f83,_0x3aa274={'DBFcL':'oracle','hOcYB':function(_0x547c51,_0x27177e){return _0x547c51===_0x27177e;},'JzIWZ':_0x54aed8(0x10f)},_0x1bc5f3=this['getDbUtils']();if(!_0x1bc5f3)return;const _0x2b4f36=this[_0x54aed8(0xd8)](),_0x110e79=_0x2db7bd?String(_0x2db7bd)[_0x54aed8(0x102)](0x0,0x1f4):null;try{if(_0x2b4f36===_0x3aa274['DBFcL'])await _0x1bc5f3[_0x54aed8(0x193)](_0x54aed8(0x18f),[_0x357024,_0x110e79,_0x38f40a]);else _0x3aa274['hOcYB'](_0x2b4f36,_0x54aed8(0x1c4))?await _0x1bc5f3['executeQuery'](_0x54aed8(0xc9),[_0x357024,_0x110e79,_0x38f40a]):await _0x1bc5f3['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',[_0x357024,_0x110e79,_0x38f40a]);}catch(_0x449126){logger['warn']({'event':_0x3aa274[_0x54aed8(0xe3)],'historyId':_0x38f40a,'error':_0x449126[_0x54aed8(0x18d)]},'Failed\x20to\x20update\x20job\x20history\x20(completed):\x20'+_0x449126[_0x54aed8(0x18d)]);}}async[a0_0x4f3f83(0x196)](_0x90df44,_0x1c19a5,_0x451700,_0x16f20e,_0x2ff4c7){const _0x13a9c4=a0_0x4f3f83,_0x425e2d={'zRRyn':function(_0x24f972,_0x222016){return _0x24f972(_0x222016);},'ghUwp':function(_0x401f73,_0x3b557d){return _0x401f73===_0x3b557d;},'TEicg':_0x13a9c4(0x1b7),'WICMw':function(_0x27768b,_0x1814a8){return _0x27768b||_0x1814a8;},'CrdBz':function(_0x49ba36,_0x4a2172){return _0x49ba36===_0x4a2172;},'otKFZ':_0x13a9c4(0x1c4)},_0x45d179=this[_0x13a9c4(0x1d5)]();if(!_0x45d179)return;const _0x28c70d=this[_0x13a9c4(0xd8)](),_0x44842f=_0x16f20e?_0x425e2d[_0x13a9c4(0xf9)](String,_0x16f20e)[_0x13a9c4(0x102)](0x0,0x3e8):null,_0x58dc0d=_0x2ff4c7?String(_0x2ff4c7)['substring'](0x0,0xfa0):null;try{if(_0x425e2d['ghUwp'](_0x28c70d,_0x425e2d[_0x13a9c4(0x120)]))await _0x45d179['executeQuery'](_0x13a9c4(0x13a),[_0x1c19a5,_0x425e2d['WICMw'](_0x451700,0x0),_0x44842f,_0x58dc0d,_0x90df44]);else _0x425e2d[_0x13a9c4(0x1b9)](_0x28c70d,_0x425e2d['otKFZ'])?await _0x45d179[_0x13a9c4(0x193)]('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27failed\x27,\x20completed_at\x20=\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20?,\x20progress\x20=\x20?,\x20error_message\x20=\x20?,\x20error_stack\x20=\x20?\x20WHERE\x20id\x20=\x20?',[_0x1c19a5,_0x451700||0x0,_0x44842f,_0x58dc0d,_0x90df44]):await _0x45d179[_0x13a9c4(0x193)]('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',[_0x1c19a5,_0x451700||0x0,_0x44842f,_0x58dc0d,_0x90df44]);}catch(_0x5041c7){logger[_0x13a9c4(0xb1)]({'event':_0x13a9c4(0xbb),'historyId':_0x90df44,'error':_0x5041c7[_0x13a9c4(0x18d)]},_0x13a9c4(0x1ae)+_0x5041c7[_0x13a9c4(0x18d)]);}}async['updateRegistryStatus'](_0x1fe2ff,_0x2e6b9b){const _0x38ea79=a0_0x4f3f83,_0x18724c={'aaQge':function(_0x55a829,_0x887a2c){return _0x55a829===_0x887a2c;}},_0x744268=this['getDbUtils']();if(!_0x744268)return;const _0x34f503=this['getDbType']();try{if(_0x18724c['aaQge'](_0x34f503,_0x38ea79(0x1b7)))await _0x744268[_0x38ea79(0x193)](_0x38ea79(0x18c),[_0x2e6b9b,_0x1fe2ff]);else _0x34f503===_0x38ea79(0x1c4)?await _0x744268['executeQuery'](_0x38ea79(0x1d8),[_0x2e6b9b,_0x1fe2ff]):await _0x744268['executeQuery'](_0x38ea79(0x189),[_0x2e6b9b,_0x1fe2ff]);}catch(_0x57f30d){}}async[a0_0x4f3f83(0x1d2)](_0x2718c7,_0x322e7d,_0xa36ed1,_0x4c2873){const _0xd73293=a0_0x4f3f83,_0x38e20e={'rfFHN':_0xd73293(0x1a0),'GYonJ':'total_failed','ripTz':function(_0x38bb98,_0x2b788a){return _0x38bb98===_0x2b788a;}},_0x2f9f0c=this['getDbUtils']();if(!_0x2f9f0c)return;const _0x5de763=this[_0xd73293(0xd8)](),_0x4979fd=_0x322e7d===_0x38e20e['rfFHN']?'total_success':_0x38e20e['GYonJ'];try{if(_0x5de763===_0xd73293(0x1b7))await _0x2f9f0c['executeQuery'](_0xd73293(0x135)+_0x4979fd+_0xd73293(0xf0)+_0x4979fd+'\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',[_0x322e7d,_0xa36ed1,_0x4c2873,_0x2718c7]);else _0x38e20e['ripTz'](_0x5de763,'mysql')?await _0x2f9f0c[_0xd73293(0x193)]('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'+_0x4979fd+_0xd73293(0xf0)+_0x4979fd+'\x20+\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20?\x20WHERE\x20job_name\x20=\x20?',[_0x322e7d,_0xa36ed1,_0x4c2873,_0x2718c7]):await _0x2f9f0c['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'+_0x4979fd+_0xd73293(0xf0)+_0x4979fd+_0xd73293(0xe8),[_0x322e7d,_0xa36ed1,_0x4c2873,_0x2718c7]);}catch(_0x2abec9){logger['warn']({'event':'job_registry_counter_error','jobName':_0x2718c7,'error':_0x2abec9['message']},'Failed\x20to\x20update\x20job\x20registry\x20counters:\x20'+_0x2abec9['message']);}}async['getNextRunFromBullMQ'](_0x5f2257){const _0x365079=a0_0x4f3f83,_0x368d9a={'zwCRA':_0x365079(0x1c8),'MybPQ':function(_0x48d302,_0x287fb1){return _0x48d302===_0x287fb1;},'VAiTt':function(_0x591402,_0x446904){return _0x591402===_0x446904;},'DsPbz':'function'},_0x2b245c=this[_0x365079(0xcb)][_0x5f2257];if(!_0x2b245c||_0x2b245c['type']!==_0x368d9a[_0x365079(0xc3)]||_0x368d9a['MybPQ'](_0x2b245c['enabled'],![]))return null;const _0x2ce473=this[_0x365079(0x171)][_0x2b245c['queue']||_0x365079(0x173)];if(!_0x2ce473)return null;try{if(_0x368d9a[_0x365079(0x17c)](typeof _0x2ce473['getJobSchedulers'],_0x368d9a['DsPbz'])){const _0x2a1962=await _0x2ce473['getJobSchedulers'](0x0,0x64),_0x14c3de=_0x2a1962['find'](_0x4b37ac=>_0x4b37ac[_0x365079(0x13b)]===_0x5f2257);return _0x14c3de?.['next']?new Date(_0x14c3de[_0x365079(0x130)]):null;}}catch(_0x2cd4fe){}return null;}async['setAllJobsOffline'](){const _0x1099c7=a0_0x4f3f83,_0x193d0f={'jOuwl':_0x1099c7(0x18e)},_0x56e885=this[_0x1099c7(0x1d5)]();if(!_0x56e885)return;const _0x9cafd3=this[_0x1099c7(0xd8)]();try{if(_0x9cafd3==='oracle')await _0x56e885[_0x1099c7(0x193)]('UPDATE\x20job_registry\x20SET\x20status\x20=\x20\x27offline\x27,\x20next_run_at\x20=\x20NULL,\x20updated_at\x20=\x20SYSTIMESTAMP');else _0x9cafd3==='mysql'?await _0x56e885['executeQuery']('UPDATE\x20job_registry\x20SET\x20status\x20=\x20\x27offline\x27,\x20next_run_at\x20=\x20NULL'):await _0x56e885[_0x1099c7(0x193)]('UPDATE\x20job_registry\x20SET\x20status\x20=\x20\x27offline\x27,\x20next_run_at\x20=\x20NULL,\x20updated_at\x20=\x20NOW()');}catch(_0x34beb9){logger[_0x1099c7(0xb1)]({'event':_0x193d0f[_0x1099c7(0x1c1)],'error':_0x34beb9[_0x1099c7(0x18d)]},_0x1099c7(0x12e)+_0x34beb9[_0x1099c7(0x18d)]);}}[a0_0x4f3f83(0x1d5)](){const _0x9d7cd4=a0_0x4f3f83,_0x163072={'VJmtR':_0x9d7cd4(0x146),'zRodN':function(_0xefd351,_0x21378d){return _0xefd351(_0x21378d);},'gMgRl':function(_0x454710,_0x485a0a){return _0x454710===_0x485a0a;},'wrZky':'mysql','jnXCS':_0x9d7cd4(0x11e),'FYUBJ':'db_mysql_unavailable','zfoyQ':_0x9d7cd4(0x197),'xjjbl':function(_0x59d31d,_0x42b58c){return _0x59d31d(_0x42b58c);},'wIKrY':'../../utils/db','ovADo':_0x9d7cd4(0x1d6)},_0x3238c1=(process['env'][_0x9d7cd4(0xc4)]||_0x163072[_0x9d7cd4(0x199)])['toLowerCase']();if(_0x3238c1==='oracle')try{const _0xdf83ae=_0x163072[_0x9d7cd4(0x195)](require,_0x9d7cd4(0x16b));return{'executeQuery':(_0x236162,_0x13651f)=>_0xdf83ae[_0x9d7cd4(0x193)](_0x236162,_0x13651f),'executeTransaction':_0x3b6ae9=>_0xdf83ae[_0x9d7cd4(0x155)](_0x3b6ae9),'getPool':()=>_0xdf83ae[_0x9d7cd4(0x160)]()};}catch(_0x4da56a){return logger['warn']({'event':_0x9d7cd4(0x127)},'Oracle\x20DB\x20module\x20not\x20available'),null;}if(_0x163072[_0x9d7cd4(0x187)](_0x3238c1,_0x163072[_0x9d7cd4(0x116)]))try{const _0xe4a8a=_0x163072['zRodN'](require,_0x163072[_0x9d7cd4(0x1cf)]);return{'executeQuery':(_0x3fbd11,_0x506f6d)=>_0xe4a8a['executeQuery'](_0x3fbd11,_0x506f6d),'executeTransaction':_0x9fa8ea=>_0xe4a8a[_0x9d7cd4(0x155)](_0x9fa8ea),'getPool':()=>_0xe4a8a[_0x9d7cd4(0x160)]()};}catch(_0x5e7aa5){return logger[_0x9d7cd4(0xb1)]({'event':_0x163072[_0x9d7cd4(0x14f)]},_0x163072['zfoyQ']),null;}try{const _0xa8c301=_0x163072['xjjbl'](require,_0x163072['wIKrY']);return{'executeQuery':_0xa8c301[_0x9d7cd4(0x193)],'executeTransaction':_0xa8c301[_0x9d7cd4(0x155)],'getPool':_0xa8c301['getPool']};}catch(_0x513671){return logger['warn']({'event':_0x9d7cd4(0xca)},_0x163072['ovADo']),null;}}[a0_0x4f3f83(0x179)](){const _0x1e2eb2=a0_0x4f3f83;try{const _0x3cf0df=require(_0x1e2eb2(0x157));return _0x3cf0df[_0x1e2eb2(0xeb)]?_0x3cf0df[_0x1e2eb2(0xeb)]():_0x3cf0df;}catch(_0x2b836f){return null;}}[a0_0x4f3f83(0x1bd)](){const _0x4c14de=a0_0x4f3f83,_0x42ea3c={'rcSMY':'true'};try{if(process['env'][_0x4c14de(0xbc)]===_0x42ea3c['rcSMY']){const _0x14e1f7=require('../../services/kafkaService');return _0x14e1f7[_0x4c14de(0x1ab)]?_0x14e1f7['getInstance']():_0x14e1f7;}}catch(_0x33cfd7){}return null;}[a0_0x4f3f83(0x1c2)](){const _0x597cf8=a0_0x4f3f83,_0x30beb3={'bdlpd':function(_0x5c6f71,_0xc1036){return _0x5c6f71(_0xc1036);}};try{return _0x30beb3['bdlpd'](require,_0x597cf8(0x1b0));}catch(_0x3a37c2){return null;}}async[a0_0x4f3f83(0x1da)](_0x3c14f1,_0x4b5413={}){const _0x31f8e4=a0_0x4f3f83,_0x53dd03={'WmjCB':'default','OPpcs':'api'},_0x289b82=this[_0x31f8e4(0xcb)][_0x3c14f1];if(!_0x289b82)throw new Error('Job\x20tidak\x20ditemukan:\x20'+_0x3c14f1);const _0x5c3278=this[_0x31f8e4(0x171)][_0x289b82['queue']||_0x53dd03[_0x31f8e4(0x176)]],_0x4e370a=await _0x5c3278[_0x31f8e4(0x158)](_0x3c14f1,{..._0x4b5413,'handler':_0x289b82['handler'],'triggeredBy':_0x53dd03['OPpcs']},{'attempts':_0x289b82['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0x289b82[_0x31f8e4(0x19e)]?.['backoff']||'exponential','delay':_0x289b82[_0x31f8e4(0x19e)]?.[_0x31f8e4(0x1b5)]||0x1388},'timeout':_0x289b82['timeout']||0x7530});return logger[_0x31f8e4(0x16d)]({'event':_0x31f8e4(0x17d),'jobId':_0x4e370a['id'],'name':_0x3c14f1,'triggeredBy':_0x53dd03[_0x31f8e4(0xd1)]},_0x31f8e4(0x19b)+_0x3c14f1+'\x20(id:\x20'+_0x4e370a['id']+')'),{'jobId':_0x4e370a['id'],'name':_0x3c14f1};}async['dispatchDelayed'](_0x3bf6c7,_0x3c5ca2={},_0x59fd8a=0x0){const _0x5ddbd6=a0_0x4f3f83,_0x288799={'EjZdS':_0x5ddbd6(0x174),'QvReP':_0x5ddbd6(0x11c)},_0x452589=this['jobConfigs'][_0x3bf6c7];if(!_0x452589)throw new Error('Job\x20tidak\x20ditemukan:\x20'+_0x3bf6c7);const _0x3acb48=this['queues'][_0x452589['queue']||_0x5ddbd6(0x173)],_0x4a2ec2=await _0x3acb48[_0x5ddbd6(0x158)](_0x3bf6c7,{..._0x3c5ca2,'handler':_0x452589['handler'],'triggeredBy':_0x288799[_0x5ddbd6(0x19a)]},{'delay':_0x59fd8a,'attempts':_0x452589[_0x5ddbd6(0x19e)]?.['maxAttempts']||0x3,'backoff':{'type':_0x452589[_0x5ddbd6(0x19e)]?.[_0x5ddbd6(0x1b6)]||_0x5ddbd6(0xec),'delay':_0x452589['retry']?.[_0x5ddbd6(0x1b5)]||0x1388},'timeout':_0x452589['timeout']||0x7530});return logger['info']({'event':_0x288799['QvReP'],'jobId':_0x4a2ec2['id'],'name':_0x3bf6c7,'delayMs':_0x59fd8a},'Job\x20dispatched\x20(delayed\x20'+_0x59fd8a+'ms):\x20'+_0x3bf6c7+_0x5ddbd6(0x142)+_0x4a2ec2['id']+')'),{'jobId':_0x4a2ec2['id'],'name':_0x3bf6c7};}async[a0_0x4f3f83(0x152)](_0x384914){const _0x2c7b1a=a0_0x4f3f83;for(const _0x48354a of Object['values'](this['queues'])){const _0xf9230=await _0x48354a[_0x2c7b1a(0x112)](_0x384914);if(_0xf9230){const _0x2ba808=await _0xf9230['getState']();return{'jobId':_0xf9230['id'],'name':_0xf9230[_0x2c7b1a(0x13b)],'state':_0x2ba808,'progress':_0xf9230[_0x2c7b1a(0x1a3)],'attemptsMade':_0xf9230[_0x2c7b1a(0x188)],'failedReason':_0xf9230['failedReason'],'returnvalue':_0xf9230[_0x2c7b1a(0xe5)],'data':_0xf9230[_0x2c7b1a(0x12d)],'timestamps':{'created':_0xf9230[_0x2c7b1a(0xff)],'started':_0xf9230[_0x2c7b1a(0xb5)],'completed':_0xf9230['finishedOn']}};}}return null;}[a0_0x4f3f83(0x1d4)](){const _0x293126=a0_0x4f3f83;return Object[_0x293126(0x1bf)](this[_0x293126(0xcb)])[_0x293126(0x1c5)](_0x2db2ae=>({'name':_0x2db2ae[_0x293126(0x13b)],'description':_0x2db2ae[_0x293126(0x151)]||'','type':_0x2db2ae[_0x293126(0xb3)],'schedule':_0x2db2ae[_0x293126(0x1d0)],'handler':_0x2db2ae['handler'],'enabled':_0x2db2ae['enabled']!==![],'queue':_0x2db2ae[_0x293126(0x1db)]||'default','timeout':_0x2db2ae['timeout']||0x7530,'retry':_0x2db2ae['retry']||{'maxAttempts':0x3,'backoff':_0x293126(0xec),'initialDelay':0x1388},'metadata':_0x2db2ae[_0x293126(0x154)]||{}}));}async['listRunning'](){const _0x1ada22=a0_0x4f3f83,_0xf79577={'WsrBV':_0x1ada22(0xc7)},_0x4b63de=[];for(const [_0x486d0a,_0x406254]of Object[_0x1ada22(0x1a9)](this[_0x1ada22(0x171)])){const _0x59439a=await _0x406254[_0x1ada22(0x11d)]([_0xf79577['WsrBV']]);for(const _0x5cb0a7 of _0x59439a){_0x4b63de[_0x1ada22(0xcc)]({'jobId':_0x5cb0a7['id'],'name':_0x5cb0a7[_0x1ada22(0x13b)],'queue':_0x486d0a,'progress':_0x5cb0a7['progress'],'attemptsMade':_0x5cb0a7['attemptsMade'],'startedAt':_0x5cb0a7[_0x1ada22(0xb5)]});}}return _0x4b63de;}async[a0_0x4f3f83(0xf6)](_0xa8a4fe={}){const _0x3c0c4f=a0_0x4f3f83,_0x21084e={'YkUys':function(_0x5ea30f,_0x3d6727,_0x5432a6){return _0x5ea30f(_0x3d6727,_0x5432a6);},'pjGSE':function(_0x4895bb,_0x59da28){return _0x4895bb*_0x59da28;},'MHIAN':function(_0x51c199,_0x259348){return _0x51c199-_0x259348;},'kpakB':function(_0x5a5141,_0x27b1e1){return _0x5a5141-_0x27b1e1;},'UpmAP':function(_0x3fc722,_0x3c229a){return _0x3fc722+_0x3c229a;},'qKdSv':_0x3c0c4f(0xe2)},_0x5e7431=_0x21084e[_0x3c0c4f(0x105)](parseInt,_0xa8a4fe[_0x3c0c4f(0xe4)],0xa)||0x1,_0x1c833a=Math[_0x3c0c4f(0x17f)](parseInt(_0xa8a4fe[_0x3c0c4f(0x1a1)],0xa)||0x14,0x64),_0x4f721b=_0x21084e[_0x3c0c4f(0x1af)](_0x21084e['MHIAN'](_0x5e7431,0x1),_0x1c833a),_0x362e6d=_0x21084e['kpakB'](_0x21084e['UpmAP'](_0x4f721b,_0x1c833a),0x1),_0x2c5e23=[];for(const [_0x4d4cf8,_0x49e49c]of Object['entries'](this[_0x3c0c4f(0x171)])){const _0x36d784=await _0x49e49c[_0x3c0c4f(0x11d)](['completed'],_0x4f721b,_0x362e6d),_0x514f08=await _0x49e49c[_0x3c0c4f(0x11d)]([_0x21084e[_0x3c0c4f(0x186)]],_0x4f721b,_0x362e6d);for(const _0x1e8af7 of[..._0x36d784,..._0x514f08]){const _0xeefc61=await _0x1e8af7['getState']();_0x2c5e23['push']({'jobId':_0x1e8af7['id'],'name':_0x1e8af7['name'],'state':_0xeefc61,'queue':_0x4d4cf8,'attemptsMade':_0x1e8af7[_0x3c0c4f(0x188)],'failedReason':_0x1e8af7[_0x3c0c4f(0xd2)],'returnvalue':_0x1e8af7[_0x3c0c4f(0xe5)],'timestamps':{'created':_0x1e8af7['timestamp'],'started':_0x1e8af7['processedOn'],'completed':_0x1e8af7['finishedOn']}});}}return _0x2c5e23['sort']((_0x5c5028,_0x34bf0f)=>(_0x34bf0f[_0x3c0c4f(0x143)]['created']||0x0)-(_0x5c5028['timestamps']['created']||0x0)),{'jobs':_0x2c5e23['slice'](0x0,_0x1c833a),'total':_0x2c5e23[_0x3c0c4f(0xed)],'page':_0x5e7431,'limit':_0x1c833a};}async[a0_0x4f3f83(0x1c7)](_0x386c0b){const _0x285759=a0_0x4f3f83,_0x4f14e0={'WEChx':function(_0x41578a,_0x5dd84c){return _0x41578a===_0x5dd84c;},'wPIhp':'api-cancel','xAsID':function(_0xf15401,_0x5ac467){return _0xf15401===_0x5ac467;}};for(const _0x1730d5 of Object['values'](this[_0x285759(0x171)])){const _0x202bff=await _0x1730d5[_0x285759(0x112)](_0x386c0b);if(_0x202bff){const _0x9b0c91=await _0x202bff['getState']();if(_0x4f14e0['WEChx'](_0x9b0c91,'active'))return await _0x202bff['moveToFailed'](new Error(_0x285759(0x122)),_0x4f14e0['wPIhp'],!![]),{'success':!![],'message':_0x285759(0x111)+_0x386c0b+'\x20cancelled\x20(was\x20active)'};if(_0x9b0c91===_0x285759(0x17e)||_0x4f14e0[_0x285759(0x18b)](_0x9b0c91,'delayed'))return await _0x202bff['remove'](),{'success':!![],'message':'Job\x20'+_0x386c0b+'\x20removed\x20(was\x20'+_0x9b0c91+')'};return{'success':![],'message':_0x285759(0x111)+_0x386c0b+'\x20tidak\x20bisa\x20di-cancel\x20(state:\x20'+_0x9b0c91+')'};}}return{'success':![],'message':'Job\x20'+_0x386c0b+_0x285759(0x140)};}async['getHealthStatus'](){const _0x4a08be=a0_0x4f3f83,_0x26db59={'UXXuB':_0x4a08be(0x11b),'iepqB':'paused'},_0x1683bc={};for(const [_0x575d09,_0x33f58b]of Object[_0x4a08be(0x1a9)](this['queues'])){try{const _0xa24f28=await _0x33f58b[_0x4a08be(0x19f)]('active',_0x26db59[_0x4a08be(0x1ad)],'delayed','failed',_0x26db59['iepqB'],_0x4a08be(0x17e));_0x1683bc[_0x575d09]=_0xa24f28;}catch(_0x4ee9be){_0x1683bc[_0x575d09]={'error':_0x4ee9be['message']};}}const _0x446127={};for(const [_0x4e9d72,_0x4a65fd]of Object['entries'](this[_0x4a08be(0x123)])){_0x446127[_0x4e9d72]={'running':_0x4a65fd['isRunning'](),'paused':_0x4a65fd['isPaused']()};}return{'initialized':this[_0x4a08be(0x1b3)],'registeredJobs':Object['keys'](this[_0x4a08be(0xcb)])[_0x4a08be(0xed)],'redisConnections':this['connections'][_0x4a08be(0xed)],'queues':_0x1683bc,'workers':_0x446127};}async['onJobCompleted'](_0x2f75e1,_0x3685d8){const _0x20dcc7=a0_0x4f3f83,_0x1bcc09={'GFRDT':_0x20dcc7(0x190),'MTzto':'onAfterJobComplete\x20handler\x20error\x20(non-blocking)','IYqbB':'job_completed','BjGok':function(_0x5b84e5,_0x2d3bc0){return _0x5b84e5-_0x2d3bc0;},'UNsbY':_0x20dcc7(0x12b),'MNIkQ':_0x20dcc7(0x1a0),'khnhc':function(_0x59dc53,_0x1f9996){return _0x59dc53===_0x1f9996;},'LrisI':'onAfterJobComplete','KkhWY':_0x20dcc7(0x185)},_0x425933=logger['child']({'jobId':_0x2f75e1['id'],'jobName':_0x2f75e1[_0x20dcc7(0x13b)]});_0x425933['info']({'event':_0x1bcc09[_0x20dcc7(0x113)],'attemptsMade':_0x2f75e1[_0x20dcc7(0x188)],'duration':_0x2f75e1['finishedOn']?_0x2f75e1[_0x20dcc7(0xee)]-_0x2f75e1['processedOn']:null},_0x20dcc7(0x170)+_0x2f75e1[_0x20dcc7(0x13b)]);const _0x373a3f=this[_0x20dcc7(0xbf)][_0x20dcc7(0xe7)](_0x2f75e1['id']);if(_0x373a3f){if(_0x373a3f[_0x20dcc7(0x14c)])await _0x373a3f[_0x20dcc7(0x14c)];const _0x527ab4=_0x2f75e1['finishedOn']&&_0x2f75e1['processedOn']?_0x1bcc09[_0x20dcc7(0x163)](_0x2f75e1[_0x20dcc7(0xee)],_0x2f75e1[_0x20dcc7(0xb5)]):null,_0xea7ba5=typeof _0x3685d8===_0x1bcc09['UNsbY']?_0x3685d8:_0x3685d8?JSON['stringify'](_0x3685d8)['substring'](0x0,0x1f4):null;await this[_0x20dcc7(0x128)](_0x373a3f['historyId'],_0x527ab4,_0xea7ba5);const _0x551105=await this['getNextRunFromBullMQ'](_0x2f75e1['name']);await this['updateRegistryCounters'](_0x2f75e1['name'],_0x1bcc09[_0x20dcc7(0x125)],_0x527ab4,_0x551105),this['activeHistoryIds']['delete'](_0x2f75e1['id']);}const _0x1448fc=getComponentEngine();if(_0x1448fc&&_0x1bcc09[_0x20dcc7(0x134)](typeof _0x1448fc[_0x20dcc7(0x1d9)],'function')){const _0x3bdf06={'jobId':_0x2f75e1['id'],'jobName':_0x2f75e1[_0x20dcc7(0x13b)],'result':_0x3685d8,'config':this[_0x20dcc7(0xcb)][_0x2f75e1['name']]||{}};_0x1448fc[_0x20dcc7(0x1d9)](_0x1bcc09[_0x20dcc7(0x1be)],_0x3bdf06,![])['catch'](_0x4f784c=>{const _0xb4af8d=_0x20dcc7;_0x425933['warn']({'event':_0x1bcc09[_0xb4af8d(0x161)],'error':_0x4f784c['message']},_0x1bcc09['MTzto']);});}const _0x10fa3c=this['getKafkaService']();if(_0x10fa3c)try{await _0x10fa3c['publishEvent']('restforge.jobs.completed',_0x20dcc7(0xf1),null,{'jobId':_0x2f75e1['id'],'name':_0x2f75e1[_0x20dcc7(0x13b)],'result':_0x3685d8},{'module':_0x20dcc7(0x153),'endpoint':_0x2f75e1['name']});}catch(_0x2996be){_0x425933['warn']({'event':'job_kafka_publish_error','error':_0x2996be['message']},_0x1bcc09[_0x20dcc7(0x1dc)]);}}async['onJobFailed'](_0x26f5a2,_0x3b8f0f){const _0x517026=a0_0x4f3f83,_0x362142={'NdLYv':_0x517026(0x1ca),'kmXPH':_0x517026(0xe2),'aWMIh':function(_0xf4bf35){return _0xf4bf35();},'woUAi':function(_0x46008d,_0x1c6ac1){return _0x46008d===_0x1c6ac1;},'JTfxb':_0x517026(0x107),'kzkbC':'job-scheduler','ntypB':'job_kafka_publish_error'},_0x151f76=logger[_0x517026(0x126)]({'jobId':_0x26f5a2['id'],'jobName':_0x26f5a2[_0x517026(0x13b)]});_0x151f76[_0x517026(0xd4)]({'event':_0x517026(0xea),'attemptsMade':_0x26f5a2['attemptsMade'],'failedReason':_0x3b8f0f?.['message'],'willRetry':_0x26f5a2['attemptsMade']<(this['jobConfigs'][_0x26f5a2['name']]?.[_0x517026(0x19e)]?.[_0x517026(0x121)]||0x3)},'Job\x20failed:\x20'+_0x26f5a2[_0x517026(0x13b)]+_0x517026(0xe1)+_0x3b8f0f?.['message']);const _0x8cc441=this['activeHistoryIds'][_0x517026(0xe7)](_0x26f5a2['id']);if(_0x8cc441){if(_0x8cc441['insertPromise'])await _0x8cc441[_0x517026(0x14c)];const _0x4ab150=_0x26f5a2['finishedOn']&&_0x26f5a2['processedOn']?_0x26f5a2['finishedOn']-_0x26f5a2[_0x517026(0xb5)]:null;await this['updateJobHistoryFailed'](_0x8cc441[_0x517026(0xcd)],_0x4ab150,_0x26f5a2['progress'],_0x3b8f0f?.['message'],_0x3b8f0f?.[_0x517026(0xdb)]);const _0x28f498=await this[_0x517026(0x181)](_0x26f5a2[_0x517026(0x13b)]);await this[_0x517026(0x1d2)](_0x26f5a2['name'],_0x362142[_0x517026(0xf4)],_0x4ab150,_0x28f498),this[_0x517026(0xbf)][_0x517026(0x1a2)](_0x26f5a2['id']);}const _0x1e0f93=_0x362142['aWMIh'](getComponentEngine);if(_0x1e0f93&&_0x362142['woUAi'](typeof _0x1e0f93['executeEventHandlers'],_0x362142['JTfxb'])){const _0x4706f6={'jobId':_0x26f5a2['id'],'jobName':_0x26f5a2[_0x517026(0x13b)],'error':_0x3b8f0f?.['message'],'attemptsMade':_0x26f5a2['attemptsMade'],'config':this[_0x517026(0xcb)][_0x26f5a2['name']]||{}};_0x1e0f93[_0x517026(0x1d9)](_0x517026(0xef),_0x4706f6,![])[_0x517026(0x12a)](_0x177542=>{const _0x3a4e2d=_0x517026;_0x151f76[_0x3a4e2d(0xb1)]({'event':'after_job_failed_hook_error','error':_0x177542[_0x3a4e2d(0x18d)]},_0x362142[_0x3a4e2d(0xc2)]);});}const _0x1c8028=this['getKafkaService']();if(_0x1c8028)try{await _0x1c8028[_0x517026(0x106)]('restforge.jobs.failed',_0x517026(0x1c3),null,{'jobId':_0x26f5a2['id'],'name':_0x26f5a2[_0x517026(0x13b)],'error':_0x3b8f0f?.['message'],'attemptsMade':_0x26f5a2['attemptsMade']},{'module':_0x362142[_0x517026(0x175)],'endpoint':_0x26f5a2[_0x517026(0x13b)]});}catch(_0x4e2e0d){_0x151f76['warn']({'event':_0x362142['ntypB'],'error':_0x4e2e0d['message']},_0x517026(0x10b));}}['onJobProgress'](_0x176fd5,_0x54f75e){const _0x500c97=a0_0x4f3f83;logger[_0x500c97(0x1bb)]({'event':'job_progress','jobId':_0x176fd5['id'],'jobName':_0x176fd5['name'],'progress':_0x54f75e},_0x500c97(0xba)+_0x176fd5[_0x500c97(0x13b)]+'\x20—\x20'+_0x54f75e+'%');}}function a0_0x52f9(_0x2d7295,_0x3f8884){_0x2d7295=_0x2d7295-0xb1;const _0x16e9e7=a0_0x16e9();let _0x52f93e=_0x16e9e7[_0x2d7295];if(a0_0x52f9['AOMsfB']===undefined){var _0x5536c9=function(_0x13f144){const _0x482cc9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4d1e2d='',_0x3e4f89='';for(let _0x101a16=0x0,_0x595033,_0x4479fe,_0x34466e=0x0;_0x4479fe=_0x13f144['charAt'](_0x34466e++);~_0x4479fe&&(_0x595033=_0x101a16%0x4?_0x595033*0x40+_0x4479fe:_0x4479fe,_0x101a16++%0x4)?_0x4d1e2d+=String['fromCharCode'](0xff&_0x595033>>(-0x2*_0x101a16&0x6)):0x0){_0x4479fe=_0x482cc9['indexOf'](_0x4479fe);}for(let _0x3f3a25=0x0,_0x32b292=_0x4d1e2d['length'];_0x3f3a25<_0x32b292;_0x3f3a25++){_0x3e4f89+='%'+('00'+_0x4d1e2d['charCodeAt'](_0x3f3a25)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3e4f89);};a0_0x52f9['mIerQy']=_0x5536c9,a0_0x52f9['PCpvmy']={},a0_0x52f9['AOMsfB']=!![];}const _0xeb17c0=_0x16e9e7[0x0],_0x1d1648=_0x2d7295+_0xeb17c0,_0x5f1c79=a0_0x52f9['PCpvmy'][_0x1d1648];return!_0x5f1c79?(_0x52f93e=a0_0x52f9['mIerQy'](_0x52f93e),a0_0x52f9['PCpvmy'][_0x1d1648]=_0x52f93e):_0x52f93e=_0x5f1c79,_0x52f93e;}module['exports']=new JobManager();
@@ -1 +1 @@
1
- function a0_0x2617(_0x405eb5,_0x3e364a){_0x405eb5=_0x405eb5-0x13c;const _0x1f6f35=a0_0x1f6f();let _0x261748=_0x1f6f35[_0x405eb5];if(a0_0x2617['Ietkuh']===undefined){var _0x27c0b7=function(_0x287c82){const _0x33f8ad='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x28b1bc='',_0x5d42fe='';for(let _0x10140c=0x0,_0xddedcf,_0x5eeb6b,_0x3e25e2=0x0;_0x5eeb6b=_0x287c82['charAt'](_0x3e25e2++);~_0x5eeb6b&&(_0xddedcf=_0x10140c%0x4?_0xddedcf*0x40+_0x5eeb6b:_0x5eeb6b,_0x10140c++%0x4)?_0x28b1bc+=String['fromCharCode'](0xff&_0xddedcf>>(-0x2*_0x10140c&0x6)):0x0){_0x5eeb6b=_0x33f8ad['indexOf'](_0x5eeb6b);}for(let _0x37cc3a=0x0,_0x4f6122=_0x28b1bc['length'];_0x37cc3a<_0x4f6122;_0x37cc3a++){_0x5d42fe+='%'+('00'+_0x28b1bc['charCodeAt'](_0x37cc3a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5d42fe);};a0_0x2617['BAxSej']=_0x27c0b7,a0_0x2617['ZFsEaa']={},a0_0x2617['Ietkuh']=!![];}const _0x236bbb=_0x1f6f35[0x0],_0x367616=_0x405eb5+_0x236bbb,_0x55a231=a0_0x2617['ZFsEaa'][_0x367616];return!_0x55a231?(_0x261748=a0_0x2617['BAxSej'](_0x261748),a0_0x2617['ZFsEaa'][_0x367616]=_0x261748):_0x261748=_0x55a231,_0x261748;}const a0_0xc66994=a0_0x2617;(function(_0x350973,_0x1bbdeb){const _0x5d7a5d=a0_0x2617,_0x408c82=_0x350973();while(!![]){try{const _0x21f9ff=-parseInt(_0x5d7a5d(0x19f))/0x1*(-parseInt(_0x5d7a5d(0x163))/0x2)+parseInt(_0x5d7a5d(0x16a))/0x3*(parseInt(_0x5d7a5d(0x1a9))/0x4)+-parseInt(_0x5d7a5d(0x193))/0x5+-parseInt(_0x5d7a5d(0x13d))/0x6*(-parseInt(_0x5d7a5d(0x1ab))/0x7)+-parseInt(_0x5d7a5d(0x18e))/0x8+-parseInt(_0x5d7a5d(0x141))/0x9*(-parseInt(_0x5d7a5d(0x182))/0xa)+parseInt(_0x5d7a5d(0x16b))/0xb*(-parseInt(_0x5d7a5d(0x189))/0xc);if(_0x21f9ff===_0x1bbdeb)break;else _0x408c82['push'](_0x408c82['shift']());}catch(_0xe90b4c){_0x408c82['push'](_0x408c82['shift']());}}}(a0_0x1f6f,0xdeada));const express=require(a0_0xc66994(0x198)),{Queue}=require(a0_0xc66994(0x177)),Redis=require(a0_0xc66994(0x167)),{logger}=require(a0_0xc66994(0x171));let readConnection=null,readQueues=null,cachedJobConfigs=null;const QUEUE_NAMES={'high-priority':a0_0xc66994(0x17b),'default':'default','low-priority':a0_0xc66994(0x13c)};function getReadQueues(){const _0x2a6d31=a0_0xc66994,_0x7d084={'IqZZM':_0x2a6d31(0x142),'OjuCB':function(_0x1cdd63,_0x3715d7,_0x2931a4){return _0x1cdd63(_0x3715d7,_0x2931a4);},'zgMGD':'error'};if(readQueues)return readQueues;const _0x274e0f=process['env'][_0x2a6d31(0x154)]||'rf:job';readConnection=new Redis({'host':process['env']['REDIS_HOST']||_0x2a6d31(0x17c),'port':parseInt(process['env'][_0x2a6d31(0x1a0)],0xa)||0x18ec,'password':process['env'][_0x2a6d31(0x170)]||undefined,'db':_0x7d084['OjuCB'](parseInt,process[_0x2a6d31(0x173)]['REDIS_DB'],0xa)||0x0,'maxRetriesPerRequest':null}),readConnection['on'](_0x7d084['zgMGD'],_0x126beb=>{const _0x112eb3=_0x2a6d31;logger['error']({'event':_0x7d084[_0x112eb3(0x146)],'error':_0x126beb[_0x112eb3(0x15b)]},_0x112eb3(0x181)+_0x126beb[_0x112eb3(0x15b)]);}),readQueues={};for(const [_0x5e0788,_0x368706]of Object[_0x2a6d31(0x15d)](QUEUE_NAMES)){readQueues[_0x5e0788]=new Queue(_0x368706,{'connection':readConnection,'prefix':_0x274e0f});}return readQueues;}function createJobRoutes(_0xfbfd63){const _0x4a48ae=a0_0xc66994,_0xbc6af2={'mGTWG':function(_0x2dfc91,_0x59d777){return _0x2dfc91(_0x59d777);},'soEuB':_0x4a48ae(0x179),'VCrYb':'job_list_error','DnGZB':'Error\x20listing\x20jobs','ukqHH':'job_status_error','XtAhf':_0x4a48ae(0x165),'rmqEa':_0x4a48ae(0x1a1),'nHRwR':'utf8','zThuU':function(_0x2d3098){return _0x2d3098();},'ixuXf':_0x4a48ae(0x1a8),'wxZuK':'exponential','fWGTJ':'job_triggered_via_api','JQusX':_0x4a48ae(0x15c),'NKvYP':function(_0x39a68d){return _0x39a68d();},'gveQh':_0x4a48ae(0x152),'ZgYGa':_0x4a48ae(0x199),'npecY':function(_0x2048b0,_0x114aae){return _0x2048b0===_0x114aae;},'IUyRe':_0x4a48ae(0x187),'GwcUu':function(_0x44786f,_0x474bdc,_0x3ae069){return _0x44786f(_0x474bdc,_0x3ae069);},'hqvxS':function(_0x564e4c,_0xa6276b){return _0x564e4c+_0xa6276b;},'hnDcR':_0x4a48ae(0x194),'TGtWO':_0x4a48ae(0x162),'ujRyK':_0x4a48ae(0x1af),'goMPD':'delayed','gjhQI':'job_queues_error','izDjf':_0x4a48ae(0x140),'YBhPX':'connected','YBzUq':_0x4a48ae(0x150),'LKFul':_0x4a48ae(0x180)},_0x238d0f=express['Router']();return _0xfbfd63&&Object[_0x4a48ae(0x160)](_0xfbfd63)['length']>0x0&&(cachedJobConfigs=_0xfbfd63),_0x238d0f['get']('/list',(_0x1df45a,_0x1fa3e9)=>{const _0x33e04c=_0x4a48ae;try{if(cachedJobConfigs){const _0x3cb71b=Object[_0x33e04c(0x174)](cachedJobConfigs)[_0x33e04c(0x14c)](_0x2c79b3=>({'name':_0x2c79b3[_0x33e04c(0x1a6)],'description':_0x2c79b3['description']||'','type':_0x2c79b3[_0x33e04c(0x159)],'schedule':_0x2c79b3[_0x33e04c(0x15e)],'handler':_0x2c79b3[_0x33e04c(0x178)],'enabled':_0x2c79b3['enabled']!==![],'queue':_0x2c79b3[_0x33e04c(0x196)]||'default','timeout':_0x2c79b3[_0x33e04c(0x14e)]||0x7530,'retry':_0x2c79b3[_0x33e04c(0x1ae)]||{'maxAttempts':0x3,'backoff':_0x33e04c(0x16f),'initialDelay':0x1388},'metadata':_0x2c79b3['metadata']||{}}));return _0x1fa3e9['json']({'success':!![],'data':_0x3cb71b,'total':_0x3cb71b['length']});}const _0x5c608b=_0xbc6af2[_0x33e04c(0x164)](require,'fs'),_0x932086=require(_0x33e04c(0x1a1)),_0x2b5d61=_0x932086['join'](process['cwd'](),_0xbc6af2['soEuB'],_0x33e04c(0x19a));if(!_0x5c608b[_0x33e04c(0x191)](_0x2b5d61))return _0x1fa3e9['json']({'success':!![],'data':[],'total':0x0});const _0x5106aa=_0x5c608b['readdirSync'](_0x2b5d61)[_0x33e04c(0x149)](_0x20396c=>_0x20396c[_0x33e04c(0x17d)]('.json')),_0xe9f0c1=[];for(const _0x28a54c of _0x5106aa){try{const _0x231495=_0x5c608b['readFileSync'](_0x932086[_0x33e04c(0x1aa)](_0x2b5d61,_0x28a54c),_0x33e04c(0x153)),_0x41da0f=JSON[_0x33e04c(0x15f)](_0x231495);_0xe9f0c1[_0x33e04c(0x14a)]({'name':_0x41da0f['name'],'description':_0x41da0f['description']||'','type':_0x41da0f[_0x33e04c(0x159)],'schedule':_0x41da0f[_0x33e04c(0x15e)],'handler':_0x41da0f['handler'],'enabled':_0x41da0f[_0x33e04c(0x176)]!==![],'queue':_0x41da0f[_0x33e04c(0x196)]||'default','timeout':_0x41da0f['timeout']||0x7530,'retry':_0x41da0f['retry']||{},'metadata':_0x41da0f['metadata']||{}});}catch(_0x402532){}}_0x1fa3e9[_0x33e04c(0x147)]({'success':!![],'data':_0xe9f0c1,'total':_0xe9f0c1[_0x33e04c(0x1a5)]});}catch(_0x1d69ba){logger[_0x33e04c(0x161)]({'event':_0xbc6af2['VCrYb'],'error':_0x1d69ba[_0x33e04c(0x15b)]},_0xbc6af2[_0x33e04c(0x145)]),_0x1fa3e9[_0x33e04c(0x1ac)](0x1f4)['json']({'success':![],'error':_0x1d69ba[_0x33e04c(0x15b)]});}}),_0x238d0f[_0x4a48ae(0x169)](_0xbc6af2['LKFul'],async(_0x4a7136,_0x3eb154)=>{const _0x55d3e2=_0x4a48ae;try{const {jobId:_0x88dbf6}=_0x4a7136['params'],_0x4a903f=getReadQueues();for(const _0x3e0d79 of Object['values'](_0x4a903f)){const _0x2f6c07=await _0x3e0d79[_0x55d3e2(0x17e)](_0x88dbf6);if(_0x2f6c07){const _0xeefd54=await _0x2f6c07[_0x55d3e2(0x175)]();return _0x3eb154['json']({'success':!![],'data':{'jobId':_0x2f6c07['id'],'name':_0x2f6c07[_0x55d3e2(0x1a6)],'state':_0xeefd54,'progress':_0x2f6c07[_0x55d3e2(0x195)],'attemptsMade':_0x2f6c07['attemptsMade'],'failedReason':_0x2f6c07['failedReason'],'returnvalue':_0x2f6c07[_0x55d3e2(0x183)],'data':_0x2f6c07['data'],'timestamps':{'created':_0x2f6c07['timestamp'],'started':_0x2f6c07[_0x55d3e2(0x14d)],'completed':_0x2f6c07[_0x55d3e2(0x18f)]}}});}}_0x3eb154['status'](0x194)['json']({'success':![],'error':_0x55d3e2(0x18d)+_0x88dbf6+'\x20tidak\x20ditemukan'});}catch(_0x26e279){logger[_0x55d3e2(0x161)]({'event':_0xbc6af2[_0x55d3e2(0x166)],'error':_0x26e279[_0x55d3e2(0x15b)]},_0xbc6af2['XtAhf']),_0x3eb154['status'](0x1f4)[_0x55d3e2(0x147)]({'success':![],'error':_0x26e279['message']});}}),_0x238d0f[_0x4a48ae(0x14b)]('/trigger/:jobName',async(_0x179ee6,_0x21807f)=>{const _0x564ce3=_0x4a48ae;try{const {jobName:_0x1f8a20}=_0x179ee6['params'],_0x1667b4=_0x179ee6[_0x564ce3(0x155)]||{};let _0x22b42d=cachedJobConfigs?.[_0x1f8a20];if(!_0x22b42d){const _0x4929d9=require('fs'),_0x5bcdee=require(_0xbc6af2['rmqEa']),_0x3bb592=_0x5bcdee['join'](process[_0x564ce3(0x190)](),_0x564ce3(0x179),_0x564ce3(0x19a)),_0x198b29=_0x4929d9[_0x564ce3(0x191)](_0x3bb592)?_0x4929d9[_0x564ce3(0x151)](_0x3bb592)['filter'](_0x379277=>_0x379277['endsWith']('.json')):[];for(const _0x4d76e4 of _0x198b29){try{const _0x432c0b=_0x4929d9['readFileSync'](_0x5bcdee[_0x564ce3(0x1aa)](_0x3bb592,_0x4d76e4),_0xbc6af2['nHRwR']),_0x51d4c9=JSON['parse'](_0x432c0b);if(_0x51d4c9['name']===_0x1f8a20){_0x22b42d=_0x51d4c9;break;}}catch(_0x5bbfc8){}}}if(!_0x22b42d)return _0x21807f['status'](0x194)[_0x564ce3(0x147)]({'success':![],'error':_0x564ce3(0x19d)+_0x1f8a20+'\x22\x20tidak\x20ditemukan\x20di\x20konfigurasi'});const _0x45f6ce=_0xbc6af2[_0x564ce3(0x172)](getReadQueues),_0x2537e9=_0x45f6ce[_0x22b42d[_0x564ce3(0x196)]||'default'],_0x49c385=await _0x2537e9['add'](_0x1f8a20,{..._0x1667b4,'handler':_0x22b42d[_0x564ce3(0x178)],'triggeredBy':_0xbc6af2[_0x564ce3(0x144)]},{'attempts':_0x22b42d['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0x22b42d['retry']?.[_0x564ce3(0x17f)]||_0xbc6af2[_0x564ce3(0x16e)],'delay':_0x22b42d[_0x564ce3(0x1ae)]?.[_0x564ce3(0x16d)]||0x1388},'timeout':_0x22b42d[_0x564ce3(0x14e)]||0x7530});logger[_0x564ce3(0x1a3)]({'event':_0xbc6af2['fWGTJ'],'jobId':_0x49c385['id'],'name':_0x1f8a20},_0x564ce3(0x19c)+_0x1f8a20+_0x564ce3(0x185)+_0x49c385['id']+')'),_0x21807f[_0x564ce3(0x147)]({'success':!![],'jobId':_0x49c385['id'],'message':'Job\x20'+_0x1f8a20+_0x564ce3(0x18a)});}catch(_0x17466b){logger[_0x564ce3(0x161)]({'event':'job_trigger_error','error':_0x17466b['message']},_0xbc6af2['JQusX']),_0x21807f['status'](0x1f4)['json']({'success':![],'error':_0x17466b[_0x564ce3(0x15b)]});}}),_0x238d0f['post'](_0x4a48ae(0x18c),async(_0x46ca00,_0x3aa55d)=>{const _0x544e45=_0x4a48ae;try{const {jobId:_0x44f2f7}=_0x46ca00[_0x544e45(0x168)],_0x87c563=_0xbc6af2[_0x544e45(0x1a4)](getReadQueues);for(const _0x28e853 of Object['values'](_0x87c563)){const _0x1595dc=await _0x28e853['getJob'](_0x44f2f7);if(_0x1595dc){const _0x450494=await _0x1595dc[_0x544e45(0x175)]();if(_0x450494===_0x544e45(0x1af))return await _0x1595dc['moveToFailed'](new Error(_0xbc6af2[_0x544e45(0x1b1)]),_0x544e45(0x157),!![]),_0x3aa55d['json']({'success':!![],'message':'Job\x20'+_0x44f2f7+'\x20cancelled\x20(was\x20active)'});if(_0x450494===_0xbc6af2['ZgYGa']||_0xbc6af2['npecY'](_0x450494,_0x544e45(0x1a7)))return await _0x1595dc[_0x544e45(0x184)](),_0x3aa55d['json']({'success':!![],'message':_0x544e45(0x18d)+_0x44f2f7+'\x20removed\x20(was\x20'+_0x450494+')'});return _0x3aa55d['json']({'success':![],'message':'Job\x20'+_0x44f2f7+_0x544e45(0x188)+_0x450494+')'});}}_0x3aa55d[_0x544e45(0x1ac)](0x194)[_0x544e45(0x147)]({'success':![],'error':_0x544e45(0x18d)+_0x44f2f7+'\x20tidak\x20ditemukan'});}catch(_0x87b2c4){logger['error']({'event':_0xbc6af2[_0x544e45(0x16c)],'error':_0x87b2c4[_0x544e45(0x15b)]},'Error\x20cancelling\x20job'),_0x3aa55d[_0x544e45(0x1ac)](0x1f4)['json']({'success':![],'error':_0x87b2c4['message']});}}),_0x238d0f[_0x4a48ae(0x169)]('/history',async(_0x4be53c,_0x1aad0b)=>{const _0x4a382d=_0x4a48ae;try{const _0x5ee872=_0xbc6af2['GwcUu'](parseInt,_0x4be53c[_0x4a382d(0x1ad)][_0x4a382d(0x148)],0xa)||0x1,_0x5ece5b=Math['min'](parseInt(_0x4be53c['query']['limit'],0xa)||0x14,0x64),_0xd0b5e2=(_0x5ee872-0x1)*_0x5ece5b,_0x1bf26a=_0xbc6af2[_0x4a382d(0x1b0)](_0xd0b5e2,_0x5ece5b)-0x1,_0x554028=_0xbc6af2[_0x4a382d(0x172)](getReadQueues),_0x2cc201=[];for(const [_0x48461e,_0x34f2c1]of Object['entries'](_0x554028)){const _0x1745f6=await _0x34f2c1['getJobs']([_0xbc6af2['hnDcR']],_0xd0b5e2,_0x1bf26a),_0xae3ed4=await _0x34f2c1[_0x4a382d(0x18b)]([_0xbc6af2['TGtWO']],_0xd0b5e2,_0x1bf26a);for(const _0x3feb59 of[..._0x1745f6,..._0xae3ed4]){const _0x25ee4b=await _0x3feb59['getState']();_0x2cc201[_0x4a382d(0x14a)]({'jobId':_0x3feb59['id'],'name':_0x3feb59[_0x4a382d(0x1a6)],'state':_0x25ee4b,'queue':_0x48461e,'attemptsMade':_0x3feb59['attemptsMade'],'failedReason':_0x3feb59[_0x4a382d(0x19b)],'returnvalue':_0x3feb59['returnvalue'],'timestamps':{'created':_0x3feb59['timestamp'],'started':_0x3feb59[_0x4a382d(0x14d)],'completed':_0x3feb59[_0x4a382d(0x18f)]}});}}_0x2cc201[_0x4a382d(0x143)]((_0x27b411,_0x58b9b9)=>(_0x58b9b9[_0x4a382d(0x197)][_0x4a382d(0x192)]||0x0)-(_0x27b411[_0x4a382d(0x197)][_0x4a382d(0x192)]||0x0)),_0x1aad0b['json']({'success':!![],'data':_0x2cc201[_0x4a382d(0x1a2)](0x0,_0x5ece5b),'total':_0x2cc201['length'],'page':_0x5ee872,'limit':_0x5ece5b});}catch(_0x20d1b1){logger[_0x4a382d(0x161)]({'event':_0x4a382d(0x13e),'error':_0x20d1b1[_0x4a382d(0x15b)]},'Error\x20getting\x20job\x20history'),_0x1aad0b[_0x4a382d(0x1ac)](0x1f4)[_0x4a382d(0x147)]({'success':![],'error':_0x20d1b1[_0x4a382d(0x15b)]});}}),_0x238d0f[_0x4a48ae(0x169)](_0x4a48ae(0x13f),async(_0x1a2629,_0x14c365)=>{const _0x149be9=_0x4a48ae;try{const _0x56010e=_0xbc6af2['NKvYP'](getReadQueues),_0x158efb={};for(const [_0x42a02f,_0x237339]of Object[_0x149be9(0x15d)](_0x56010e)){try{const _0x18ba28=await _0x237339['getJobCounts'](_0xbc6af2['ujRyK'],'completed',_0xbc6af2[_0x149be9(0x15a)],'failed','paused','waiting');_0x158efb[_0x42a02f]=_0x18ba28;}catch(_0x54771a){_0x158efb[_0x42a02f]={'error':_0x54771a[_0x149be9(0x15b)]};}}_0x14c365['json']({'success':!![],'data':_0x158efb});}catch(_0x461034){logger['error']({'event':_0xbc6af2['gjhQI'],'error':_0x461034['message']},_0x149be9(0x186)),_0x14c365['status'](0x1f4)['json']({'success':![],'error':_0x461034['message']});}}),_0x238d0f['get']('/health',async(_0x587e96,_0x1bcd59)=>{const _0x1a12ac=_0x4a48ae;try{const _0xb64e44=getReadQueues(),_0x228357={};let _0x36e044=![];for(const [_0x5f2e9c,_0x3b3cbf]of Object[_0x1a12ac(0x15d)](_0xb64e44)){try{const _0x2f0a8a=await _0x3b3cbf['getJobCounts'](_0x1a12ac(0x1af),_0xbc6af2[_0x1a12ac(0x158)],_0x1a12ac(0x162));_0x228357[_0x5f2e9c]=_0x2f0a8a,_0x36e044=!![];}catch(_0x5350ea){_0x228357[_0x5f2e9c]={'error':_0x5350ea['message']};}}let _0x45f286=0x0;cachedJobConfigs&&(_0x45f286=Object[_0x1a12ac(0x160)](cachedJobConfigs)[_0x1a12ac(0x1a5)]),_0x1bcd59[_0x1a12ac(0x147)]({'success':!![],'data':{'status':_0x36e044?_0xbc6af2[_0x1a12ac(0x14f)]:_0x1a12ac(0x19e),'redis':_0x36e044?_0xbc6af2[_0x1a12ac(0x17a)]:_0xbc6af2['YBzUq'],'registeredJobs':_0x45f286,'queues':_0x228357}});}catch(_0x4139d8){_0x1bcd59[_0x1a12ac(0x1ac)](0x1f7)[_0x1a12ac(0x147)]({'success':![],'data':{'status':_0x1a12ac(0x156),'error':_0x4139d8[_0x1a12ac(0x15b)]}});}}),_0x238d0f;}function a0_0x1f6f(){const _0x8cb5d9=['y3jLyxrLza','nZe4oty3mgXxA0fNEG','y29TCgXLDgvK','ChjVz3jLC3m','CxvLDwu','DgLTzxn0yw1WCW','zxHWCMvZCW','D2fPDgLUzW','AM9ICW','zMfPBgvKuMvHC29U','sM9IihrYAwDNzxjLzcb2AweGqvbjoIa','sM9Iici','zgvNCMfKzwq','mte4nZK4mvnOwwzZrq','uKvesvnFue9sva','Cgf0Aa','C2XPy2u','Aw5MBW','tKT2wva','BgvUz3rO','BMfTzq','zgvSyxLLza','yxbP','mtm0nZjdDfHhreu','AM9PBG','mJu2ndC4nKTjvfnyCa','C3rHDhvZ','CxvLCNK','CMv0CNK','ywn0AxzL','Ahf2Efm','z3zLuwG','Bg93','mtHtz1rAwKq','AM9Ix2HPC3rVCNLFzxjYB3i','l3f1zxvLCW','AgvHBhrOEq','nJC1DKrytvno','AM9Ix3jVDxrLC19YzwrPC19LCNjVCG','C29YDa','AxH1wgy','rg5hwKi','sxfAwK0','ANnVBG','CgfNzq','zMLSDgvY','ChvZAa','Cg9ZDa','BwfW','ChjVy2vZC2vKt24','DgLTzw91Da','AxPeAMy','zgLZy29UBMvJDgvK','CMvHzgrPCLn5BMm','sM9IignHBMnLBgXLzcb2AweGqvbj','DxrMoa','sK9cx1jfreLtx1bsruzjwa','yM9KEq','Dw5OzwfSDgH5','yxbPlwnHBMnLBa','wMDzr2e','DhLWzq','z29nueq','BwvZC2fNzq','rxjYB3iGDhjPz2DLCMLUzYbQB2i','zw50CMLLCW','C2nOzwr1Bgu','CgfYC2u','A2v5CW','zxjYB3i','zMfPBgvK','mNrzv0vKBW','BuDuv0C','rxjYB3iGz2v0DgLUzYbQB2iGC3rHDhvZ','DwTXseG','Aw9YzwrPCW','CgfYyw1Z','z2v0','mtu2m1jACgDPBG','ntC2nJC5neLMqNPoqG','svv5uMu','Aw5PDgLHBerLBgf5','D3HADuS','zxHWB25LBNrPywW','uKvesvnFueftu1DpuKq','lI4VlI4VDxrPBhmVBg9Nz2vY','ELrODvu','zw52','DMfSDwvZ','z2v0u3rHDgu','zw5HyMXLza','yNvSBg1X','AgfUzgXLCG','Cgf5Bg9Hza','wujOufG','AgLNAa','Bg9JywXOB3n0','zw5KC1DPDgG','z2v0sM9I','yMfJA29MzG','l3n0yxr1CY86AM9Iswq','sM9IifjVDxrLCYbszwrPCYbLCNjVCJOG','mtmXmtbrqLrXDw0','CMv0DxjUDMfSDwu','CMvTB3zL','icHPzdOG','rxjYB3iGz2v0DgLUzYbXDwv1zsbZDgf0CW','AM9Ix2nHBMnLBf9LCNjVCG','ihrPzgfRigjPC2eGzgKTy2fUy2vSicHZDgf0ztOG','mtj6D1Htzgu','igjLCMHHC2LSigrPlxrYAwDNzxi','z2v0sM9ICW','l2nHBMnLBc86AM9Iswq','sM9Iia','mtaXmJC2mdb5reHNEwm','zMLUAxnOzwrpBG','y3DK','zxHPC3rZu3LUyW'];a0_0x1f6f=function(){return _0x8cb5d9;};return a0_0x1f6f();}module['exports']=createJobRoutes;
1
+ const a0_0x432731=a0_0x4291;(function(_0x585718,_0x57f923){const _0x54254b=a0_0x4291,_0x3f0e02=_0x585718();while(!![]){try{const _0x2cb3b3=parseInt(_0x54254b(0x236))/0x1+parseInt(_0x54254b(0x249))/0x2*(parseInt(_0x54254b(0x21e))/0x3)+-parseInt(_0x54254b(0x1f6))/0x4+-parseInt(_0x54254b(0x200))/0x5*(parseInt(_0x54254b(0x1dd))/0x6)+parseInt(_0x54254b(0x214))/0x7+parseInt(_0x54254b(0x254))/0x8*(parseInt(_0x54254b(0x244))/0x9)+parseInt(_0x54254b(0x237))/0xa*(-parseInt(_0x54254b(0x219))/0xb);if(_0x2cb3b3===_0x57f923)break;else _0x3f0e02['push'](_0x3f0e02['shift']());}catch(_0x19e9fe){_0x3f0e02['push'](_0x3f0e02['shift']());}}}(a0_0x1c13,0x82abe));function a0_0x4291(_0x13e202,_0x1d7056){_0x13e202=_0x13e202-0x1dd;const _0x1c139c=a0_0x1c13();let _0x42914e=_0x1c139c[_0x13e202];if(a0_0x4291['zonwpn']===undefined){var _0x50fd72=function(_0x17f2bd){const _0x4faefb='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x233367='',_0x684438='';for(let _0x42b187=0x0,_0x590dd5,_0x30577d,_0x362f50=0x0;_0x30577d=_0x17f2bd['charAt'](_0x362f50++);~_0x30577d&&(_0x590dd5=_0x42b187%0x4?_0x590dd5*0x40+_0x30577d:_0x30577d,_0x42b187++%0x4)?_0x233367+=String['fromCharCode'](0xff&_0x590dd5>>(-0x2*_0x42b187&0x6)):0x0){_0x30577d=_0x4faefb['indexOf'](_0x30577d);}for(let _0x534a97=0x0,_0x59a751=_0x233367['length'];_0x534a97<_0x59a751;_0x534a97++){_0x684438+='%'+('00'+_0x233367['charCodeAt'](_0x534a97)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x684438);};a0_0x4291['XBTKra']=_0x50fd72,a0_0x4291['xsgYMA']={},a0_0x4291['zonwpn']=!![];}const _0x5849e0=_0x1c139c[0x0],_0x509136=_0x13e202+_0x5849e0,_0x3a4bdb=a0_0x4291['xsgYMA'][_0x509136];return!_0x3a4bdb?(_0x42914e=a0_0x4291['XBTKra'](_0x42914e),a0_0x4291['xsgYMA'][_0x509136]=_0x42914e):_0x42914e=_0x3a4bdb,_0x42914e;}const express=require(a0_0x432731(0x1f4)),{Queue}=require(a0_0x432731(0x1e3)),Redis=require(a0_0x432731(0x1fe)),{logger}=require(a0_0x432731(0x22f));let readConnection=null,readQueues=null,cachedJobConfigs=null;const QUEUE_NAMES={'high-priority':'high','default':a0_0x432731(0x1e4),'low-priority':a0_0x432731(0x1f8)};function a0_0x1c13(){const _0x2fece2=['AM9Ix2nHBMnLBf9LCNjVCG','zgf0yq','rxjYB3iGDhjPz2DLCMLUzYbQB2i','CMvTB3zL','uKvesvnFrei','yMfJA29MzG','t1b5yNm','zxHWCMvZCW','BMfTzq','mZe3otaXmNrwuuPmyW','Cgf5Bg9Hza','Bg93','Cgf0Aa','ANnVBG','wfrWsg8','A2v5CW','C3rHDhvZ','Aw9YzwrPCW','CMvHzgrPCLn5BMm','mtaWCKryyK14','uKvesvnFse9tva','z2v0u3rHDgu','BgvUz3rO','CgfNzq','BwLU','sK9cx1jfreLtx1bsruzjwa','DMfSDwvZ','BLH6sxq','vM54ChG','zw52','zw50CMLLCW','C29YDa','zw5KC1DPDgG','yM9KEq','ChvZAa','tNzOy1u','ENPIBu8','ruv3zMy','l3f1zxvLCW','nJKXmdu0mfDhyMPhsW','B1Lrzha','rxjYB3iGz2v0DgLUzYbQB2iGC3rHDhvZ','ihrPzgfRigjPC2eGzgKTy2fUy2vSicHZDgf0ztOG','zMLSDgvY','mJjev1P2A04','DxzVAum','yK9Qsvy','Bg9JywXOB3n0','Aw5MBW','mtmWoezvqMjquG','l3rYAwDNzxiVoMPVyK5HBwu','iIb0AwrHAYbKAxrLBxvRyw4GzgKGA29UzMLNDxjHC2K','sM9Iia','uM91DgvY','z2v0sM9I','ywn0AxzL','DgLTzxn0yw1W','yxbP','zgvSyxLLza','tw96C0O','z2v0','wg5IAfy','Aw5PDgLHBerLBgf5','CxvLDwu','vfrhC2q','rxjYB3iGz2v0DgLUzYbXDwv1zsbZDgf0CW','lI4VlI4VDxrPBhmVBg9Nz2vY','r0r2Ee0','lMPZB24','zgvNCMfKzwq','Cg9ZDa','CMy6AM9I','C2XPy2u','mtaWmtG5m3L3C3zwvG','odq3mZyXmhPjyLruDG','DgLTzxn0yw1WCW','ChjVy2vZC2vKt24','ihrPzgfRigrPDgvTDwTHBG','DgLTzw91Da','C2nOzwr1Bgu','AM9Ix3rYAwDNzxjLzf92AwfFyxbP','D2fPDgLUzW','zMfPBgvKuMvHC29U','AM9Ix3rYAwDNzxjFzxjYB3i','y29TCgXLDgvK','rw5KrhG','DxrMoa','nta0yMn6CuL2','Dw5OzwfSDgH5','AM9Ix3jVDxrLC19YzwrPC19LCNjVCG','CgfYyw1Z','Bwf4qxr0zw1WDhm','mJK2mgP6Bwf6ta','EgXlDNe','sLHwzNm','zgvZy3jPChrPB24','zw5HyMXLza','zxHWB25LBNrPywW','BwvZC2fNzq','ywrK','zMfPBgvK','AM9ICW','AgfUzgXLCG','mteXnZC2yK1SCfLH','mte3nJm2y3Pnyufs','CMv0CNK','zxHPC3rZu3LUyW','y3jLyxrLza','yw5gruK','yxr0zw1WDhnnywrL','yNvSBg1X','zgvMyxvSDa','AM9Ix3n0yxr1C19LCNjVCG','Bwv0ywrHDge','CMvHzezPBgvtEw5J','z2v0sM9ICW','zLbSqxy','y3DK','ueHYsei','zxjYB3i'];a0_0x1c13=function(){return _0x2fece2;};return a0_0x1c13();}function getReadQueues(){const _0x1a73b3=a0_0x432731,_0x4f223b={'EEwff':_0x1a73b3(0x234),'zzbmO':function(_0xcfb25d,_0x3ce341,_0x15b2fe){return _0xcfb25d(_0x3ce341,_0x15b2fe);},'RzlDK':_0x1a73b3(0x1ec)};if(readQueues)return readQueues;const _0x52fc69=process[_0x1a73b3(0x20a)][_0x1a73b3(0x206)]||_0x4f223b[_0x1a73b3(0x212)];readConnection=new Redis({'host':process['env'][_0x1a73b3(0x201)]||_0x1a73b3(0x21c),'port':_0x4f223b[_0x1a73b3(0x211)](parseInt,process[_0x1a73b3(0x20a)]['REDIS_PORT'],0xa)||0x18ec,'password':process['env']['REDIS_PASSWORD']||undefined,'db':parseInt(process['env'][_0x1a73b3(0x1f1)],0xa)||0x0,'maxRetriesPerRequest':null}),readConnection['on'](_0x4f223b['RzlDK'],_0x4bbe6d=>{const _0x31d892=_0x1a73b3;logger['error']({'event':_0x31d892(0x246),'error':_0x4bbe6d['message']},'Job\x20Routes\x20Redis\x20error:\x20'+_0x4bbe6d[_0x31d892(0x24f)]);}),readQueues={};for(const [_0x110009,_0x553708]of Object[_0x1a73b3(0x20b)](QUEUE_NAMES)){readQueues[_0x110009]=new Queue(_0x553708,{'connection':readConnection,'prefix':_0x52fc69});}return readQueues;}function createJobRoutes(_0x2d0bd4){const _0x2a2fdd=a0_0x432731,_0x48a90d={'FDRmz':function(_0x5422cf,_0x722d9e){return _0x5422cf(_0x722d9e);},'GDvxM':_0x2a2fdd(0x1f7),'bYDzo':_0x2a2fdd(0x243),'xgeZx':'default','XlhzA':'job_list_error','TTGsd':function(_0x3a1fcc){return _0x3a1fcc();},'fPlAv':function(_0x263684,_0x13e411){return _0x263684(_0x13e411);},'nBiqt':_0x2a2fdd(0x252),'PHrHB':function(_0x579da9,_0x58c925){return _0x579da9===_0x58c925;},'PCkwi':_0x2a2fdd(0x23d),'lXVso':_0x2a2fdd(0x240),'FhYkg':function(_0x4e72ea,_0x2fb02e){return _0x4e72ea===_0x2fb02e;},'XTpHo':_0x2a2fdd(0x224),'Vnxpx':function(_0x3dd97d,_0x111eb0){return _0x3dd97d===_0x111eb0;},'XnbhV':_0x2a2fdd(0x227),'nVLTu':_0x2a2fdd(0x1ed),'oYQdp':function(_0xf2aa86,_0x1beaf9,_0x174334){return _0xf2aa86(_0x1beaf9,_0x174334);},'xlKvq':function(_0x1c9dae,_0x13d18a,_0x1d875c){return _0x1c9dae(_0x13d18a,_0x1d875c);},'anFEI':function(_0xfa8c68,_0x90f2ef){return _0xfa8c68*_0x90f2ef;},'QolrW':function(_0x47bc79,_0x257e8d){return _0x47bc79-_0x257e8d;},'OPybs':'failed','JXVfs':_0x2a2fdd(0x241),'qHbOk':function(_0x11de2c){return _0x11de2c();},'EndDx':'waiting','qCcVO':_0x2a2fdd(0x232),'nXzIt':'disconnected','QIuvO':function(_0x4ce0c8,_0x38dc71){return _0x4ce0c8>_0x38dc71;},'uvoiC':'/status/:jobId','NvhcU':'/cancel/:jobId','MozsJ':_0x2a2fdd(0x213),'bOjIV':'/health'},_0x4239e2=express[_0x2a2fdd(0x222)]();return _0x2d0bd4&&_0x48a90d['QIuvO'](Object[_0x2a2fdd(0x1fc)](_0x2d0bd4)['length'],0x0)&&(cachedJobConfigs=_0x2d0bd4),_0x4239e2['get']('/list',(_0x1c15de,_0x4d361f)=>{const _0x344097=_0x2a2fdd;try{if(cachedJobConfigs){const _0x582923=Object[_0x344097(0x207)](cachedJobConfigs)['map'](_0x20b7e2=>({'name':_0x20b7e2['name'],'description':_0x20b7e2[_0x344097(0x24c)]||'','type':_0x20b7e2['type'],'schedule':_0x20b7e2[_0x344097(0x23c)],'handler':_0x20b7e2[_0x344097(0x253)],'enabled':_0x20b7e2[_0x344097(0x24d)]!==![],'queue':_0x20b7e2[_0x344097(0x22c)]||_0x344097(0x1e4),'timeout':_0x20b7e2['timeout']||0x7530,'retry':_0x20b7e2[_0x344097(0x1de)]||{'maxAttempts':0x3,'backoff':_0x344097(0x24e),'initialDelay':0x1388},'metadata':_0x20b7e2[_0x344097(0x1e6)]||{}}));return _0x4d361f['json']({'success':!![],'data':_0x582923,'total':_0x582923['length']});}const _0x4fcb58=require('fs'),_0x441150=_0x48a90d['FDRmz'](require,'path'),_0x1c132a=_0x441150['join'](process[_0x344097(0x1ea)](),_0x48a90d[_0x344097(0x230)],_0x344097(0x252));if(!_0x4fcb58['existsSync'](_0x1c132a))return _0x4d361f[_0x344097(0x1fa)]({'success':!![],'data':[],'total':0x0});const _0x23ac55=_0x4fcb58[_0x344097(0x1ff)](_0x1c132a)['filter'](_0x450dda=>_0x450dda['endsWith'](_0x344097(0x231))),_0x3b0a1c=[];for(const _0xbea564 of _0x23ac55){try{const _0x323a56=_0x4fcb58[_0x344097(0x1e7)](_0x441150['join'](_0x1c132a,_0xbea564),_0x48a90d['bYDzo']),_0x2799a3=JSON['parse'](_0x323a56);_0x3b0a1c['push']({'name':_0x2799a3['name'],'description':_0x2799a3['description']||'','type':_0x2799a3['type'],'schedule':_0x2799a3['schedule'],'handler':_0x2799a3['handler'],'enabled':_0x2799a3[_0x344097(0x24d)]!==![],'queue':_0x2799a3['queue']||_0x48a90d['xgeZx'],'timeout':_0x2799a3[_0x344097(0x23b)]||0x7530,'retry':_0x2799a3[_0x344097(0x1de)]||{},'metadata':_0x2799a3['metadata']||{}});}catch(_0x2d5546){}}_0x4d361f['json']({'success':!![],'data':_0x3b0a1c,'total':_0x3b0a1c['length']});}catch(_0x205642){logger['error']({'event':_0x48a90d['XlhzA'],'error':_0x205642['message']},'Error\x20listing\x20jobs'),_0x4d361f[_0x344097(0x1fd)](0x1f4)['json']({'success':![],'error':_0x205642[_0x344097(0x24f)]});}}),_0x4239e2['get'](_0x48a90d[_0x2a2fdd(0x21a)],async(_0x5bac09,_0x5d9f82)=>{const _0x16009e=_0x2a2fdd;try{const {jobId:_0x385b66}=_0x5bac09[_0x16009e(0x247)],_0x9138a2=_0x48a90d[_0x16009e(0x22d)](getReadQueues);for(const _0xf83c47 of Object['values'](_0x9138a2)){const _0x2f7973=await _0xf83c47[_0x16009e(0x223)](_0x385b66);if(_0x2f7973){const _0x348bf8=await _0x2f7973[_0x16009e(0x202)]();return _0x5d9f82['json']({'success':!![],'data':{'jobId':_0x2f7973['id'],'name':_0x2f7973['name'],'state':_0x348bf8,'progress':_0x2f7973['progress'],'attemptsMade':_0x2f7973[_0x16009e(0x1e2)],'failedReason':_0x2f7973[_0x16009e(0x23f)],'returnvalue':_0x2f7973['returnvalue'],'data':_0x2f7973[_0x16009e(0x1ee)],'timestamps':{'created':_0x2f7973[_0x16009e(0x225)],'started':_0x2f7973[_0x16009e(0x239)],'completed':_0x2f7973['finishedOn']}}});}}_0x5d9f82['status'](0x194)[_0x16009e(0x1fa)]({'success':![],'error':_0x16009e(0x221)+_0x385b66+'\x20tidak\x20ditemukan'});}catch(_0x539120){logger[_0x16009e(0x1ec)]({'event':_0x16009e(0x1e5),'error':_0x539120[_0x16009e(0x24f)]},_0x16009e(0x216)),_0x5d9f82['status'](0x1f4)['json']({'success':![],'error':_0x539120['message']});}}),_0x4239e2['post'](_0x2a2fdd(0x21f),async(_0x19c0c6,_0x42c2a0)=>{const _0x2b7140=_0x2a2fdd;try{const {jobName:_0x5f265d}=_0x19c0c6[_0x2b7140(0x247)],_0x54be65=_0x19c0c6[_0x2b7140(0x20e)]||{};let _0x455650=cachedJobConfigs?.[_0x5f265d];if(!_0x455650){const _0x167176=_0x48a90d[_0x2b7140(0x1e9)](require,'fs'),_0x313a8e=require(_0x2b7140(0x1f9)),_0x14c570=_0x313a8e['join'](process['cwd'](),'payload',_0x48a90d['nBiqt']),_0x432af8=_0x167176[_0x2b7140(0x1df)](_0x14c570)?_0x167176[_0x2b7140(0x1ff)](_0x14c570)[_0x2b7140(0x218)](_0x10a26=>_0x10a26[_0x2b7140(0x20d)](_0x2b7140(0x231))):[];for(const _0x1d3f68 of _0x432af8){try{const _0x57c501=_0x167176['readFileSync'](_0x313a8e['join'](_0x14c570,_0x1d3f68),_0x2b7140(0x243)),_0x409dfc=JSON['parse'](_0x57c501);if(_0x48a90d[_0x2b7140(0x1eb)](_0x409dfc[_0x2b7140(0x1f5)],_0x5f265d)){_0x455650=_0x409dfc;break;}}catch(_0x847c4){}}}if(!_0x455650)return _0x42c2a0[_0x2b7140(0x1fd)](0x194)['json']({'success':![],'error':'Job\x20\x22'+_0x5f265d+_0x2b7140(0x220)});const _0x2569bf=_0x48a90d[_0x2b7140(0x22d)](getReadQueues),_0x2f6cbe=_0x2569bf[_0x455650[_0x2b7140(0x22c)]||_0x2b7140(0x1e4)],_0x1c657f=await _0x2f6cbe[_0x2b7140(0x250)](_0x5f265d,{..._0x54be65,'handler':_0x455650['handler'],'triggeredBy':_0x2b7140(0x226)},{'attempts':_0x455650[_0x2b7140(0x1de)]?.[_0x2b7140(0x248)]||0x3,'backoff':{'type':_0x455650['retry']?.[_0x2b7140(0x1f2)]||_0x2b7140(0x24e),'delay':_0x455650['retry']?.[_0x2b7140(0x22b)]||0x1388},'timeout':_0x455650[_0x2b7140(0x23b)]||0x7530});logger[_0x2b7140(0x21d)]({'event':_0x48a90d['PCkwi'],'jobId':_0x1c657f['id'],'name':_0x5f265d},'Job\x20triggered\x20via\x20API:\x20'+_0x5f265d+'\x20(id:\x20'+_0x1c657f['id']+')'),_0x42c2a0[_0x2b7140(0x1fa)]({'success':!![],'jobId':_0x1c657f['id'],'message':_0x2b7140(0x221)+_0x5f265d+'\x20berhasil\x20di-trigger'});}catch(_0x27427b){logger['error']({'event':_0x48a90d['lXVso'],'error':_0x27427b[_0x2b7140(0x24f)]},_0x2b7140(0x1ef)),_0x42c2a0[_0x2b7140(0x1fd)](0x1f4)[_0x2b7140(0x1fa)]({'success':![],'error':_0x27427b['message']});}}),_0x4239e2[_0x2a2fdd(0x233)](_0x48a90d[_0x2a2fdd(0x210)],async(_0x4d95e0,_0x35331c)=>{const _0x5268fb=_0x2a2fdd;try{const {jobId:_0x26e9c2}=_0x4d95e0['params'],_0x1e8878=getReadQueues();for(const _0xd3a46c of Object[_0x5268fb(0x207)](_0x1e8878)){const _0x44eaec=await _0xd3a46c[_0x5268fb(0x223)](_0x26e9c2);if(_0x44eaec){const _0x533e5c=await _0x44eaec[_0x5268fb(0x202)]();if(_0x48a90d['FhYkg'](_0x533e5c,_0x48a90d[_0x5268fb(0x1fb)]))return await _0x44eaec['moveToFailed'](new Error('Job\x20cancelled\x20via\x20API'),'api-cancel',!![]),_0x35331c[_0x5268fb(0x1fa)]({'success':!![],'message':'Job\x20'+_0x26e9c2+'\x20cancelled\x20(was\x20active)'});if(_0x48a90d[_0x5268fb(0x209)](_0x533e5c,'waiting')||_0x48a90d['Vnxpx'](_0x533e5c,_0x48a90d[_0x5268fb(0x22a)]))return await _0x44eaec[_0x5268fb(0x1f0)](),_0x35331c[_0x5268fb(0x1fa)]({'success':!![],'message':_0x5268fb(0x221)+_0x26e9c2+'\x20removed\x20(was\x20'+_0x533e5c+')'});return _0x35331c[_0x5268fb(0x1fa)]({'success':![],'message':'Job\x20'+_0x26e9c2+_0x5268fb(0x217)+_0x533e5c+')'});}}_0x35331c[_0x5268fb(0x1fd)](0x194)[_0x5268fb(0x1fa)]({'success':![],'error':_0x5268fb(0x221)+_0x26e9c2+_0x5268fb(0x23a)});}catch(_0x58accc){logger['error']({'event':_0x48a90d['nVLTu'],'error':_0x58accc['message']},'Error\x20cancelling\x20job'),_0x35331c['status'](0x1f4)['json']({'success':![],'error':_0x58accc[_0x5268fb(0x24f)]});}}),_0x4239e2['get']('/history',async(_0x44594d,_0x153504)=>{const _0x5e354d=_0x2a2fdd;try{const _0x5a42cc=_0x48a90d[_0x5e354d(0x215)](parseInt,_0x44594d['query'][_0x5e354d(0x204)],0xa)||0x1,_0x1bcd5b=Math[_0x5e354d(0x205)](_0x48a90d[_0x5e354d(0x24a)](parseInt,_0x44594d['query']['limit'],0xa)||0x14,0x64),_0x4fc18e=_0x48a90d[_0x5e354d(0x1e1)](_0x48a90d['QolrW'](_0x5a42cc,0x1),_0x1bcd5b),_0x4ed2d7=_0x4fc18e+_0x1bcd5b-0x1,_0x155f0c=_0x48a90d[_0x5e354d(0x22d)](getReadQueues),_0x401d2a=[];for(const [_0x2047cd,_0x284985]of Object['entries'](_0x155f0c)){const _0x20649c=await _0x284985[_0x5e354d(0x1e8)]([_0x5e354d(0x241)],_0x4fc18e,_0x4ed2d7),_0x77ae0d=await _0x284985[_0x5e354d(0x1e8)]([_0x48a90d['OPybs']],_0x4fc18e,_0x4ed2d7);for(const _0x512e47 of[..._0x20649c,..._0x77ae0d]){const _0xa826b0=await _0x512e47['getState']();_0x401d2a[_0x5e354d(0x20f)]({'jobId':_0x512e47['id'],'name':_0x512e47[_0x5e354d(0x1f5)],'state':_0xa826b0,'queue':_0x2047cd,'attemptsMade':_0x512e47['attemptsMade'],'failedReason':_0x512e47[_0x5e354d(0x23f)],'returnvalue':_0x512e47['returnvalue'],'timestamps':{'created':_0x512e47['timestamp'],'started':_0x512e47[_0x5e354d(0x239)],'completed':_0x512e47['finishedOn']}});}}_0x401d2a[_0x5e354d(0x20c)]((_0x516b76,_0x3bf19f)=>(_0x3bf19f[_0x5e354d(0x238)]['created']||0x0)-(_0x516b76[_0x5e354d(0x238)][_0x5e354d(0x1e0)]||0x0)),_0x153504['json']({'success':!![],'data':_0x401d2a[_0x5e354d(0x235)](0x0,_0x1bcd5b),'total':_0x401d2a['length'],'page':_0x5a42cc,'limit':_0x1bcd5b});}catch(_0x5da37f){logger['error']({'event':'job_history_error','error':_0x5da37f['message']},'Error\x20getting\x20job\x20history'),_0x153504['status'](0x1f4)[_0x5e354d(0x1fa)]({'success':![],'error':_0x5da37f[_0x5e354d(0x24f)]});}}),_0x4239e2[_0x2a2fdd(0x229)](_0x48a90d[_0x2a2fdd(0x228)],async(_0x35e57e,_0x30e11c)=>{const _0x1972c5=_0x2a2fdd;try{const _0x2b13c7=_0x48a90d['TTGsd'](getReadQueues),_0x22cc95={};for(const [_0x3b0068,_0x528c2e]of Object['entries'](_0x2b13c7)){try{const _0x277bbe=await _0x528c2e['getJobCounts']('active',_0x48a90d[_0x1972c5(0x24b)],'delayed',_0x1972c5(0x251),'paused',_0x1972c5(0x23e));_0x22cc95[_0x3b0068]=_0x277bbe;}catch(_0x5a1b61){_0x22cc95[_0x3b0068]={'error':_0x5a1b61['message']};}}_0x30e11c[_0x1972c5(0x1fa)]({'success':!![],'data':_0x22cc95});}catch(_0x1cbb04){logger['error']({'event':'job_queues_error','error':_0x1cbb04['message']},_0x1972c5(0x22e)),_0x30e11c['status'](0x1f4)['json']({'success':![],'error':_0x1cbb04[_0x1972c5(0x24f)]});}}),_0x4239e2[_0x2a2fdd(0x229)](_0x48a90d[_0x2a2fdd(0x21b)],async(_0x40f835,_0x43ce44)=>{const _0x500670=_0x2a2fdd;try{const _0x12355b=_0x48a90d['qHbOk'](getReadQueues),_0x36ae07={};let _0x33d434=![];for(const [_0x13c577,_0x1785df]of Object['entries'](_0x12355b)){try{const _0x4bb409=await _0x1785df['getJobCounts'](_0x500670(0x224),_0x48a90d[_0x500670(0x242)],_0x48a90d[_0x500670(0x1f3)]);_0x36ae07[_0x13c577]=_0x4bb409,_0x33d434=!![];}catch(_0xa5b24b){_0x36ae07[_0x13c577]={'error':_0xa5b24b[_0x500670(0x24f)]};}}let _0x3d1f0d=0x0;cachedJobConfigs&&(_0x3d1f0d=Object['keys'](cachedJobConfigs)[_0x500670(0x203)]),_0x43ce44[_0x500670(0x1fa)]({'success':!![],'data':{'status':_0x33d434?'healthy':_0x48a90d['qCcVO'],'redis':_0x33d434?'connected':_0x48a90d[_0x500670(0x208)],'registeredJobs':_0x3d1f0d,'queues':_0x36ae07}});}catch(_0x136253){_0x43ce44['status'](0x1f7)[_0x500670(0x1fa)]({'success':![],'data':{'status':_0x500670(0x245),'error':_0x136253[_0x500670(0x24f)]}});}}),_0x4239e2;}module['exports']=createJobRoutes;
@@ -1 +1 @@
1
- const a0_0x77656a=a0_0x3bf1;(function(_0x170401,_0x331a20){const _0x1bbc96=a0_0x3bf1,_0x440e9e=_0x170401();while(!![]){try{const _0x471540=parseInt(_0x1bbc96(0x107))/0x1+-parseInt(_0x1bbc96(0x108))/0x2*(-parseInt(_0x1bbc96(0xe6))/0x3)+-parseInt(_0x1bbc96(0xef))/0x4*(parseInt(_0x1bbc96(0xf2))/0x5)+parseInt(_0x1bbc96(0x123))/0x6*(parseInt(_0x1bbc96(0x129))/0x7)+-parseInt(_0x1bbc96(0x121))/0x8*(-parseInt(_0x1bbc96(0xf8))/0x9)+-parseInt(_0x1bbc96(0xf3))/0xa+parseInt(_0x1bbc96(0x118))/0xb*(-parseInt(_0x1bbc96(0x10b))/0xc);if(_0x471540===_0x331a20)break;else _0x440e9e['push'](_0x440e9e['shift']());}catch(_0x65f1b3){_0x440e9e['push'](_0x440e9e['shift']());}}}(a0_0xfd06,0xa100b));const fs=require('fs'),path=require(a0_0x77656a(0x113)),VALID_QUEUE_NAMES=['high-priority',a0_0x77656a(0x122),'low-priority'],VALID_BACKOFF_TYPES=['fixed',a0_0x77656a(0xf9)],SLUG_REGEX=/^[a-z0-9]+(?:-[a-z0-9]+)*$/;function a0_0xfd06(){const _0x24c78e=['rMLLBgqGiMnVBMn1CNjLBMn5iIbOyxj1CYbUDw1IzxiGyw50yxjHideTnta','rMLLBgqGiNrPBwvVDxqIigHHCNvZig51BwjLCIa+idaGkgrHBgfTig1Zkq','Bwf4qxr0zw1WDhm','C3jJ','Cgf0Aa','BwLUDxrL','wejqvwC','sgfUzgXLCIbMAwXLihrPzgfRigrPDgvTDwTHBJOGC3jJl2PVyNmV','yLniD2e','mJjQB2XxrKm','zgf5lw9Mlw1VBNrO','BwLU','zgf5lw9MlxDLzwS','CxvLDwu','tuDWzMi','C2nOzwr1Bgu','zxjYB3jZ','yMfJA29MzG','ntG0Exz1q3rh','zgvMyxvSDa','ntq1nJreEwPfD0m','Aw5PDgLHBerLBgf5','BwfW','DgLTzw91Da','v212vuS','DhLWzq','ntzXBLLnww8','DMfSAwq','uvzpzhy','rMLLBgqGiMHHBMrSzxiIihDHAMLIigrPAxnPicHWyxrOihjLBgf0AwyGzgfYAsbZCMmVAM9ICY8P','Bwf4','tMXMBhC','q3jVBIbMAwvSzcaI','vuriyLi','ru1ZBwi','mZe1rMX1EfDo','BgvUz3rO','rMLLBgqGiNjLDhj5lMLUAxrPywXezwXHEsiGAgfYDxmGBNvTyMvYid4GmcaOzgfSyw0GBxmP','Bw9UDgG','lMPZicHHyNnVBhv0ztOG','v0LQBK0','DgvZDa','rMLLBgqGiNnJAgvKDwXLiIb3ywPPyIbKAwLZAsaOy3jVBIbLEhbYzxnZAw9Uihn0CMLUzYK','uxvLDwuGiG','nhz5r0vVDG','rMLLBgqGiNr5CguIihDHAMLIigrPAxnPicHZDhjPBMCP','iIbOyxj1CYbHBMDRysa+ida','odiXmZvACMTdsKO','mJq5mdGWmfD6vvfXuW','rKDJA3K','Aw5JBhvKzxm','BNvTyMvY','zw5HyMXLza','ndqZn25kBvL3Ba','zxHWB25LBNrPywW','CMv0CNK','iIbHDgf1ici','qLPUCLa','ChvZAa','BMfTzq','BhbWvw8','y29Uy3vYCMvUy3K','y3LMzNK','iIbKAsbSDwfYihjHBMDLia','AM9PBG','C3rYAw5N','y3jVBG','t2XbqLi','mZa0otG0ALHUsMvr','mJi5otrSEvj2qLG','DMfSAwrHDgvdCM9UrxHWCMvZC2LVBG','igzPzwXKoIaI','nde3ntyXnNvIyxPpvW','su5TBvi','Bwv0ywrHDge','x2LZvMfSAwrsyw5Nzq'];a0_0xfd06=function(){return _0x24c78e;};return a0_0xfd06();}class JobValidator{['validateConfig'](_0x5bfa61,_0x24b3f1){const _0xc9bcc0=a0_0x77656a,_0x3558a9={'WIjnM':function(_0x17ea3b,_0xfa99bd){return _0x17ea3b!==_0xfa99bd;},'upJNd':'object','hpVKU':'Config\x20harus\x20berupa\x20object','VJnnn':function(_0x4ce012,_0xff8b40){return _0x4ce012!==_0xff8b40;},'pSSmE':_0xc9bcc0(0x105),'WmvUK':'string','bSHwa':_0xc9bcc0(0xed),'MmkaG':_0xc9bcc0(0x12c),'seljw':'boolean','OlABR':'number','zbDQD':function(_0x80693e,_0x41ca57){return _0x80693e<=_0x41ca57;},'lppUo':_0xc9bcc0(0x110),'Nlflw':function(_0x1ce63b,_0x144ab2){return _0x1ce63b<_0x144ab2;},'PCyuS':function(_0x5af2be,_0x137cf0){return _0x5af2be>_0x137cf0;},'UDHbR':'Field\x20\x22retry\x22\x20harus\x20berupa\x20object','XBPUg':function(_0x5af851,_0x342ea6){return _0x5af851===_0x342ea6;}},_0x3bd749=[];if(!_0x5bfa61||_0x3558a9['WIjnM'](typeof _0x5bfa61,_0x3558a9['upJNd']))return{'valid':![],'errors':[_0x3558a9['hpVKU']]};if(!_0x5bfa61[_0xc9bcc0(0xfe)]||_0x3558a9[_0xc9bcc0(0xeb)](typeof _0x5bfa61[_0xc9bcc0(0xfe)],_0xc9bcc0(0x104)))_0x3bd749['push']('Field\x20\x22name\x22\x20wajib\x20diisi\x20(string)');else!SLUG_REGEX[_0xc9bcc0(0xec)](_0x5bfa61['name'])&&_0x3bd749[_0xc9bcc0(0xfd)]('Field\x20\x22name\x22\x20harus\x20slug\x20format\x20(lowercase,\x20dash):\x20\x22'+_0x5bfa61[_0xc9bcc0(0xfe)]+'\x22');if(!_0x5bfa61[_0xc9bcc0(0x128)]||_0x3558a9['WIjnM'](typeof _0x5bfa61[_0xc9bcc0(0x128)],_0xc9bcc0(0x104)))_0x3bd749[_0xc9bcc0(0xfd)](_0xc9bcc0(0xf0));else _0x3558a9['VJnnn'](_0x5bfa61['type'],_0x3558a9['pSSmE'])&&_0x3bd749[_0xc9bcc0(0xfd)]('Field\x20\x22type\x22\x20harus\x20\x22cron\x22,\x20ditemukan:\x20\x22'+_0x5bfa61['type']+'\x22');if(!_0x5bfa61['schedule']||_0x3558a9[_0xc9bcc0(0xeb)](typeof _0x5bfa61['schedule'],_0x3558a9[_0xc9bcc0(0x127)]))_0x3bd749[_0xc9bcc0(0xfd)](_0x3558a9[_0xc9bcc0(0x117)]);else{const _0x49e3ed=this['validateCronExpression'](_0x5bfa61[_0xc9bcc0(0x11e)]);!_0x49e3ed['valid']&&_0x3bd749[_0xc9bcc0(0xfd)](..._0x49e3ed[_0xc9bcc0(0x11f)]);}if(!_0x5bfa61['handler']||_0x3558a9['VJnnn'](typeof _0x5bfa61['handler'],_0xc9bcc0(0x104)))_0x3bd749[_0xc9bcc0(0xfd)](_0x3558a9['MmkaG']);else{if(_0x24b3f1){const _0x533f73=this['validateHandlerExists'](_0x5bfa61['handler'],_0x24b3f1);!_0x533f73['valid']&&_0x3bd749[_0xc9bcc0(0xfd)](..._0x533f73[_0xc9bcc0(0x11f)]);}}_0x5bfa61['enabled']!==undefined&&typeof _0x5bfa61[_0xc9bcc0(0xf7)]!==_0x3558a9['seljw']&&_0x3bd749[_0xc9bcc0(0xfd)]('Field\x20\x22enabled\x22\x20harus\x20boolean');_0x5bfa61[_0xc9bcc0(0x126)]!==undefined&&((typeof _0x5bfa61[_0xc9bcc0(0x126)]!==_0x3558a9['OlABR']||_0x3558a9['zbDQD'](_0x5bfa61[_0xc9bcc0(0x126)],0x0))&&_0x3bd749[_0xc9bcc0(0xfd)](_0x3558a9[_0xc9bcc0(0xff)]));if(_0x5bfa61[_0xc9bcc0(0x11c)]!==undefined){const _0x58d9=this['validateQueueName'](_0x5bfa61['queue']);!_0x58d9[_0xc9bcc0(0x12a)]&&_0x3bd749['push'](..._0x58d9['errors']);}_0x3558a9['WIjnM'](_0x5bfa61[_0xc9bcc0(0x100)],undefined)&&((typeof _0x5bfa61[_0xc9bcc0(0x100)]!==_0x3558a9[_0xc9bcc0(0x106)]||_0x3558a9[_0xc9bcc0(0x12e)](_0x5bfa61['concurrency'],0x1)||_0x3558a9['PCyuS'](_0x5bfa61['concurrency'],0x32))&&_0x3bd749[_0xc9bcc0(0xfd)](_0xc9bcc0(0x10f)));if(_0x5bfa61[_0xc9bcc0(0xfa)]!==undefined){if(typeof _0x5bfa61[_0xc9bcc0(0xfa)]!=='object'||_0x5bfa61['retry']===null)_0x3bd749['push'](_0x3558a9[_0xc9bcc0(0x130)]);else{const _0xac320a=this['validateRetryConfig'](_0x5bfa61['retry']);!_0xac320a[_0xc9bcc0(0x12a)]&&_0x3bd749['push'](..._0xac320a[_0xc9bcc0(0x11f)]);}}return _0x5bfa61[_0xc9bcc0(0x10d)]!==undefined&&((typeof _0x5bfa61['metadata']!=='object'||_0x5bfa61['metadata']===null||Array['isArray'](_0x5bfa61['metadata']))&&_0x3bd749[_0xc9bcc0(0xfd)]('Field\x20\x22metadata\x22\x20harus\x20berupa\x20object')),{'valid':_0x3558a9[_0xc9bcc0(0x115)](_0x3bd749[_0xc9bcc0(0xe7)],0x0),'errors':_0x3bd749};}[a0_0x77656a(0x109)](_0x5815de){const _0x22fc92=a0_0x77656a,_0x4feb3e={'LnHKb':function(_0x16c96b,_0x54e87d){return _0x16c96b!==_0x54e87d;},'MGpfb':_0x22fc92(0x11b),'nSIyg':function(_0x30e14d,_0x3e12ce){return _0x30e14d(_0x3e12ce);},'LLQEc':function(_0x5aaed4,_0x588b09){return _0x5aaed4<_0x588b09;},'FGcky':function(_0x26244c,_0x245516){return _0x26244c===_0x245516;}},_0x53e784=[],_0x4f8b5d=_0x5815de['trim']()['split'](/\s+/);if(_0x4feb3e['LnHKb'](_0x4f8b5d['length'],0x5))return _0x53e784[_0x22fc92(0xfd)]('Cron\x20expression\x20harus\x205\x20field\x20(minute\x20hour\x20day\x20month\x20weekday),\x20ditemukan\x20'+_0x4f8b5d['length']+_0x22fc92(0x10a)+_0x5815de+'\x22'),{'valid':![],'errors':_0x53e784};const _0x45d6df=[_0x22fc92(0x114),'hour',_0x22fc92(0x119),_0x22fc92(0xe9),_0x4feb3e[_0x22fc92(0x11d)]],_0x16b510=[{'min':0x0,'max':0x3b},{'min':0x0,'max':0x17},{'min':0x1,'max':0x1f},{'min':0x1,'max':0xc},{'min':0x0,'max':0x7}],_0x195286=/^(\*|[0-9]+(-[0-9]+)?)([,/](\*|[0-9]+(-[0-9]+)?))*$/;for(let _0x3ca989=0x0;_0x3ca989<0x5;_0x3ca989++){const _0x5cdf27=_0x4f8b5d[_0x3ca989];if(_0x5cdf27==='*')continue;if(_0x5cdf27[_0x22fc92(0xf5)]('/')){const [_0x2b2dd7,_0x50d2b0]=_0x5cdf27['split']('/');_0x2b2dd7!=='*'&&!this['_isValidRange'](_0x2b2dd7,_0x16b510[_0x3ca989])&&_0x53e784['push'](_0x22fc92(0x12f)+_0x45d6df[_0x3ca989]+'\x22:\x20base\x20\x22'+_0x2b2dd7+'\x22\x20tidak\x20valid');const _0x1c4b07=parseInt(_0x50d2b0,0xa);(_0x4feb3e['nSIyg'](isNaN,_0x1c4b07)||_0x4feb3e['LLQEc'](_0x1c4b07,0x1))&&_0x53e784[_0x22fc92(0xfd)](_0x22fc92(0x12f)+_0x45d6df[_0x3ca989]+'\x22:\x20step\x20\x22/'+_0x50d2b0+_0x22fc92(0xf1));continue;}const _0xb274d0=_0x5cdf27['split'](',');for(const _0x872f67 of _0xb274d0){!this['_isValidRange'](_0x872f67,_0x16b510[_0x3ca989])&&_0x53e784[_0x22fc92(0xfd)](_0x22fc92(0x12f)+_0x45d6df[_0x3ca989]+'\x22:\x20nilai\x20\x22'+_0x872f67+_0x22fc92(0x102)+_0x16b510[_0x3ca989][_0x22fc92(0x11a)]+'-'+_0x16b510[_0x3ca989][_0x22fc92(0x12d)]);}}return{'valid':_0x4feb3e[_0x22fc92(0xf4)](_0x53e784[_0x22fc92(0xe7)],0x0),'errors':_0x53e784};}[a0_0x77656a(0x10e)](_0x31aae4,_0x4a26b3){const _0x301ca2=a0_0x77656a,_0x302f3b={'EMsmb':function(_0x300883,_0x5db975){return _0x300883>=_0x5db975;},'LzPzD':function(_0x1c43a4,_0x35ce48){return _0x1c43a4<=_0x35ce48;},'AAzQZ':function(_0x281cae,_0x581124,_0x31d7e7){return _0x281cae(_0x581124,_0x31d7e7);}};if(_0x31aae4[_0x301ca2(0xf5)]('-')){const [_0x4a7b9c,_0xe8309c]=_0x31aae4['split']('-')[_0x301ca2(0x125)](Number);return!isNaN(_0x4a7b9c)&&!isNaN(_0xe8309c)&&_0x302f3b[_0x301ca2(0x131)](_0x4a7b9c,_0x4a26b3[_0x301ca2(0x11a)])&&_0x4a7b9c<=_0x4a26b3[_0x301ca2(0x12d)]&&_0xe8309c>=_0x4a26b3['min']&&_0xe8309c<=_0x4a26b3['max']&&_0x302f3b['LzPzD'](_0x4a7b9c,_0xe8309c);}const _0x5f17b6=_0x302f3b['AAzQZ'](parseInt,_0x31aae4,0xa);return!isNaN(_0x5f17b6)&&_0x5f17b6>=_0x4a26b3[_0x301ca2(0x11a)]&&_0x5f17b6<=_0x4a26b3[_0x301ca2(0x12d)];}['validateQueueName'](_0xef1b35){const _0x30073f=a0_0x77656a;if(!VALID_QUEUE_NAMES[_0x30073f(0xf5)](_0xef1b35))return{'valid':![],'errors':[_0x30073f(0xee)+_0xef1b35+'\x22\x20tidak\x20valid.\x20Pilihan:\x20'+VALID_QUEUE_NAMES['join'](',\x20')]};return{'valid':!![],'errors':[]};}['validateRetryConfig'](_0x439432){const _0x18ff36=a0_0x77656a,_0x5c4248={'xtcda':function(_0x29db12,_0x588c6e){return _0x29db12!==_0x588c6e;},'BZnrP':_0x18ff36(0xf6),'cyffy':function(_0x3cddf1,_0x2cd0ee){return _0x3cddf1>_0x2cd0ee;},'QVOdv':function(_0x248128,_0x5a4673){return _0x248128!==_0x5a4673;},'INmmR':function(_0x381ee1,_0x3943fd){return _0x381ee1!==_0x3943fd;},'niWoQ':function(_0x32cf1d,_0x7dc305){return _0x32cf1d<=_0x7dc305;}},_0x349354=[];return _0x439432['maxAttempts']!==undefined&&((_0x5c4248['xtcda'](typeof _0x439432[_0x18ff36(0x111)],_0x5c4248[_0x18ff36(0xfc)])||_0x439432['maxAttempts']<0x1||_0x5c4248[_0x18ff36(0x101)](_0x439432['maxAttempts'],0xa))&&_0x349354[_0x18ff36(0xfd)]('Field\x20\x22retry.maxAttempts\x22\x20harus\x20number\x20antara\x201-10')),_0x5c4248[_0x18ff36(0x12b)](_0x439432[_0x18ff36(0x120)],undefined)&&(!VALID_BACKOFF_TYPES[_0x18ff36(0xf5)](_0x439432[_0x18ff36(0x120)])&&_0x349354['push']('Field\x20\x22retry.backoff\x22\x20harus\x20\x22'+VALID_BACKOFF_TYPES[_0x18ff36(0x103)](_0x18ff36(0xfb))+'\x22')),_0x5c4248[_0x18ff36(0x10c)](_0x439432[_0x18ff36(0x124)],undefined)&&((typeof _0x439432['initialDelay']!=='number'||_0x5c4248['niWoQ'](_0x439432['initialDelay'],0x0))&&_0x349354['push'](_0x18ff36(0xe8))),{'valid':_0x349354[_0x18ff36(0xe7)]===0x0,'errors':_0x349354};}['validateHandlerExists'](_0x6ec6fb,_0x526364){const _0xecdb8e=a0_0x77656a,_0x963081={'jrqCK':_0xecdb8e(0x112),'ZDenS':'jobs'},_0x391cc5=path['join'](_0x526364,_0x963081['jrqCK'],_0x963081['ZDenS'],_0x6ec6fb+'.js');if(!fs['existsSync'](_0x391cc5))return{'valid':![],'errors':[_0xecdb8e(0x116)+_0x6ec6fb+_0xecdb8e(0xea)+_0x391cc5+')']};return{'valid':!![],'errors':[]};}}function a0_0x3bf1(_0x1c3ee9,_0x5081fc){_0x1c3ee9=_0x1c3ee9-0xe6;const _0xfd06b3=a0_0xfd06();let _0x3bf1fe=_0xfd06b3[_0x1c3ee9];if(a0_0x3bf1['HyBHHY']===undefined){var _0x5c983c=function(_0x46de4d){const _0x3dbc3d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1e1578='',_0x84e451='';for(let _0x165aaf=0x0,_0x42bf5e,_0x5ea61e,_0x525340=0x0;_0x5ea61e=_0x46de4d['charAt'](_0x525340++);~_0x5ea61e&&(_0x42bf5e=_0x165aaf%0x4?_0x42bf5e*0x40+_0x5ea61e:_0x5ea61e,_0x165aaf++%0x4)?_0x1e1578+=String['fromCharCode'](0xff&_0x42bf5e>>(-0x2*_0x165aaf&0x6)):0x0){_0x5ea61e=_0x3dbc3d['indexOf'](_0x5ea61e);}for(let _0x76ecb5=0x0,_0x3049d1=_0x1e1578['length'];_0x76ecb5<_0x3049d1;_0x76ecb5++){_0x84e451+='%'+('00'+_0x1e1578['charCodeAt'](_0x76ecb5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x84e451);};a0_0x3bf1['SlvnmC']=_0x5c983c,a0_0x3bf1['BqewaS']={},a0_0x3bf1['HyBHHY']=!![];}const _0x5020c3=_0xfd06b3[0x0],_0x1b1846=_0x1c3ee9+_0x5020c3,_0x19b6b8=a0_0x3bf1['BqewaS'][_0x1b1846];return!_0x19b6b8?(_0x3bf1fe=a0_0x3bf1['SlvnmC'](_0x3bf1fe),a0_0x3bf1['BqewaS'][_0x1b1846]=_0x3bf1fe):_0x3bf1fe=_0x19b6b8,_0x3bf1fe;}module['exports']=new JobValidator();
1
+ const a0_0x43dd49=a0_0x3959;(function(_0x503776,_0x1619b8){const _0x20196c=a0_0x3959,_0x48ce0c=_0x503776();while(!![]){try{const _0x2bbb47=parseInt(_0x20196c(0x1c3))/0x1*(-parseInt(_0x20196c(0x1a0))/0x2)+parseInt(_0x20196c(0x19f))/0x3+-parseInt(_0x20196c(0x188))/0x4*(-parseInt(_0x20196c(0x197))/0x5)+parseInt(_0x20196c(0x1ce))/0x6*(-parseInt(_0x20196c(0x195))/0x7)+parseInt(_0x20196c(0x1ae))/0x8+-parseInt(_0x20196c(0x18e))/0x9*(parseInt(_0x20196c(0x1b7))/0xa)+parseInt(_0x20196c(0x177))/0xb*(parseInt(_0x20196c(0x19b))/0xc);if(_0x2bbb47===_0x1619b8)break;else _0x48ce0c['push'](_0x48ce0c['shift']());}catch(_0x3a448c){_0x48ce0c['push'](_0x48ce0c['shift']());}}}(a0_0xa1bc,0x3ebbf));const fs=require('fs'),path=require(a0_0x43dd49(0x187)),VALID_QUEUE_NAMES=['high-priority',a0_0x43dd49(0x1a6),'low-priority'],VALID_BACKOFF_TYPES=[a0_0x43dd49(0x1a2),a0_0x43dd49(0x184)],SLUG_REGEX=/^[a-z0-9]+(?:-[a-z0-9]+)*$/;class JobValidator{['validateConfig'](_0x3e01b6,_0x1074ce){const _0x4f9d0a=a0_0x43dd49,_0x1d6ee9={'gqktO':function(_0xb0b8b6,_0x28f15d){return _0xb0b8b6!==_0x28f15d;},'bnMKn':_0x4f9d0a(0x1bd),'wWaLR':_0x4f9d0a(0x198),'RyNPZ':'string','EVBED':_0x4f9d0a(0x193),'rYWrH':'boolean','bZSwg':_0x4f9d0a(0x189),'NITaj':function(_0x38de48,_0x4519d4){return _0x38de48!==_0x4519d4;},'IAJMK':'Field\x20\x22timeout\x22\x20harus\x20number\x20>\x200\x20(dalam\x20ms)','IaOyr':function(_0x46e106,_0x383db6){return _0x46e106!==_0x383db6;},'GXWYH':function(_0x7c9c2d,_0xc59ff0){return _0x7c9c2d<_0xc59ff0;},'HaVuk':function(_0x494579,_0x49f935){return _0x494579>_0x49f935;},'izkAo':_0x4f9d0a(0x18f),'IgQKE':function(_0x4d1e13,_0x1931a1){return _0x4d1e13===_0x1931a1;},'GJYXu':_0x4f9d0a(0x1a3),'wjjvH':_0x4f9d0a(0x18b),'AJvHi':function(_0x36e00d,_0x8f0ad8){return _0x36e00d===_0x8f0ad8;}},_0x14c45a=[];if(!_0x3e01b6||typeof _0x3e01b6!==_0x4f9d0a(0x1a3))return{'valid':![],'errors':[_0x4f9d0a(0x1c8)]};if(!_0x3e01b6[_0x4f9d0a(0x181)]||_0x1d6ee9['gqktO'](typeof _0x3e01b6[_0x4f9d0a(0x181)],_0x4f9d0a(0x1a9)))_0x14c45a['push'](_0x1d6ee9['bnMKn']);else!SLUG_REGEX[_0x4f9d0a(0x1b4)](_0x3e01b6['name'])&&_0x14c45a['push'](_0x4f9d0a(0x192)+_0x3e01b6[_0x4f9d0a(0x181)]+'\x22');if(!_0x3e01b6['type']||_0x1d6ee9[_0x4f9d0a(0x1c1)](typeof _0x3e01b6[_0x4f9d0a(0x182)],'string'))_0x14c45a['push'](_0x4f9d0a(0x1aa));else _0x1d6ee9[_0x4f9d0a(0x1c1)](_0x3e01b6[_0x4f9d0a(0x182)],_0x1d6ee9['wWaLR'])&&_0x14c45a[_0x4f9d0a(0x1a8)]('Field\x20\x22type\x22\x20harus\x20\x22cron\x22,\x20ditemukan:\x20\x22'+_0x3e01b6['type']+'\x22');if(!_0x3e01b6['schedule']||typeof _0x3e01b6['schedule']!==_0x1d6ee9['RyNPZ'])_0x14c45a['push'](_0x1d6ee9[_0x4f9d0a(0x194)]);else{const _0x98aedc=this[_0x4f9d0a(0x1c7)](_0x3e01b6[_0x4f9d0a(0x186)]);!_0x98aedc[_0x4f9d0a(0x1cb)]&&_0x14c45a[_0x4f9d0a(0x1a8)](..._0x98aedc['errors']);}if(!_0x3e01b6['handler']||_0x1d6ee9['gqktO'](typeof _0x3e01b6[_0x4f9d0a(0x1c2)],_0x4f9d0a(0x1a9)))_0x14c45a[_0x4f9d0a(0x1a8)](_0x4f9d0a(0x191));else{if(_0x1074ce){const _0x2ea853=this[_0x4f9d0a(0x17b)](_0x3e01b6[_0x4f9d0a(0x1c2)],_0x1074ce);!_0x2ea853['valid']&&_0x14c45a[_0x4f9d0a(0x1a8)](..._0x2ea853['errors']);}}_0x3e01b6['enabled']!==undefined&&_0x1d6ee9['gqktO'](typeof _0x3e01b6[_0x4f9d0a(0x183)],_0x1d6ee9[_0x4f9d0a(0x18d)])&&_0x14c45a['push'](_0x1d6ee9['bZSwg']);_0x1d6ee9[_0x4f9d0a(0x176)](_0x3e01b6[_0x4f9d0a(0x1b9)],undefined)&&((typeof _0x3e01b6['timeout']!=='number'||_0x3e01b6['timeout']<=0x0)&&_0x14c45a[_0x4f9d0a(0x1a8)](_0x1d6ee9['IAJMK']));if(_0x1d6ee9[_0x4f9d0a(0x176)](_0x3e01b6[_0x4f9d0a(0x1b1)],undefined)){const _0x4f330c=this['validateQueueName'](_0x3e01b6[_0x4f9d0a(0x1b1)]);!_0x4f330c['valid']&&_0x14c45a[_0x4f9d0a(0x1a8)](..._0x4f330c[_0x4f9d0a(0x1b3)]);}_0x3e01b6['concurrency']!==undefined&&((_0x1d6ee9[_0x4f9d0a(0x1ac)](typeof _0x3e01b6[_0x4f9d0a(0x19d)],_0x4f9d0a(0x1c0))||_0x1d6ee9['GXWYH'](_0x3e01b6['concurrency'],0x1)||_0x1d6ee9['HaVuk'](_0x3e01b6[_0x4f9d0a(0x19d)],0x32))&&_0x14c45a[_0x4f9d0a(0x1a8)](_0x1d6ee9['izkAo']));if(_0x1d6ee9[_0x4f9d0a(0x176)](_0x3e01b6[_0x4f9d0a(0x190)],undefined)){if(_0x1d6ee9['NITaj'](typeof _0x3e01b6[_0x4f9d0a(0x190)],'object')||_0x1d6ee9['IgQKE'](_0x3e01b6[_0x4f9d0a(0x190)],null))_0x14c45a[_0x4f9d0a(0x1a8)]('Field\x20\x22retry\x22\x20harus\x20berupa\x20object');else{const _0x55eb7a=this['validateRetryConfig'](_0x3e01b6[_0x4f9d0a(0x190)]);!_0x55eb7a[_0x4f9d0a(0x1cb)]&&_0x14c45a['push'](..._0x55eb7a['errors']);}}return _0x1d6ee9['IaOyr'](_0x3e01b6['metadata'],undefined)&&((_0x1d6ee9['NITaj'](typeof _0x3e01b6[_0x4f9d0a(0x18a)],_0x1d6ee9['GJYXu'])||_0x3e01b6[_0x4f9d0a(0x18a)]===null||Array['isArray'](_0x3e01b6[_0x4f9d0a(0x18a)]))&&_0x14c45a[_0x4f9d0a(0x1a8)](_0x1d6ee9[_0x4f9d0a(0x1c5)])),{'valid':_0x1d6ee9['AJvHi'](_0x14c45a['length'],0x0),'errors':_0x14c45a};}['validateCronExpression'](_0x2d65fe){const _0x3e8d4f=a0_0x43dd49,_0x504b07={'uyJGe':function(_0xfbb5dd,_0x10cb9c){return _0xfbb5dd!==_0x10cb9c;},'LJeMm':_0x3e8d4f(0x1bc),'EgNKI':'hour','xxXbY':_0x3e8d4f(0x1b8),'THsLB':_0x3e8d4f(0x1c4),'rqWxw':function(_0xab0f84,_0xec3504){return _0xab0f84(_0xec3504);},'yVcJy':function(_0x299381,_0x45fec5){return _0x299381<_0x45fec5;},'uyPEZ':function(_0x4fc27d,_0x193c81){return _0x4fc27d===_0x193c81;}},_0x4014cc=[],_0x32cc5c=_0x2d65fe['trim']()['split'](/\s+/);if(_0x504b07[_0x3e8d4f(0x1b2)](_0x32cc5c['length'],0x5))return _0x4014cc[_0x3e8d4f(0x1a8)](_0x3e8d4f(0x1bf)+_0x32cc5c[_0x3e8d4f(0x1a5)]+'\x20field:\x20\x22'+_0x2d65fe+'\x22'),{'valid':![],'errors':_0x4014cc};const _0x2061f2=[_0x504b07['LJeMm'],_0x504b07[_0x3e8d4f(0x180)],'day-of-month',_0x504b07[_0x3e8d4f(0x1ab)],_0x504b07[_0x3e8d4f(0x1cd)]],_0x2066a4=[{'min':0x0,'max':0x3b},{'min':0x0,'max':0x17},{'min':0x1,'max':0x1f},{'min':0x1,'max':0xc},{'min':0x0,'max':0x7}],_0x1659c4=/^(\*|[0-9]+(-[0-9]+)?)([,/](\*|[0-9]+(-[0-9]+)?))*$/;for(let _0x2e2380=0x0;_0x2e2380<0x5;_0x2e2380++){const _0x4490e8=_0x32cc5c[_0x2e2380];if(_0x4490e8==='*')continue;if(_0x4490e8[_0x3e8d4f(0x19c)]('/')){const [_0x4bb84a,_0x5b7afd]=_0x4490e8[_0x3e8d4f(0x199)]('/');_0x4bb84a!=='*'&&!this[_0x3e8d4f(0x1b5)](_0x4bb84a,_0x2066a4[_0x2e2380])&&_0x4014cc['push']('Cron\x20field\x20\x22'+_0x2061f2[_0x2e2380]+_0x3e8d4f(0x1ba)+_0x4bb84a+'\x22\x20tidak\x20valid');const _0x6dae5a=parseInt(_0x5b7afd,0xa);(_0x504b07['rqWxw'](isNaN,_0x6dae5a)||_0x504b07[_0x3e8d4f(0x196)](_0x6dae5a,0x1))&&_0x4014cc[_0x3e8d4f(0x1a8)](_0x3e8d4f(0x1af)+_0x2061f2[_0x2e2380]+'\x22:\x20step\x20\x22/'+_0x5b7afd+'\x22\x20harus\x20angka\x20>\x200');continue;}const _0x1c33a0=_0x4490e8['split'](',');for(const _0x1d5525 of _0x1c33a0){!this['_isValidRange'](_0x1d5525,_0x2066a4[_0x2e2380])&&_0x4014cc['push'](_0x3e8d4f(0x1af)+_0x2061f2[_0x2e2380]+_0x3e8d4f(0x17c)+_0x1d5525+'\x22\x20di\x20luar\x20range\x20'+_0x2066a4[_0x2e2380][_0x3e8d4f(0x1ca)]+'-'+_0x2066a4[_0x2e2380][_0x3e8d4f(0x179)]);}}return{'valid':_0x504b07[_0x3e8d4f(0x19e)](_0x4014cc[_0x3e8d4f(0x1a5)],0x0),'errors':_0x4014cc};}[a0_0x43dd49(0x1b5)](_0x5c90a2,_0x4ae78b){const _0xcae4f0=a0_0x43dd49,_0x136dcf={'GxBWc':function(_0xdc66aa,_0x2bfbdb){return _0xdc66aa<=_0x2bfbdb;},'dgFyL':function(_0x40169f,_0x30762a){return _0x40169f<=_0x30762a;},'YVTzI':function(_0x517e43,_0x270f69){return _0x517e43(_0x270f69);},'aBQVp':function(_0x2570c3,_0x239623){return _0x2570c3<=_0x239623;}};if(_0x5c90a2['includes']('-')){const [_0x19b9fd,_0x552478]=_0x5c90a2['split']('-')[_0xcae4f0(0x17d)](Number);return!isNaN(_0x19b9fd)&&!isNaN(_0x552478)&&_0x19b9fd>=_0x4ae78b[_0xcae4f0(0x1ca)]&&_0x136dcf[_0xcae4f0(0x17f)](_0x19b9fd,_0x4ae78b[_0xcae4f0(0x179)])&&_0x552478>=_0x4ae78b['min']&&_0x552478<=_0x4ae78b['max']&&_0x136dcf[_0xcae4f0(0x1c6)](_0x19b9fd,_0x552478);}const _0x426f6f=parseInt(_0x5c90a2,0xa);return!_0x136dcf['YVTzI'](isNaN,_0x426f6f)&&_0x426f6f>=_0x4ae78b['min']&&_0x136dcf[_0xcae4f0(0x1cc)](_0x426f6f,_0x4ae78b['max']);}['validateQueueName'](_0x14785d){const _0x5532df=a0_0x43dd49;if(!VALID_QUEUE_NAMES[_0x5532df(0x19c)](_0x14785d))return{'valid':![],'errors':['Queue\x20\x22'+_0x14785d+_0x5532df(0x185)+VALID_QUEUE_NAMES['join'](',\x20')]};return{'valid':!![],'errors':[]};}[a0_0x43dd49(0x178)](_0x36d295){const _0x373f6a=a0_0x43dd49,_0x58d573={'tetHk':function(_0x58be29,_0x4f1939){return _0x58be29!==_0x4f1939;},'VpdbB':function(_0x4c040b,_0x2c19e7){return _0x4c040b!==_0x2c19e7;},'UplRq':'number','FkfPK':_0x373f6a(0x1a4),'TYbij':'Field\x20\x22retry.initialDelay\x22\x20harus\x20number\x20>\x200\x20(dalam\x20ms)','dnQyN':function(_0xd0e7b2,_0x326397){return _0xd0e7b2===_0x326397;}},_0x37c7b7=[];return _0x58d573[_0x373f6a(0x1c9)](_0x36d295[_0x373f6a(0x1be)],undefined)&&((_0x58d573['VpdbB'](typeof _0x36d295[_0x373f6a(0x1be)],_0x58d573[_0x373f6a(0x1ad)])||_0x36d295[_0x373f6a(0x1be)]<0x1||_0x36d295[_0x373f6a(0x1be)]>0xa)&&_0x37c7b7[_0x373f6a(0x1a8)](_0x58d573[_0x373f6a(0x1b6)])),_0x58d573[_0x373f6a(0x17a)](_0x36d295[_0x373f6a(0x1b0)],undefined)&&(!VALID_BACKOFF_TYPES[_0x373f6a(0x19c)](_0x36d295[_0x373f6a(0x1b0)])&&_0x37c7b7[_0x373f6a(0x1a8)]('Field\x20\x22retry.backoff\x22\x20harus\x20\x22'+VALID_BACKOFF_TYPES[_0x373f6a(0x19a)]('\x22\x20atau\x20\x22')+'\x22')),_0x36d295['initialDelay']!==undefined&&((_0x58d573[_0x373f6a(0x1c9)](typeof _0x36d295[_0x373f6a(0x17e)],'number')||_0x36d295[_0x373f6a(0x17e)]<=0x0)&&_0x37c7b7['push'](_0x58d573[_0x373f6a(0x1a1)])),{'valid':_0x58d573[_0x373f6a(0x18c)](_0x37c7b7[_0x373f6a(0x1a5)],0x0),'errors':_0x37c7b7};}[a0_0x43dd49(0x17b)](_0x447793,_0x569282){const _0x49c245=a0_0x43dd49,_0x526aaa={'YFVdz':'jobs'},_0x387d03=path[_0x49c245(0x19a)](_0x569282,'src',_0x526aaa['YFVdz'],_0x447793+'.js');if(!fs[_0x49c245(0x1bb)](_0x387d03))return{'valid':![],'errors':['Handler\x20file\x20tidak\x20ditemukan:\x20src/jobs/'+_0x447793+'.js\x20(absolute:\x20'+_0x387d03+')']};return{'valid':!![],'errors':[]};}}function a0_0xa1bc(){const _0x5bf83e=['BMfTzq','DhLWzq','zw5HyMXLza','zxHWB25LBNrPywW','iIb0AwrHAYb2ywXPzc4GugLSAwHHBJOG','C2nOzwr1Bgu','Cgf0Aa','mJbhwKrOvKi','rMLLBgqGiMvUywjSzwqIigHHCNvZigjVB2XLyw4','Bwv0ywrHDge','rMLLBgqGiM1LDgfKyxrHiIbOyxj1CYbIzxj1CgeGB2jQzwn0','zg5rEu4','CLLxCKG','nZuXmdvUDxvwEMi','rMLLBgqGiMnVBMn1CNjLBMn5iIbOyxj1CYbUDw1IzxiGyw50yxjHideTnta','CMv0CNK','rMLLBgqGiMHHBMrSzxiIihDHAMLIigrPAxnPicHWyxrOihjLBgf0AwyGzgfYAsbZCMmVAM9ICY8P','rMLLBgqGiM5HBwuIigHHCNvZihnSDwCGzM9YBwf0icHSB3DLCMnHC2uSigrHC2GPoIaI','rMLLBgqGiNnJAgvKDwXLiIb3ywPPyIbKAwLZAsaOy3jVBIbLEhbYzxnZAw9Uihn0CMLUzYK','rvzcruq','mJm4nJm2m3zjzeH1Ca','EvzJsNK','ndmYnJG1s29prvLz','y3jVBG','C3bSAxq','AM9PBG','oda0wvvkswzc','Aw5JBhvKzxm','y29Uy3vYCMvUy3K','DxLqrvO','nti5oda2yK9guhjc','mte5oerUA0nXEa','vfLIAwO','zML4zwq','B2jQzwn0','rMLLBgqGiNjLDhj5lM1HEef0DgvTChrZiIbOyxj1CYbUDw1IzxiGyw50yxjHideTmta','BgvUz3rO','zgvMyxvSDa','zxHWB3j0CW','ChvZAa','C3rYAw5N','rMLLBgqGiNr5CguIihDHAMLIigrPAxnPicHZDhjPBMCP','EhHyyLK','swfpExi','vxbSuNe','mtu4ndy5nLrAtxPmrG','q3jVBIbMAwvSzcaI','yMfJA29MzG','CxvLDwu','DxLkr2u','zxjYB3jZ','DgvZDa','x2LZvMfSAwrsyw5Nzq','rMTMueS','mJqWru9RB1vd','Bw9UDgG','DgLTzw91Da','iJOGyMfZzsaI','zxHPC3rZu3LUyW','BwLUDxrL','rMLLBgqGiM5HBwuIihDHAMLIigrPAxnPicHZDhjPBMCP','Bwf4qxr0zw1WDhm','q3jVBIbLEhbYzxnZAw9UigHHCNvZiduGzMLLBgqGkg1PBNv0zsbOB3vYigrHEsbTB250Acb3zwvRzgf5ksWGzgL0zw11A2fUia','BNvTyMvY','z3fRDe8','AgfUzgXLCG','mtm5tgnlvLbm','zgf5lw9MlxDLzwS','D2PQDKG','zgDgEuW','DMfSAwrHDgvdCM9UrxHWCMvZC2LVBG','q29UzMLNigHHCNvZigjLCNvWysbVyMPLy3q','Dgv0sgS','BwLU','DMfSAwq','yujrvNa','veHZtei','nMTABeDYAq','tKLuywO','mtiXntvyEuDoDhG','DMfSAwrHDgvszxrYEunVBMzPzW','Bwf4','vNbKyKi','DMfSAwrHDgviyw5KBgvYrxHPC3rZ','iJOGBMLSywKGiG','BwfW','Aw5PDgLHBerLBgf5','r3Hcv2m','rwDos0K'];a0_0xa1bc=function(){return _0x5bf83e;};return a0_0xa1bc();}function a0_0x3959(_0x984106,_0x1be7b8){_0x984106=_0x984106-0x176;const _0xa1bc52=a0_0xa1bc();let _0x3959f3=_0xa1bc52[_0x984106];if(a0_0x3959['FRLgrI']===undefined){var _0x496dfc=function(_0x38eb86){const _0x5e0bb5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x18d0f='',_0x23e267='';for(let _0x272f81=0x0,_0x1bbfbe,_0x1698c9,_0x384899=0x0;_0x1698c9=_0x38eb86['charAt'](_0x384899++);~_0x1698c9&&(_0x1bbfbe=_0x272f81%0x4?_0x1bbfbe*0x40+_0x1698c9:_0x1698c9,_0x272f81++%0x4)?_0x18d0f+=String['fromCharCode'](0xff&_0x1bbfbe>>(-0x2*_0x272f81&0x6)):0x0){_0x1698c9=_0x5e0bb5['indexOf'](_0x1698c9);}for(let _0xf2f62e=0x0,_0x398ee7=_0x18d0f['length'];_0xf2f62e<_0x398ee7;_0xf2f62e++){_0x23e267+='%'+('00'+_0x18d0f['charCodeAt'](_0xf2f62e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x23e267);};a0_0x3959['TskGvL']=_0x496dfc,a0_0x3959['XBqjkK']={},a0_0x3959['FRLgrI']=!![];}const _0x30ed71=_0xa1bc52[0x0],_0x4f9a37=_0x984106+_0x30ed71,_0x2b9a58=a0_0x3959['XBqjkK'][_0x4f9a37];return!_0x2b9a58?(_0x3959f3=a0_0x3959['TskGvL'](_0x3959f3),a0_0x3959['XBqjkK'][_0x4f9a37]=_0x3959f3):_0x3959f3=_0x2b9a58,_0x3959f3;}module[a0_0x43dd49(0x1a7)]=new JobValidator();