@restforgejs/platform 5.0.9 → 5.1.4

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 (181) 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/data/pull.js +95 -0
  5. package/generators/cli/data/push.js +85 -0
  6. package/generators/cli/fast-track.js +950 -0
  7. package/generators/cli/payload/sync.js +18 -2
  8. package/generators/cli/schema/introspect.js +10 -10
  9. package/generators/lib/data/db-executor.js +440 -0
  10. package/generators/lib/data/dialect-kit.js +56 -0
  11. package/generators/lib/data/envelope.js +220 -0
  12. package/generators/lib/data/pull-runner.js +407 -0
  13. package/generators/lib/data/push-runner.js +382 -0
  14. package/generators/lib/data/sdf-reader.js +132 -0
  15. package/generators/lib/data/table-order.js +126 -0
  16. package/generators/lib/data/value-codec.js +188 -0
  17. package/generators/lib/migrate/field-type-resolver.js +18 -5
  18. package/generators/lib/payload/payload-runner.js +724 -39
  19. package/generators/lib/templates/dashboard-catalog.js +1 -1
  20. package/generators/lib/templates/db-connection-env.js +1 -1
  21. package/generators/lib/templates/dbschema-catalog.js +1 -1
  22. package/generators/lib/templates/field-validation-catalog.js +1 -1
  23. package/generators/lib/templates/mysql-template.js +1 -1
  24. package/generators/lib/templates/oracle-template.js +1 -1
  25. package/generators/lib/templates/postgres-template.js +1 -1
  26. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  27. package/generators/lib/templates/sqlite-template.js +1 -1
  28. package/integrity-manifest.json +18 -18
  29. package/package.json +1 -1
  30. package/scripts/verify-integrity.js +1 -1
  31. package/server.js +1 -1
  32. package/src/components/handlers/adjust_handler.js +1 -1
  33. package/src/components/handlers/audit_handler.js +1 -1
  34. package/src/components/handlers/delete_handler.js +1 -1
  35. package/src/components/handlers/export_handler.js +1 -1
  36. package/src/components/handlers/import_handler.js +1 -1
  37. package/src/components/handlers/insert_handler.js +1 -1
  38. package/src/components/handlers/update_handler.js +1 -1
  39. package/src/components/handlers/upload_handler.js +1 -1
  40. package/src/components/handlers/workflow_handler.js +1 -1
  41. package/src/components/integrations/webhook.js +1 -1
  42. package/src/consumers/baseConsumer.js +1 -1
  43. package/src/consumers/declarativeMapper.js +1 -1
  44. package/src/consumers/handlers/apiHandler.js +1 -1
  45. package/src/consumers/handlers/consoleHandler.js +1 -1
  46. package/src/consumers/handlers/databaseHandler.js +1 -1
  47. package/src/consumers/handlers/index.js +1 -1
  48. package/src/consumers/handlers/kafkaHandler.js +1 -1
  49. package/src/consumers/index.js +1 -1
  50. package/src/consumers/messageTransformer.js +1 -1
  51. package/src/consumers/validator.js +1 -1
  52. package/src/core/db/dialect/base-dialect.js +1 -1
  53. package/src/core/db/dialect/index.js +1 -1
  54. package/src/core/db/dialect/mysql-dialect.js +1 -1
  55. package/src/core/db/dialect/oracle-dialect.js +1 -1
  56. package/src/core/db/dialect/postgres-dialect.js +1 -1
  57. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  58. package/src/core/db/flatten-helper.js +1 -1
  59. package/src/core/db/query-builder-error.js +1 -1
  60. package/src/core/db/query-builder.js +1 -1
  61. package/src/core/db/relation-helper.js +1 -1
  62. package/src/core/handlers/delete_handler.js +1 -1
  63. package/src/core/handlers/insert_handler.js +1 -1
  64. package/src/core/handlers/update_handler.js +1 -1
  65. package/src/core/models/base-model.js +1 -1
  66. package/src/core/utils/cache-manager.js +1 -1
  67. package/src/core/utils/component-engine.js +1 -1
  68. package/src/core/utils/context-builder.js +1 -1
  69. package/src/core/utils/datetime-formatter.js +1 -1
  70. package/src/core/utils/datetime-parser.js +1 -1
  71. package/src/core/utils/db.js +1 -1
  72. package/src/core/utils/logger.js +1 -1
  73. package/src/core/utils/payload-loader.js +1 -1
  74. package/src/core/utils/security-checks.js +1 -1
  75. package/src/middleware/body-options.js +1 -1
  76. package/src/middleware/cors.js +1 -1
  77. package/src/middleware/idempotency.js +1 -1
  78. package/src/middleware/rate-limiter.js +1 -1
  79. package/src/middleware/request-logger.js +1 -1
  80. package/src/middleware/security-headers.js +1 -1
  81. package/src/models/base-model-mysql.js +1 -1
  82. package/src/models/base-model-oracle.js +1 -1
  83. package/src/models/base-model-sqlite.js +1 -1
  84. package/src/models/base-model.js +1 -1
  85. package/src/pro/caching/redis-client.js +1 -1
  86. package/src/pro/caching/redis-helper.js +1 -1
  87. package/src/pro/consumers/baseConsumer.js +1 -1
  88. package/src/pro/consumers/declarativeMapper.js +1 -1
  89. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  90. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  91. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  92. package/src/pro/consumers/handlers/index.js +1 -1
  93. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  94. package/src/pro/consumers/index.js +1 -1
  95. package/src/pro/consumers/messageTransformer.js +1 -1
  96. package/src/pro/consumers/validator.js +1 -1
  97. package/src/pro/database/base-model-mysql.js +1 -1
  98. package/src/pro/database/base-model-oracle.js +1 -1
  99. package/src/pro/database/base-model-sqlite.js +1 -1
  100. package/src/pro/database/db-mysql.js +1 -1
  101. package/src/pro/database/db-oracle.js +1 -1
  102. package/src/pro/database/db-sqlite.js +1 -1
  103. package/src/pro/excel/excel-generator.js +1 -1
  104. package/src/pro/excel/excel-parser.js +1 -1
  105. package/src/pro/excel/export-service.js +1 -1
  106. package/src/pro/excel/export_handler.js +1 -1
  107. package/src/pro/excel/import-service.js +1 -1
  108. package/src/pro/excel/import-validator.js +1 -1
  109. package/src/pro/excel/import_handler.js +1 -1
  110. package/src/pro/excel/upsert-builder.js +1 -1
  111. package/src/pro/idgen/idgen-routes.js +1 -1
  112. package/src/pro/integrations/lookup-resolver.js +1 -1
  113. package/src/pro/integrations/upload-handler-v2.js +1 -1
  114. package/src/pro/integrations/upload-handler.js +1 -1
  115. package/src/pro/integrations/webhook.js +1 -1
  116. package/src/pro/locking/lock-routes.js +1 -1
  117. package/src/pro/locking/resource-lock-manager.js +1 -1
  118. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  119. package/src/pro/messaging/kafkaService.js +1 -1
  120. package/src/pro/messaging/messagehubService.js +1 -1
  121. package/src/pro/messaging/rabbitmqService.js +1 -1
  122. package/src/pro/scheduler/job-manager.js +1 -1
  123. package/src/pro/scheduler/job-routes.js +1 -1
  124. package/src/pro/scheduler/job-validator.js +1 -1
  125. package/src/pro/storage/base-storage-provider.js +1 -1
  126. package/src/pro/storage/file-metadata-helper.js +1 -1
  127. package/src/pro/storage/index.js +1 -1
  128. package/src/pro/storage/local-storage-provider.js +1 -1
  129. package/src/pro/storage/s3-storage-provider.js +1 -1
  130. package/src/pro/storage/upload-cleanup-job.js +1 -1
  131. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  132. package/src/pro/storage/upload-pending-tracker.js +1 -1
  133. package/src/pro/websocket/broadcast-helper.js +1 -1
  134. package/src/pro/websocket/index.js +1 -1
  135. package/src/pro/websocket/livesync-server.js +1 -1
  136. package/src/pro/websocket/ws-broadcaster.js +1 -1
  137. package/src/services/export-service.js +1 -1
  138. package/src/services/import-service.js +1 -1
  139. package/src/services/kafkaConsumerService.js +1 -1
  140. package/src/services/kafkaService.js +1 -1
  141. package/src/services/messagehubService.js +1 -1
  142. package/src/services/rabbitmqService.js +1 -1
  143. package/src/utils/cache-invalidation-registry.js +1 -1
  144. package/src/utils/cache-manager.js +1 -1
  145. package/src/utils/component-engine.js +1 -1
  146. package/src/utils/config-extractor.js +1 -1
  147. package/src/utils/consumerLogger.js +1 -1
  148. package/src/utils/context-builder.js +1 -1
  149. package/src/utils/dashboard-helpers.js +1 -1
  150. package/src/utils/dateHelper.js +1 -1
  151. package/src/utils/datetime-formatter.js +1 -1
  152. package/src/utils/datetime-parser.js +1 -1
  153. package/src/utils/db-bootstrap.js +1 -1
  154. package/src/utils/db-mysql.js +1 -1
  155. package/src/utils/db-oracle.js +1 -1
  156. package/src/utils/db-sqlite.js +1 -1
  157. package/src/utils/db.js +1 -1
  158. package/src/utils/demo-generator.js +1 -1
  159. package/src/utils/excel-generator.js +1 -1
  160. package/src/utils/excel-parser.js +1 -1
  161. package/src/utils/file-watcher.js +1 -1
  162. package/src/utils/id-generator.js +1 -1
  163. package/src/utils/idempotency-manager.js +1 -1
  164. package/src/utils/import-validator.js +1 -1
  165. package/src/utils/license-client.js +1 -1
  166. package/src/utils/lock-manager.js +1 -1
  167. package/src/utils/logger.js +1 -1
  168. package/src/utils/lookup-resolver.js +1 -1
  169. package/src/utils/payload-loader.js +1 -1
  170. package/src/utils/processor-response.js +1 -1
  171. package/src/utils/rabbitmq.js +1 -1
  172. package/src/utils/redis-client.js +1 -1
  173. package/src/utils/redis-helper.js +1 -1
  174. package/src/utils/request-scope.js +1 -1
  175. package/src/utils/security-checks.js +1 -1
  176. package/src/utils/service-resolver.js +1 -1
  177. package/src/utils/shutdown-coordinator.js +1 -1
  178. package/src/utils/trusted-keys.js +1 -1
  179. package/src/utils/upload-handler.js +1 -1
  180. package/src/utils/upsert-builder.js +1 -1
  181. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- const a0_0x1b0aef=a0_0x2633;(function(_0x36e2d3,_0x509a25){const _0x37aed3=a0_0x2633,_0x463c40=_0x36e2d3();while(!![]){try{const _0xa247a7=parseInt(_0x37aed3(0x199))/0x1*(-parseInt(_0x37aed3(0x19b))/0x2)+parseInt(_0x37aed3(0x1a1))/0x3*(-parseInt(_0x37aed3(0x164))/0x4)+-parseInt(_0x37aed3(0x181))/0x5+parseInt(_0x37aed3(0x17e))/0x6*(parseInt(_0x37aed3(0x19c))/0x7)+parseInt(_0x37aed3(0x16f))/0x8+-parseInt(_0x37aed3(0x170))/0x9+parseInt(_0x37aed3(0x165))/0xa;if(_0xa247a7===_0x509a25)break;else _0x463c40['push'](_0x463c40['shift']());}catch(_0x4b354b){_0x463c40['push'](_0x463c40['shift']());}}}(a0_0x39bb,0x851c5));function a0_0x2633(_0x4bf754,_0x3adc85){_0x4bf754=_0x4bf754-0x161;const _0x39bb61=a0_0x39bb();let _0x26336d=_0x39bb61[_0x4bf754];if(a0_0x2633['pPDGKU']===undefined){var _0x4155c6=function(_0x47e2c7){const _0x5eb1dd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5e2af2='',_0x181221='';for(let _0x5a3006=0x0,_0x1934dc,_0x45a90c,_0x6b1451=0x0;_0x45a90c=_0x47e2c7['charAt'](_0x6b1451++);~_0x45a90c&&(_0x1934dc=_0x5a3006%0x4?_0x1934dc*0x40+_0x45a90c:_0x45a90c,_0x5a3006++%0x4)?_0x5e2af2+=String['fromCharCode'](0xff&_0x1934dc>>(-0x2*_0x5a3006&0x6)):0x0){_0x45a90c=_0x5eb1dd['indexOf'](_0x45a90c);}for(let _0x1bbec7=0x0,_0x22e3b5=_0x5e2af2['length'];_0x1bbec7<_0x22e3b5;_0x1bbec7++){_0x181221+='%'+('00'+_0x5e2af2['charCodeAt'](_0x1bbec7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x181221);};a0_0x2633['kwsAyk']=_0x4155c6,a0_0x2633['SMNDCC']={},a0_0x2633['pPDGKU']=!![];}const _0x16c0cb=_0x39bb61[0x0],_0x920e7a=_0x4bf754+_0x16c0cb,_0x18ac7d=a0_0x2633['SMNDCC'][_0x920e7a];return!_0x18ac7d?(_0x26336d=a0_0x2633['kwsAyk'](_0x26336d),a0_0x2633['SMNDCC'][_0x920e7a]=_0x26336d):_0x26336d=_0x18ac7d,_0x26336d;}const {createConnection,createChannel,setupInfrastructure,closeConnection,getConfig}=require('../utils/rabbitmq'),{formatDate}=require('../utils/dateHelper');function a0_0x39bb(){const _0x204ea7=['C1fwzgy','xsbnzxnZywDLigHHBMrSzxiGCMvNAxn0zxjLza','z2v0vgLTzq','xsbdyw5UB3qGC3rHCNqGy29UC3vTAw5NoIbUB3qGy29UBMvJDgvKihrVifjHyMjPDe1r','ignYzwf0zwqVCMvHzhK','y29UzMLN','ChvZAa','odHeEM1izwi','mtq4mJe3mdbrreP4Aeu','xsbfEgnOyw5Nzsa','lxjLDhj5lwv4y2HHBMDL','y29UBMvJDgLVBG','xsblB25LA3nPifjHyMjPDe1rihrLCNb1DhvZ','zxjYB3i','ic0+ia','Dg9tDhjPBMC','ignYzwf0zwqGD2L0AcbetfG','AxndB25Uzwn0zwq','ntaWnZi0me9QuNjJvq','nJGWotm3m0H6qvf0CG','xsbcAw5KAw5Nia','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','C2v0DxbdB2XSzwn0B3jjBMzYyxn0CNvJDhvYzq','C2vUzfrVuxvLDwu','xsbgywLSzwqGDg8GCgfYC2uGBwvZC2fNztOG','xsbnzxnZywDLihbYB2nLC3nLzcbZDwnJzxnZzNvSBhK','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','CxvLDwu','xsbgywLSzwqGDg8GCMvJB25Uzwn0ihrVifjHyMjPDe1roIa','CKPMqKe','y2HHBM5LBa','DgLTzxn0yw1W','yMLUzff1zxvL','nKnwzeHABa','x3jLDhj5','xsbbBhrLCM5HDgL2zsbXDwv1zsa','mti0otqXnvPlywzlyq','CMfUzg9T','xsbgywLSzwqGDg8GC3rHCNqGy29UC3vTAw5NoIa','CM91DgLUz0TLEq','C3bSAxq','twvZC2fNzsbJB250zw50oIa','zNjHvvK','q1bczwW','ChjVy2vZC01LC3nHz2u','Ec1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEq','xsbtDgfYDcbJB25ZDw1PBMCGBwvZC2fNzxmGzNjVBsbXDwv1zsaI','xsbfuLjpuJOGuxvLDwuG','xsbszxrYEsbIAw5KAw5NigzVCIa','CMvJB25Uzwn0','yxnZzxj0rxHJAgfUz2u','ChjVCgvYDgLLCW','ChvIBgLZAa','vhj5Aw5NigfSDgvYBMf0AxzLihf1zxvLig5HBwuUlI4','BwvZC2fNzq','Bg9N','zxHJAgfUz2u','yxnZzxj0uxvLDwu','Aw5JBhvKzxm','ChjLzMv0y2G','nde5mJyXDfbowvvA','y29UDgvUDa','mKj5zff3va','nJm2mZy3owrIt255CW','yxv0B19YzxrYEq','CMvNAxn0zxjnzxnZywDLsgfUzgXLCG','rxjYB3i6ia','Aw5PDgLHBgL6zq','mtqYnJy1sMXbsLDs','BwvZC2fNzuHHBMrSzxjZ','tgnqAem','ignYzwf0zwq','iI4UlG','quHUt24','xsbrDwv1zsa','ywnR','zNjVBq','xsbgywLSzwqGDg8GAw5PDgLHBgL6zsbsywjIAxrnutOG','zgLYzwn0'];a0_0x39bb=function(){return _0x204ea7;};return a0_0x39bb();}class RabbitMQService{constructor(){const _0xcac74e=a0_0x2633,_0x122c00='2|4|0|3|1'[_0xcac74e(0x185)]('|');let _0x101865=0x0;while(!![]){switch(_0x122c00[_0x101865++]){case'0':this['config']=getConfig();continue;case'1':this['messageHandlers']=[];continue;case'2':this[_0xcac74e(0x168)]=null;continue;case'3':this[_0xcac74e(0x16e)]=![];continue;case'4':this['channel']=null;continue;}break;}}async[a0_0x1b0aef(0x1a0)](){const _0x49fe66=a0_0x1b0aef,_0x4c108a={'UXgwY':function(_0x477b8b,_0x4da9fb){return _0x477b8b(_0x4da9fb);},'zNepw':function(_0xafd13b,_0x4c7983,_0x2e93be){return _0xafd13b(_0x4c7983,_0x2e93be);},'hhQCw':function(_0x284d84){return _0x284d84();},'fraUY':'close'};try{return this['connection']=await _0x4c108a['hhQCw'](createConnection),this['channel']=await createChannel(this[_0x49fe66(0x168)]),await this[_0x49fe66(0x17b)][_0x49fe66(0x198)](0x1),console[_0x49fe66(0x194)]('['+formatDate(new Date())+']\x20Prefetch\x20diatur\x20ke\x201'),await setupInfrastructure(this[_0x49fe66(0x17b)]),this[_0x49fe66(0x16e)]=!![],this[_0x49fe66(0x168)]['on'](_0x4c108a[_0x49fe66(0x187)],()=>{const _0x31dd31=_0x49fe66;console[_0x31dd31(0x16a)]('['+_0x4c108a['UXgwY'](formatDate,new Date())+_0x31dd31(0x169)),this['isConnected']=![],_0x4c108a['zNepw'](setTimeout,()=>this[_0x31dd31(0x18e)](),0x1388);}),!![];}catch(_0x36cc08){return console[_0x49fe66(0x16a)]('['+formatDate(new Date())+_0x49fe66(0x1aa)+_0x36cc08[_0x49fe66(0x193)]),this[_0x49fe66(0x16e)]=![],![];}}async['reconnect'](){const _0x5850ef=a0_0x1b0aef,_0x3bf2c2={'bJBFR':function(_0x4f5855,_0x4aeefa){return _0x4f5855(_0x4aeefa);}};console[_0x5850ef(0x194)]('['+_0x3bf2c2['bJBFR'](formatDate,new Date())+']\x20Attempting\x20to\x20reconnect\x20to\x20RabbitMQ...');try{await this['initialize'](),this['isConnected']&&(console['log']('['+formatDate(new Date())+']\x20Successfully\x20reconnected\x20to\x20RabbitMQ'),await this['startConsume']());}catch(_0x1f471b){console['error']('['+formatDate(new Date())+_0x5850ef(0x179)+_0x1f471b['message']),setTimeout(()=>this['reconnect'](),0x1388);}}async[a0_0x1b0aef(0x173)](_0x35cf1d){const _0x578f9c=a0_0x1b0aef,_0x193fd7={'LcPhC':function(_0x146b6f,_0x4dc54a){return _0x146b6f(_0x4dc54a);},'AHnOn':_0x578f9c(0x1ab)};try{!this['isConnected']&&(this[_0x578f9c(0x168)]=await createConnection(),this['channel']=await _0x193fd7[_0x578f9c(0x1a3)](createChannel,this['connection']),this['isConnected']=!![]);const _0x2bf9b9=process['env'][_0x578f9c(0x177)]||'default',_0x1d265e=_0x2bf9b9+_0x578f9c(0x167);await this[_0x578f9c(0x17b)][_0x578f9c(0x18f)](_0x1d265e,_0x193fd7['AHnOn'],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x193fd7[_0x578f9c(0x1a3)](formatDate,new Date())+']\x20Retry\x20exchange\x20'+_0x1d265e+_0x578f9c(0x161)),await this[_0x578f9c(0x17b)][_0x578f9c(0x18f)](_0x35cf1d[_0x578f9c(0x195)],_0x193fd7[_0x578f9c(0x1a6)],{'durable':!![],'autoDelete':![]}),console[_0x578f9c(0x194)]('['+formatDate(new Date())+_0x578f9c(0x166)+_0x35cf1d[_0x578f9c(0x195)]+'\x20created/ready');const _0x42fba2=_0x35cf1d[_0x578f9c(0x184)]+_0x578f9c(0x17f),_0x1774ca={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':_0x35cf1d['exchange'],'x-dead-letter-routing-key':_0x35cf1d['routingKey']}};await this['channel'][_0x578f9c(0x196)](_0x42fba2,_0x1774ca),console['log']('['+formatDate(new Date())+']\x20Retry\x20queue\x20'+_0x42fba2+'\x20created/ready'),await this['channel'][_0x578f9c(0x17d)](_0x42fba2,_0x1d265e,_0x35cf1d['routingKey']),console[_0x578f9c(0x194)]('['+_0x193fd7['LcPhC'](formatDate,new Date())+_0x578f9c(0x18d)+_0x35cf1d['routingKey']+_0x578f9c(0x1a4));const _0x2695ee={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x1d265e,'x-dead-letter-routing-key':_0x35cf1d['routingKey']}};try{const _0x2e6d5c=await this['channel']['assertQueue'](_0x35cf1d[_0x578f9c(0x178)],_0x2695ee);console['log']('['+formatDate(new Date())+_0x578f9c(0x1a7)+_0x35cf1d[_0x578f9c(0x178)]+'\x20'+(_0x2e6d5c[_0x578f9c(0x178)]===_0x35cf1d['queue']?'created/ready':'found')+'\x20with\x20DLX'),await this['channel']['bindQueue'](_0x35cf1d[_0x578f9c(0x178)],_0x35cf1d['exchange'],_0x35cf1d['routingKey']),console[_0x578f9c(0x194)]('['+_0x193fd7[_0x578f9c(0x1a3)](formatDate,new Date())+']\x20Binding\x20'+_0x35cf1d['exchange']+_0x578f9c(0x16b)+_0x35cf1d[_0x578f9c(0x178)]+'\x20('+_0x35cf1d[_0x578f9c(0x184)]+')\x20created');}catch(_0x396eaa){if(_0x396eaa['message'][_0x578f9c(0x197)]('inequivalent\x20arg')&&_0x396eaa[_0x578f9c(0x193)][_0x578f9c(0x197)](_0x578f9c(0x18a))){console['error']('\x0a['+formatDate(new Date())+_0x578f9c(0x18c)+_0x35cf1d['queue']+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console[_0x578f9c(0x16a)](_0x578f9c(0x192));const _0xa543bb=_0x35cf1d[_0x578f9c(0x184)]+'_queue',_0x41d1c0=await this[_0x578f9c(0x17b)][_0x578f9c(0x196)](_0xa543bb,_0x2695ee);console[_0x578f9c(0x194)]('['+formatDate(new Date())+_0x578f9c(0x180)+_0xa543bb+_0x578f9c(0x16d)),await this[_0x578f9c(0x17b)]['bindQueue'](_0xa543bb,_0x35cf1d['exchange'],_0x35cf1d['routingKey']),console['log']('['+_0x193fd7['LcPhC'](formatDate,new Date())+_0x578f9c(0x171)+_0x35cf1d['exchange']+'\x20->\x20'+_0xa543bb+'\x20('+_0x35cf1d[_0x578f9c(0x184)]+')\x20created'),_0x35cf1d[_0x578f9c(0x178)]=_0xa543bb;}else{console['error']('['+formatDate(new Date())+_0x578f9c(0x172)+_0x35cf1d['queue']+':',_0x396eaa[_0x578f9c(0x193)]);throw _0x396eaa;}}return!![];}catch(_0x49cb70){return console['error']('['+formatDate(new Date())+']\x20Error\x20saat\x20setup\x20infrastruktur:\x20'+_0x49cb70['message']),![];}}async[a0_0x1b0aef(0x174)](_0x2f3e47,_0x21366d){const _0x204ccd=a0_0x1b0aef,_0x1eeee6={'zwKAc':'Failed\x20to\x20send\x20message\x20to\x20RabbitMQ'};if(!this['isConnected'])try{await this['initialize']();}catch(_0x474d72){return{'success':![],'message':'Cannot\x20connect\x20to\x20RabbitMQ:\x20'+_0x474d72[_0x204ccd(0x193)],'data':null};}try{const _0x24b549=_0x21366d[_0x204ccd(0x19d)]!==undefined?_0x21366d[_0x204ccd(0x19d)]:![],_0xfd3c28=_0x21366d['max_retries']||0x3,_0x8b1254={'rabbitmq':{'exchange':_0x21366d[_0x204ccd(0x195)],'queue':_0x21366d[_0x204ccd(0x178)],'routing_key':_0x21366d[_0x204ccd(0x184)],'auto_retry':_0x24b549,'max_retries':_0xfd3c28},'message':_0x2f3e47};await this['setupCollectorInfrastructure'](_0x21366d);const _0x3d5830=new Date(),_0x36da1f={'timestamp':_0x3d5830['toISOString'](),'content':JSON['stringify'](_0x8b1254)},_0x342163=this[_0x204ccd(0x17b)][_0x204ccd(0x191)](_0x21366d[_0x204ccd(0x195)],_0x21366d[_0x204ccd(0x184)],Buffer[_0x204ccd(0x1a9)](JSON['stringify'](_0x36da1f)),{'persistent':!![],'contentType':'application/json','timestamp':_0x3d5830[_0x204ccd(0x1ae)](),'messageId':_0x3d5830['getTime']()+'-'+Math['random']()['toString'](0x24)['substring'](0x7),'headers':{'x-auto-retry':_0x24b549,'x-max-retry':_0xfd3c28,'x-retry-count':0x0,'x-retry-interval':0x2710}});if(_0x342163){console['log']('['+formatDate(_0x3d5830)+']\x20Message\x20sent\x20to\x20RabbitMQ\x20successfully:',{'exchange':_0x21366d[_0x204ccd(0x195)],'routing_key':_0x21366d['routingKey'],'queue':_0x21366d['queue'],'sendAt':_0x3d5830['toISOString']()});const _0x45f9d3='queue-'+_0x3d5830['getTime']()+'-'+Math[_0x204ccd(0x182)]()['toString'](0x24)['substring'](0x7);return{'success':!![],'message':'Data\x20sent\x20to\x20queue\x20successfully','data':{'id':_0x45f9d3,'queueInfo':{'exchange':_0x21366d['exchange'],'queue':_0x21366d[_0x204ccd(0x178)],'routingKey':_0x21366d[_0x204ccd(0x184)]}}};}else throw new Error(_0x1eeee6['zwKAc']);}catch(_0x103da2){return console[_0x204ccd(0x16a)]('['+formatDate(new Date())+']\x20Error\x20sending\x20to\x20RabbitMQ:\x20'+_0x103da2['message']),{'success':![],'message':_0x204ccd(0x19f)+_0x103da2['message'],'data':null};}}[a0_0x1b0aef(0x19e)](_0x30f552){const _0x1ae808=a0_0x1b0aef,_0x5b8970={'zruIP':'function','sQVdf':function(_0x1831a1,_0x34d48c){return _0x1831a1(_0x34d48c);},'rJfBA':function(_0x2d8e18,_0x26cb66){return _0x2d8e18(_0x26cb66);}};typeof _0x30f552===_0x5b8970['zruIP']?(this[_0x1ae808(0x1a2)][_0x1ae808(0x163)](_0x30f552),console[_0x1ae808(0x194)]('['+_0x5b8970[_0x1ae808(0x1ac)](formatDate,new Date())+_0x1ae808(0x1ad))):console[_0x1ae808(0x16a)]('['+_0x5b8970[_0x1ae808(0x17a)](formatDate,new Date())+']\x20Message\x20handler\x20must\x20be\x20a\x20function');}async['processMessage'](_0x1f28d8){const _0x883091=a0_0x1b0aef,_0x1a2367={'bIryp':function(_0x420311,_0x4cf9cb){return _0x420311===_0x4cf9cb;},'CPBel':function(_0x5b603e,_0x1549d3){return _0x5b603e(_0x1549d3);}};if(_0x1a2367['bIryp'](this['messageHandlers']['length'],0x0))return console['warn']('['+formatDate(new Date())+']\x20No\x20handlers\x20registered\x20to\x20process\x20messages'),!![];try{for(const _0x2b25b3 of this['messageHandlers']){await _0x2b25b3(_0x1f28d8);}return!![];}catch(_0x4b6863){return console['error']('['+_0x1a2367[_0x883091(0x188)](formatDate,new Date())+']\x20Error\x20processing\x20message:\x20'+_0x4b6863[_0x883091(0x193)]),![];}}async['startConsume'](){const _0x32e8e6=a0_0x1b0aef,_0x414a41={'zHvcA':function(_0x138d06,_0x455700){return _0x138d06!==_0x455700;},'dqBEx':function(_0x14e40d,_0x1fb2aa){return _0x14e40d(_0x1fb2aa);}};if(!this[_0x32e8e6(0x16e)])return console[_0x32e8e6(0x16a)]('['+formatDate(new Date())+_0x32e8e6(0x1af)),![];try{return console[_0x32e8e6(0x194)]('['+formatDate(new Date())+_0x32e8e6(0x18b)+this[_0x32e8e6(0x162)]['queue']+_0x32e8e6(0x1a5)),this[_0x32e8e6(0x17b)]['consume'](this[_0x32e8e6(0x162)]['queue'],async _0x22273e=>{const _0x21710e=_0x32e8e6;if(_0x414a41['zHvcA'](_0x22273e,null)){const _0x12ddb7=new Date();let _0x2fd140;try{_0x2fd140=JSON['parse'](_0x22273e[_0x21710e(0x19a)][_0x21710e(0x16c)]());}catch(_0x32cc3d){console['error']('['+formatDate(_0x12ddb7)+_0x21710e(0x175)+_0x32cc3d['message']),console[_0x21710e(0x16a)](_0x21710e(0x186)+_0x22273e['content'][_0x21710e(0x16c)]()),this['channel'][_0x21710e(0x1a8)](_0x22273e);return;}const _0x5d5dd6=_0x22273e[_0x21710e(0x190)][_0x21710e(0x17c)]?new Date(_0x22273e['properties'][_0x21710e(0x17c)]):new Date(),_0x3c3b97=await this[_0x21710e(0x189)](_0x2fd140);_0x3c3b97?(console[_0x21710e(0x194)]('['+formatDate(new Date())+_0x21710e(0x176)),this[_0x21710e(0x17b)]['ack'](_0x22273e)):(console['error']('['+_0x414a41['dqBEx'](formatDate,new Date())+']\x20Failed\x20to\x20process\x20message,\x20requeuing'),this['channel']['nack'](_0x22273e,![],!![])),console[_0x21710e(0x194)]('---');}},{'noAck':![]}),!![];}catch(_0x528a11){return console[_0x32e8e6(0x16a)]('['+formatDate(new Date())+_0x32e8e6(0x183)+_0x528a11['message']),![];}}async['close'](){const _0x5ac59a=a0_0x1b0aef;this[_0x5ac59a(0x168)]&&(await closeConnection(this['connection']),this[_0x5ac59a(0x16e)]=![]);}}let instance=null;function getInstance(){return!instance&&(instance=new RabbitMQService()),instance;}module['exports']={'getInstance':getInstance};
1
+ function a0_0xe21d(_0x2733f2,_0xf7363c){_0x2733f2=_0x2733f2-0x1bd;const _0x5eac4c=a0_0x5eac();let _0xe21d88=_0x5eac4c[_0x2733f2];if(a0_0xe21d['tFFNFn']===undefined){var _0x480dc4=function(_0x26c763){const _0x343eb2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xcf02db='',_0x29d0bb='';for(let _0x2becbe=0x0,_0x2d03d7,_0x5a190b,_0x575d15=0x0;_0x5a190b=_0x26c763['charAt'](_0x575d15++);~_0x5a190b&&(_0x2d03d7=_0x2becbe%0x4?_0x2d03d7*0x40+_0x5a190b:_0x5a190b,_0x2becbe++%0x4)?_0xcf02db+=String['fromCharCode'](0xff&_0x2d03d7>>(-0x2*_0x2becbe&0x6)):0x0){_0x5a190b=_0x343eb2['indexOf'](_0x5a190b);}for(let _0x172c57=0x0,_0x4c63d8=_0xcf02db['length'];_0x172c57<_0x4c63d8;_0x172c57++){_0x29d0bb+='%'+('00'+_0xcf02db['charCodeAt'](_0x172c57)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x29d0bb);};a0_0xe21d['VplMSl']=_0x480dc4,a0_0xe21d['iZQmlm']={},a0_0xe21d['tFFNFn']=!![];}const _0x3d33f6=_0x5eac4c[0x0],_0xd1ef99=_0x2733f2+_0x3d33f6,_0x23a143=a0_0xe21d['iZQmlm'][_0xd1ef99];return!_0x23a143?(_0xe21d88=a0_0xe21d['VplMSl'](_0xe21d88),a0_0xe21d['iZQmlm'][_0xd1ef99]=_0xe21d88):_0xe21d88=_0x23a143,_0xe21d88;}const a0_0x557834=a0_0xe21d;(function(_0x2aaa83,_0x4941e5){const _0x45b8de=a0_0xe21d,_0x5cd38c=_0x2aaa83();while(!![]){try{const _0x7f3929=-parseInt(_0x45b8de(0x1e2))/0x1+parseInt(_0x45b8de(0x1bf))/0x2*(parseInt(_0x45b8de(0x1d7))/0x3)+-parseInt(_0x45b8de(0x20a))/0x4+-parseInt(_0x45b8de(0x1ef))/0x5+parseInt(_0x45b8de(0x1f9))/0x6+parseInt(_0x45b8de(0x1bd))/0x7*(-parseInt(_0x45b8de(0x1ff))/0x8)+-parseInt(_0x45b8de(0x20f))/0x9*(-parseInt(_0x45b8de(0x1ca))/0xa);if(_0x7f3929===_0x4941e5)break;else _0x5cd38c['push'](_0x5cd38c['shift']());}catch(_0xc2759c){_0x5cd38c['push'](_0x5cd38c['shift']());}}}(a0_0x5eac,0x520b2));const {createConnection,createChannel,setupInfrastructure,closeConnection,getConfig}=require(a0_0x557834(0x1fe)),{formatDate}=require('../utils/dateHelper');class RabbitMQService{constructor(){const _0x1133ab=a0_0x557834,_0x31d362={'xvUfy':_0x1133ab(0x1cb),'AeVEL':function(_0x16a77d){return _0x16a77d();}},_0x1a4afb=_0x31d362['xvUfy']['split']('|');let _0x4b0e5f=0x0;while(!![]){switch(_0x1a4afb[_0x4b0e5f++]){case'0':this[_0x1133ab(0x1f8)]=null;continue;case'1':this['messageHandlers']=[];continue;case'2':this[_0x1133ab(0x1cc)]=![];continue;case'3':this[_0x1133ab(0x1f6)]=null;continue;case'4':this[_0x1133ab(0x1dd)]=_0x31d362[_0x1133ab(0x200)](getConfig);continue;}break;}}async[a0_0x557834(0x1f7)](){const _0x2dff1a=a0_0x557834,_0x2805f4={'otdKC':function(_0xd8c151,_0x2cbe86,_0x2948f4){return _0xd8c151(_0x2cbe86,_0x2948f4);},'OkFMX':_0x2dff1a(0x1d5),'tsxOA':function(_0x3b9be5){return _0x3b9be5();},'YhCaG':function(_0x3ca57d,_0x3424ce){return _0x3ca57d(_0x3424ce);}};try{const _0x34bc7a=_0x2dff1a(0x1d1)['split']('|');let _0x3dbd6b=0x0;while(!![]){switch(_0x34bc7a[_0x3dbd6b++]){case'0':return!![];case'1':this[_0x2dff1a(0x1f8)]['on'](_0x2805f4['OkFMX'],()=>{const _0x279dc7=_0x2dff1a;console['error']('['+formatDate(new Date())+']\x20Koneksi\x20RabbitMQ\x20terputus'),this['isConnected']=![],_0x2805f4['otdKC'](setTimeout,()=>this[_0x279dc7(0x1e9)](),0x1388);});continue;case'2':console[_0x2dff1a(0x1f2)]('['+formatDate(new Date())+']\x20Prefetch\x20diatur\x20ke\x201');continue;case'3':await setupInfrastructure(this[_0x2dff1a(0x1f6)]);continue;case'4':this[_0x2dff1a(0x1f8)]=await _0x2805f4[_0x2dff1a(0x1c9)](createConnection);continue;case'5':this['channel']=await createChannel(this['connection']);continue;case'6':await this[_0x2dff1a(0x1f6)]['prefetch'](0x1);continue;case'7':this['isConnected']=!![];continue;}break;}}catch(_0x53efa6){return console['error']('['+_0x2805f4['YhCaG'](formatDate,new Date())+_0x2dff1a(0x1c2)+_0x53efa6['message']),this['isConnected']=![],![];}}async['reconnect'](){const _0x53fe9d=a0_0x557834,_0x5b3ccc={'TXfXI':function(_0x5d880f,_0x29fa7f){return _0x5d880f(_0x29fa7f);}};console[_0x53fe9d(0x1f2)]('['+formatDate(new Date())+']\x20Attempting\x20to\x20reconnect\x20to\x20RabbitMQ...');try{await this['initialize'](),this['isConnected']&&(console['log']('['+_0x5b3ccc['TXfXI'](formatDate,new Date())+']\x20Successfully\x20reconnected\x20to\x20RabbitMQ'),await this[_0x53fe9d(0x203)]());}catch(_0x134db1){console['error']('['+formatDate(new Date())+_0x53fe9d(0x1c6)+_0x134db1['message']),setTimeout(()=>this[_0x53fe9d(0x1e9)](),0x1388);}}async[a0_0x557834(0x1fa)](_0x44e5a0){const _0x2c67fd=a0_0x557834,_0x5d622e={'EaIqA':function(_0x2e831d,_0x5500d0){return _0x2e831d(_0x5500d0);},'vlWxB':'direct','FLboG':function(_0x225fd2,_0x2652ac){return _0x225fd2(_0x2652ac);},'NJyos':function(_0x1e9bfb,_0x127025){return _0x1e9bfb===_0x127025;},'flcvA':_0x2c67fd(0x20e),'FIHsk':'found','pXjin':_0x2c67fd(0x1f5),'Pyduq':_0x2c67fd(0x1df),'KCyuO':function(_0x1faa06,_0x5039a7){return _0x1faa06(_0x5039a7);},'zuYoS':function(_0x3ea2d0,_0x34b019){return _0x3ea2d0(_0x34b019);}};try{!this['isConnected']&&(this['connection']=await createConnection(),this[_0x2c67fd(0x1f6)]=await _0x5d622e['EaIqA'](createChannel,this[_0x2c67fd(0x1f8)]),this['isConnected']=!![]);const _0x494a11=process['env'][_0x2c67fd(0x1de)]||'default',_0x150836=_0x494a11+'-retry-exchange';await this['channel'][_0x2c67fd(0x1e0)](_0x150836,_0x2c67fd(0x1fd),{'durable':!![],'autoDelete':![]}),console['log']('['+formatDate(new Date())+']\x20Retry\x20exchange\x20'+_0x150836+_0x2c67fd(0x201)),await this[_0x2c67fd(0x1f6)]['assertExchange'](_0x44e5a0[_0x2c67fd(0x1ec)],_0x5d622e[_0x2c67fd(0x1d0)],{'durable':!![],'autoDelete':![]}),console[_0x2c67fd(0x1f2)]('['+_0x5d622e['FLboG'](formatDate,new Date())+_0x2c67fd(0x1cd)+_0x44e5a0['exchange']+'\x20created/ready');const _0x1fc1e0=_0x44e5a0['routingKey']+'_retry',_0x380f81={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':_0x44e5a0['exchange'],'x-dead-letter-routing-key':_0x44e5a0[_0x2c67fd(0x1d4)]}};await this[_0x2c67fd(0x1f6)]['assertQueue'](_0x1fc1e0,_0x380f81),console['log']('['+formatDate(new Date())+_0x2c67fd(0x212)+_0x1fc1e0+_0x2c67fd(0x201)),await this[_0x2c67fd(0x1f6)]['bindQueue'](_0x1fc1e0,_0x150836,_0x44e5a0['routingKey']),console['log']('['+formatDate(new Date())+_0x2c67fd(0x1d3)+_0x44e5a0['routingKey']+'\x20created');const _0x25cf1a={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x150836,'x-dead-letter-routing-key':_0x44e5a0['routingKey']}};try{const _0x3af2ee=await this['channel']['assertQueue'](_0x44e5a0['queue'],_0x25cf1a);console[_0x2c67fd(0x1f2)]('['+formatDate(new Date())+_0x2c67fd(0x1ed)+_0x44e5a0[_0x2c67fd(0x1eb)]+'\x20'+(_0x5d622e[_0x2c67fd(0x1f1)](_0x3af2ee['queue'],_0x44e5a0[_0x2c67fd(0x1eb)])?_0x5d622e['flcvA']:_0x5d622e['FIHsk'])+'\x20with\x20DLX'),await this['channel'][_0x2c67fd(0x1d9)](_0x44e5a0['queue'],_0x44e5a0[_0x2c67fd(0x1ec)],_0x44e5a0['routingKey']),console[_0x2c67fd(0x1f2)]('['+formatDate(new Date())+_0x2c67fd(0x1d2)+_0x44e5a0[_0x2c67fd(0x1ec)]+_0x2c67fd(0x1c0)+_0x44e5a0['queue']+'\x20('+_0x44e5a0['routingKey']+_0x2c67fd(0x1ce));}catch(_0x1e4124){if(_0x1e4124['message'][_0x2c67fd(0x1fb)](_0x5d622e[_0x2c67fd(0x204)])&&_0x1e4124['message'][_0x2c67fd(0x1fb)](_0x5d622e[_0x2c67fd(0x1d8)])){console[_0x2c67fd(0x1c3)]('\x0a['+_0x5d622e[_0x2c67fd(0x206)](formatDate,new Date())+']\x20ERROR:\x20Queue\x20'+_0x44e5a0['queue']+_0x2c67fd(0x1d6)),console['error']('Trying\x20alternative\x20queue\x20name...');const _0x58237f=_0x44e5a0[_0x2c67fd(0x1d4)]+'_queue',_0x1e80c0=await this['channel'][_0x2c67fd(0x20b)](_0x58237f,_0x25cf1a);console[_0x2c67fd(0x1f2)]('['+formatDate(new Date())+_0x2c67fd(0x1e5)+_0x58237f+'\x20created\x20with\x20DLX'),await this['channel'][_0x2c67fd(0x1d9)](_0x58237f,_0x44e5a0[_0x2c67fd(0x1ec)],_0x44e5a0['routingKey']),console['log']('['+_0x5d622e[_0x2c67fd(0x209)](formatDate,new Date())+']\x20Binding\x20'+_0x44e5a0[_0x2c67fd(0x1ec)]+_0x2c67fd(0x1c0)+_0x58237f+'\x20('+_0x44e5a0['routingKey']+_0x2c67fd(0x1ce)),_0x44e5a0[_0x2c67fd(0x1eb)]=_0x58237f;}else{console['error']('['+_0x5d622e[_0x2c67fd(0x1cf)](formatDate,new Date())+_0x2c67fd(0x1c5)+_0x44e5a0[_0x2c67fd(0x1eb)]+':',_0x1e4124['message']);throw _0x1e4124;}}return!![];}catch(_0x548b0a){return console[_0x2c67fd(0x1c3)]('['+_0x5d622e['EaIqA'](formatDate,new Date())+_0x2c67fd(0x20c)+_0x548b0a[_0x2c67fd(0x207)]),![];}}async['sendToQueue'](_0x836f6a,_0xfa29cb){const _0x49788a=a0_0x557834,_0x20eeee={'xftQW':function(_0xddd072,_0x59776d){return _0xddd072!==_0x59776d;},'KLblo':function(_0x43cbdc,_0x32634b){return _0x43cbdc(_0x32634b);},'xwWjO':'Data\x20sent\x20to\x20queue\x20successfully'};if(!this['isConnected'])try{await this[_0x49788a(0x1f7)]();}catch(_0x4d1e83){return{'success':![],'message':'Cannot\x20connect\x20to\x20RabbitMQ:\x20'+_0x4d1e83['message'],'data':null};}try{const _0x1f244e=_0x20eeee[_0x49788a(0x210)](_0xfa29cb['auto_retry'],undefined)?_0xfa29cb[_0x49788a(0x1e6)]:![],_0x1c577d=_0xfa29cb[_0x49788a(0x1ee)]||0x3,_0x2d1d2e={'rabbitmq':{'exchange':_0xfa29cb['exchange'],'queue':_0xfa29cb[_0x49788a(0x1eb)],'routing_key':_0xfa29cb[_0x49788a(0x1d4)],'auto_retry':_0x1f244e,'max_retries':_0x1c577d},'message':_0x836f6a};await this['setupCollectorInfrastructure'](_0xfa29cb);const _0x514a3a=new Date(),_0x287d78={'timestamp':_0x514a3a[_0x49788a(0x1c7)](),'content':JSON[_0x49788a(0x211)](_0x2d1d2e)},_0x5610b2=this['channel'][_0x49788a(0x1db)](_0xfa29cb[_0x49788a(0x1ec)],_0xfa29cb['routingKey'],Buffer[_0x49788a(0x1e4)](JSON['stringify'](_0x287d78)),{'persistent':!![],'contentType':'application/json','timestamp':_0x514a3a['getTime'](),'messageId':_0x514a3a['getTime']()+'-'+Math['random']()['toString'](0x24)['substring'](0x7),'headers':{'x-auto-retry':_0x1f244e,'x-max-retry':_0x1c577d,'x-retry-count':0x0,'x-retry-interval':0x2710}});if(_0x5610b2){console['log']('['+_0x20eeee['KLblo'](formatDate,_0x514a3a)+_0x49788a(0x20d),{'exchange':_0xfa29cb[_0x49788a(0x1ec)],'routing_key':_0xfa29cb[_0x49788a(0x1d4)],'queue':_0xfa29cb['queue'],'sendAt':_0x514a3a[_0x49788a(0x1c7)]()});const _0x1500c6='queue-'+_0x514a3a['getTime']()+'-'+Math['random']()['toString'](0x24)[_0x49788a(0x1c8)](0x7);return{'success':!![],'message':_0x20eeee['xwWjO'],'data':{'id':_0x1500c6,'queueInfo':{'exchange':_0xfa29cb['exchange'],'queue':_0xfa29cb[_0x49788a(0x1eb)],'routingKey':_0xfa29cb['routingKey']}}};}else throw new Error(_0x49788a(0x1c4));}catch(_0x42168a){return console['error']('['+formatDate(new Date())+']\x20Error\x20sending\x20to\x20RabbitMQ:\x20'+_0x42168a['message']),{'success':![],'message':_0x49788a(0x1e1)+_0x42168a[_0x49788a(0x207)],'data':null};}}['registerMessageHandler'](_0x2ffa3e){const _0x2c37b7=a0_0x557834,_0x5a4602={'jHihz':function(_0x186a76,_0x278113){return _0x186a76(_0x278113);}};typeof _0x2ffa3e==='function'?(this['messageHandlers']['push'](_0x2ffa3e),console[_0x2c37b7(0x1f2)]('['+formatDate(new Date())+']\x20Message\x20handler\x20registered')):console[_0x2c37b7(0x1c3)]('['+_0x5a4602['jHihz'](formatDate,new Date())+']\x20Message\x20handler\x20must\x20be\x20a\x20function');}async['processMessage'](_0x989439){const _0x4b8756=a0_0x557834,_0x55118f={'GBLTh':function(_0x26d38a,_0x305252){return _0x26d38a(_0x305252);}};if(this[_0x4b8756(0x1e7)][_0x4b8756(0x208)]===0x0)return console[_0x4b8756(0x1e8)]('['+_0x55118f['GBLTh'](formatDate,new Date())+']\x20No\x20handlers\x20registered\x20to\x20process\x20messages'),!![];try{for(const _0x1014d3 of this[_0x4b8756(0x1e7)]){await _0x55118f['GBLTh'](_0x1014d3,_0x989439);}return!![];}catch(_0x2d9921){return console[_0x4b8756(0x1c3)]('['+formatDate(new Date())+_0x4b8756(0x1fc)+_0x2d9921['message']),![];}}async['startConsume'](){const _0xacc1ab=a0_0x557834,_0x95cc4b={'SHpXP':'---','HQRBR':function(_0xd38b74,_0x13f968){return _0xd38b74(_0x13f968);}};if(!this[_0xacc1ab(0x1cc)])return console['error']('['+formatDate(new Date())+_0xacc1ab(0x205)),![];try{return console['log']('['+_0x95cc4b[_0xacc1ab(0x1da)](formatDate,new Date())+_0xacc1ab(0x213)+this[_0xacc1ab(0x1dd)][_0xacc1ab(0x1eb)]+'\x22...'),this[_0xacc1ab(0x1f6)][_0xacc1ab(0x1dc)](this['config'][_0xacc1ab(0x1eb)],async _0x454a24=>{const _0x3dddad=_0xacc1ab;if(_0x454a24!==null){const _0x5e864f=new Date();let _0x18f27a;try{_0x18f27a=JSON[_0x3dddad(0x1e3)](_0x454a24['content'][_0x3dddad(0x1ea)]());}catch(_0x471439){console['error']('['+formatDate(_0x5e864f)+']\x20Failed\x20to\x20parse\x20message:\x20'+_0x471439[_0x3dddad(0x207)]),console['error']('Message\x20content:\x20'+_0x454a24['content']['toString']()),this[_0x3dddad(0x1f6)][_0x3dddad(0x214)](_0x454a24);return;}const _0x331053=_0x454a24['properties']['timestamp']?new Date(_0x454a24[_0x3dddad(0x1c1)]['timestamp']):new Date(),_0x10eb5e=await this['processMessage'](_0x18f27a);_0x10eb5e?(console[_0x3dddad(0x1f2)]('['+formatDate(new Date())+_0x3dddad(0x1f0)),this['channel'][_0x3dddad(0x214)](_0x454a24)):(console[_0x3dddad(0x1c3)]('['+formatDate(new Date())+_0x3dddad(0x1f3)),this[_0x3dddad(0x1f6)][_0x3dddad(0x1f4)](_0x454a24,![],!![])),console[_0x3dddad(0x1f2)](_0x95cc4b[_0x3dddad(0x1be)]);}},{'noAck':![]}),!![];}catch(_0x2c941b){return console[_0xacc1ab(0x1c3)]('['+_0x95cc4b['HQRBR'](formatDate,new Date())+']\x20Failed\x20to\x20start\x20consuming:\x20'+_0x2c941b['message']),![];}}async[a0_0x557834(0x1d5)](){const _0x1ee82e=a0_0x557834,_0x5d4cb1={'LGkBT':function(_0x49c5ef,_0x532164){return _0x49c5ef(_0x532164);}};this[_0x1ee82e(0x1f8)]&&(await _0x5d4cb1[_0x1ee82e(0x202)](closeConnection,this[_0x1ee82e(0x1f8)]),this['isConnected']=![]);}}let instance=null;function a0_0x5eac(){const _0x130bd5=['D2fYBG','CMvJB25Uzwn0','Dg9tDhjPBMC','CxvLDwu','zxHJAgfUz2u','xsbrDwv1zsa','Bwf4x3jLDhjPzxm','mtq0otK4nwTPAgjyrG','xsbnzxnZywDLihbYB2nLC3nLzcbZDwnJzxnZzNvSBhK','tKP5B3m','Bg9N','xsbgywLSzwqGDg8GChjVy2vZCYbTzxnZywDLlcbYzxf1zxvPBMC','BMfJAW','Aw5LCxvPDMfSzw50igfYzW','y2HHBM5LBa','Aw5PDgLHBgL6zq','y29UBMvJDgLVBG','mZC2ndKYoe5duuv3uW','C2v0DxbdB2XSzwn0B3jjBMzYyxn0CNvJDhvYzq','Aw5JBhvKzxm','xsbfCNjVCIbWCM9JzxnZAw5Nig1LC3nHz2u6ia','zgLYzwn0','lI4VDxrPBhmVCMfIyML0Bxe','ndqYng1UEgPcvG','qwvwruW','ignYzwf0zwqVCMvHzhK','teDRqLq','C3rHCNrdB25ZDw1L','CfHQAw4','xsbdyw5UB3qGC3rHCNqGy29UC3vTAw5NoIbUB3qGy29UBMvJDgvKihrVifjHyMjPDe1r','s0n5Du8','BwvZC2fNzq','BgvUz3rO','rKXIB0C','mJq3oda5nKj6uePnuG','yxnZzxj0uxvLDwu','xsbfCNjVCIbZywf0ihnLDhvWigLUzNjHC3rYDwT0Dxi6ia','xsbnzxnZywDLihnLBNqGDg8GuMfIyML0tveGC3vJy2vZC2z1BgX5oG','y3jLyxrLzc9YzwfKEq','mtuZuvzWy25b','Egz0uvC','C3rYAw5NAwz5','xsbszxrYEsbXDwv1zsa','xsbtDgfYDcbJB25ZDw1PBMCGBwvZC2fNzxmGzNjVBsbXDwv1zsaI','ywnR','mZG5ou5nthz1sG','u0HWwfa','nte1ntHyufnysNm','ic0+ia','ChjVCgvYDgLLCW','xsbgywLSzwqGDg8GAw5PDgLHBgL6zsbsywjIAxrnutOG','zxjYB3i','rMfPBgvKihrVihnLBMqGBwvZC2fNzsb0BYbsywjIAxrnuq','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','xsbgywLSzwqGDg8GCMvJB25Uzwn0ihrVifjHyMjPDe1roIa','Dg9ju09tDhjPBMC','C3vIC3rYAw5N','Dhn4t0e','mJu4odGWvxrHqMPS','mhWZFdr8mNWX','AxndB25Uzwn0zwq','xsbfEgnOyw5Nzsa','ksbJCMvHDgvK','ENvzB1m','DMXxEei','nhW1Fdz8mNWZFdD8mxWW','xsbcAw5KAw5Nia','xsbszxrYEsbIAw5KAw5NigzVCIa','CM91DgLUz0TLEq','y2XVC2u','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','ntDhALbbDNi','uhLKDxe','yMLUzff1zxvL','sffsqLi','ChvIBgLZAa','y29UC3vTzq','y29UzMLN','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','Ec1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEq','yxnZzxj0rxHJAgfUz2u','rxjYB3i6ia','mZC5m2X4qNLIvW','CgfYC2u','zNjVBq','xsbbBhrLCM5HDgL2zsbXDwv1zsa','yxv0B19YzxrYEq','BwvZC2fNzuHHBMrSzxjZ'];a0_0x5eac=function(){return _0x130bd5;};return a0_0x5eac();}function getInstance(){return!instance&&(instance=new RabbitMQService()),instance;}module['exports']={'getInstance':getInstance};
@@ -1 +1 @@
1
- function a0_0x1a05(_0x16b48b,_0x142b4a){_0x16b48b=_0x16b48b-0x139;const _0x497ae6=a0_0x497a();let _0x1a05b6=_0x497ae6[_0x16b48b];if(a0_0x1a05['BlKjTr']===undefined){var _0x271489=function(_0x1eb63d){const _0x164833='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x638a02='',_0x32c388='';for(let _0x4d12db=0x0,_0x36d660,_0x3f5678,_0x3cae8a=0x0;_0x3f5678=_0x1eb63d['charAt'](_0x3cae8a++);~_0x3f5678&&(_0x36d660=_0x4d12db%0x4?_0x36d660*0x40+_0x3f5678:_0x3f5678,_0x4d12db++%0x4)?_0x638a02+=String['fromCharCode'](0xff&_0x36d660>>(-0x2*_0x4d12db&0x6)):0x0){_0x3f5678=_0x164833['indexOf'](_0x3f5678);}for(let _0x1c1fd6=0x0,_0x5f4aa0=_0x638a02['length'];_0x1c1fd6<_0x5f4aa0;_0x1c1fd6++){_0x32c388+='%'+('00'+_0x638a02['charCodeAt'](_0x1c1fd6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x32c388);};a0_0x1a05['uJAgkI']=_0x271489,a0_0x1a05['lEFITt']={},a0_0x1a05['BlKjTr']=!![];}const _0x9ab189=_0x497ae6[0x0],_0x3163fe=_0x16b48b+_0x9ab189,_0x413f8b=a0_0x1a05['lEFITt'][_0x3163fe];return!_0x413f8b?(_0x1a05b6=a0_0x1a05['uJAgkI'](_0x1a05b6),a0_0x1a05['lEFITt'][_0x3163fe]=_0x1a05b6):_0x1a05b6=_0x413f8b,_0x1a05b6;}const a0_0x834bdf=a0_0x1a05;(function(_0x555221,_0x4e405b){const _0x56b21a=a0_0x1a05,_0x139956=_0x555221();while(!![]){try{const _0xf5b0f6=parseInt(_0x56b21a(0x19e))/0x1*(parseInt(_0x56b21a(0x237))/0x2)+-parseInt(_0x56b21a(0x1c0))/0x3+-parseInt(_0x56b21a(0x1cb))/0x4*(-parseInt(_0x56b21a(0x1bb))/0x5)+-parseInt(_0x56b21a(0x204))/0x6*(-parseInt(_0x56b21a(0x211))/0x7)+-parseInt(_0x56b21a(0x1a5))/0x8*(parseInt(_0x56b21a(0x22c))/0x9)+-parseInt(_0x56b21a(0x254))/0xa*(parseInt(_0x56b21a(0x218))/0xb)+-parseInt(_0x56b21a(0x21e))/0xc*(-parseInt(_0x56b21a(0x1c4))/0xd);if(_0xf5b0f6===_0x4e405b)break;else _0x139956['push'](_0x139956['shift']());}catch(_0x2950f3){_0x139956['push'](_0x139956['shift']());}}}(a0_0x497a,0x3a1d1));const {Queue,Worker}=require('bullmq'),Redis=require(a0_0x834bdf(0x163)),crypto=require(a0_0x834bdf(0x25e)),{v7:uuidv7}=require('uuid'),fs=require('fs'),path=require('path'),{logger}=require('../../utils/logger'),jobValidator=require('./job-validator');function a0_0x497a(){const _0xa60d68=['uKvesvnFue9sva','zNn2twW','Dhj1zq','rKnzC1q','D2fYBG','y3j5ChrV','C3LZDgvT','CMvZDgzVCMDLlMPVyNmUzMfPBgvK','DgLTzxn0yw1W','Au5vD2y','vwn2Avq','D29YA2vYCW','BxLZCwW','r3fuEK0','sM9IignHBMnLBgXLzcbIEsbVBKjLzM9YzuPVyKv4zwn1Dgu6ia','zxjYB3i','v1j0tMi','C3rHBgXLza','B25kB2jgywLSzwq','uMvKAxmGy29UBMvJDgLVBIbMywLSzwq6ia','ChvZAa','AgLZDg9YEuLK','yMfJA29MzG','zNvUy3rPB24','sK9cx01bwf9tvefmtevex0npvu5u','sM9Iia','y2fUy2vSsM9I','zw5HyMXLza','DMLfq1i','Aw5JBhvKzxm','B3jHy2XL','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticG6msWGoJiSidOZlca6ncWGoJuSicDYDw5UAw5NjYWGoJySidO3lca6ocWGu1LtveLnrvnuqu1qlca6osWGu1LtveLnrvnuqu1qkq','Dg90ywXFzMfPBgvK','D2fPDgLUzW','AM9Ix2HHBMrSzxjFzg9Uzq','sM9Iie1HBMfNzxiGC2H1DgrVD24Gy29TCgXLDgu','zxHWB3j0CW','rMfPBgvKihrVihbHCNnLigPVyIbJB25MAwC6ia','Aw5MBW','sM9IigrPC3bHDgnOzwqGkgrLBgf5zwqG','zw5ZDxjLvgfIBgvZ','BgLTAxq','wKzgtuC','y3jLyxrLqNvSBe1rq29UBMvJDgLVBG','BMfTzq','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticG/lca/lca/lca/lca/lcaNCNvUBMLUzYCSid8Sid8Sid8Sie5pvYGPlca/lcbot1COksK','ywrK','vgLKywSGywrHigPVyIbJB25MAwCGzgL0zw11A2fUigrPihbHEwXVywqVAM9ICY8UiePVyIbnyw5Hz2vYigfRDgLMihrHBNbHignYB24U','t0DfA3C','DgLTzxn0yw1WCW','AuXPCuK','lI4VlI4VDxrPBhmVy29TCg9Uzw50lwvUz2LUzq','sM9IignHBMnLBgXLzcb2AweGqvbj','z2v0q2fJAgvnyw5Hz2vY','C3bSAxq','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNzMfPBgvKjYWGy29TCgXLDgvKx2f0id0GtK9xkcKScIaGicaGicaGicaGzhvYyxrPB25FBxmGpsaKmsWGChjVz3jLC3mGpsaKmIWGzxjYB3jFBwvZC2fNzsa9icqZlcbLCNjVCL9ZDgfJAYa9icq0ifDirvjfigLKid0Gjdu','Dg9mB3DLCKnHC2u','DhjPBq','sgvtree','BNLSwKe','zgf0yq','Dufkrgq','Cg9ZDgDYzxnXBc5ZCwW','mxWYFdz8m3WWFdD8nxW0','Aw5Zzxj0uhjVBwLZzq','CMvNAxn0zxjkB2i','CxvPDa','ug9ZDgDYzvnrtcbeqIbTB2r1BguGBM90igf2ywLSywjSzq','CxvLDwu','z2v0u3rHDgu','u25zqxK','Aw9YzwrPCW','v1bZugW','ywn0AxzLsgLZDg9YEuLKCW','AM9Ix21HBMfNzxjFAw5PDf9ZDgfYDa','sM9IihbYB2DYzxnZoIa','rKrtB3u','C3rYAw5N','q3jVBIbYzwDPC3rLCMvKoIa','EKDxy2e','rwnTsuS','ihjLBw92zwqGkhDHCYa','rwj1AgK','icHHDhrLBxb0ia','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGC3rHDhvZid0Gj29MzMXPBMuNlcbUzxH0x3j1BL9HDca9ie5vteWSihvWzgf0zwrFyxqGpsbtwvnusu1fu1rbtva','zMLSDgvY','lI4VlI4VDxrPBhmVzgi','s25YENu','y2f0y2G','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsaKmsWGBgfZDf9KDxjHDgLVBL9TCYa9icqYlaOGicaGicaGicaGia','CMvZDgzVCMDLlMPVyNmUy29TCgXLDgvK','Dw5RBM93BG','zhvWBgLJyxrL','mYbcDwXStveGuxvLDwvZignYzwf0zwqGkgHPz2GSigrLzMf1BhqSigXVDYK','z2v0s2fMA2ftzxj2AwnL','y2XVC2u','zMLUAxnOzwrpBG','ELnks0q','yxr0zw1WDhnnywrL','C2nOzwr1Bgu','AM9Ix2rIx3vUyxzHAwXHyMXL','B3bzt2S','id0G','lMPZ','CMv0CNK','ywz0zxjFAM9Ix2nVBxbSzxrLx2HVB2TFzxjYB3i','AM9Ix2nVBxbSzxrLza','Aw5Zzxj0sM9IsgLZDg9YEq','BwfW','uhvwv1C','AM9Ix3n0yxj0zwq','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNC3vJy2vZCYCSignVBxbSzxrLzf9HDca9ie5pvYGPlaOGicaGicaGicaGigr1CMf0Aw9Ux21Zid0GpYWGChjVz3jLC3mGpsaXmdaSihjLC3vSDf9ZDw1Tyxj5id0GpYbxsevsrsbPzca9id8','jYb0AwrHAYbKAwr1A3vUzYb1BNr1AYbQB2iGBw9UAxrVCMLUzYb0ywjSzxm','sM9IihrPzgfRigrPDgvTDwTHBJOG','zw52','zxjYB3jZ','svfPr1O','CMy6','zxHWB25LBNrPywW','BgvUz3rO','x3nVDxjJzuzPBgu','DxbZzxj0sM9Iu2nOzwr1BgvY','icHPzdOG','C2XPy2u','C3rYAw5NAwz5','yNvSBg1XsM9Iswq','suHkEhC','zwzusKq','t1nctLO','y2HPBgq','mtuZndzTswP5DvK','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa6msWGBgfZDf9KDxjHDgLVBL9TCYa9idOYlaOGicaGicaGicaGia','BxLZCwWUC3fS','qM5kvu4','yxbPlwnHBMnLBa','C3vJy2vZCW','AM9Ix3n0ywXSzwq','mJa4CeHSEu5R','zMfPBgvKuMvHC29U','y29UzMLNrMLSzq','C3rHy2S','wLL2rKq','EMDesxe','zgvSyxLLza','C3vIC3rYAw5N','shDhqLm','t0TVrgK','CMv0DxjUDMfSDwu','yNvSBg1Xx3DVCMTLCL9LCNjVCG','z2v0q2XPzw50','DxrMoa','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGC3rHDhvZid0Gj29MzMXPBMuNlcbUzxH0x3j1BL9HDca9ie5vteW','igPVyIHZksbYzwDPC3rLCMvKlca','rMfPBgvKihrVigLUC2vYDcbQB2iGAgLZDg9YEtOG','z2v0sgLZDg9YEq','svrUB04','ywn0AxzL','DgLTzxPVBMu','D29YA2LUz0rPCG','mtaZndaWnuvTAejvqW','rMfPBgvKihrVihjLz2LZDgvYigPVyJOG','zgjFCgDFDw5HDMfPBgfIBgu','v2zUDhG','BM9ut2G','ntCZmZu0wNntsvjA','uNLzug0','sK9cx1jfreLtx1bsruzjwa','Cgf1C2vK','mZL2wK5tEhe','yM5ysgG','yunUzgK','AM9Ix3jLz2LZDhj5x2nVDw50zxjFzxjYB3i','Cgf5Bg9Hza','C2v0qwXSsM9IC09MzMXPBMu','BwvZC2fNzq','nhHJtxv6ra','zwjkCuO','D3zSvfa','z2v0','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticGKmsWGjdiSicqZlcaKncWGjduSicDYDw5UAw5NjYWGjdySicq3lcaKocWGtK9xkcKSicq5lcbot1COksK','AgfUzgXLCG','zgvZy3jPChrPB24','BMv4Da','C2v0','Cg9ZDgDYzxnXBa','AgfUzgXLCNm','zxHLy3v0zuv2zw50sgfUzgXLCNm','s0fgs0fFru5bqKXfra','C091qLm','DvfOBKy','zgvIDwC','Bw92zvrVrMfPBgvK','y3jVBG','y29UBMvJDgLVBNm','AM9Ix2rPC3bHDgnOzwq','sM9IigvUC3vYzvrHyMXLCYb3yxjUAw5NoIa','Aw5PDgLHBgL6zwq','zMLUza','ChDfBNe','zMniue0','zgvMyxvSDa','s2v3we4','iokaLca','DMfSAwrHDgvdB25MAwC','EgDyDNK','sK9XBeC','qLnqwfq','svvXr1y','zw50CMLLCW','rMfPBgvKihrVihb1yMXPC2GGsK9cx0nptvbmrvrfrcb0BYblywzRyq','Bwf4qxr0zw1WDhm','DxbKyxrLuMvNAxn0CNLdB3vUDgvYCW','rejFvfLqrq','DMfSAwq','rujfve4','AM9IlxnJAgvKDwXLCG','sefTu04','AM9Ix2HPC3rVCNLFzMfPBgvKx2vYCM9Y','DgLTzw91Da','vfHJte0','CwPvsKC','C3fqtvG','Dwvftuy','mYbcDwXStveGv29YA2vYCYbJCMvHDgvKicHJB25JDxjYzw5JEtOG','AM9Ix3nXBf9UB3rFzM91BMq','rMfPBgvKihrVihb1yMXPC2GGsK9cx0zbsuXfrcb0BYblywzRyq','B25kB2jqCM9NCMvZCW','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa/lcbSyxn0x3j1BL9HDca9ie5pvYGPifDirvjfigPVyL9Uyw1Lid0GpW','CNvUBMLUzW','zxHLy3v0zvrYyw5Zywn0Aw9U','AM9Iq29UzMLNCW','yKHkCuK','nZm3nfnhEeDoDW','DhjPz2DLCMvKqNK','z2v0rgjuExbL','zgvSzxrL','CMvHzezPBgvtEw5J','sw5PDgLHBgL6Aw5NiePVyIbnyw5Hz2vYlI4U','ChjVz3jLC3m','AM9Ix3f1zxvLC19JCMvHDgvK','ywz0zxjFAM9Ix2zHAwXLzf9OB29Rx2vYCM9Y','Bxvsu08','z2v0uMvKAxndBgLLBNq','B3jHltaWotu1','ChjVy2vZC2vKt24','mJyZoufZCgTvvG','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNzMfPBgvKjYWGy29TCgXLDgvKx2f0id0Gu1LtveLnrvnuqu1qlaOGicaGicaGicaGigr1CMf0Aw9Ux21Zid0GoJeSihbYB2DYzxnZid0GoJiSigvYCM9Yx21LC3nHz2uGpsa6mYWGzxjYB3jFC3rHy2SGpsa6ncbxsevsrsbPzca9idO1','sK9cx0nptvbmrvrfra','txLtuuWGreiGBw9KDwXLig5VDcbHDMfPBgfIBgu','sK9cx1jfvevoveLptL9it1vsuW','Agzevge','sgfUzgXLCIb0AwrHAYbKAxrLBxvRyw4GDw50DwSGAM9IoIa','nJqYmtH3DuHjBNa','y29TCg9Uzw50rw5NAw5L','z2v0sM9ICW','vxDVsLG','z2v0sM9Iu3rHDhvZ','DhLWzq','nJCXndeYqMjHBMrv','rgD0zNC','yxbPlwrLBgf5zwq','DMfSDwvZ','yKfKEu8','qNvSBe1rifDVCMTLCIbLCNjVCIaO','DxbKyxrLuMvNAxn0CNLtDgf0Dxm','wKTVsMm','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','ywXYzwfKEsbLEgLZDhm','qMfJA2DYB3vUzcbPBNnLCNqGAM9IigHPC3rVCNKGzMfPBgvKoIa','sM9IigrPC3bHDgnOzwq6ia','ihrPzgfRigjPC2eGzgKTy2fUy2vSicHZDgf0ztOG','AM9PBG','nZCZnZnfsvj4qMO','Aevere8','rNP3tgi','AM9ItMfTzq','sM9Iig1VBML0B3jPBMCGDgfIBgvZigvUC3vYzwqGka','Ae9MCgm','ChvIBgLZAev2zw50','y29TCgXLDgvK','AM9ICW','u2n2zM4','BNnTtfC','nfHxC250DG','B25SAw5L','AM9Ix2nVBMzPz19WyxjZzv9LCNjVCG','z2v0rgjvDgLSCW','AM9Ix2HPC3rVCNLFAw5Zzxj0x2vYCM9Y','DxbKyxrLsM9IsgLZDg9YEunVBxbSzxrLza','BM93','wenfChe','zxHPC3rZu3LUyW','zMfPBgvK','C29YDa','z2v0tMv4Dfj1BKzYB21cDwXStve','Bg9HzePVyKnVBMzPz3m','AM9Ix3jLz2LZDhj5x29MzMXPBMvFzxjYB3i','yxbP','Cgf1C2u','qujTqK8','AM9Ix3jLzgLZx2nVBM5Ly3rLza','A2v5CW','y2XLyxi','icSGmsWkicaGicaGicaGicbUzxH0x3j1BL9HDca9idOZlcb1CgrHDgvKx2f0id0Gu1LtveLnrvnuqu1qifDirvjfigPVyL9Uyw1Lid0GoJq','Aw5PDgLHBerLBgf5','D3vZsMy','AM9Ix2nVBMzPz19PBNzHBgLK','uNbxrMW','DxbKyxrLsM9IsgLZDg9YEuzHAwXLza','uKvesvnFrei','yNvPBgrdB250zxH0','CxvLDwvZ','mZCWzKnHs0fU','z2v0sw5ZDgfUy2u','qNvSBe1rifjLzgLZignVBM5Ly3rPB24GzxjYB3i6ia','zxHLy3v0zvf1zxj5','DxbKyxrLuhjVz3jLC3m'];a0_0x497a=function(){return _0xa60d68;};return a0_0x497a();}let componentEngine=null;function getComponentEngine(){const _0x360a0a=a0_0x834bdf,_0x227685={'EcmIK':_0x360a0a(0x14f)};if(!componentEngine)try{const _0x1229b2=require(_0x227685[_0x360a0a(0x16c)]);componentEngine=_0x1229b2[_0x360a0a(0x219)]||_0x1229b2;}catch(_0x506a4b){}return componentEngine;}class JobManager{constructor(){const _0x774c00=a0_0x834bdf,_0x5c209f={'IHJxw':_0x774c00(0x15b)},_0x1a10d7=_0x5c209f[_0x774c00(0x19a)][_0x774c00(0x152)]('|');let _0x4f8978=0x0;while(!![]){switch(_0x1a10d7[_0x4f8978++]){case'0':this['connections']=[];continue;case'1':this['queues']={};continue;case'2':this[_0x774c00(0x264)]={};continue;case'3':this[_0x774c00(0x1d5)]={};continue;case'4':this[_0x774c00(0x165)]=new Map();continue;case'5':this[_0x774c00(0x1ba)]=process['cwd']();continue;case'6':this[_0x774c00(0x202)]={};continue;case'7':this['initialized']=![];continue;}break;}}['createBullMQConnection'](){const _0x2c48ba=a0_0x834bdf,_0x555311={'EwZtK':function(_0x59c93c,_0xa0229){return _0x59c93c*_0xa0229;},'HMIgk':function(_0x435ded,_0xfd349d,_0x51b9ab){return _0x435ded(_0xfd349d,_0x51b9ab);},'WRtNb':function(_0x1e3cb2,_0x5d321f,_0x49f482){return _0x1e3cb2(_0x5d321f,_0x49f482);}},_0x5a9537=new Redis({'host':process['env']['REDIS_HOST']||'localhost','port':_0x555311['HMIgk'](parseInt,process['env'][_0x2c48ba(0x259)],0xa)||0x18ec,'password':process['env']['REDIS_PASSWORD']||undefined,'db':_0x555311[_0x2c48ba(0x269)](parseInt,process[_0x2c48ba(0x18e)][_0x2c48ba(0x251)],0xa)||0x0,'maxRetriesPerRequest':null,'retryStrategy'(_0x5d5936){const _0x2e6289=Math['min'](_0x555311['EwZtK'](_0x5d5936,0x32),0x7d0);return _0x2e6289;}});return _0x5a9537['on']('error',_0x180705=>{const _0x2c1fe6=_0x2c48ba;logger[_0x2c1fe6(0x268)]({'event':'bullmq_redis_error','error':_0x180705['message']},_0x2c1fe6(0x256)+_0x180705[_0x2c1fe6(0x1ca)]);}),this['connections']['push'](_0x5a9537),_0x5a9537;}async['initialize'](){const _0x478950=a0_0x834bdf,_0x34f592={'vbLZj':_0x478950(0x1b0),'OSBNZ':'job_manager_already_initialized','ebJqJ':_0x478950(0x209),'Dgtfw':_0x478950(0x248),'nylZA':'BullMQ\x20Redis\x20connection\x20verified','nYJvg':'job_redis_failed','ueEMF':_0x478950(0x14b),'OEUjV':_0x478950(0x24e),'UwoJX':_0x478950(0x177),'qjcWg':function(_0x390432,_0x3f3cee,_0x3c8ca6){return _0x390432(_0x3f3cee,_0x3c8ca6);},'ZKoJc':function(_0x62c358,_0x1aa9b4){return _0x62c358*_0x1aa9b4;},'kOowC':'high','iLiqI':_0x478950(0x240),'eXWtG':_0x478950(0x26a),'pwEnq':_0x478950(0x268),'ITnoN':'job_register_failed','iMSyJ':'job_manager_ready'};if(this['initialized']){logger[_0x478950(0x25d)]({'event':_0x34f592[_0x478950(0x19c)]},'Job\x20Manager\x20sudah\x20diinisialisasi,\x20skip');return;}logger['info']({'event':_0x478950(0x166)},_0x34f592[_0x478950(0x1cc)]);const _0x2bda0f=this[_0x478950(0x147)]();try{await _0x2bda0f['ping'](),logger[_0x478950(0x142)]({'event':_0x34f592[_0x478950(0x21f)]},_0x34f592[_0x478950(0x157)]);}catch(_0x5088c4){logger[_0x478950(0x268)]({'event':_0x34f592['nYJvg'],'error':_0x5088c4['message']},_0x478950(0x26c)+_0x5088c4['message']+'.\x20Job\x20Scheduler\x20tidak\x20akan\x20aktif.');try{await _0x2bda0f[_0x478950(0x15e)]();}catch(_0xa8e48a){}this['connections']=this[_0x478950(0x1dd)]['filter'](_0x3e2aba=>_0x3e2aba!==_0x2bda0f);return;}try{await _0x2bda0f[_0x478950(0x15e)]();}catch(_0x408886){}this['connections']=this['connections'][_0x478950(0x171)](_0x137f8c=>_0x137f8c!==_0x2bda0f);try{await this['ensureTables']();}catch(_0x2b319a){logger[_0x478950(0x25d)]({'event':'job_ensure_tables_error','error':_0x2b319a[_0x478950(0x1ca)]},'Failed\x20to\x20ensure\x20job\x20tables:\x20'+_0x2b319a[_0x478950(0x1ca)]+'.\x20DB\x20monitoring\x20disabled.');}const _0x1fcd04=this[_0x478950(0x243)]();_0x1fcd04['length']===0x0&&logger['info']({'event':'job_no_configs'},_0x34f592[_0x478950(0x1fa)]);const _0x5781e6=[];for(const _0x47f281 of _0x1fcd04){const _0x19dac8=jobValidator[_0x478950(0x1e7)](_0x47f281,this[_0x478950(0x1ba)]);_0x19dac8[_0x478950(0x1f1)]?_0x5781e6[_0x478950(0x26d)](_0x47f281):logger[_0x478950(0x268)]({'event':_0x34f592['OEUjV'],'name':_0x47f281['name']||_0x34f592[_0x478950(0x21b)],'errors':_0x19dac8[_0x478950(0x18f)]},'Job\x20config\x20invalid:\x20'+(_0x47f281[_0x478950(0x148)]||_0x34f592['UwoJX'])+'\x20—\x20'+_0x19dac8['errors']['join'](';\x20'));}const _0x5ad28a=process[_0x478950(0x18e)]['RESTFORGE_PROJECT_NAME']||'default',_0xc8a378=process[_0x478950(0x18e)][_0x478950(0x1c2)]||_0x478950(0x191)+_0x5ad28a+':job',_0x9a5797=_0x34f592['qjcWg'](parseInt,process['env'][_0x478950(0x215)],0xa)||0x48,_0x3214f1=_0x34f592['qjcWg'](parseInt,process['env']['JOB_FAILED_RETENTION_HOURS'],0xa)||0xa8,_0xc44300={'removeOnComplete':{'age':_0x9a5797*0xe10},'removeOnFail':{'age':_0x34f592[_0x478950(0x225)](_0x3214f1,0xe10)}},_0x115404={'high-priority':_0x34f592['kOowC'],'default':'default','low-priority':'low'};for(const [_0x4ed570,_0x4906f6]of Object[_0x478950(0x1ec)](_0x115404)){this[_0x478950(0x253)][_0x4ed570]=new Queue(_0x4906f6,{'connection':this[_0x478950(0x147)](),'prefix':_0xc8a378,'defaultJobOptions':_0xc44300});}logger['info']({'event':_0x478950(0x20b),'count':0x3},_0x478950(0x179));const _0x4e028a=_0x34f592['qjcWg'](parseInt,process[_0x478950(0x18e)]['JOB_CONCURRENCY'],0xa)||0x5,_0x192efa=parseInt(process['env']['JOB_STALLED_INTERVAL'],0xa)||0x7530,_0x2db79e=_0x34f592['qjcWg'](parseInt,process[_0x478950(0x18e)][_0x478950(0x271)],0xa)||0x2;for(const [_0x538107,_0xc197c4]of Object['entries'](_0x115404)){const _0x2fb968=new Worker(_0xc197c4,async _0x3a7d31=>this['processJob'](_0x3a7d31),{'connection':this[_0x478950(0x147)](),'prefix':_0xc8a378,'concurrency':_0x4e028a,'stalledInterval':_0x192efa,'maxStalledCount':_0x2db79e});_0x2fb968['on']('completed',(_0x423b9d,_0x57963f)=>this['onJobCompleted'](_0x423b9d,_0x57963f)),_0x2fb968['on'](_0x34f592[_0x478950(0x14e)],(_0x87aaca,_0x4c0040)=>this[_0x478950(0x26b)](_0x87aaca,_0x4c0040)),_0x2fb968['on'](_0x478950(0x20a),(_0xfa98b5,_0x17d7c8)=>this['onJobProgress'](_0xfa98b5,_0x17d7c8)),_0x2fb968['on'](_0x34f592['eXWtG'],_0x1aaf15=>{const _0x4fbee4=_0x478950;logger[_0x4fbee4(0x25d)]({'event':_0x4fbee4(0x1a4),'jobId':_0x1aaf15},'Job\x20stalled:\x20'+_0x1aaf15);}),_0x2fb968['on'](_0x34f592[_0x478950(0x1e2)],_0x477013=>{const _0x2264b8=_0x478950;logger[_0x2264b8(0x268)]({'event':_0x34f592['vbLZj'],'queue':_0x538107,'error':_0x477013['message']},_0x2264b8(0x223)+_0x538107+'):\x20'+_0x477013[_0x2264b8(0x1ca)]);}),this[_0x478950(0x264)][_0x538107]=_0x2fb968;}logger['info']({'event':'job_workers_created','count':0x3,'concurrency':_0x4e028a},_0x478950(0x1fb)+_0x4e028a+')');let _0x5283f3=0x0;for(const _0x38e17f of _0x5781e6){try{await this['registerJob'](_0x38e17f),_0x5283f3++;}catch(_0x367b57){logger['error']({'event':_0x34f592[_0x478950(0x1b7)],'name':_0x38e17f['name'],'error':_0x367b57['message']},_0x478950(0x1bc)+_0x38e17f['name']+_0x478950(0x1e6)+_0x367b57['message']);}}this[_0x478950(0x1e0)]=!![];const _0x1b81b7=this['connections']['length'];logger['info']({'event':_0x34f592['iMSyJ'],'registeredJobs':_0x5283f3,'totalConfigs':_0x5781e6[_0x478950(0x193)],'redisConnections':_0x1b81b7},'Job\x20Manager\x20ready:\x20'+_0x5283f3+_0x478950(0x1b4)+_0x1b81b7+'\x20Redis\x20connections');}async['shutdown'](){const _0x1eb067=a0_0x834bdf,_0x1e581e={'aOWfR':'job_manager_shutdown_start','opYOk':'active','uQhnF':'job_manager_shutdown_complete','xznXU':_0x1eb067(0x13f)};if(!this[_0x1eb067(0x1e0)])return;const _0x1bc539=parseInt(process[_0x1eb067(0x18e)]['JOB_SHUTDOWN_TIMEOUT'],0xa)||0x2710;logger['info']({'event':_0x1e581e['aOWfR'],'timeoutMs':_0x1bc539},'Job\x20Manager\x20shutting\x20down\x20(timeout:\x20'+_0x1bc539+'ms)...');const _0x271e3f=Object[_0x1eb067(0x221)](this[_0x1eb067(0x264)])[_0x1eb067(0x188)](async _0x5f16a5=>{const _0x551f0f=_0x1eb067;try{await _0x5f16a5[_0x551f0f(0x246)]();}catch(_0x187a0d){}});await Promise['all'](_0x271e3f);const _0x13a308=Date['now']();while(Date[_0x1eb067(0x23d)]()-_0x13a308<_0x1bc539){let _0x57691f=0x0;for(const _0x58aa40 of Object['values'](this[_0x1eb067(0x253)])){try{const _0x3cca5b=await _0x58aa40['getJobCounts'](_0x1e581e[_0x1eb067(0x181)]);_0x57691f+=_0x3cca5b['active']||0x0;}catch(_0x4b6e19){}}if(_0x57691f===0x0)break;await new Promise(_0x371a7e=>setTimeout(_0x371a7e,0x1f4));}const _0x1f4544=Object['values'](this[_0x1eb067(0x264)])[_0x1eb067(0x188)](async _0x3c41b7=>{const _0x767893=_0x1eb067;try{await _0x3c41b7[_0x767893(0x17b)]();}catch(_0x2e5cf1){}});await Promise['all'](_0x1f4544);const _0x2695bb=Object[_0x1eb067(0x221)](this[_0x1eb067(0x253)])['map'](async _0x2e2c5d=>{try{await _0x2e2c5d['close']();}catch(_0xd528){}});await Promise['all'](_0x2695bb);for(const _0x33fa76 of this[_0x1eb067(0x1dd)]){try{await _0x33fa76['quit']();}catch(_0x3be7b0){}}this['queues']={},this[_0x1eb067(0x264)]={},this[_0x1eb067(0x1dd)]=[],await this['setAllJobsOffline'](),this[_0x1eb067(0x165)][_0x1eb067(0x24a)](),this[_0x1eb067(0x1e0)]=![],logger['info']({'event':_0x1e581e[_0x1eb067(0x1d9)]},_0x1e581e['xznXU']);}['loadJobConfigs'](){const _0x147bc1=a0_0x834bdf,_0x42da64={'BnJUN':_0x147bc1(0x1c8),'RpWFl':'job_config_dir_missing','rqsyb':'Folder\x20payload/jobs/\x20tidak\x20ditemukan','lopcz':'utf8','aCndi':_0x147bc1(0x239)},_0x574870=path[_0x147bc1(0x22b)](this['workingDir'],_0x42da64[_0x147bc1(0x1a1)],_0x147bc1(0x234));if(!fs['existsSync'](_0x574870))return logger['info']({'event':_0x42da64[_0x147bc1(0x24f)],'path':_0x574870},_0x42da64['rqsyb']),[];const _0x17c98f=fs['readdirSync'](_0x574870)[_0x147bc1(0x171)](_0x337e22=>_0x337e22['endsWith']('.json')),_0x4fe8ef=[];for(const _0xcf3bdb of _0x17c98f){const _0x4d0885=path['join'](_0x574870,_0xcf3bdb);try{const _0x369db8=fs['readFileSync'](_0x4d0885,_0x42da64['lopcz']),_0x453d3a=JSON['parse'](_0x369db8);_0x453d3a[_0x147bc1(0x194)]=_0xcf3bdb,_0x4fe8ef[_0x147bc1(0x26d)](_0x453d3a);}catch(_0x329336){logger[_0x147bc1(0x268)]({'event':_0x42da64[_0x147bc1(0x1c6)],'file':_0xcf3bdb,'error':_0x329336['message']},_0x147bc1(0x141)+_0xcf3bdb+'\x20—\x20'+_0x329336[_0x147bc1(0x1ca)]);}}return logger[_0x147bc1(0x142)]({'event':'job_configs_loaded','count':_0x4fe8ef[_0x147bc1(0x193)]},'Loaded\x20'+_0x4fe8ef[_0x147bc1(0x193)]+'\x20job\x20config(s)\x20from\x20payload/jobs/'),_0x4fe8ef;}async[a0_0x834bdf(0x15d)](_0xd8df7f){const _0x1f5da8=a0_0x834bdf,_0x5338d9={'Knrzu':'jobs','wnMMA':function(_0x4f9d26,_0x240808){return _0x4f9d26(_0x240808);},'NBRPR':function(_0xe61c16,_0x1201c3){return _0xe61c16===_0x1201c3;},'DHNtc':function(_0x489bc1,_0x5c2f63){return _0x489bc1!==_0x5c2f63;},'muRSO':'default','PuVWW':_0x1f5da8(0x1dc),'VXRtY':'cron_registered','Scvfn':function(_0x59d266,_0x9484be){return _0x59d266!==_0x9484be;}},_0x343ce4=path['join'](this['workingDir'],'src',_0x5338d9[_0x1f5da8(0x173)],_0xd8df7f['handler']+_0x1f5da8(0x183));this[_0x1f5da8(0x1d5)][_0xd8df7f[_0x1f5da8(0x148)]]=_0x5338d9['wnMMA'](require,_0x343ce4),this[_0x1f5da8(0x202)][_0xd8df7f[_0x1f5da8(0x148)]]=_0xd8df7f;if(_0x5338d9['NBRPR'](_0xd8df7f['type'],_0x1f5da8(0x1dc))&&_0x5338d9['DHNtc'](_0xd8df7f[_0x1f5da8(0x274)],![])){const _0x5f4cb9=this['queues'][_0xd8df7f[_0x1f5da8(0x160)]||_0x5338d9[_0x1f5da8(0x20d)]];await _0x5f4cb9[_0x1f5da8(0x195)](_0xd8df7f['name'],{'pattern':_0xd8df7f[_0x1f5da8(0x17f)],'tz':_0xd8df7f[_0x1f5da8(0x1b9)]||undefined},{'name':_0xd8df7f[_0x1f5da8(0x148)],'data':{'handler':_0xd8df7f[_0x1f5da8(0x1d0)],'triggeredBy':_0x5338d9[_0x1f5da8(0x189)],'metadata':_0xd8df7f['metadata']||{}},'opts':{'attempts':_0xd8df7f[_0x1f5da8(0x184)]?.[_0x1f5da8(0x1ee)]||0x3,'backoff':{'type':_0xd8df7f[_0x1f5da8(0x184)]?.[_0x1f5da8(0x26f)]||'exponential','delay':_0xd8df7f[_0x1f5da8(0x184)]?.['initialDelay']||0x1388},'timeout':_0xd8df7f[_0x1f5da8(0x1f6)]||0x7530}}),logger[_0x1f5da8(0x142)]({'event':_0x5338d9['VXRtY'],'name':_0xd8df7f['name'],'schedule':_0xd8df7f[_0x1f5da8(0x17f)],'queue':_0xd8df7f['queue']||'default'},_0x1f5da8(0x16a)+_0xd8df7f['name']+'\x20['+_0xd8df7f[_0x1f5da8(0x17f)]+']');}const _0x12af68=_0xd8df7f['type']===_0x5338d9['PuVWW']&&_0x5338d9[_0x1f5da8(0x235)](_0xd8df7f['enabled'],![])?'online':'offline';let _0x37e144=null;_0x12af68==='online'&&(_0x37e144=await this['getNextRunFromBullMQ'](_0xd8df7f['name'])),await this['upsertJobRegistry'](_0xd8df7f,_0x12af68,_0x37e144);}async['processJob'](_0x19847e){const _0x233172=a0_0x834bdf,_0x26eb45={'ZFFMG':_0x233172(0x18a),'wAjxJ':function(_0x250432,_0x51b2d7){return _0x250432+_0x51b2d7;},'QdIVW':function(_0x301720){return _0x301720();},'tPzXM':'delayed','nNnka':_0x233172(0x245),'ecABS':_0x233172(0x1dc),'BnkNg':'default','gLUxW':function(_0x5e665d){return _0x5e665d();},'bAdyO':function(_0x45157b,_0x4b0c12){return _0x45157b===_0x4b0c12;},'JWtlT':'onBeforeJobExecute','uAJDd':_0x233172(0x13e)},_0x49fc34=this[_0x233172(0x202)][_0x19847e['name']],_0x22ae97=this['handlers'][_0x19847e[_0x233172(0x148)]];if(!_0x22ae97)throw new Error(_0x233172(0x217)+_0x19847e['name']);const _0x1528d1=logger['child']({'jobId':_0x19847e['id'],'jobName':_0x19847e[_0x233172(0x148)]});_0x1528d1['info']({'event':_0x26eb45[_0x233172(0x146)],'attempt':_0x19847e['attemptsMade']+0x1,'triggeredBy':_0x19847e['data']?.['triggeredBy']||_0x233172(0x177)},'Job\x20started:\x20'+_0x19847e[_0x233172(0x148)]+_0x233172(0x16f)+_0x26eb45['wAjxJ'](_0x19847e['attemptsMade'],0x1)+')');const _0x1cdb91=_0x26eb45['QdIVW'](uuidv7),_0x3f5043=_0x19847e[_0x233172(0x158)]?.[_0x233172(0x205)]||'unknown',_0x52ea5e=this[_0x233172(0x187)]({'id':_0x1cdb91,'jobName':_0x19847e['name'],'bullmqJobId':_0x19847e['id'],'triggerType':_0x3f5043===_0x233172(0x220)?_0x26eb45['tPzXM']:_0x3f5043===_0x26eb45['nNnka']?'manual':_0x26eb45['ecABS'],'triggeredBy':_0x3f5043===_0x26eb45['ecABS']?_0x233172(0x25f):_0x3f5043,'queue':_0x49fc34?.[_0x233172(0x160)]||_0x26eb45['BnkNg'],'attempt':_0x19847e[_0x233172(0x17e)]+0x1,'configFile':_0x49fc34?.['_sourceFile']||null})['catch'](_0x4308ff=>{const _0x5e30e9=_0x233172;_0x1528d1['warn']({'event':'job_history_insert_bg_error','error':_0x4308ff[_0x5e30e9(0x1ca)]},_0x5e30e9(0x228)+_0x4308ff['message']);});this['activeHistoryIds'][_0x233172(0x1d3)](_0x19847e['id'],{'historyId':_0x1cdb91,'insertPromise':_0x52ea5e});const _0x27d48a=this[_0x233172(0x252)](_0x19847e,_0x49fc34,_0x1528d1),_0x520d0a=_0x26eb45['gLUxW'](getComponentEngine);if(_0x520d0a&&_0x26eb45[_0x233172(0x222)](typeof _0x520d0a[_0x233172(0x1d6)],_0x233172(0x270))){const _0x46cd77=await _0x520d0a['executeEventHandlers'](_0x26eb45['JWtlT'],_0x27d48a,!![]);if(!_0x46cd77['success'])throw new Error(_0x233172(0x267)+_0x46cd77['error']);}const _0x1b6e42=await _0x22ae97(_0x27d48a);return _0x1528d1['info']({'event':_0x26eb45[_0x233172(0x159)],'result':_0x1b6e42},'Job\x20handler\x20completed:\x20'+_0x19847e['name']),_0x1b6e42;}[a0_0x834bdf(0x252)](_0x23a5d1,_0x4c085b,_0x498549){const _0x3b1da4=a0_0x834bdf,_0x3626ce={'oBAzW':'JOB_EVENT','npUjN':function(_0x34f12c,_0x100ab6){return _0x34f12c+_0x100ab6;},'ZYvFD':function(_0x303233,_0x1df6e2){return _0x303233||_0x1df6e2;}};return{'jobId':_0x23a5d1['id'],'jobName':_0x23a5d1['name'],'attempt':_0x3626ce['npUjN'](_0x23a5d1['attemptsMade'],0x1),'maxAttempts':_0x4c085b?.[_0x3b1da4(0x184)]?.['maxAttempts']||0x3,'payload':_0x23a5d1['data']||{},'config':_0x3626ce[_0x3b1da4(0x1a9)](_0x4c085b,{}),'db':this['getDbUtils'](),'redis':this[_0x3b1da4(0x20e)](),'logger':_0x498549,'kafka':this[_0x3b1da4(0x17a)](),'cache':this[_0x3b1da4(0x151)](),'updateProgress':async _0x1c3568=>{const _0x597143=_0x3b1da4;await _0x23a5d1[_0x597143(0x258)](_0x1c3568);},'emit':async(_0x4f3feb,_0x53277c)=>{const _0x28f356=_0x3b1da4,_0x44958f=this['getKafkaService']();_0x44958f&&await _0x44958f[_0x28f356(0x232)](_0x4f3feb,_0x3626ce['oBAzW'],null,_0x53277c,{'module':_0x28f356(0x1f3),'endpoint':_0x23a5d1['name']});},'job':_0x23a5d1};}['getDbType'](){const _0x13ada9=a0_0x834bdf,_0xfb1241={'wBdQT':'postgresql'};return(process[_0x13ada9(0x18e)][_0x13ada9(0x1f0)]||_0xfb1241['wBdQT'])[_0x13ada9(0x154)]();}async[a0_0x834bdf(0x144)](){const _0xfcb444=a0_0x834bdf,_0x68fdd2={'IQiGZ':_0xfcb444(0x180),'noTOh':_0xfcb444(0x1a0),'efTJD':_0xfcb444(0x227),'EVcMo':_0xfcb444(0x178),'cGwkm':'job_ensure_tables_warn','HeSDA':'job_tables_ensured'},_0x32557d=this['getDbUtils']();if(!_0x32557d){logger['warn']({'event':_0x68fdd2[_0xfcb444(0x190)]},'Database\x20tidak\x20tersedia,\x20skip\x20auto-create\x20job\x20tables');return;}const _0x4343fa=this[_0xfcb444(0x206)](),_0x422df7={'postgresql':_0xfcb444(0x15a),'oracle':'oracle.sql','mysql':_0x68fdd2[_0xfcb444(0x1bf)]},_0x461c7a=_0x422df7[_0x4343fa];if(!_0x461c7a){logger['warn']({'event':'job_db_type_unsupported','dbType':_0x4343fa},'DB_TYPE\x20\x27'+_0x4343fa+_0xfcb444(0x18c));return;}const _0x5e66ab=path['join'](__dirname,'sql-scripts',_0x461c7a);if(!fs[_0xfcb444(0x23f)](_0x5e66ab)){logger[_0xfcb444(0x25d)]({'event':_0xfcb444(0x1fc),'path':_0x5e66ab},'SQL\x20script\x20tidak\x20ditemukan:\x20'+_0x5e66ab);return;}const _0x459921=fs[_0xfcb444(0x208)](_0x5e66ab,_0xfcb444(0x1b2)),_0x4fe49e=this['splitSqlStatements'](_0x459921,_0x4343fa);let _0x21d2d0=0x0;for(const _0x195c6e of _0x4fe49e){try{await _0x32557d[_0xfcb444(0x257)](_0x195c6e),_0x21d2d0++;}catch(_0x5f5618){const _0x2c13b4=(_0x5f5618[_0xfcb444(0x1ca)]||'')['toLowerCase'](),_0x389fea=_0x2c13b4['includes'](_0x68fdd2[_0xfcb444(0x19b)])||_0x2c13b4['includes'](_0xfcb444(0x20f))||_0x2c13b4[_0xfcb444(0x139)](_0x68fdd2['EVcMo']);!_0x389fea&&logger[_0xfcb444(0x25d)]({'event':_0x68fdd2['cGwkm'],'error':_0x5f5618[_0xfcb444(0x1ca)]},_0xfcb444(0x1df)+_0x5f5618[_0xfcb444(0x1ca)]);}}logger['info']({'event':_0x68fdd2[_0xfcb444(0x156)],'dbType':_0x4343fa,'executed':_0x21d2d0},_0xfcb444(0x230)+_0x4343fa+')');}['splitSqlStatements'](_0x40e80c,_0x3f8480){const _0x371cec=a0_0x834bdf,_0x4966aa={'CFbnB':function(_0xe4d074,_0x33fd4c){return _0xe4d074>_0x33fd4c;},'bmEEC':function(_0x35dbee,_0x3f63cc){return _0x35dbee===_0x3f63cc;},'bnXHh':_0x371cec(0x13a)};let _0x42a6b1;return _0x4966aa['bmEEC'](_0x3f8480,_0x4966aa[_0x371cec(0x1c5)])?_0x42a6b1=_0x40e80c['split'](/\n\/\s*(?:\n|$)/):_0x42a6b1=_0x40e80c['split'](/;\s*(?:\n|$)/),_0x42a6b1[_0x371cec(0x188)](_0x416d54=>_0x416d54['trim']())['filter'](_0x5bc490=>{const _0x4cc974=_0x371cec;if(_0x5bc490['length']===0x0)return![];const _0x548bf9=_0x5bc490['split']('\x0a')['filter'](_0x47ee88=>!_0x47ee88[_0x4cc974(0x155)]()['startsWith']('--')&&_0x47ee88[_0x4cc974(0x155)]()[_0x4cc974(0x193)]>0x0);return _0x4966aa['CFbnB'](_0x548bf9[_0x4cc974(0x193)],0x0);});}async['upsertJobRegistry'](_0x43e508,_0x489cd7=a0_0x834bdf(0x238),_0x2063bc=null){const _0x23943e=a0_0x834bdf,_0x16461b={'FDSou':_0x23943e(0x192),'FzwLb':function(_0x8937cf,_0x5246ae){return _0x8937cf===_0x5246ae;}},_0x3f5d61=this['getDbUtils']();if(!_0x3f5d61)return;const _0x245160=this[_0x23943e(0x206)](),_0x112330=[_0x43e508[_0x23943e(0x148)],_0x43e508[_0x23943e(0x1d1)]||_0x43e508['name'],_0x43e508[_0x23943e(0x21d)]||_0x23943e(0x1dc),_0x43e508[_0x23943e(0x17f)]||null,_0x43e508[_0x23943e(0x160)]||'default',_0x43e508[_0x23943e(0x1d0)],_0x43e508['_sourceFile']||'',_0x43e508[_0x23943e(0x1f6)]||0x7530,_0x43e508[_0x23943e(0x184)]?.[_0x23943e(0x1ee)]||0x3,_0x43e508['retry']?.['backoff']||_0x16461b[_0x23943e(0x168)],_0x489cd7,_0x2063bc];try{if(_0x16461b['FzwLb'](_0x245160,'oracle'))await _0x3f5d61[_0x23943e(0x257)]('MERGE\x20INTO\x20job_registry\x20r\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20USING\x20(SELECT\x20:1\x20AS\x20jn\x20FROM\x20DUAL)\x20s\x20ON\x20(r.job_name\x20=\x20s.jn)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHEN\x20MATCHED\x20THEN\x20UPDATE\x20SET\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display_name\x20=\x20:2,\x20type\x20=\x20:3,\x20schedule\x20=\x20:4,\x20queue\x20=\x20:5,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20handler\x20=\x20:6,\x20config_file\x20=\x20:7,\x20timeout\x20=\x20:8,\x20retry_max\x20=\x20:9,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20retry_backoff\x20=\x20:10,\x20status\x20=\x20:11,\x20next_run_at\x20=\x20:12,\x20updated_at\x20=\x20SYSTIMESTAMP\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHEN\x20NOT\x20MATCHED\x20THEN\x20INSERT\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(job_name,\x20display_name,\x20type,\x20schedule,\x20queue,\x20handler,\x20config_file,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout,\x20retry_max,\x20retry_backoff,\x20status,\x20next_run_at,\x20created_at,\x20updated_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(:1,\x20:2,\x20:3,\x20:4,\x20:5,\x20:6,\x20:7,\x20:8,\x20:9,\x20:10,\x20:11,\x20:12,\x20SYSTIMESTAMP,\x20SYSTIMESTAMP)',_0x112330);else _0x16461b[_0x23943e(0x22e)](_0x245160,_0x23943e(0x265))?await _0x3f5d61[_0x23943e(0x257)]('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)',_0x112330):await _0x3f5d61[_0x23943e(0x257)]('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()',_0x112330);}catch(_0x43fb43){logger['warn']({'event':'job_registry_upsert_error','name':_0x43e508['name'],'error':_0x43fb43['message']},'Failed\x20to\x20upsert\x20job\x20registry:\x20'+_0x43e508['name']+'\x20—\x20'+_0x43fb43[_0x23943e(0x1ca)]);}}async[a0_0x834bdf(0x187)](_0x311288){const _0x1c5b9c=a0_0x834bdf,_0x1d6abf={'hOfpc':'cron','fswDt':_0x1c5b9c(0x25f),'SVlVl':_0x1c5b9c(0x1e4),'RyYPm':function(_0x45c384,_0xdeefde){return _0x45c384===_0xdeefde;},'JOqlG':_0x1c5b9c(0x200)},_0x3d6ef8=this['getDbUtils']();if(!_0x3d6ef8)return;const _0x173226=this['getDbType'](),_0x5d27e0=[_0x311288['id'],_0x311288[_0x1c5b9c(0x22f)],_0x311288[_0x1c5b9c(0x199)]||null,_0x311288['triggerType']||_0x1d6abf[_0x1c5b9c(0x231)],_0x311288[_0x1c5b9c(0x205)]||_0x1d6abf['fswDt'],_0x311288[_0x1c5b9c(0x160)]||_0x1d6abf['SVlVl'],_0x311288['attempt']||0x1,_0x311288[_0x1c5b9c(0x1a7)]||null,process['pid']];try{if(_0x173226==='oracle')await _0x3d6ef8[_0x1c5b9c(0x257)](_0x1c5b9c(0x13b),_0x5d27e0);else _0x1d6abf[_0x1c5b9c(0x1c1)](_0x173226,_0x1c5b9c(0x265))?await _0x3d6ef8['executeQuery'](_0x1c5b9c(0x149),_0x5d27e0):await _0x3d6ef8['executeQuery'](_0x1c5b9c(0x1cf),_0x5d27e0);await this[_0x1c5b9c(0x224)](_0x311288['jobName'],_0x1d6abf[_0x1c5b9c(0x1e9)]);}catch(_0x26c528){logger[_0x1c5b9c(0x25d)]({'event':_0x1c5b9c(0x23b),'jobName':_0x311288[_0x1c5b9c(0x22f)],'error':_0x26c528[_0x1c5b9c(0x1ca)]},_0x1c5b9c(0x1b5)+_0x26c528[_0x1c5b9c(0x1ca)]);}}async['updateJobHistoryCompleted'](_0xb20341,_0x553c65,_0x42c066){const _0x2dce1e=a0_0x834bdf,_0x5e3096={'lNkpK':function(_0x4649f5,_0x56171d){return _0x4649f5(_0x56171d);},'Ebuhi':function(_0x2487ef,_0x3a47b8){return _0x2487ef===_0x3a47b8;},'WPsPl':'oracle','ABmBO':'mysql','Wfntx':'job_history_complete_error'},_0x2e90d8=this[_0x2dce1e(0x23a)]();if(!_0x2e90d8)return;const _0x1e69ac=this[_0x2dce1e(0x206)](),_0x5132ed=_0x42c066?_0x5e3096['lNkpK'](String,_0x42c066)[_0x2dce1e(0x1ac)](0x0,0x1f4):null;try{if(_0x5e3096['Ebuhi'](_0x1e69ac,_0x5e3096[_0x2dce1e(0x164)]))await _0x2e90d8[_0x2dce1e(0x257)]('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27success\x27,\x20completed_at\x20=\x20SYSTIMESTAMP,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20:1,\x20progress\x20=\x20100,\x20result_summary\x20=\x20:2\x20WHERE\x20id\x20=\x20:3',[_0x553c65,_0x5132ed,_0xb20341]);else _0x5e3096[_0x2dce1e(0x16e)](_0x1e69ac,_0x5e3096[_0x2dce1e(0x247)])?await _0x2e90d8['executeQuery'](_0x2dce1e(0x18b),[_0x553c65,_0x5132ed,_0xb20341]):await _0x2e90d8['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',[_0x553c65,_0x5132ed,_0xb20341]);}catch(_0x51d966){logger[_0x2dce1e(0x25d)]({'event':_0x5e3096[_0x2dce1e(0x1be)],'historyId':_0xb20341,'error':_0x51d966[_0x2dce1e(0x1ca)]},'Failed\x20to\x20update\x20job\x20history\x20(completed):\x20'+_0x51d966[_0x2dce1e(0x1ca)]);}}async[a0_0x834bdf(0x250)](_0xcacd04,_0x32f4f9,_0x195f5b,_0x1c2990,_0x5f4005){const _0x44b1dc=a0_0x834bdf,_0x5166f7={'UspHG':function(_0x380321,_0x964419){return _0x380321(_0x964419);},'xJLxG':function(_0x6163f0,_0x4556cc){return _0x6163f0(_0x4556cc);},'TRkif':function(_0x1e67b8,_0x1e1e0d){return _0x1e67b8||_0x1e1e0d;},'zgDIq':function(_0xb58cf,_0x91f344){return _0xb58cf===_0x91f344;},'wvlTP':'mysql','qTucY':function(_0x5f2bf8,_0x146ced){return _0x5f2bf8||_0x146ced;},'qFUPH':function(_0x215a7f,_0x46cd4d){return _0x215a7f||_0x46cd4d;}},_0x54007d=this[_0x44b1dc(0x23a)]();if(!_0x54007d)return;const _0x521c35=this[_0x44b1dc(0x206)](),_0x337143=_0x1c2990?_0x5166f7['UspHG'](String,_0x1c2990)[_0x44b1dc(0x1ac)](0x0,0x3e8):null,_0x241004=_0x5f4005?_0x5166f7['xJLxG'](String,_0x5f4005)['substring'](0x0,0xfa0):null;try{if(_0x521c35===_0x44b1dc(0x13a))await _0x54007d['executeQuery'](_0x44b1dc(0x212),[_0x32f4f9,_0x5166f7['TRkif'](_0x195f5b,0x0),_0x337143,_0x241004,_0xcacd04]);else _0x5166f7[_0x44b1dc(0x1aa)](_0x521c35,_0x5166f7[_0x44b1dc(0x1cd)])?await _0x54007d['executeQuery']('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27failed\x27,\x20completed_at\x20=\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20?,\x20progress\x20=\x20?,\x20error_message\x20=\x20?,\x20error_stack\x20=\x20?\x20WHERE\x20id\x20=\x20?',[_0x32f4f9,_0x5166f7['qTucY'](_0x195f5b,0x0),_0x337143,_0x241004,_0xcacd04]):await _0x54007d['executeQuery'](_0x44b1dc(0x153),[_0x32f4f9,_0x5166f7['qFUPH'](_0x195f5b,0x0),_0x337143,_0x241004,_0xcacd04]);}catch(_0x1693c4){logger[_0x44b1dc(0x25d)]({'event':_0x44b1dc(0x1f5),'historyId':_0xcacd04,'error':_0x1693c4[_0x44b1dc(0x1ca)]},'Failed\x20to\x20update\x20job\x20history\x20(failed):\x20'+_0x1693c4[_0x44b1dc(0x1ca)]);}}async[a0_0x834bdf(0x224)](_0x4a921b,_0x3c63c1){const _0x2e3b2e=a0_0x834bdf,_0x2859a6={'qjUJG':function(_0x591d32,_0x5dfe57){return _0x591d32===_0x5dfe57;},'BWquf':'oracle','hfDTa':'mysql'},_0x465990=this['getDbUtils']();if(!_0x465990)return;const _0xa2cc80=this[_0x2e3b2e(0x206)]();try{if(_0x2859a6[_0x2e3b2e(0x1f8)](_0xa2cc80,_0x2859a6['BWquf']))await _0x465990['executeQuery']('UPDATE\x20job_registry\x20SET\x20last_status\x20=\x20:1,\x20last_run_at\x20=\x20SYSTIMESTAMP,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20updated_at\x20=\x20SYSTIMESTAMP\x20WHERE\x20job_name\x20=\x20:2',[_0x3c63c1,_0x4a921b]);else _0xa2cc80===_0x2859a6[_0x2e3b2e(0x216)]?await _0x465990[_0x2e3b2e(0x257)](_0x2e3b2e(0x1ff),[_0x3c63c1,_0x4a921b]):await _0x465990[_0x2e3b2e(0x257)]('UPDATE\x20job_registry\x20SET\x20last_status\x20=\x20$1,\x20last_run_at\x20=\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20updated_at\x20=\x20NOW()\x20WHERE\x20job_name\x20=\x20$2',[_0x3c63c1,_0x4a921b]);}catch(_0x77737c){}}async[a0_0x834bdf(0x1ef)](_0x29a173,_0x4bf828,_0x5069d6,_0x17bffb){const _0xb2bf1b=a0_0x834bdf,_0x52b409={'HwGBS':function(_0xf69d90,_0x4694a1){return _0xf69d90===_0x4694a1;},'zGWca':_0xb2bf1b(0x1a3),'YngPH':_0xb2bf1b(0x13c),'wusJf':'oracle','IUqGV':_0xb2bf1b(0x265),'IACLY':_0xb2bf1b(0x1c7)},_0x38b154=this['getDbUtils']();if(!_0x38b154)return;const _0x91130a=this['getDbType'](),_0x30266d=_0x52b409[_0xb2bf1b(0x1ad)](_0x4bf828,_0x52b409[_0xb2bf1b(0x16b)])?'total_success':_0x52b409['YngPH'];try{if(_0x91130a===_0x52b409[_0xb2bf1b(0x24d)])await _0x38b154[_0xb2bf1b(0x257)](_0xb2bf1b(0x19f)+_0x30266d+_0xb2bf1b(0x182)+_0x30266d+_0xb2bf1b(0x24b),[_0x4bf828,_0x5069d6,_0x17bffb,_0x29a173]);else _0x52b409['HwGBS'](_0x91130a,_0x52b409[_0xb2bf1b(0x1eb)])?await _0x38b154['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'+_0x30266d+_0xb2bf1b(0x182)+_0x30266d+'\x20+\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20?\x20WHERE\x20job_name\x20=\x20?',[_0x4bf828,_0x5069d6,_0x17bffb,_0x29a173]):await _0x38b154[_0xb2bf1b(0x257)](_0xb2bf1b(0x175)+_0x30266d+'\x20=\x20'+_0x30266d+'\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',[_0x4bf828,_0x5069d6,_0x17bffb,_0x29a173]);}catch(_0x5c1818){logger['warn']({'event':_0x52b409['IACLY'],'jobName':_0x29a173,'error':_0x5c1818[_0xb2bf1b(0x1ca)]},'Failed\x20to\x20update\x20job\x20registry\x20counters:\x20'+_0x5c1818['message']);}}async[a0_0x834bdf(0x242)](_0x356b7c){const _0x59c557=a0_0x834bdf,_0x2f702b={'OKoDi':function(_0x55b562,_0x1b4c66){return _0x55b562!==_0x1b4c66;},'nsmLW':function(_0x2da342,_0x10e139){return _0x2da342===_0x10e139;}},_0x1325b4=this['jobConfigs'][_0x356b7c];if(!_0x1325b4||_0x2f702b[_0x59c557(0x1ae)](_0x1325b4['type'],_0x59c557(0x1dc))||_0x2f702b[_0x59c557(0x236)](_0x1325b4['enabled'],![]))return null;const _0x20f15b=this['queues'][_0x1325b4['queue']||_0x59c557(0x1e4)];if(!_0x20f15b)return null;try{if(typeof _0x20f15b['getJobSchedulers']==='function'){const _0x4d5c2c=await _0x20f15b['getJobSchedulers'](0x0,0x64),_0x1c0106=_0x4d5c2c[_0x59c557(0x1e1)](_0x8db042=>_0x8db042[_0x59c557(0x148)]===_0x356b7c);return _0x1c0106?.['next']?new Date(_0x1c0106[_0x59c557(0x1d2)]):null;}}catch(_0x29d4be){}return null;}async[a0_0x834bdf(0x1c9)](){const _0x3b002d=a0_0x834bdf,_0xf7de94={'SnYAy':function(_0x2efd89,_0x3f736d){return _0x2efd89===_0x3f736d;},'zersl':_0x3b002d(0x13a),'hPyVW':_0x3b002d(0x244)},_0x22d8f4=this['getDbUtils']();if(!_0x22d8f4)return;const _0x548e1c=this[_0x3b002d(0x206)]();try{if(_0xf7de94[_0x3b002d(0x162)](_0x548e1c,_0xf7de94['zersl']))await _0x22d8f4[_0x3b002d(0x257)](_0x3b002d(0x170));else _0x548e1c==='mysql'?await _0x22d8f4['executeQuery'](_0x3b002d(0x1b3)):await _0x22d8f4['executeQuery']('UPDATE\x20job_registry\x20SET\x20status\x20=\x20\x27offline\x27,\x20next_run_at\x20=\x20NULL,\x20updated_at\x20=\x20NOW()');}catch(_0x482d31){logger[_0x3b002d(0x25d)]({'event':_0xf7de94['hPyVW'],'error':_0x482d31['message']},'Failed\x20to\x20set\x20jobs\x20offline:\x20'+_0x482d31['message']);}}[a0_0x834bdf(0x23a)](){const _0xd490b4=a0_0x834bdf,_0x1eb3f9={'IvzNX':function(_0x316010,_0x55a02e){return _0x316010===_0x55a02e;},'Piode':_0xd490b4(0x13a),'Ftqrj':function(_0x391dfc,_0x15a608){return _0x391dfc(_0x15a608);},'dpKYR':'db_oracle_unavailable','OGEkw':_0xd490b4(0x265),'wKfDl':function(_0x1e4880,_0xe1f8c1){return _0x1e4880(_0xe1f8c1);},'mvqbw':'../../utils/db-mysql','GjxEM':'db_mysql_unavailable','KoDlD':_0xd490b4(0x214)},_0x26bdc9=(process['env'][_0xd490b4(0x1f0)]||_0xd490b4(0x1d4))[_0xd490b4(0x154)]();if(_0x1eb3f9['IvzNX'](_0x26bdc9,_0x1eb3f9['Piode']))try{const _0x9c2d8e=_0x1eb3f9['Ftqrj'](require,'../../utils/db-oracle');return{'executeQuery':(_0x3c41d8,_0x2381d1)=>_0x9c2d8e['executeQuery'](_0x3c41d8,_0x2381d1),'executeTransaction':_0x511be3=>_0x9c2d8e['executeTransaction'](_0x511be3),'getPool':()=>_0x9c2d8e['getPool']()};}catch(_0x4792c4){return logger['warn']({'event':_0x1eb3f9['dpKYR']},'Oracle\x20DB\x20module\x20not\x20available'),null;}if(_0x1eb3f9['IvzNX'](_0x26bdc9,_0x1eb3f9[_0xd490b4(0x14c)]))try{const _0x1779aa=_0x1eb3f9['wKfDl'](require,_0x1eb3f9['mvqbw']);return{'executeQuery':(_0x32e0f6,_0xde4341)=>_0x1779aa['executeQuery'](_0x32e0f6,_0xde4341),'executeTransaction':_0x4c3e88=>_0x1779aa[_0xd490b4(0x201)](_0x4c3e88),'getPool':()=>_0x1779aa['getPool']()};}catch(_0x261c46){return logger[_0xd490b4(0x25d)]({'event':_0x1eb3f9['GjxEM']},_0x1eb3f9['KoDlD']),null;}try{const _0x3a67ee=require(_0xd490b4(0x172));return{'executeQuery':_0x3a67ee['executeQuery'],'executeTransaction':_0x3a67ee['executeTransaction'],'getPool':_0x3a67ee['getPool']};}catch(_0x5284dc){return logger[_0xd490b4(0x25d)]({'event':_0xd490b4(0x1bd)},_0xd490b4(0x15f)),null;}}[a0_0x834bdf(0x20e)](){const _0x4340b7=a0_0x834bdf,_0x584b13={'GqTzM':_0x4340b7(0x226)};try{const _0x49df4a=require(_0x584b13[_0x4340b7(0x266)]);return _0x49df4a[_0x4340b7(0x1b1)]?_0x49df4a['getClient']():_0x49df4a;}catch(_0x171c06){return null;}}[a0_0x834bdf(0x17a)](){const _0x13ea5f=a0_0x834bdf,_0x491fb9={'rwTJk':function(_0x313bf0,_0x9e530a){return _0x313bf0===_0x9e530a;},'eHjQX':function(_0x2b0011,_0x2b778d){return _0x2b0011(_0x2b778d);},'CqCsJ':'../../services/kafkaService'};try{if(_0x491fb9['rwTJk'](process[_0x13ea5f(0x18e)][_0x13ea5f(0x1d7)],_0x13ea5f(0x25b))){const _0x278bb0=_0x491fb9['eHjQX'](require,_0x491fb9['CqCsJ']);return _0x278bb0['getInstance']?_0x278bb0[_0x13ea5f(0x255)]():_0x278bb0;}}catch(_0x360aa4){}return null;}[a0_0x834bdf(0x151)](){const _0x19b835=a0_0x834bdf,_0x41b6cb={'BSPXT':'../../utils/cache-manager'};try{return require(_0x41b6cb[_0x19b835(0x1ea)]);}catch(_0x4920f3){return null;}}async['dispatch'](_0xd3f4ba,_0x3c5dc1={}){const _0xd1f639=a0_0x834bdf,_0x37f773={'EBETN':_0xd1f639(0x245),'PNBfc':_0xd1f639(0x1de)},_0x3e5e59=this['jobConfigs'][_0xd3f4ba];if(!_0x3e5e59)throw new Error(_0xd1f639(0x18d)+_0xd3f4ba);const _0x140ee2=this['queues'][_0x3e5e59[_0xd1f639(0x160)]||_0xd1f639(0x1e4)],_0x152d82=await _0x140ee2[_0xd1f639(0x14a)](_0xd3f4ba,{..._0x3c5dc1,'handler':_0x3e5e59['handler'],'triggeredBy':_0x37f773['EBETN']},{'attempts':_0x3e5e59['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0x3e5e59['retry']?.[_0xd1f639(0x26f)]||_0xd1f639(0x192),'delay':_0x3e5e59[_0xd1f639(0x184)]?.['initialDelay']||0x1388},'timeout':_0x3e5e59['timeout']||0x7530});return logger[_0xd1f639(0x142)]({'event':_0x37f773['PNBfc'],'jobId':_0x152d82['id'],'name':_0xd3f4ba,'triggeredBy':_0x37f773[_0xd1f639(0x1f2)]},_0xd1f639(0x229)+_0xd3f4ba+'\x20(id:\x20'+_0x152d82['id']+')'),{'jobId':_0x152d82['id'],'name':_0xd3f4ba};}async['dispatchDelayed'](_0x156b9b,_0x5f107a={},_0x2de464=0x0){const _0x55969c=a0_0x834bdf,_0x77e124={'BlxQn':'default','QHOqU':_0x55969c(0x220),'KewXN':'exponential'},_0x2e7b6d=this['jobConfigs'][_0x156b9b];if(!_0x2e7b6d)throw new Error(_0x55969c(0x18d)+_0x156b9b);const _0x5ea0ff=this[_0x55969c(0x253)][_0x2e7b6d[_0x55969c(0x160)]||_0x77e124['BlxQn']],_0x1dc673=await _0x5ea0ff['add'](_0x156b9b,{..._0x5f107a,'handler':_0x2e7b6d[_0x55969c(0x1d0)],'triggeredBy':_0x77e124['QHOqU']},{'delay':_0x2de464,'attempts':_0x2e7b6d['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0x2e7b6d[_0x55969c(0x184)]?.[_0x55969c(0x26f)]||_0x77e124[_0x55969c(0x1e5)],'delay':_0x2e7b6d[_0x55969c(0x184)]?.[_0x55969c(0x24c)]||0x1388},'timeout':_0x2e7b6d['timeout']||0x7530});return logger[_0x55969c(0x142)]({'event':'job_dispatched_delayed','jobId':_0x1dc673['id'],'name':_0x156b9b,'delayMs':_0x2de464},_0x55969c(0x143)+_0x2de464+'ms):\x20'+_0x156b9b+_0x55969c(0x196)+_0x1dc673['id']+')'),{'jobId':_0x1dc673['id'],'name':_0x156b9b};}async[a0_0x834bdf(0x21c)](_0x439d37){const _0x3f4b27=a0_0x834bdf;for(const _0x1ced82 of Object['values'](this['queues'])){const _0x1f4864=await _0x1ced82['getJob'](_0x439d37);if(_0x1f4864){const _0x57ad16=await _0x1f4864[_0x3f4b27(0x161)]();return{'jobId':_0x1f4864['id'],'name':_0x1f4864[_0x3f4b27(0x148)],'state':_0x57ad16,'progress':_0x1f4864['progress'],'attemptsMade':_0x1f4864[_0x3f4b27(0x17e)],'failedReason':_0x1f4864[_0x3f4b27(0x1a6)],'returnvalue':_0x1f4864[_0x3f4b27(0x1af)],'data':_0x1f4864[_0x3f4b27(0x158)],'timestamps':{'created':_0x1f4864[_0x3f4b27(0x261)],'started':_0x1f4864['processedOn'],'completed':_0x1f4864['finishedOn']}};}}return null;}['listJobs'](){const _0x4fc313=a0_0x834bdf;return Object['values'](this['jobConfigs'])[_0x4fc313(0x188)](_0x190612=>({'name':_0x190612['name'],'description':_0x190612[_0x4fc313(0x1d1)]||'','type':_0x190612['type'],'schedule':_0x190612[_0x4fc313(0x17f)],'handler':_0x190612[_0x4fc313(0x1d0)],'enabled':_0x190612[_0x4fc313(0x274)]!==![],'queue':_0x190612[_0x4fc313(0x160)]||'default','timeout':_0x190612['timeout']||0x7530,'retry':_0x190612[_0x4fc313(0x184)]||{'maxAttempts':0x3,'backoff':'exponential','initialDelay':0x1388},'metadata':_0x190612['metadata']||{}}));}async['listRunning'](){const _0x5db371=a0_0x834bdf,_0x234cfe={'sqPMX':_0x5db371(0x1b8)},_0x191323=[];for(const [_0x38f149,_0x11485d]of Object['entries'](this['queues'])){const _0x584774=await _0x11485d[_0x5db371(0x21a)]([_0x234cfe[_0x5db371(0x1f9)]]);for(const _0x310e56 of _0x584774){_0x191323[_0x5db371(0x26d)]({'jobId':_0x310e56['id'],'name':_0x310e56[_0x5db371(0x148)],'queue':_0x38f149,'progress':_0x310e56['progress'],'attemptsMade':_0x310e56[_0x5db371(0x17e)],'startedAt':_0x310e56['processedOn']});}}return _0x191323;}async[a0_0x834bdf(0x1b6)](_0x1c466f={}){const _0x2b3634=a0_0x834bdf,_0x3f043b={'sOuBS':function(_0x364f98,_0x534c8f,_0x32de80){return _0x364f98(_0x534c8f,_0x32de80);},'EzMjJ':function(_0x2a5cbd,_0x2e73dc){return _0x2a5cbd+_0x2e73dc;},'UcviT':'failed'},_0x134afe=_0x3f043b[_0x2b3634(0x1d8)](parseInt,_0x1c466f['page'],0xa)||0x1,_0x354e57=Math['min'](parseInt(_0x1c466f[_0x2b3634(0x145)],0xa)||0x14,0x64),_0x57ffa4=(_0x134afe-0x1)*_0x354e57,_0x4887ca=_0x3f043b['EzMjJ'](_0x57ffa4,_0x354e57)-0x1,_0x48d2bb=[];for(const [_0x4c7dea,_0x4dda52]of Object[_0x2b3634(0x1ec)](this['queues'])){const _0x1f016e=await _0x4dda52[_0x2b3634(0x21a)]([_0x2b3634(0x233)],_0x57ffa4,_0x4887ca),_0x412a5f=await _0x4dda52[_0x2b3634(0x21a)]([_0x3f043b[_0x2b3634(0x263)]],_0x57ffa4,_0x4887ca);for(const _0x4b4afd of[..._0x1f016e,..._0x412a5f]){const _0x3a4e25=await _0x4b4afd['getState']();_0x48d2bb[_0x2b3634(0x26d)]({'jobId':_0x4b4afd['id'],'name':_0x4b4afd[_0x2b3634(0x148)],'state':_0x3a4e25,'queue':_0x4c7dea,'attemptsMade':_0x4b4afd[_0x2b3634(0x17e)],'failedReason':_0x4b4afd[_0x2b3634(0x1a6)],'returnvalue':_0x4b4afd['returnvalue'],'timestamps':{'created':_0x4b4afd['timestamp'],'started':_0x4b4afd['processedOn'],'completed':_0x4b4afd[_0x2b3634(0x17c)]}});}}return _0x48d2bb[_0x2b3634(0x241)]((_0x546ae6,_0x3fb6a0)=>(_0x3fb6a0[_0x2b3634(0x14d)]['created']||0x0)-(_0x546ae6[_0x2b3634(0x14d)]['created']||0x0)),{'jobs':_0x48d2bb[_0x2b3634(0x197)](0x0,_0x354e57),'total':_0x48d2bb[_0x2b3634(0x193)],'page':_0x134afe,'limit':_0x354e57};}async[a0_0x834bdf(0x273)](_0x32ee0d){const _0x351bed=a0_0x834bdf,_0x235a31={'lGXUL':_0x351bed(0x1a2),'fsvMl':function(_0x47044c,_0x418453){return _0x47044c===_0x418453;},'MIUQR':'waiting','viECR':_0x351bed(0x1ab)};for(const _0x4624ee of Object[_0x351bed(0x221)](this[_0x351bed(0x253)])){const _0x1b5209=await _0x4624ee['getJob'](_0x32ee0d);if(_0x1b5209){const _0x57e557=await _0x1b5209['getState']();if(_0x57e557===_0x351bed(0x1b8))return await _0x1b5209[_0x351bed(0x1db)](new Error(_0x351bed(0x150)),_0x235a31['lGXUL'],!![]),{'success':!![],'message':_0x351bed(0x272)+_0x32ee0d+'\x20cancelled\x20(was\x20active)'};if(_0x235a31[_0x351bed(0x25a)](_0x57e557,_0x235a31['MIUQR'])||_0x57e557===_0x235a31[_0x351bed(0x275)])return await _0x1b5209['remove'](),{'success':!![],'message':_0x351bed(0x272)+_0x32ee0d+_0x351bed(0x16d)+_0x57e557+')'};return{'success':![],'message':_0x351bed(0x272)+_0x32ee0d+_0x351bed(0x22a)+_0x57e557+')'};}}return{'success':![],'message':_0x351bed(0x272)+_0x32ee0d+'\x20tidak\x20ditemukan'};}async['getHealthStatus'](){const _0x5a5117=a0_0x834bdf,_0x56e7d5={'FCYsT':_0x5a5117(0x1b8),'iNUwf':'completed','ROMbW':'failed'},_0x1376df={};for(const [_0x2bac34,_0x4cdabe]of Object['entries'](this[_0x5a5117(0x253)])){try{const _0x549691=await _0x4cdabe['getJobCounts'](_0x56e7d5[_0x5a5117(0x25c)],_0x56e7d5[_0x5a5117(0x262)],'delayed',_0x56e7d5['ROMbW'],_0x5a5117(0x1c3),_0x5a5117(0x13d));_0x1376df[_0x2bac34]=_0x549691;}catch(_0x4c1e47){_0x1376df[_0x2bac34]={'error':_0x4c1e47[_0x5a5117(0x1ca)]};}}const _0x58d04c={};for(const [_0x272c0f,_0x1aeb19]of Object['entries'](this['workers'])){_0x58d04c[_0x272c0f]={'running':_0x1aeb19['isRunning'](),'paused':_0x1aeb19['isPaused']()};}return{'initialized':this[_0x5a5117(0x1e0)],'registeredJobs':Object[_0x5a5117(0x249)](this[_0x5a5117(0x202)])['length'],'redisConnections':this[_0x5a5117(0x1dd)]['length'],'queues':_0x1376df,'workers':_0x58d04c};}async['onJobCompleted'](_0x82c534,_0x261b4a){const _0x231f27=a0_0x834bdf,_0xbb5a1b={'HAmSN':_0x231f27(0x185),'wsuAf':_0x231f27(0x169),'bHJqI':_0x231f27(0x1a3),'xgXvy':function(_0x44abcb){return _0x44abcb();},'rgAHN':function(_0x3a3fa9,_0x24e764){return _0x3a3fa9===_0x24e764;},'gDZIr':_0x231f27(0x270),'XCEpq':'job-scheduler'},_0x298274=logger[_0x231f27(0x19d)]({'jobId':_0x82c534['id'],'jobName':_0x82c534['name']});_0x298274[_0x231f27(0x142)]({'event':_0x231f27(0x186),'attemptsMade':_0x82c534['attemptsMade'],'duration':_0x82c534['finishedOn']?_0x82c534[_0x231f27(0x17c)]-_0x82c534[_0x231f27(0x210)]:null},'Job\x20completed:\x20'+_0x82c534['name']);const _0x1b7bfd=this['activeHistoryIds']['get'](_0x82c534['id']);if(_0x1b7bfd){if(_0x1b7bfd[_0x231f27(0x15c)])await _0x1b7bfd[_0x231f27(0x15c)];const _0x4e4b7d=_0x82c534['finishedOn']&&_0x82c534['processedOn']?_0x82c534['finishedOn']-_0x82c534[_0x231f27(0x210)]:null,_0x36c68e=typeof _0x261b4a===_0xbb5a1b['wsuAf']?_0x261b4a:_0x261b4a?JSON[_0x231f27(0x198)](_0x261b4a)['substring'](0x0,0x1f4):null;await this[_0x231f27(0x23c)](_0x1b7bfd[_0x231f27(0x26e)],_0x4e4b7d,_0x36c68e);const _0x3a5b3b=await this['getNextRunFromBullMQ'](_0x82c534[_0x231f27(0x148)]);await this['updateRegistryCounters'](_0x82c534[_0x231f27(0x148)],_0xbb5a1b[_0x231f27(0x203)],_0x4e4b7d,_0x3a5b3b),this[_0x231f27(0x165)][_0x231f27(0x207)](_0x82c534['id']);}const _0xc2c15f=_0xbb5a1b[_0x231f27(0x1e8)](getComponentEngine);if(_0xc2c15f&&_0xbb5a1b['rgAHN'](typeof _0xc2c15f['executeEventHandlers'],_0xbb5a1b['gDZIr'])){const _0x47e2be={'jobId':_0x82c534['id'],'jobName':_0x82c534['name'],'result':_0x261b4a,'config':this[_0x231f27(0x202)][_0x82c534[_0x231f27(0x148)]]||{}};_0xc2c15f[_0x231f27(0x1d6)]('onAfterJobComplete',_0x47e2be,![])[_0x231f27(0x174)](_0x3ca011=>{const _0x13e326=_0x231f27;_0x298274[_0x13e326(0x25d)]({'event':_0xbb5a1b[_0x13e326(0x1f4)],'error':_0x3ca011['message']},'onAfterJobComplete\x20handler\x20error\x20(non-blocking)');});}const _0x28bd3e=this['getKafkaService']();if(_0x28bd3e)try{await _0x28bd3e[_0x231f27(0x232)](_0x231f27(0x176),_0x231f27(0x213),null,{'jobId':_0x82c534['id'],'name':_0x82c534['name'],'result':_0x261b4a},{'module':_0xbb5a1b[_0x231f27(0x23e)],'endpoint':_0x82c534['name']});}catch(_0x2323b5){_0x298274[_0x231f27(0x25d)]({'event':'job_kafka_publish_error','error':_0x2323b5[_0x231f27(0x1ca)]},_0x231f27(0x1ed));}}async[a0_0x834bdf(0x26b)](_0x36e16a,_0x1ef844){const _0x12fd7a=a0_0x834bdf,_0x12ad9b={'HQhRC':'onAfterJobFailed\x20handler\x20error\x20(non-blocking)','hEDDO':function(_0x379799,_0xd5f6a7){return _0x379799<_0xd5f6a7;},'tqpKB':function(_0x565444,_0x546a60){return _0x565444-_0x546a60;},'xtOye':'failed','TXcLM':_0x12fd7a(0x270),'fcHPM':'onAfterJobFailed','zSJKD':'JOB_FAILED','dVEiX':'job_kafka_publish_error','NCkDP':_0x12fd7a(0x1fd)},_0x54a0a3=logger['child']({'jobId':_0x36e16a['id'],'jobName':_0x36e16a[_0x12fd7a(0x148)]});_0x54a0a3['error']({'event':'job_failed','attemptsMade':_0x36e16a['attemptsMade'],'failedReason':_0x1ef844?.['message'],'willRetry':_0x12ad9b[_0x12fd7a(0x22d)](_0x36e16a['attemptsMade'],this['jobConfigs'][_0x36e16a['name']]?.[_0x12fd7a(0x184)]?.['maxAttempts']||0x3)},'Job\x20failed:\x20'+_0x36e16a['name']+'\x20—\x20'+_0x1ef844?.['message']);const _0x223097=this[_0x12fd7a(0x165)][_0x12fd7a(0x1ce)](_0x36e16a['id']);if(_0x223097){if(_0x223097[_0x12fd7a(0x15c)])await _0x223097['insertPromise'];const _0x412390=_0x36e16a['finishedOn']&&_0x36e16a['processedOn']?_0x12ad9b['tqpKB'](_0x36e16a['finishedOn'],_0x36e16a['processedOn']):null;await this[_0x12fd7a(0x250)](_0x223097[_0x12fd7a(0x26e)],_0x412390,_0x36e16a[_0x12fd7a(0x20a)],_0x1ef844?.[_0x12fd7a(0x1ca)],_0x1ef844?.[_0x12fd7a(0x1a8)]);const _0x2675a9=await this[_0x12fd7a(0x242)](_0x36e16a['name']);await this[_0x12fd7a(0x1ef)](_0x36e16a['name'],_0x12ad9b['xtOye'],_0x412390,_0x2675a9),this['activeHistoryIds'][_0x12fd7a(0x207)](_0x36e16a['id']);}const _0x7f6bfc=getComponentEngine();if(_0x7f6bfc&&typeof _0x7f6bfc[_0x12fd7a(0x1d6)]===_0x12ad9b[_0x12fd7a(0x1f7)]){const _0x4d8393={'jobId':_0x36e16a['id'],'jobName':_0x36e16a[_0x12fd7a(0x148)],'error':_0x1ef844?.[_0x12fd7a(0x1ca)],'attemptsMade':_0x36e16a[_0x12fd7a(0x17e)],'config':this[_0x12fd7a(0x202)][_0x36e16a[_0x12fd7a(0x148)]]||{}};_0x7f6bfc[_0x12fd7a(0x1d6)](_0x12ad9b[_0x12fd7a(0x1e3)],_0x4d8393,![])['catch'](_0x3bff40=>{const _0x5bd4ee=_0x12fd7a;_0x54a0a3['warn']({'event':_0x5bd4ee(0x20c),'error':_0x3bff40['message']},_0x12ad9b['HQhRC']);});}const _0x4f5cd7=this[_0x12fd7a(0x17a)]();if(_0x4f5cd7)try{await _0x4f5cd7[_0x12fd7a(0x232)](_0x12fd7a(0x260),_0x12ad9b[_0x12fd7a(0x17d)],null,{'jobId':_0x36e16a['id'],'name':_0x36e16a[_0x12fd7a(0x148)],'error':_0x1ef844?.['message'],'attemptsMade':_0x36e16a[_0x12fd7a(0x17e)]},{'module':_0x12fd7a(0x1f3),'endpoint':_0x36e16a['name']});}catch(_0x2328ff){_0x54a0a3['warn']({'event':_0x12ad9b['dVEiX'],'error':_0x2328ff[_0x12fd7a(0x1ca)]},_0x12ad9b['NCkDP']);}}[a0_0x834bdf(0x1fe)](_0x5326f6,_0x3806c7){const _0x2e18bb=a0_0x834bdf;logger[_0x2e18bb(0x1da)]({'event':'job_progress','jobId':_0x5326f6['id'],'jobName':_0x5326f6[_0x2e18bb(0x148)],'progress':_0x3806c7},_0x2e18bb(0x167)+_0x5326f6['name']+_0x2e18bb(0x1e6)+_0x3806c7+'%');}}module[a0_0x834bdf(0x140)]=new JobManager();
1
+ const a0_0x2ea679=a0_0x41be;(function(_0x16e481,_0x392734){const _0x6efc45=a0_0x41be,_0x326f0a=_0x16e481();while(!![]){try{const _0x59b002=-parseInt(_0x6efc45(0x7f))/0x1+parseInt(_0x6efc45(0xe8))/0x2*(-parseInt(_0x6efc45(0x151))/0x3)+-parseInt(_0x6efc45(0xb7))/0x4+parseInt(_0x6efc45(0xee))/0x5*(-parseInt(_0x6efc45(0x156))/0x6)+-parseInt(_0x6efc45(0x170))/0x7+parseInt(_0x6efc45(0x146))/0x8+parseInt(_0x6efc45(0x175))/0x9*(parseInt(_0x6efc45(0x140))/0xa);if(_0x59b002===_0x392734)break;else _0x326f0a['push'](_0x326f0a['shift']());}catch(_0x56cfe1){_0x326f0a['push'](_0x326f0a['shift']());}}}(a0_0x501b,0xe23b6));function a0_0x501b(){const _0x572ba0=['y3jVBG','mKTJCevuwa','tvz5BfK','AgLZDg9YEuLK','zxHWB3j0CW','Dg90ywXFzMfPBgvK','Bwv0ywrHDge','mJu5nJC0nxvIq1zbzW','q0TsDhC','vLjwsMy','z2v0sM9Iq291BNrZ','CMvHzgrPCLn5BMm','C3vIC3rYAw5N','txLtuuWGreiGBw9KDwXLig5VDcbHDMfPBgfIBgu','AM9PBG','BwfUDwfS','y2HPBgq','CgLK','uNHuCxu','C3LZDgvT','z2v0','DxrMoa','suX5v3e','ihrPzgfRigrPDgvTDwTHBG','D2fYBG','lI9QB2iTDMfSAwrHDg9Y','sM9Iihn0yxj0zwq6ia','lIbkB2iGu2nOzwr1BgvYihrPzgfRigfRyw4GywT0AwyU','zxHPC3rZu3LUyW','AM9Ix2nVBMzPz19PBNzHBgLK','zw5HyMXLza','D2fPDgLUzW','tuvsr0uGsu5utYbQB2jFCMvNAxn0CNKGCGOGicaGicaGicaGifvtsu5hicHtruXfq1qGoJeGqvmGAM4GrLjptsbevufmksbZie9oicHYlMPVyL9Uyw1Lid0GCY5QBIKkicaGicaGicaGicbxsevoie1bveniruqGveHftIbvuerbveuGu0vucIaGicaGicaGicaGicbKAxnWBgf5x25HBwuGpsa6mIWGDhLWzsa9idOZlcbZy2HLzhvSzsa9idO0lcbXDwv1zsa9idO1laOGicaGicaGicaGicaGAgfUzgXLCIa9idO2lcbJB25MAwDFzMLSzsa9idO3lcb0Aw1LB3v0id0GoJGSihjLDhj5x21HEca9idO5laOGicaGicaGicaGicaGCMv0CNLFyMfJA29MzIa9idOXmcWGC3rHDhvZid0GoJeXlcbUzxH0x3j1BL9HDca9idOXmIWGDxbKyxrLzf9HDca9ifnzu1rjtuvtvefnuaOGicaGicaGicaGifDiru4GtK9uie1bveniruqGveHftIbjtLnfuLqkicaGicaGicaGicaGicHQB2jFBMfTzsWGzgLZCgXHEv9Uyw1Llcb0ExbLlcbZy2HLzhvSzsWGCxvLDwuSigHHBMrSzxiSignVBMzPz19MAwXLlaOGicaGicaGicaGicaGihrPBwvVDxqSihjLDhj5x21HEcWGCMv0CNLFyMfJA29MzIWGC3rHDhvZlcbUzxH0x3j1BL9HDcWGy3jLyxrLzf9HDcWGDxbKyxrLzf9HDcKkicaGicaGicaGicbwquXvrvmGkdOXlca6mIWGoJmSidO0lca6nsWGoJySidO3lca6ocWGoJKSidOXmcWGoJeXlca6mtiSifnzu1rjtuvtvefnucWGu1LtveLnrvnuqu1qkq','z2v0ug9VBa','DhjPBq','CMv0CNK','igPVyIHZksbYzwDPC3rLCMvKlca','AM9Ix2HPC3rVCNLFzMfPBgvKx2vYCM9Y','sK9cx0nptKnvuLjftKnz','oMPVyG','zw52','Aw5PDgLHBerLBgf5','igPVyIbJB25MAwCOCYKGzNjVBsbWyxLSB2fKl2PVyNmV','y2XVC2u','B25kB2jqCM9NCMvZCW','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGC3rHDhvZid0Gj29MzMXPBMuNlcbUzxH0x3j1BL9HDca9ie5vteWSihvWzgf0zwrFyxqGpsbtwvnusu1fu1rbtva','DgLTzxPVBMu','Aw5Zzxj0uhjVBwLZzq','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNC3vJy2vZCYCSignVBxbSzxrLzf9HDca9ie5pvYGPlaOGicaGicaGicaGigr1CMf0Aw9Ux21Zid0GjdeSihbYB2DYzxnZid0GmtaWlcbYzxn1BhrFC3vTBwfYEsa9icqYifDirvjfigLKid0Gjdm','uMvKAxmGy29UBMvJDgLVBIbMywLSzwq6ia','z2v0tMv4Dfj1BKzYB21cDwXStve','mYbcDwXStveGv29YA2vYCYbJCMvHDgvKicHJB25JDxjYzw5JEtOG','B3jHy2XL','Dw5RBM93BG','AM9Ix21HBMfNzxjFywXYzwfKEv9PBML0AwfSAxPLza','AM9Ix25Vx2nVBMzPz3m','qKXfDei','CMv0DxjUDMfSDwu','sM9Iie1HBMfNzxiGC3vKywGGzgLPBMLZAwfSAxnHC2KSihnRAxa','DMfSAwrHDgvdB25MAwC','t0nqzK0','C0PSv28','ywz0zxjFAM9Ix2zHAwXLzf9OB29Rx2vYCM9Y','ifjLzgLZignVBM5Ly3rPB25Z','icHPzdOG','zgjFB3jHy2XLx3vUyxzHAwXHyMXL','qNvSBe1rifjLzgLZignVBM5Ly3rPB24GzxjYB3i6ia','z2v0sM9Iu3rHDhvZ','C3rYAw5N','sLH6veK','yxr0zw1WDhnnywrL','zvr3seu','lI4VlI4VDxrPBhmVzgiTBxLZCwW','ywXS','C3vJy2vZCW','ChjVz3jLC3m','AgfUzgXLCG','rMfPBgvKihrVihjLz2LZDgvYigPVyJOG','AM9Ix2THzMTHx3b1yMXPC2HFzxjYB3i','sgXNC2W','DgLTzxn0yw1WCW','Aw5PDgLHBgL6zwq','Avz4shO','BMv4Da','sM9Iie1HBMfNzxiGCMvHzhK6ia','BgLTAxq','zhvWBgLJyxrL','y3jLyxrLza','C3rYAw5NAwz5','mJCYmtqYmtbrre5XDeK','yMngEuq','AM9Ix2rPC3bHDgnOzwrFzgvSyxLLza','CLDMzgm','AM9Ix2vUC3vYzv90ywjSzxnFzxjYB3i','ywXYzwfKEsbLEgLZDhm','mZm2nZyXnMrmAKfmtW','zgLZCgf0y2G','B25SAw5L','BgvUz3rO','C2nOzwr1Bgu','AM9Ix2zHAwXLza','ywn0AxzL','AM9Ix21HBMfNzxjFC2H1DgrVD25Fy29TCgXLDgu','sgfWBem','zw50CMLLCW','sM9Iia','mtyXntKYuersuKPm','AM9Ix2rIx3vUyxzHAwXHyMXL','ihjLBw92zwqGkhDHCYa','zgf0yq','wfnhvLi','mtHwt3PTvLO','tvjIqw4','z2v0rgjuExbL','DML1z04','DhzLB3u','DhjPz2DLCMvKqNK','z2v0uMvKAxndBgLLBNq','lI4VlI4VDxrPBhmVy29TCg9Uzw50lwvUz2LUzq','zvHHr0O','y3jLyxrLqNvSBe1rq29UBMvJDgLVBG','C3rHCNrZv2L0Aa','rejFvfLqrq','C3bSAxq','yNvSBg1Xx3DVCMTLCL9LCNjVCG','y29UzMLNrMLSzq','C3bSAxrtCwXtDgf0zw1LBNrZ','BM93','DxbKyxrLuMvNAxn0CNLdB3vUDgvYCW','qMTTBw4','rMfPBgvKihrVigLUC2vYDcbQB2iGAgLZDg9YEtOG','vMLgq0C','zxHLy3v0zvf1zxj5','rMfPBgvKihrVihvWzgf0zsbQB2iGCMvNAxn0CNKGy291BNrLCNm6ia','AM9Ix2nVBMzPz3nFBg9HzgvK','Bvr1A3C','BgLZDePVyNm','ndu4mti5DNHUqvfV','vgLKywSGywrHigPVyIbJB25MAwCGzgL0zw11A2fUigrPihbHEwXVywqVAM9ICY8UiePVyIbnyw5Hz2vYigfRDgLMihrHBNbHignYB24U','AwLHvhm','vu1Uq2m','zMLSDgvY','mtHJAMXgA0K','AffetwO','DhLWzq','AM9Ix3jLz2LZDhj5x2nVDw50zxjFzxjYB3i','DxbKyxrLuMvNAxn0CNLtDgf0Dxm','CxvPDa','tML1uee','Bg9JywXOB3n0','ChvIBgLZAev2zw50','DxbKyxrLsM9IsgLZDg9YEunVBxbSzxrLza','BwvZC2fNzq','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticGKmsWGjdiSicqZlcaKncWGjduSicDYDw5UAw5NjYWGjdySicq3lcaKocWGtK9xkcKSicq5lcbot1COksK','Cgf5Bg9Hza','AM9Ix3jLz2LZDhj5x29MzMXPBMvFzxjYB3i','z2v0q2XPzw50','CxzIr00','AM9ItMfTzq','CeHjDxC','Dg9mB3DLCKnHC2u','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsaKmsWGBgfZDf9YDw5FyxqGpsbot1COksWkicaGicaGicaGicb1CgrHDgvKx2f0id0GtK9xkcKGv0HfuKuGAM9Ix25HBwuGpsaKmG','icHHDhrLBxb0ia','DMfSDwvZ','zxjYB3jZ','z2v0sM9I','sK9cx01bwf9tvefmtevex0npvu5u','rMfPBgvKihrVihvWzgf0zsbQB2iGAgLZDg9YEsaOy29TCgXLDgvKktOG','zMLUza','ChvZAa','z2v0u3rHDgu','DgLTzw91Da','rMfPBgvKihrVihvWC2vYDcbQB2iGCMvNAxn0CNK6ia','A0njs0i','AM9Ix3jLzgLZx2nVBM5Ly3rLza','qNvSBe1rifjLzgLZignVBM5Ly3rPB24GDMvYAwzPzwq','iokaLca','AgLNAa','yxbPlwrLBgf5zwq','AM9Ix3nXBf9UB3rFzM91BMq','BwfW','yMfJA29MzG','sM9IigHHBMrSzxiGy29TCgXLDgvKoIa','uKvesvnFueftu1DpuKq','zNvUy3rPB24','qxrRvve','ChHSCKO','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa/lcbSyxn0x2r1CMf0Aw9Ux21Zid0GpYWkicaGicaGicaGica','uKvesvnFue9sva','zw5ZDxjLvgfIBgvZ','C3rHy2S','qKLgBei','rejFvfLqrsaN','B3jHy2XLlNnXBa','s1zUy3a','seXLshi','zgvSzxrL','Bwf4qxr0zw1WDhm','lMPZ','AgfUzgXLCNm','t3jHy2XLiercig1VzhvSzsbUB3qGyxzHAwXHyMXL','id0G','C29YDa','mty3nZi2n2Pczff1DW','Cg9ZDgDYzxnXBa','sK9cx1jfvevoveLptL9it1vsuW','wvPLD3G','Dxfdrxy','u2DUEKS','uwzYDwu','Aw5MBW','z2v0sM9Iu2nOzwr1BgvYCW','ywrK','icSGmsWkicaGicaGicaGicbUzxH0x3j1BL9HDca9icqZlcb1CgrHDgvKx2f0id0GtK9xkcKGv0HfuKuGAM9Ix25HBwuGpsaKna','y3j5ChrV','ihrPzgfRigjPC2eGzgKTy2fUy2vSicHZDgf0ztOG','icSGmsWkicaGicaGicaGicbUzxH0x3j1BL9HDca9id8Gv0HfuKuGAM9Ix25HBwuGpsa/','rKfOvg4','v2XbA1K','sM9IignHBMnLBgXLzcbIEsbVBKjLzM9YzuPVyKv4zwn1Dgu6ia','z2v0q2fJAgvnyw5Hz2vY','s0fgs0fFru5bqKXfra','AendAvy','BxLZCwW','AM9Ix21HBMfNzxjFAw5PDf9ZDgfYDa','AM9Ix2nVBxbSzxrLza','zMLUAxnOzwrpBG','zxHLy3v0zvrYyw5Zywn0Aw9U','zxHLy3v0zuv2zw50sgfUzgXLCNm','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNzMfPBgvKjYWGy29TCgXLDgvKx2f0id0Gu1LtveLnrvnuqu1qlaOGicaGicaGicaGigr1CMf0Aw9Ux21Zid0GoJeSihbYB2DYzxnZid0GoJiSigvYCM9Yx21LC3nHz2uGpsa6mYWGzxjYB3jFC3rHy2SGpsa6ncbxsevsrsbPzca9idO1','y2f0y2G','zgvMyxvSDa','s2TgCve','z2v0sgLZDg9YEq','z2v0rgjvDgLSCW','t2TIwgm','DxbZzxj0sM9IuMvNAxn0CNK','CxvLDwvZ','uM11yMy','C2H1DgrVD24','y29UBMvJDgLVBNm','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticG/lca/lca/lca/lca/lcaNCNvUBMLUzYCSid8Sid8Sid8Sie5pvYGPlca/lcbot1COksK','DKnYsMm','ignHBMnLBgXLzcaOD2fZigfJDgL2zsK','y1LPEgq','CMy6','qMfJA2DYB3vUzcbPBNnLCNqGAM9IigHPC3rVCNKGzMfPBgvKoIa','AM9Ix2HPC3rVCNLFAw5Zzxj0x2jNx2vYCM9Y','wxzKrxm','B25kB2jdB21WBgv0zwq','lIbeqIbTB25PDg9YAw5NigrPC2fIBgvKlG','z2v0s2fMA2ftzxj2AwnL','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNC3vJy2vZCYCSignVBxbSzxrLzf9HDca9ie5pvYGPlaOGicaGicaGicaGigr1CMf0Aw9Ux21Zid0GpYWGChjVz3jLC3mGpsaXmdaSihjLC3vSDf9ZDw1Tyxj5id0GpYbxsevsrsbPzca9id8','AM9Ix21HBMfNzxjFC2H1DgrVD25FC3rHCNq','C2rrANu','z0noyuC','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa6msWGBgfZDf9YDw5FyxqGpsbtwvnusu1fu1rbtvaScIaGicaGicaGicaGDxbKyxrLzf9HDca9ifnzu1rjtuvtvefnucbxsevsrsbQB2jFBMfTzsa9idOY','wfzvBxa','BMfTzq','nJmZmda5mNP0u1DZAa','Bg93','qLDlrwq','sNrtALe','u2nIB1u','ChjVy2vZC2vKt24','zMfPBgvKuMvHC29U','CNvUBMLUzW','DMfSAwq','Ag1dAwu','Aw5Zzxj0sM9IsgLZDg9YEq','z2v0sgvHBhrOu3rHDhvZ','qxbnwNa','BhrjrKG','BwLU','CeDstLi','qvHADue','zxHWB25LBNrPywW','su5trvjuieLove8GAM9Ix3jLz2LZDhj5cIaGicaGicaGicaGkgPVyL9Uyw1LlcbKAxnWBgf5x25HBwuSihr5CguSihnJAgvKDwXLlcbXDwv1zsWGAgfUzgXLCIWGy29UzMLNx2zPBguScIaGicaGicaGicaGihrPBwvVDxqSihjLDhj5x21HEcWGCMv0CNLFyMfJA29MzIWGC3rHDhvZlcbUzxH0x3j1BL9HDcWGy3jLyxrLzf9HDcWGDxbKyxrLzf9HDcKkicaGicaGicaGicbwquXvrvmGkcqXlcaKmIWGjdmSicq0lcaKnsWGjdySicq3lcaKocWGjdKSicqXmcWGjdeXlcaKmtiSie5pvYGPlcbot1COksKkicaGicaGicaGicbptIbdt05gteLdvcaOAM9Ix25HBwuPierpifvqrefursbtrvqkicaGicaGicaGicaGigrPC3bSyxLFBMfTzsa9ievyq0XvrevelMrPC3bSyxLFBMfTzsWGDhLWzsa9ievyq0XvrevelNr5CguScIaGicaGicaGicaGicbZy2HLzhvSzsa9ievyq0XvrevelNnJAgvKDwXLlcbXDwv1zsa9ievyq0XvrevelNf1zxvLlaOGicaGicaGicaGicaGAgfUzgXLCIa9ievyq0XvrevelMHHBMrSzxiSignVBMzPz19MAwXLid0GrvHdtfveruqUy29UzMLNx2zPBguScIaGicaGicaGicaGicb0Aw1LB3v0id0GrvHdtfveruqUDgLTzw91DcWGCMv0CNLFBwf4id0GrvHdtfveruqUCMv0CNLFBwf4laOGicaGicaGicaGicaGCMv0CNLFyMfJA29MzIa9ievyq0XvrevelNjLDhj5x2jHy2TVzMySihn0yxr1CYa9ievyq0XvrevelNn0yxr1CYWkicaGicaGicaGicaGig5LEhrFCNvUx2f0id0GrvHdtfveruqUBMv4Df9YDw5FyxqSihvWzgf0zwrFyxqGpsbot1COkq','qNvSBe1rifDVCMTLCIbLCNjVCIaO','DfnkC2q','CMvNAxn0zxjkB2i','B25czwzVCMvkB2jfEgvJDxrL','EwnnEfe','CgLUzW','AM9Iq29UzMLNCW','rfHzwxu','AM9Ix21HBMfNzxjFCMvHzhK','zgLZCgf0y2HezwXHEwvK','z2v0sM9ICW','ywn0AxzLsgLZDg9YEuLKCW','qvLKt3a','CxvLDwu','AM9IlxnJAgvKDwXLCG','D29YA2vYCW','B25kB2jgywLSzwq','sM9IihrPzgfRigrPDgvTDwTHBJOG','D29YA2LUz0rPCG','Dhj1zq','rLHuwue','zw5KC1DPDgG','yxbP','Dg90ywXFC3vJy2vZCW','y29TCgXLDgvK','zMfPBgvK','zxjYB3i','y3jVBL9YzwDPC3rLCMvK','zgvSyxLLza'];a0_0x501b=function(){return _0x572ba0;};return a0_0x501b();}function a0_0x41be(_0x10c478,_0x21d3a2){_0x10c478=_0x10c478-0x77;const _0x501b0f=a0_0x501b();let _0x41beee=_0x501b0f[_0x10c478];if(a0_0x41be['OqBzOD']===undefined){var _0x1ca4ad=function(_0x35dea1){const _0x20e345='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1a1d6d='',_0x2d995e='';for(let _0x1ff9fb=0x0,_0x6cca71,_0x3048e1,_0x42bd95=0x0;_0x3048e1=_0x35dea1['charAt'](_0x42bd95++);~_0x3048e1&&(_0x6cca71=_0x1ff9fb%0x4?_0x6cca71*0x40+_0x3048e1:_0x3048e1,_0x1ff9fb++%0x4)?_0x1a1d6d+=String['fromCharCode'](0xff&_0x6cca71>>(-0x2*_0x1ff9fb&0x6)):0x0){_0x3048e1=_0x20e345['indexOf'](_0x3048e1);}for(let _0x17ddef=0x0,_0x136c0f=_0x1a1d6d['length'];_0x17ddef<_0x136c0f;_0x17ddef++){_0x2d995e+='%'+('00'+_0x1a1d6d['charCodeAt'](_0x17ddef)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2d995e);};a0_0x41be['iBSAjG']=_0x1ca4ad,a0_0x41be['iDaRGl']={},a0_0x41be['OqBzOD']=!![];}const _0x224019=_0x501b0f[0x0],_0x10df66=_0x10c478+_0x224019,_0x46549b=a0_0x41be['iDaRGl'][_0x10df66];return!_0x46549b?(_0x41beee=a0_0x41be['iBSAjG'](_0x41beee),a0_0x41be['iDaRGl'][_0x10df66]=_0x41beee):_0x41beee=_0x46549b,_0x41beee;}const {Queue,Worker}=require('bullmq'),Redis=require('ioredis'),crypto=require(a0_0x2ea679(0x8a)),{v7:uuidv7}=require('uuid'),fs=require('fs'),path=require('path'),{logger}=require('../../utils/logger'),jobValidator=require(a0_0x2ea679(0x100));let componentEngine=null;function getComponentEngine(){const _0x3b49f1=a0_0x2ea679,_0x4981d8={'PwLhh':_0x3b49f1(0x15d)};if(!componentEngine)try{const _0x305290=require(_0x4981d8['PwLhh']);componentEngine=_0x305290['componentEngine']||_0x305290;}catch(_0x3df75a){}return componentEngine;}class JobManager{constructor(){const _0x3ff4b6=a0_0x2ea679,_0x3e0544='3|2|0|7|1|6|4|5'['split']('|');let _0x545319=0x0;while(!![]){switch(_0x3e0544[_0x545319++]){case'0':this['jobConfigs']={};continue;case'1':this[_0x3ff4b6(0xa4)]=[];continue;case'2':this['workers']={};continue;case'3':this['queues']={};continue;case'4':this[_0x3ff4b6(0xdc)]=process['cwd']();continue;case'5':this[_0x3ff4b6(0xd5)]=new Map();continue;case'6':this[_0x3ff4b6(0x138)]=![];continue;case'7':this[_0x3ff4b6(0x7b)]={};continue;}break;}}[a0_0x2ea679(0x15f)](){const _0x4327f9=a0_0x2ea679,_0x24b45b={'SmTUU':'bullmq_redis_error','GYRRZ':_0x4327f9(0x17c),'KVncp':'error'},_0x2b4895=new Redis({'host':process[_0x4327f9(0x10f)]['REDIS_HOST']||_0x24b45b['GYRRZ'],'port':parseInt(process['env'][_0x4327f9(0x1a3)],0xa)||0x18ec,'password':process['env'][_0x4327f9(0x19e)]||undefined,'db':parseInt(process[_0x4327f9(0x10f)]['REDIS_DB'],0xa)||0x0,'maxRetriesPerRequest':null,'retryStrategy'(_0x1fc391){const _0xb7d8a2=_0x4327f9,_0x2d03e5=Math[_0xb7d8a2(0xc5)](_0x1fc391*0x32,0x7d0);return _0x2d03e5;}});return _0x2b4895['on'](_0x24b45b[_0x4327f9(0x1a9)],_0x579c7a=>{const _0x466b16=_0x4327f9;logger[_0x466b16(0xe4)]({'event':_0x24b45b['SmTUU'],'error':_0x579c7a[_0x466b16(0x17f)]},_0x466b16(0x129)+_0x579c7a[_0x466b16(0x17f)]);}),this['connections']['push'](_0x2b4895),_0x2b4895;}async['initialize'](){const _0x46722a=a0_0x2ea679,_0x6282bb={'rVRBb':'job_stalled','EjPNT':_0x46722a(0x163),'FAhTn':_0x46722a(0x121),'uqCEv':'Initializing\x20Job\x20Manager...','kCIKB':_0x46722a(0x195),'iVxHz':_0x46722a(0x196),'NMifN':_0x46722a(0x144),'FXTYA':_0x46722a(0x11e),'CblKh':_0x46722a(0x11c),'Bkmmn':function(_0x2407a7,_0x2f591f,_0x25dc6e){return _0x2407a7(_0x2f591f,_0x25dc6e);},'KkFqQ':function(_0x33272a,_0xe34786){return _0x33272a*_0xe34786;},'ILyWq':_0x46722a(0x198),'zRZfw':function(_0x4f3773,_0x5bf9b1,_0x349219){return _0x4f3773(_0x5bf9b1,_0x349219);},'XyvGl':'stalled','jeDIN':'job_workers_created'};if(this[_0x46722a(0x138)]){logger[_0x46722a(0xff)]({'event':_0x46722a(0x11d)},_0x6282bb[_0x46722a(0x8d)]);return;}logger[_0x46722a(0x86)]({'event':_0x46722a(0x94)},_0x6282bb[_0x46722a(0x83)]);const _0x4fcf79=this[_0x46722a(0x15f)]();try{await _0x4fcf79[_0x46722a(0xcf)](),logger[_0x46722a(0x86)]({'event':_0x6282bb[_0x46722a(0x194)]},_0x6282bb[_0x46722a(0x139)]);}catch(_0x247649){logger[_0x46722a(0xe4)]({'event':'job_redis_failed','error':_0x247649['message']},_0x46722a(0x118)+_0x247649[_0x46722a(0x17f)]+_0x46722a(0x102));try{await _0x4fcf79['quit']();}catch(_0x573f1d){}this['connections']=this[_0x46722a(0xa4)][_0x46722a(0x174)](_0x42a9de=>_0x42a9de!==_0x4fcf79);return;}try{await _0x4fcf79['quit']();}catch(_0x356629){}this['connections']=this[_0x46722a(0xa4)][_0x46722a(0x174)](_0x57e0ab=>_0x57e0ab!==_0x4fcf79);try{await this['ensureTables']();}catch(_0x1c45fb){logger[_0x46722a(0xff)]({'event':_0x6282bb['NMifN'],'error':_0x1c45fb[_0x46722a(0x17f)]},'Failed\x20to\x20ensure\x20job\x20tables:\x20'+_0x1c45fb['message']+_0x46722a(0xae));}const _0x285a38=this['loadJobConfigs']();_0x285a38[_0x46722a(0x149)]===0x0&&logger['info']({'event':_0x6282bb[_0x46722a(0xde)]},_0x46722a(0x171));const _0x1a4435=[];for(const _0x4afaf2 of _0x285a38){const _0x21714a=jobValidator[_0x46722a(0x122)](_0x4afaf2,this[_0x46722a(0xdc)]);_0x21714a[_0x46722a(0xbf)]?_0x1a4435[_0x46722a(0x190)](_0x4afaf2):logger['error']({'event':_0x46722a(0x104),'name':_0x4afaf2[_0x46722a(0xb6)]||_0x6282bb['CblKh'],'errors':_0x21714a[_0x46722a(0x18b)]},'Job\x20config\x20invalid:\x20'+(_0x4afaf2['name']||_0x6282bb['CblKh'])+'\x20—\x20'+_0x21714a['errors']['join'](';\x20'));}const _0x527a80=process['env']['RESTFORGE_PROJECT_NAME']||'default',_0x1ea650=process[_0x46722a(0x10f)]['JOB_REDIS_PREFIX']||_0x46722a(0xa9)+_0x527a80+_0x46722a(0x10e),_0x21d76a=parseInt(process['env'][_0x46722a(0x81)],0xa)||0x48,_0x4149ca=_0x6282bb[_0x46722a(0x168)](parseInt,process['env']['JOB_FAILED_RETENTION_HOURS'],0xa)||0xa8,_0x49aed0={'removeOnComplete':{'age':_0x6282bb[_0x46722a(0x9c)](_0x21d76a,0xe10)},'removeOnFail':{'age':_0x4149ca*0xe10}},_0x77b779={'high-priority':_0x6282bb[_0x46722a(0xfd)],'default':_0x46722a(0x9b),'low-priority':_0x46722a(0xb8)};for(const [_0x5284e6,_0x500215]of Object['entries'](_0x77b779)){this[_0x46722a(0xa1)][_0x5284e6]=new Queue(_0x500215,{'connection':this['createBullMQConnection'](),'prefix':_0x1ea650,'defaultJobOptions':_0x49aed0});}logger['info']({'event':'job_queues_created','count':0x3},'3\x20BullMQ\x20Queues\x20created\x20(high,\x20default,\x20low)');const _0x180e51=parseInt(process[_0x46722a(0x10f)][_0x46722a(0x10d)],0xa)||0x5,_0x148be6=parseInt(process['env']['JOB_STALLED_INTERVAL'],0xa)||0x7530,_0x5ad080=_0x6282bb['zRZfw'](parseInt,process[_0x46722a(0x10f)][_0x46722a(0x18d)],0xa)||0x2;for(const [_0x3514f5,_0x4a3bed]of Object['entries'](_0x77b779)){const _0x5931a6=new Worker(_0x4a3bed,async _0xbac9d0=>this['processJob'](_0xbac9d0),{'connection':this['createBullMQConnection'](),'prefix':_0x1ea650,'concurrency':_0x180e51,'stalledInterval':_0x148be6,'maxStalledCount':_0x5ad080});_0x5931a6['on']('completed',(_0x549725,_0xf41284)=>this['onJobCompleted'](_0x549725,_0xf41284)),_0x5931a6['on'](_0x46722a(0xe3),(_0x1588c5,_0x3fb9e1)=>this[_0x46722a(0xda)](_0x1588c5,_0x3fb9e1)),_0x5931a6['on']('progress',(_0x4e82e2,_0x3a665d)=>this[_0x46722a(0x113)](_0x4e82e2,_0x3a665d)),_0x5931a6['on'](_0x6282bb['XyvGl'],_0x848665=>{const _0x8cb066=_0x46722a;logger[_0x8cb066(0xff)]({'event':_0x6282bb['rVRBb'],'jobId':_0x848665},'Job\x20stalled:\x20'+_0x848665);}),_0x5931a6['on']('error',_0x3dd538=>{const _0x5a9ec7=_0x46722a;logger['error']({'event':_0x6282bb['EjPNT'],'queue':_0x3514f5,'error':_0x3dd538['message']},_0x5a9ec7(0xca)+_0x3514f5+'):\x20'+_0x3dd538[_0x5a9ec7(0x17f)]);}),this[_0x46722a(0xd9)][_0x3514f5]=_0x5931a6;}logger[_0x46722a(0x86)]({'event':_0x6282bb['jeDIN'],'count':0x3,'concurrency':_0x180e51},_0x46722a(0x11a)+_0x180e51+')');let _0x1bb142=0x0;for(const _0x58928b of _0x1a4435){try{await this['registerJob'](_0x58928b),_0x1bb142++;}catch(_0x19cac2){logger[_0x46722a(0xe4)]({'event':'job_register_failed','name':_0x58928b[_0x46722a(0xb6)],'error':_0x19cac2[_0x46722a(0x17f)]},_0x46722a(0x134)+_0x58928b['name']+_0x46722a(0x197)+_0x19cac2[_0x46722a(0x17f)]);}}this[_0x46722a(0x138)]=!![];const _0x2d7fa5=this[_0x46722a(0xa4)][_0x46722a(0x149)];logger[_0x46722a(0x86)]({'event':_0x46722a(0xd2),'registeredJobs':_0x1bb142,'totalConfigs':_0x1a4435[_0x46722a(0x149)],'redisConnections':_0x2d7fa5},_0x46722a(0x13b)+_0x1bb142+_0x46722a(0x10b)+_0x2d7fa5+_0x46722a(0x126));}async[a0_0x2ea679(0xa3)](){const _0x285ded=a0_0x2ea679,_0x3d708f={'WlAkY':_0x285ded(0xb1),'qvbGM':function(_0x161acb,_0x244b82){return _0x161acb<_0x244b82;},'UQDmk':_0x285ded(0x14c),'HaplC':function(_0x3bbb83,_0x2819ad){return _0x3bbb83===_0x2819ad;},'Okyyt':_0x285ded(0x14d),'ltIFH':'Job\x20Manager\x20shutdown\x20complete'};if(!this['initialized'])return;const _0x4495ab=parseInt(process[_0x285ded(0x10f)]['JOB_SHUTDOWN_TIMEOUT'],0xa)||0x2710;logger[_0x285ded(0x86)]({'event':_0x3d708f[_0x285ded(0x8e)],'timeoutMs':_0x4495ab},'Job\x20Manager\x20shutting\x20down\x20(timeout:\x20'+_0x4495ab+'ms)...');const _0x43a8ea=Object[_0x285ded(0x18a)](this[_0x285ded(0xd9)])['map'](async _0x1075b9=>{try{await _0x1075b9['pause']();}catch(_0x40f1c0){}});await Promise[_0x285ded(0x130)](_0x43a8ea);const _0x81923b=Date[_0x285ded(0x166)]();while(_0x3d708f[_0x285ded(0x184)](Date['now']()-_0x81923b,_0x4495ab)){let _0x320ce6=0x0;for(const _0x3984bc of Object['values'](this['queues'])){try{const _0x3fc4b3=await _0x3984bc[_0x285ded(0xf1)](_0x3d708f['UQDmk']);_0x320ce6+=_0x3fc4b3['active']||0x0;}catch(_0x332c8e){}}if(_0x3d708f[_0x285ded(0x14e)](_0x320ce6,0x0))break;await new Promise(_0x57604f=>setTimeout(_0x57604f,0x1f4));}const _0x126e62=Object[_0x285ded(0x18a)](this['workers'])['map'](async _0x4d07dd=>{const _0x576800=_0x285ded;try{await _0x4d07dd[_0x576800(0x112)]();}catch(_0x5e2660){}});await Promise[_0x285ded(0x130)](_0x126e62);const _0x1849ab=Object[_0x285ded(0x18a)](this['queues'])['map'](async _0x5559f5=>{try{await _0x5559f5['close']();}catch(_0x26d7a2){}});await Promise['all'](_0x1849ab);for(const _0x5089f2 of this[_0x285ded(0xa4)]){try{await _0x5089f2[_0x285ded(0x17a)]();}catch(_0x11cfc4){}}this[_0x285ded(0xa1)]={},this[_0x285ded(0xd9)]={},this[_0x285ded(0xa4)]=[],await this['setAllJobsOffline'](),this['activeHistoryIds']['clear'](),this[_0x285ded(0x138)]=![],logger[_0x285ded(0x86)]({'event':_0x3d708f['Okyyt']},_0x3d708f[_0x285ded(0xc4)]);}['loadJobConfigs'](){const _0x4daebc=a0_0x2ea679,_0x57a4b1={'cYixd':'Folder\x20payload/jobs/\x20tidak\x20ditemukan','hmCie':'utf8','hegOD':'job_config_parse_error'},_0x5ec8b9=path['join'](this['workingDir'],_0x4daebc(0x181),'jobs');if(!fs['existsSync'](_0x5ec8b9))return logger['info']({'event':'job_config_dir_missing','path':_0x5ec8b9},_0x57a4b1[_0x4daebc(0xa8)]),[];const _0x3e75b8=fs[_0x4daebc(0xf2)](_0x5ec8b9)[_0x4daebc(0x174)](_0x10aa93=>_0x10aa93[_0x4daebc(0xdf)]('.json')),_0x253b51=[];for(const _0x1c4191 of _0x3e75b8){const _0x2e200c=path['join'](_0x5ec8b9,_0x1c4191);try{const _0x147e58=fs['readFileSync'](_0x2e200c,_0x57a4b1[_0x4daebc(0xc0)]),_0x19c795=JSON['parse'](_0x147e58);_0x19c795['_sourceFile']=_0x1c4191,_0x253b51[_0x4daebc(0x190)](_0x19c795);}catch(_0x285183){logger[_0x4daebc(0xe4)]({'event':_0x57a4b1['hegOD'],'file':_0x1c4191,'error':_0x285183['message']},'Failed\x20to\x20parse\x20job\x20config:\x20'+_0x1c4191+'\x20—\x20'+_0x285183[_0x4daebc(0x17f)]);}}return logger[_0x4daebc(0x86)]({'event':_0x4daebc(0x16d),'count':_0x253b51['length']},'Loaded\x20'+_0x253b51['length']+_0x4daebc(0x111)),_0x253b51;}async[a0_0x2ea679(0xcc)](_0x2f9de3){const _0x14dee4=a0_0x2ea679,_0xee7dc9={'pHIuw':function(_0x39b65e,_0xd7740e){return _0x39b65e!==_0xd7740e;},'Qfrue':'default','zLZQt':_0x14dee4(0xc8),'XojJX':function(_0x361813,_0x56b5eb){return _0x361813===_0x56b5eb;},'ddLBJ':'cron','DgBJl':function(_0x3bebc3,_0x57d67b){return _0x3bebc3!==_0x57d67b;}},_0x4c990f=path[_0x14dee4(0xf5)](this['workingDir'],'src','jobs',_0x2f9de3[_0x14dee4(0x133)]+_0x14dee4(0x7a));this[_0x14dee4(0x7b)][_0x2f9de3['name']]=require(_0x4c990f),this['jobConfigs'][_0x2f9de3[_0x14dee4(0xb6)]]=_0x2f9de3;if(_0x2f9de3['type']===_0x14dee4(0xe7)&&_0xee7dc9[_0x14dee4(0x186)](_0x2f9de3[_0x14dee4(0x105)],![])){const _0x2fb899=this[_0x14dee4(0xa1)][_0x2f9de3['queue']||_0xee7dc9[_0x14dee4(0x85)]];await _0x2fb899['upsertJobScheduler'](_0x2f9de3[_0x14dee4(0xb6)],{'pattern':_0x2f9de3[_0x14dee4(0x14a)],'tz':_0x2f9de3[_0x14dee4(0x115)]||undefined},{'name':_0x2f9de3[_0x14dee4(0xb6)],'data':{'handler':_0x2f9de3[_0x14dee4(0x133)],'triggeredBy':_0x14dee4(0xe7),'metadata':_0x2f9de3[_0x14dee4(0xed)]||{}},'opts':{'attempts':_0x2f9de3['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0x2f9de3[_0x14dee4(0x10a)]?.[_0x14dee4(0x19c)]||_0xee7dc9['zLZQt'],'delay':_0x2f9de3['retry']?.[_0x14dee4(0x110)]||0x1388},'timeout':_0x2f9de3['timeout']||0x7530}}),logger['info']({'event':_0x14dee4(0xe5),'name':_0x2f9de3[_0x14dee4(0xb6)],'schedule':_0x2f9de3[_0x14dee4(0x14a)],'queue':_0x2f9de3[_0x14dee4(0xd7)]||_0xee7dc9['Qfrue']},'Cron\x20registered:\x20'+_0x2f9de3['name']+'\x20['+_0x2f9de3['schedule']+']');}const _0x2aed01=_0xee7dc9['XojJX'](_0x2f9de3[_0x14dee4(0x177)],_0xee7dc9['ddLBJ'])&&_0xee7dc9['DgBJl'](_0x2f9de3[_0x14dee4(0x105)],![])?'online':'offline';let _0x13fcc9=null;_0x2aed01==='online'&&(_0x13fcc9=await this['getNextRunFromBullMQ'](_0x2f9de3['name'])),await this[_0x14dee4(0xa0)](_0x2f9de3,_0x2aed01,_0x13fcc9);}async['processJob'](_0x1419c6){const _0x2c1ff5=a0_0x2ea679,_0x1e9d92={'ADCBZ':function(_0x344c6f,_0x5e5131){return _0x344c6f+_0x5e5131;},'eWHLe':'unknown','XVJyF':function(_0x2e1c18,_0x21d2d7){return _0x2e1c18===_0x21d2d7;},'zDjHl':_0x2c1ff5(0x199),'lxXFH':'api','qNzXM':_0x2c1ff5(0xe7),'ruXNv':function(_0x5ed83c,_0x4f79f9){return _0x5ed83c===_0x4f79f9;},'hCCiV':_0x2c1ff5(0xfa),'AYdOp':'default','nOWLo':function(_0x49dd05){return _0x49dd05();},'BLEtB':_0x2c1ff5(0xcd),'ViFCG':function(_0x9387d5,_0xdadc40){return _0x9387d5(_0xdadc40);}},_0x4051d7=this['jobConfigs'][_0x1419c6['name']],_0x563f92=this['handlers'][_0x1419c6[_0x2c1ff5(0xb6)]];if(!_0x563f92)throw new Error('Handler\x20tidak\x20ditemukan\x20untuk\x20job:\x20'+_0x1419c6[_0x2c1ff5(0xb6)]);const _0xcf6279=logger[_0x2c1ff5(0xf7)]({'jobId':_0x1419c6['id'],'jobName':_0x1419c6[_0x2c1ff5(0xb6)]});_0xcf6279[_0x2c1ff5(0x86)]({'event':'job_started','attempt':_0x1419c6[_0x2c1ff5(0x12d)]+0x1,'triggeredBy':_0x1419c6['data']?.[_0x2c1ff5(0x15b)]||_0x2c1ff5(0x11c)},_0x2c1ff5(0x101)+_0x1419c6[_0x2c1ff5(0xb6)]+_0x2c1ff5(0x189)+_0x1e9d92['ADCBZ'](_0x1419c6[_0x2c1ff5(0x12d)],0x1)+')');const _0x1abd32=uuidv7(),_0x5db1ad=_0x1419c6[_0x2c1ff5(0x154)]?.['triggeredBy']||_0x1e9d92['eWHLe'],_0x142c44=this[_0x2c1ff5(0xc1)]({'id':_0x1abd32,'jobName':_0x1419c6[_0x2c1ff5(0xb6)],'bullmqJobId':_0x1419c6['id'],'triggerType':_0x1e9d92['XVJyF'](_0x5db1ad,_0x1e9d92['zDjHl'])?'delayed':_0x1e9d92['XVJyF'](_0x5db1ad,_0x1e9d92['lxXFH'])?_0x2c1ff5(0xf6):_0x1e9d92['qNzXM'],'triggeredBy':_0x1e9d92['ruXNv'](_0x5db1ad,_0x1e9d92['qNzXM'])?_0x1e9d92[_0x2c1ff5(0x92)]:_0x5db1ad,'queue':_0x4051d7?.['queue']||_0x1e9d92[_0x2c1ff5(0xd6)],'attempt':_0x1419c6[_0x2c1ff5(0x12d)]+0x1,'configFile':_0x4051d7?.['_sourceFile']||null})['catch'](_0x1f2654=>{const _0x547dac=_0x2c1ff5;_0xcf6279[_0x547dac(0xff)]({'event':_0x547dac(0xab),'error':_0x1f2654[_0x547dac(0x17f)]},_0x547dac(0xaa)+_0x1f2654[_0x547dac(0x17f)]);});this['activeHistoryIds']['set'](_0x1419c6['id'],{'historyId':_0x1abd32,'insertPromise':_0x142c44});const _0x17ba35=this['buildContext'](_0x1419c6,_0x4051d7,_0xcf6279),_0x75f48e=_0x1e9d92['nOWLo'](getComponentEngine);if(_0x75f48e&&typeof _0x75f48e['executeEventHandlers']==='function'){const _0x5eac2b=await _0x75f48e['executeEventHandlers'](_0x1e9d92[_0x2c1ff5(0x11f)],_0x17ba35,!![]);if(!_0x5eac2b['success'])throw new Error(_0x2c1ff5(0x8f)+_0x5eac2b['error']);}const _0x222175=await _0x1e9d92[_0x2c1ff5(0x16a)](_0x563f92,_0x17ba35);return _0xcf6279[_0x2c1ff5(0x86)]({'event':'job_handler_done','result':_0x222175},_0x2c1ff5(0x19d)+_0x1419c6[_0x2c1ff5(0xb6)]),_0x222175;}['buildContext'](_0x40a403,_0x914abd,_0x222502){const _0x51d4bd=a0_0x2ea679,_0x5dcb79={'BWKEd':'JOB_EVENT','XVUmp':function(_0x4c93fb,_0x335c49){return _0x4c93fb||_0x335c49;}};return{'jobId':_0x40a403['id'],'jobName':_0x40a403['name'],'attempt':_0x40a403['attemptsMade']+0x1,'maxAttempts':_0x914abd?.[_0x51d4bd(0x10a)]?.['maxAttempts']||0x3,'payload':_0x40a403['data']||{},'config':_0x5dcb79[_0x51d4bd(0xb5)](_0x914abd,{}),'db':this[_0x51d4bd(0x9e)](),'redis':this['getRedisClient'](),'logger':_0x222502,'kafka':this[_0x51d4bd(0xaf)](),'cache':this[_0x51d4bd(0x90)](),'updateProgress':async _0x2ef5ff=>{await _0x40a403['updateProgress'](_0x2ef5ff);},'emit':async(_0x1b1086,_0x36332a)=>{const _0xb6e3ac=_0x51d4bd,_0x4ae2d1=this[_0xb6e3ac(0xaf)]();_0x4ae2d1&&await _0x4ae2d1[_0xb6e3ac(0x17d)](_0x1b1086,_0x5dcb79[_0xb6e3ac(0xb9)],null,_0x36332a,{'module':_0xb6e3ac(0xd8),'endpoint':_0x40a403[_0xb6e3ac(0xb6)]});},'job':_0x40a403};}['getDbType'](){const _0x416257=a0_0x2ea679,_0x3fbf3f={'ScboU':'postgresql'};return(process[_0x416257(0x10f)]['DB_TYPE']||_0x3fbf3f[_0x416257(0xbb)])['toLowerCase']();}async[a0_0x2ea679(0x1a4)](){const _0xe2b8d9=a0_0x2ea679,_0x29f5b4={'DXYYu':'Database\x20tidak\x20tersedia,\x20skip\x20auto-create\x20job\x20tables','hQDMj':'job_db_type_unsupported','MVylY':'sql-scripts','cTKhf':_0xe2b8d9(0xfc),'SgnzK':_0xe2b8d9(0x13d),'gCNaG':'job_tables_ensured'},_0x366f99=this['getDbUtils']();if(!_0x366f99){logger['warn']({'event':_0xe2b8d9(0x152)},_0x29f5b4[_0xe2b8d9(0xd1)]);return;}const _0x74cbe8=this[_0xe2b8d9(0x158)](),_0xcfadde={'postgresql':'postgresql.sql','oracle':_0xe2b8d9(0x1a8),'mysql':'mysql.sql'},_0x40e300=_0xcfadde[_0x74cbe8];if(!_0x40e300){logger[_0xe2b8d9(0xff)]({'event':_0x29f5b4[_0xe2b8d9(0x176)],'dbType':_0x74cbe8},_0xe2b8d9(0x1a7)+_0x74cbe8+'\x27\x20tidak\x20didukung\x20untuk\x20job\x20monitoring\x20tables');return;}const _0x135178=path['join'](__dirname,_0x29f5b4[_0xe2b8d9(0xe9)],_0x40e300);if(!fs[_0xe2b8d9(0x103)](_0x135178)){logger[_0xe2b8d9(0xff)]({'event':_0xe2b8d9(0x19a),'path':_0x135178},'SQL\x20script\x20tidak\x20ditemukan:\x20'+_0x135178);return;}const _0x2ff4a6=fs['readFileSync'](_0x135178,_0x29f5b4['cTKhf']),_0x5a9855=this['splitSqlStatements'](_0x2ff4a6,_0x74cbe8);let _0x2246f7=0x0;for(const _0x13ba7a of _0x5a9855){try{await _0x366f99[_0xe2b8d9(0x16b)](_0x13ba7a),_0x2246f7++;}catch(_0x30d76f){const _0x1eb551=(_0x30d76f[_0xe2b8d9(0x17f)]||'')[_0xe2b8d9(0x187)](),_0x174ac4=_0x1eb551['includes'](_0xe2b8d9(0x145))||_0x1eb551['includes']('ora-00955')||_0x1eb551['includes'](_0x29f5b4[_0xe2b8d9(0x84)]);!_0x174ac4&&logger[_0xe2b8d9(0xff)]({'event':'job_ensure_tables_warn','error':_0x30d76f[_0xe2b8d9(0x17f)]},'Job\x20ensureTables\x20warning:\x20'+_0x30d76f[_0xe2b8d9(0x17f)]);}}logger['info']({'event':_0x29f5b4[_0xe2b8d9(0xb3)],'dbType':_0x74cbe8,'executed':_0x2246f7},'Job\x20monitoring\x20tables\x20ensured\x20('+_0x74cbe8+')');}[a0_0x2ea679(0x165)](_0xa177d2,_0x3c340d){const _0x1cbe73=a0_0x2ea679,_0x3f0ab6={'iiaTs':function(_0x1ce8ee,_0xd91bf2){return _0x1ce8ee===_0xd91bf2;},'omwTY':_0x1cbe73(0x11b)};let _0x44f86e;return _0x3f0ab6['iiaTs'](_0x3c340d,_0x3f0ab6['omwTY'])?_0x44f86e=_0xa177d2['split'](/\n\/\s*(?:\n|$)/):_0x44f86e=_0xa177d2['split'](/;\s*(?:\n|$)/),_0x44f86e[_0x1cbe73(0x19b)](_0x251ff1=>_0x251ff1['trim']())['filter'](_0x526000=>{const _0x9505ea=_0x1cbe73;if(_0x3f0ab6[_0x9505ea(0x172)](_0x526000[_0x9505ea(0x149)],0x0))return![];const _0x2b3cee=_0x526000[_0x9505ea(0x162)]('\x0a')['filter'](_0x10cc79=>!_0x10cc79['trim']()[_0x9505ea(0x160)]('--')&&_0x10cc79[_0x9505ea(0x109)]()['length']>0x0);return _0x2b3cee[_0x9505ea(0x149)]>0x0;});}async[a0_0x2ea679(0xa0)](_0x473a95,_0x53aac9=a0_0x2ea679(0x148),_0x4f8d3b=null){const _0x461233=a0_0x2ea679,_0x2460a3={'pJlkG':_0x461233(0xe7),'RtwAn':'default','hugeK':'exponential','tSJsd':function(_0xcd6aef,_0x4602c6){return _0xcd6aef===_0x4602c6;},'HNFcM':_0x461233(0x11b),'bnXIw':_0x461233(0x93),'viugN':'job_registry_upsert_error'},_0x5bdc14=this['getDbUtils']();if(!_0x5bdc14)return;const _0x2ca4fb=this['getDbType'](),_0x537fc1=[_0x473a95[_0x461233(0xb6)],_0x473a95['description']||_0x473a95[_0x461233(0xb6)],_0x473a95[_0x461233(0x177)]||_0x2460a3['pJlkG'],_0x473a95['schedule']||null,_0x473a95[_0x461233(0xd7)]||_0x2460a3['RtwAn'],_0x473a95[_0x461233(0x133)],_0x473a95['_sourceFile']||'',_0x473a95['timeout']||0x7530,_0x473a95['retry']?.['maxAttempts']||0x3,_0x473a95['retry']?.['backoff']||_0x2460a3['hugeK'],_0x53aac9,_0x4f8d3b];try{if(_0x2460a3[_0x461233(0xcb)](_0x2ca4fb,_0x2460a3['HNFcM']))await _0x5bdc14['executeQuery'](_0x461233(0x107),_0x537fc1);else _0x2ca4fb===_0x2460a3['bnXIw']?await _0x5bdc14[_0x461233(0x16b)]('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)',_0x537fc1):await _0x5bdc14['executeQuery'](_0x461233(0xc9),_0x537fc1);}catch(_0x3f9d89){logger[_0x461233(0xff)]({'event':_0x2460a3[_0x461233(0x159)],'name':_0x473a95['name'],'error':_0x3f9d89[_0x461233(0x17f)]},_0x461233(0x193)+_0x473a95['name']+'\x20—\x20'+_0x3f9d89[_0x461233(0x17f)]);}}async[a0_0x2ea679(0xc1)](_0x5ae885){const _0x5113fd=a0_0x2ea679,_0x401e60={'YvdEs':_0x5113fd(0x9b),'neEPG':function(_0x19ec02,_0xdcbd38){return _0x19ec02===_0xdcbd38;},'AFdVS':'job_history_insert_error'},_0x27a860=this['getDbUtils']();if(!_0x27a860)return;const _0x588d30=this[_0x5113fd(0x158)](),_0x28251b=[_0x5ae885['id'],_0x5ae885[_0x5113fd(0x185)],_0x5ae885['bullmqJobId']||null,_0x5ae885['triggerType']||_0x5113fd(0xe7),_0x5ae885['triggeredBy']||_0x5113fd(0xfa),_0x5ae885['queue']||_0x401e60[_0x5113fd(0xac)],_0x5ae885['attempt']||0x1,_0x5ae885[_0x5113fd(0x164)]||null,process[_0x5113fd(0xf8)]];try{if(_0x401e60['neEPG'](_0x588d30,'oracle'))await _0x27a860['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)',_0x28251b);else _0x588d30===_0x5113fd(0x93)?await _0x27a860[_0x5113fd(0x16b)](_0x5113fd(0xa5),_0x28251b):await _0x27a860['executeQuery'](_0x5113fd(0x180),_0x28251b);await this['updateRegistryStatus'](_0x5ae885[_0x5113fd(0x185)],_0x5113fd(0xbe));}catch(_0x568a96){logger['warn']({'event':_0x401e60['AFdVS'],'jobName':_0x5ae885['jobName'],'error':_0x568a96[_0x5113fd(0x17f)]},_0x5113fd(0x169)+_0x568a96[_0x5113fd(0x17f)]);}}async['updateJobHistoryCompleted'](_0x37816f,_0x436909,_0x2988b4){const _0x3561eb=a0_0x2ea679,_0x188257={'JHFPb':_0x3561eb(0x11b),'pGRNR':function(_0x3333b9,_0x288f21){return _0x3333b9===_0x288f21;}},_0x2099ce=this['getDbUtils']();if(!_0x2099ce)return;const _0x4d8056=this[_0x3561eb(0x158)](),_0x4343ab=_0x2988b4?String(_0x2988b4)[_0x3561eb(0xf3)](0x0,0x1f4):null;try{if(_0x4d8056===_0x188257['JHFPb'])await _0x2099ce[_0x3561eb(0x16b)]('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27success\x27,\x20completed_at\x20=\x20SYSTIMESTAMP,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20:1,\x20progress\x20=\x20100,\x20result_summary\x20=\x20:2\x20WHERE\x20id\x20=\x20:3',[_0x436909,_0x4343ab,_0x37816f]);else _0x188257[_0x3561eb(0xc6)](_0x4d8056,_0x3561eb(0x93))?await _0x2099ce['executeQuery'](_0x3561eb(0xb0),[_0x436909,_0x4343ab,_0x37816f]):await _0x2099ce['executeQuery'](_0x3561eb(0x117),[_0x436909,_0x4343ab,_0x37816f]);}catch(_0x24e500){logger['warn']({'event':'job_history_complete_error','historyId':_0x37816f,'error':_0x24e500[_0x3561eb(0x17f)]},_0x3561eb(0x18e)+_0x24e500[_0x3561eb(0x17f)]);}}async['updateJobHistoryFailed'](_0x3c8c91,_0x4473d4,_0x3b80e7,_0x5bc8e0,_0x4abcd2){const _0x3419e0=a0_0x2ea679,_0xdf0bf7={'zZWaL':function(_0x1853b7,_0x4932c1){return _0x1853b7(_0x4932c1);},'UMnCc':function(_0x296765,_0x198747){return _0x296765(_0x198747);},'eTwHE':function(_0x3120ae,_0xb51148){return _0x3120ae===_0xb51148;},'OKwJT':_0x3419e0(0x93)},_0x383574=this['getDbUtils']();if(!_0x383574)return;const _0x596533=this['getDbType'](),_0x270880=_0x5bc8e0?_0xdf0bf7['zZWaL'](String,_0x5bc8e0)['substring'](0x0,0x3e8):null,_0xb069d3=_0x4abcd2?_0xdf0bf7[_0x3419e0(0x173)](String,_0x4abcd2)[_0x3419e0(0xf3)](0x0,0xfa0):null;try{if(_0x596533===_0x3419e0(0x11b))await _0x383574[_0x3419e0(0x16b)](_0x3419e0(0x99),[_0x4473d4,_0x3b80e7||0x0,_0x270880,_0xb069d3,_0x3c8c91]);else _0xdf0bf7[_0x3419e0(0x12e)](_0x596533,_0xdf0bf7['OKwJT'])?await _0x383574[_0x3419e0(0x16b)]('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?',[_0x4473d4,_0x3b80e7||0x0,_0x270880,_0xb069d3,_0x3c8c91]):await _0x383574[_0x3419e0(0x16b)]('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',[_0x4473d4,_0x3b80e7||0x0,_0x270880,_0xb069d3,_0x3c8c91]);}catch(_0x7cdc6f){logger[_0x3419e0(0xff)]({'event':_0x3419e0(0x10c),'historyId':_0x3c8c91,'error':_0x7cdc6f['message']},'Failed\x20to\x20update\x20job\x20history\x20(failed):\x20'+_0x7cdc6f['message']);}}async[a0_0x2ea679(0x179)](_0x20ab03,_0x121396){const _0x53164d=a0_0x2ea679,_0x5cccb8={'rWfdc':function(_0x4c50ef,_0xec6646){return _0x4c50ef===_0xec6646;},'AXZuA':_0x53164d(0x11b),'gTxkU':'mysql'},_0x210e56=this[_0x53164d(0x9e)]();if(!_0x210e56)return;const _0x4516c9=this[_0x53164d(0x158)]();try{if(_0x5cccb8[_0x53164d(0x143)](_0x4516c9,_0x5cccb8[_0x53164d(0xc7)]))await _0x210e56[_0x53164d(0x16b)](_0x53164d(0xb4),[_0x121396,_0x20ab03]);else _0x4516c9===_0x5cccb8['gTxkU']?await _0x210e56['executeQuery']('UPDATE\x20job_registry\x20SET\x20last_status\x20=\x20?,\x20last_run_at\x20=\x20NOW()\x20WHERE\x20job_name\x20=\x20?',[_0x121396,_0x20ab03]):await _0x210e56['executeQuery'](_0x53164d(0x188),[_0x121396,_0x20ab03]);}catch(_0x250085){}}async[a0_0x2ea679(0x167)](_0x447c18,_0x1b3fc5,_0x32abda,_0x2792f1){const _0x1b4ede=a0_0x2ea679,_0x6e7ac2={'GtbJH':function(_0x3fe53e,_0x375d96){return _0x3fe53e===_0x375d96;},'dJUAc':_0x1b4ede(0x11b)},_0x2369a6=this[_0x1b4ede(0x9e)]();if(!_0x2369a6)return;const _0x19b99c=this['getDbType'](),_0x2d0543=_0x6e7ac2['GtbJH'](_0x1b3fc5,_0x1b4ede(0x131))?_0x1b4ede(0xe1):_0x1b4ede(0xec);try{if(_0x19b99c===_0x6e7ac2['dJUAc'])await _0x2369a6['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'+_0x2d0543+_0x1b4ede(0x7d)+_0x2d0543+'\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',[_0x1b3fc5,_0x32abda,_0x2792f1,_0x447c18]);else _0x19b99c===_0x1b4ede(0x93)?await _0x2369a6['executeQuery'](_0x1b4ede(0x1a2)+_0x2d0543+_0x1b4ede(0x7d)+_0x2d0543+_0x1b4ede(0x8c),[_0x1b3fc5,_0x32abda,_0x2792f1,_0x447c18]):await _0x2369a6['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'+_0x2d0543+'\x20=\x20'+_0x2d0543+_0x1b4ede(0x89),[_0x1b3fc5,_0x32abda,_0x2792f1,_0x447c18]);}catch(_0xf19458){logger['warn']({'event':_0x1b4ede(0x178),'jobName':_0x447c18,'error':_0xf19458['message']},_0x1b4ede(0x16c)+_0xf19458['message']);}}async['getNextRunFromBullMQ'](_0xedd3a3){const _0x447e6f=a0_0x2ea679,_0x21531f={'AtkUQ':function(_0x5c7e86,_0x25a191){return _0x5c7e86===_0x25a191;},'HRoxp':'default','sfcGQ':_0x447e6f(0x19f)},_0x170f85=this['jobConfigs'][_0xedd3a3];if(!_0x170f85||_0x170f85[_0x447e6f(0x177)]!==_0x447e6f(0xe7)||_0x21531f[_0x447e6f(0x1a0)](_0x170f85['enabled'],![]))return null;const _0x2f9e7b=this['queues'][_0x170f85[_0x447e6f(0xd7)]||_0x21531f['HRoxp']];if(!_0x2f9e7b)return null;try{if(_0x21531f['AtkUQ'](typeof _0x2f9e7b['getJobSchedulers'],_0x21531f['sfcGQ'])){const _0x3cf502=await _0x2f9e7b[_0x447e6f(0x87)](0x0,0x64),_0x599233=_0x3cf502[_0x447e6f(0x18f)](_0x4cb54f=>_0x4cb54f[_0x447e6f(0xb6)]===_0xedd3a3);return _0x599233?.[_0x447e6f(0x13a)]?new Date(_0x599233['next']):null;}}catch(_0x3e4bb5){}return null;}async['setAllJobsOffline'](){const _0x28afe5=a0_0x2ea679,_0x368b28={'YZewx':function(_0x3a4b47,_0x426bd0){return _0x3a4b47===_0x426bd0;},'BIFlB':'mysql'},_0x24207f=this['getDbUtils']();if(!_0x24207f)return;const _0x45170b=this['getDbType']();try{if(_0x45170b==='oracle')await _0x24207f['executeQuery'](_0x28afe5(0x114));else _0x368b28[_0x28afe5(0x82)](_0x45170b,_0x368b28[_0x28afe5(0x1a6)])?await _0x24207f[_0x28afe5(0x16b)]('UPDATE\x20job_registry\x20SET\x20status\x20=\x20\x27offline\x27,\x20next_run_at\x20=\x20NULL'):await _0x24207f['executeQuery']('UPDATE\x20job_registry\x20SET\x20status\x20=\x20\x27offline\x27,\x20next_run_at\x20=\x20NULL,\x20updated_at\x20=\x20NOW()');}catch(_0xe6c396){logger[_0x28afe5(0xff)]({'event':_0x28afe5(0x182),'error':_0xe6c396['message']},'Failed\x20to\x20set\x20jobs\x20offline:\x20'+_0xe6c396['message']);}}['getDbUtils'](){const _0x487b1d=a0_0x2ea679,_0x573057={'Hlgsl':'../../utils/db-oracle','JXzTI':_0x487b1d(0x7c),'HLeHr':function(_0x44ab8d,_0x11044c){return _0x44ab8d===_0x11044c;},'VRVJf':function(_0x29e0b8,_0x453aaf){return _0x29e0b8(_0x453aaf);},'ycMxQ':_0x487b1d(0x12f),'QqatY':'db_mysql_unavailable','XSGVR':'db_pg_unavailable','QRkNl':'PostgreSQL\x20DB\x20module\x20not\x20available'},_0x313e06=(process[_0x487b1d(0x10f)][_0x487b1d(0x161)]||_0x487b1d(0x80))['toLowerCase']();if(_0x313e06===_0x487b1d(0x11b))try{const _0x26b232=require(_0x573057[_0x487b1d(0x136)]);return{'executeQuery':(_0x16315a,_0x1ae4ef)=>_0x26b232[_0x487b1d(0x16b)](_0x16315a,_0x1ae4ef),'executeTransaction':_0x23ad49=>_0x26b232[_0x487b1d(0x97)](_0x23ad49),'getPool':()=>_0x26b232['getPool']()};}catch(_0x38631f){return logger[_0x487b1d(0xff)]({'event':_0x487b1d(0x128)},_0x573057[_0x487b1d(0x12c)]),null;}if(_0x573057[_0x487b1d(0x77)](_0x313e06,_0x487b1d(0x93)))try{const _0x4e9e0b=_0x573057[_0x487b1d(0xf0)](require,_0x573057[_0x487b1d(0xce)]);return{'executeQuery':(_0xdde014,_0x12e082)=>_0x4e9e0b[_0x487b1d(0x16b)](_0xdde014,_0x12e082),'executeTransaction':_0x11fbc5=>_0x4e9e0b[_0x487b1d(0x97)](_0x11fbc5),'getPool':()=>_0x4e9e0b[_0x487b1d(0x108)]()};}catch(_0x3fd097){return logger['warn']({'event':_0x573057['QqatY']},_0x487b1d(0xf4)),null;}try{const _0x29ad32=require('../../utils/db');return{'executeQuery':_0x29ad32['executeQuery'],'executeTransaction':_0x29ad32[_0x487b1d(0x97)],'getPool':_0x29ad32[_0x487b1d(0x108)]};}catch(_0x2ec52d){return logger[_0x487b1d(0xff)]({'event':_0x573057[_0x487b1d(0x155)]},_0x573057['QRkNl']),null;}}[a0_0x2ea679(0x15c)](){const _0x1f2dfa=a0_0x2ea679,_0x1aa0b5={'bYvxP':function(_0x30a0f7,_0x24c76a){return _0x30a0f7(_0x24c76a);}};try{const _0x326be0=_0x1aa0b5['bYvxP'](require,'../../utils/redis-client');return _0x326be0[_0x1f2dfa(0x183)]?_0x326be0['getClient']():_0x326be0;}catch(_0x152e24){return null;}}[a0_0x2ea679(0xaf)](){const _0xdbe6b9=a0_0x2ea679,_0xddac23={'pxlrJ':_0xdbe6b9(0xdd),'PrNLZ':function(_0x5580c0,_0x21042c){return _0x5580c0(_0x21042c);}};try{if(process[_0xdbe6b9(0x10f)][_0xdbe6b9(0x91)]===_0xddac23[_0xdbe6b9(0x1a1)]){const _0x4865c8=_0xddac23['PrNLZ'](require,'../../services/kafkaService');return _0x4865c8['getInstance']?_0x4865c8['getInstance']():_0x4865c8;}}catch(_0x43672f){}return null;}['getCacheManager'](){try{return require('../../utils/cache-manager');}catch(_0x17c4c9){return null;}}async[a0_0x2ea679(0x147)](_0x3f6574,_0x9fa4ed={}){const _0x45b77b=a0_0x2ea679,_0x30710f={'ApMZp':_0x45b77b(0xe0),'mTukw':_0x45b77b(0xc8)},_0x303dec=this['jobConfigs'][_0x3f6574];if(!_0x303dec)throw new Error(_0x45b77b(0xdb)+_0x3f6574);const _0x96af3a=this[_0x45b77b(0xa1)][_0x303dec[_0x45b77b(0xd7)]||_0x45b77b(0x9b)],_0x447592=await _0x96af3a[_0x45b77b(0x88)](_0x3f6574,{..._0x9fa4ed,'handler':_0x303dec['handler'],'triggeredBy':_0x30710f[_0x45b77b(0xc3)]},{'attempts':_0x303dec['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0x303dec['retry']?.[_0x45b77b(0x19c)]||_0x30710f[_0x45b77b(0x16e)],'delay':_0x303dec['retry']?.['initialDelay']||0x1388},'timeout':_0x303dec[_0x45b77b(0x192)]||0x7530});return logger[_0x45b77b(0x86)]({'event':'job_dispatched','jobId':_0x447592['id'],'name':_0x3f6574,'triggeredBy':_0x30710f[_0x45b77b(0xc3)]},'Job\x20dispatched:\x20'+_0x3f6574+_0x45b77b(0x127)+_0x447592['id']+')'),{'jobId':_0x447592['id'],'name':_0x3f6574};}async[a0_0x2ea679(0xd3)](_0x517c86,_0x551346={},_0x24e6e6=0x0){const _0x213161=a0_0x2ea679,_0xec6d50={'sdQju':_0x213161(0x9b),'cLSiQ':_0x213161(0x199),'NiuPA':_0x213161(0x142)},_0x2e395c=this[_0x213161(0xd0)][_0x517c86];if(!_0x2e395c)throw new Error('Job\x20tidak\x20ditemukan:\x20'+_0x517c86);const _0x27b77a=this['queues'][_0x2e395c[_0x213161(0xd7)]||_0xec6d50[_0x213161(0xb2)]],_0x5241e9=await _0x27b77a[_0x213161(0x88)](_0x517c86,{..._0x551346,'handler':_0x2e395c[_0x213161(0x133)],'triggeredBy':_0xec6d50['cLSiQ']},{'delay':_0x24e6e6,'attempts':_0x2e395c['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0x2e395c[_0x213161(0x10a)]?.[_0x213161(0x19c)]||_0x213161(0xc8),'delay':_0x2e395c['retry']?.[_0x213161(0x110)]||0x1388},'timeout':_0x2e395c['timeout']||0x7530});return logger['info']({'event':_0xec6d50[_0x213161(0x17b)],'jobId':_0x5241e9['id'],'name':_0x517c86,'delayMs':_0x24e6e6},'Job\x20dispatched\x20(delayed\x20'+_0x24e6e6+'ms):\x20'+_0x517c86+_0x213161(0x127)+_0x5241e9['id']+')'),{'jobId':_0x5241e9['id'],'name':_0x517c86};}async[a0_0x2ea679(0x12a)](_0x406598){const _0x196130=a0_0x2ea679;for(const _0x3686d1 of Object[_0x196130(0x18a)](this[_0x196130(0xa1)])){const _0x190a66=await _0x3686d1[_0x196130(0x18c)](_0x406598);if(_0x190a66){const _0x29eeee=await _0x190a66[_0x196130(0x191)]();return{'jobId':_0x190a66['id'],'name':_0x190a66[_0x196130(0xb6)],'state':_0x29eeee,'progress':_0x190a66[_0x196130(0x132)],'attemptsMade':_0x190a66['attemptsMade'],'failedReason':_0x190a66[_0x196130(0xbd)],'returnvalue':_0x190a66[_0x196130(0x120)],'data':_0x190a66[_0x196130(0x154)],'timestamps':{'created':_0x190a66['timestamp'],'started':_0x190a66[_0x196130(0xbc)],'completed':_0x190a66['finishedOn']}};}}return null;}[a0_0x2ea679(0x16f)](){const _0xe64521=a0_0x2ea679;return Object['values'](this[_0xe64521(0xd0)])[_0xe64521(0x19b)](_0xf2c2ca=>({'name':_0xf2c2ca['name'],'description':_0xf2c2ca['description']||'','type':_0xf2c2ca['type'],'schedule':_0xf2c2ca[_0xe64521(0x14a)],'handler':_0xf2c2ca[_0xe64521(0x133)],'enabled':_0xf2c2ca[_0xe64521(0x105)]!==![],'queue':_0xf2c2ca[_0xe64521(0xd7)]||_0xe64521(0x9b),'timeout':_0xf2c2ca[_0xe64521(0x192)]||0x7530,'retry':_0xf2c2ca[_0xe64521(0x10a)]||{'maxAttempts':0x3,'backoff':'exponential','initialDelay':0x1388},'metadata':_0xf2c2ca['metadata']||{}}));}async['listRunning'](){const _0x4f997e=a0_0x2ea679,_0x277ee2={'JtSjQ':_0x4f997e(0x14c)},_0x58f0f0=[];for(const [_0x136217,_0xa967e6]of Object[_0x4f997e(0x14f)](this[_0x4f997e(0xa1)])){const _0x47ae9c=await _0xa967e6['getJobs']([_0x277ee2[_0x4f997e(0xba)]]);for(const _0x131b23 of _0x47ae9c){_0x58f0f0['push']({'jobId':_0x131b23['id'],'name':_0x131b23[_0x4f997e(0xb6)],'queue':_0x136217,'progress':_0x131b23['progress'],'attemptsMade':_0x131b23['attemptsMade'],'startedAt':_0x131b23[_0x4f997e(0xbc)]});}}return _0x58f0f0;}async[a0_0x2ea679(0x9d)](_0x152878={}){const _0x5986c5=a0_0x2ea679,_0x19235f={'CKRtw':function(_0x3cbe6a,_0x587471,_0x20a412){return _0x3cbe6a(_0x587471,_0x20a412);},'sJlWo':function(_0x3f5ae7,_0x13fa6e){return _0x3f5ae7*_0x13fa6e;},'UOcDZ':function(_0x5560fe,_0x576c48){return _0x5560fe-_0x576c48;}},_0x34f2b9=_0x19235f[_0x5986c5(0xef)](parseInt,_0x152878['page'],0xa)||0x1,_0x5f4772=Math['min'](parseInt(_0x152878[_0x5986c5(0x13c)],0xa)||0x14,0x64),_0x573520=_0x19235f[_0x5986c5(0x124)](_0x19235f['UOcDZ'](_0x34f2b9,0x1),_0x5f4772),_0x561c4f=_0x573520+_0x5f4772-0x1,_0x1e0c08=[];for(const [_0x4b82a5,_0x15809e]of Object['entries'](this['queues'])){const _0x51f831=await _0x15809e[_0x5986c5(0xd4)](['completed'],_0x573520,_0x561c4f),_0x1e4073=await _0x15809e[_0x5986c5(0xd4)](['failed'],_0x573520,_0x561c4f);for(const _0x470896 of[..._0x51f831,..._0x1e4073]){const _0x183a10=await _0x470896['getState']();_0x1e0c08['push']({'jobId':_0x470896['id'],'name':_0x470896['name'],'state':_0x183a10,'queue':_0x4b82a5,'attemptsMade':_0x470896['attemptsMade'],'failedReason':_0x470896[_0x5986c5(0xbd)],'returnvalue':_0x470896['returnvalue'],'timestamps':{'created':_0x470896['timestamp'],'started':_0x470896['processedOn'],'completed':_0x470896[_0x5986c5(0x96)]}});}}return _0x1e0c08[_0x5986c5(0x7e)]((_0x187cd9,_0x49eb3d)=>(_0x49eb3d['timestamps']['created']||0x0)-(_0x187cd9[_0x5986c5(0x137)][_0x5986c5(0x13e)]||0x0)),{'jobs':_0x1e0c08['slice'](0x0,_0x5f4772),'total':_0x1e0c08['length'],'page':_0x34f2b9,'limit':_0x5f4772};}async['cancelJob'](_0x1b5d59){const _0x41c24a=a0_0x2ea679,_0x3787f9={'uurQx':function(_0x3594ab,_0x14b608){return _0x3594ab===_0x14b608;},'tveou':_0x41c24a(0x14c),'bcFyD':'Job\x20cancelled\x20via\x20API','eXaGJ':'waiting'};for(const _0x53742d of Object[_0x41c24a(0x18a)](this[_0x41c24a(0xa1)])){const _0x42909d=await _0x53742d['getJob'](_0x1b5d59);if(_0x42909d){const _0xabbd84=await _0x42909d['getState']();if(_0x3787f9['uurQx'](_0xabbd84,_0x3787f9[_0x41c24a(0x15a)]))return await _0x42909d['moveToFailed'](new Error(_0x3787f9[_0x41c24a(0x141)]),'api-cancel',!![]),{'success':!![],'message':_0x41c24a(0x150)+_0x1b5d59+_0x41c24a(0xa7)};if(_0xabbd84===_0x3787f9[_0x41c24a(0x15e)]||_0x3787f9['uurQx'](_0xabbd84,'delayed'))return await _0x42909d['remove'](),{'success':!![],'message':'Job\x20'+_0x1b5d59+_0x41c24a(0x153)+_0xabbd84+')'};return{'success':![],'message':_0x41c24a(0x150)+_0x1b5d59+_0x41c24a(0x8b)+_0xabbd84+')'};}}return{'success':![],'message':_0x41c24a(0x150)+_0x1b5d59+_0x41c24a(0xfe)};}async[a0_0x2ea679(0xc2)](){const _0x10520a=a0_0x2ea679,_0x49a443={'qGaHy':_0x10520a(0x14c),'vCrJc':'paused','uAFAn':_0x10520a(0x106)},_0xbb0cee={};for(const [_0x41baec,_0x2ac93d]of Object[_0x10520a(0x14f)](this[_0x10520a(0xa1)])){try{const _0x46c504=await _0x2ac93d['getJobCounts'](_0x49a443['qGaHy'],_0x10520a(0xe2),_0x10520a(0xe6),_0x10520a(0xe3),_0x49a443[_0x10520a(0xa6)],_0x49a443['uAFAn']);_0xbb0cee[_0x41baec]=_0x46c504;}catch(_0x345e9c){_0xbb0cee[_0x41baec]={'error':_0x345e9c['message']};}}const _0x40969c={};for(const [_0x92319,_0x435f25]of Object['entries'](this[_0x10520a(0xd9)])){_0x40969c[_0x92319]={'running':_0x435f25['isRunning'](),'paused':_0x435f25['isPaused']()};}return{'initialized':this[_0x10520a(0x138)],'registeredJobs':Object['keys'](this['jobConfigs'])[_0x10520a(0x149)],'redisConnections':this['connections']['length'],'queues':_0xbb0cee,'workers':_0x40969c};}async[a0_0x2ea679(0xad)](_0x2dcc87,_0x427bbf){const _0x40ea21=a0_0x2ea679,_0x362767={'Rmubf':_0x40ea21(0x95),'MRbAn':function(_0x4c2f19,_0x5f574c){return _0x4c2f19===_0x5f574c;},'KDDkT':function(_0x1ed513){return _0x1ed513();},'RCzaQ':'function','Ilfmk':'onAfterJobComplete','RxTqu':_0x40ea21(0x135),'WHhzI':'Failed\x20to\x20publish\x20JOB_COMPLETED\x20to\x20Kafka'},_0x34c408=logger['child']({'jobId':_0x2dcc87['id'],'jobName':_0x2dcc87[_0x40ea21(0xb6)]});_0x34c408['info']({'event':_0x362767[_0x40ea21(0xa2)],'attemptsMade':_0x2dcc87[_0x40ea21(0x12d)],'duration':_0x2dcc87[_0x40ea21(0x96)]?_0x2dcc87[_0x40ea21(0x96)]-_0x2dcc87[_0x40ea21(0xbc)]:null},'Job\x20completed:\x20'+_0x2dcc87[_0x40ea21(0xb6)]);const _0x634373=this['activeHistoryIds']['get'](_0x2dcc87['id']);if(_0x634373){if(_0x634373[_0x40ea21(0x116)])await _0x634373[_0x40ea21(0x116)];const _0x284762=_0x2dcc87['finishedOn']&&_0x2dcc87['processedOn']?_0x2dcc87['finishedOn']-_0x2dcc87[_0x40ea21(0xbc)]:null,_0x810188=_0x362767[_0x40ea21(0x157)](typeof _0x427bbf,_0x40ea21(0x12b))?_0x427bbf:_0x427bbf?JSON[_0x40ea21(0x13f)](_0x427bbf)['substring'](0x0,0x1f4):null;await this[_0x40ea21(0x17e)](_0x634373['historyId'],_0x284762,_0x810188);const _0x148f1c=await this['getNextRunFromBullMQ'](_0x2dcc87['name']);await this[_0x40ea21(0x167)](_0x2dcc87[_0x40ea21(0xb6)],_0x40ea21(0x131),_0x284762,_0x148f1c),this[_0x40ea21(0xd5)]['delete'](_0x2dcc87['id']);}const _0x1722c6=_0x362767['KDDkT'](getComponentEngine);if(_0x1722c6&&typeof _0x1722c6[_0x40ea21(0x98)]===_0x362767['RCzaQ']){const _0x4d947d={'jobId':_0x2dcc87['id'],'jobName':_0x2dcc87['name'],'result':_0x427bbf,'config':this['jobConfigs'][_0x2dcc87[_0x40ea21(0xb6)]]||{}};_0x1722c6['executeEventHandlers'](_0x362767['Ilfmk'],_0x4d947d,![])[_0x40ea21(0x9a)](_0x92bb06=>{const _0x59ed65=_0x40ea21;_0x34c408[_0x59ed65(0xff)]({'event':'after_job_complete_hook_error','error':_0x92bb06['message']},'onAfterJobComplete\x20handler\x20error\x20(non-blocking)');});}const _0x12f4a0=this['getKafkaService']();if(_0x12f4a0)try{await _0x12f4a0[_0x40ea21(0x17d)]('restforge.jobs.completed','JOB_COMPLETED',null,{'jobId':_0x2dcc87['id'],'name':_0x2dcc87[_0x40ea21(0xb6)],'result':_0x427bbf},{'module':'job-scheduler','endpoint':_0x2dcc87[_0x40ea21(0xb6)]});}catch(_0x3a71e9){_0x34c408[_0x40ea21(0xff)]({'event':_0x362767[_0x40ea21(0xf9)],'error':_0x3a71e9['message']},_0x362767['WHhzI']);}}async[a0_0x2ea679(0xda)](_0x481d98,_0x3ce93b){const _0x1d54d7=a0_0x2ea679,_0x4eac5a={'OCPfM':_0x1d54d7(0x125),'vRGeO':function(_0xbe2c96,_0x2968f7){return _0xbe2c96<_0x2968f7;},'OkbXc':_0x1d54d7(0xe3),'qCOpR':'onAfterJobFailed','JwrLu':'job_kafka_publish_error'},_0x674a83=logger[_0x1d54d7(0xf7)]({'jobId':_0x481d98['id'],'jobName':_0x481d98[_0x1d54d7(0xb6)]});_0x674a83[_0x1d54d7(0xe4)]({'event':_0x1d54d7(0x14b),'attemptsMade':_0x481d98[_0x1d54d7(0x12d)],'failedReason':_0x3ce93b?.[_0x1d54d7(0x17f)],'willRetry':_0x4eac5a['vRGeO'](_0x481d98[_0x1d54d7(0x12d)],this['jobConfigs'][_0x481d98['name']]?.[_0x1d54d7(0x10a)]?.[_0x1d54d7(0x79)]||0x3)},'Job\x20failed:\x20'+_0x481d98['name']+'\x20—\x20'+_0x3ce93b?.[_0x1d54d7(0x17f)]);const _0x41046d=this[_0x1d54d7(0xd5)][_0x1d54d7(0xfb)](_0x481d98['id']);if(_0x41046d){if(_0x41046d[_0x1d54d7(0x116)])await _0x41046d['insertPromise'];const _0x2dd14d=_0x481d98[_0x1d54d7(0x96)]&&_0x481d98[_0x1d54d7(0xbc)]?_0x481d98['finishedOn']-_0x481d98[_0x1d54d7(0xbc)]:null;await this['updateJobHistoryFailed'](_0x41046d[_0x1d54d7(0xea)],_0x2dd14d,_0x481d98[_0x1d54d7(0x132)],_0x3ce93b?.[_0x1d54d7(0x17f)],_0x3ce93b?.[_0x1d54d7(0x1a5)]);const _0x112d02=await this[_0x1d54d7(0x119)](_0x481d98[_0x1d54d7(0xb6)]);await this['updateRegistryCounters'](_0x481d98[_0x1d54d7(0xb6)],_0x4eac5a[_0x1d54d7(0x9f)],_0x2dd14d,_0x112d02),this['activeHistoryIds'][_0x1d54d7(0x78)](_0x481d98['id']);}const _0x4abfcb=getComponentEngine();if(_0x4abfcb&&typeof _0x4abfcb[_0x1d54d7(0x98)]==='function'){const _0x47390f={'jobId':_0x481d98['id'],'jobName':_0x481d98[_0x1d54d7(0xb6)],'error':_0x3ce93b?.['message'],'attemptsMade':_0x481d98['attemptsMade'],'config':this[_0x1d54d7(0xd0)][_0x481d98[_0x1d54d7(0xb6)]]||{}};_0x4abfcb['executeEventHandlers'](_0x4eac5a['qCOpR'],_0x47390f,![])['catch'](_0x4c02a7=>{const _0x5a1a0b=_0x1d54d7;_0x674a83[_0x5a1a0b(0xff)]({'event':_0x4eac5a[_0x5a1a0b(0x123)],'error':_0x4c02a7[_0x5a1a0b(0x17f)]},'onAfterJobFailed\x20handler\x20error\x20(non-blocking)');});}const _0x284771=this[_0x1d54d7(0xaf)]();if(_0x284771)try{await _0x284771['publishEvent']('restforge.jobs.failed','JOB_FAILED',null,{'jobId':_0x481d98['id'],'name':_0x481d98['name'],'error':_0x3ce93b?.['message'],'attemptsMade':_0x481d98[_0x1d54d7(0x12d)]},{'module':'job-scheduler','endpoint':_0x481d98[_0x1d54d7(0xb6)]});}catch(_0x459e10){_0x674a83[_0x1d54d7(0xff)]({'event':_0x4eac5a['JwrLu'],'error':_0x459e10['message']},'Failed\x20to\x20publish\x20JOB_FAILED\x20to\x20Kafka');}}[a0_0x2ea679(0x113)](_0x30b976,_0x1377f0){const _0x139468=a0_0x2ea679;logger['debug']({'event':'job_progress','jobId':_0x30b976['id'],'jobName':_0x30b976['name'],'progress':_0x1377f0},'Job\x20progress:\x20'+_0x30b976[_0x139468(0xb6)]+_0x139468(0x197)+_0x1377f0+'%');}}module[a0_0x2ea679(0xeb)]=new JobManager();
@@ -1 +1 @@
1
- const a0_0x4f1a6f=a0_0x3620;(function(_0x5be445,_0x2b08ed){const _0x3c2a32=a0_0x3620,_0x23164d=_0x5be445();while(!![]){try{const _0x1e5eb5=parseInt(_0x3c2a32(0x164))/0x1+parseInt(_0x3c2a32(0x196))/0x2*(parseInt(_0x3c2a32(0x184))/0x3)+-parseInt(_0x3c2a32(0x15d))/0x4*(parseInt(_0x3c2a32(0x193))/0x5)+-parseInt(_0x3c2a32(0x151))/0x6*(parseInt(_0x3c2a32(0x1b8))/0x7)+-parseInt(_0x3c2a32(0x176))/0x8*(-parseInt(_0x3c2a32(0x1a2))/0x9)+-parseInt(_0x3c2a32(0x1a4))/0xa*(-parseInt(_0x3c2a32(0x194))/0xb)+-parseInt(_0x3c2a32(0x189))/0xc;if(_0x1e5eb5===_0x2b08ed)break;else _0x23164d['push'](_0x23164d['shift']());}catch(_0x1bbb66){_0x23164d['push'](_0x23164d['shift']());}}}(a0_0x33fd,0xe6263));const express=require('express'),{Queue}=require('bullmq'),Redis=require(a0_0x4f1a6f(0x1aa)),{logger}=require('../../utils/logger');function a0_0x33fd(){const _0x315368=['sM9IihrYAwDNzxjLzcb2AweGqvbjoIa','rxjYB3iGz2v0DgLUzYbQB2iGC3rHDhvZ','nxPzq3bSrG','mty1nJeYotjisxzRBhq','sM9Iia','nJKXmZHSA1nfzuy','AgfUzgXLCG','zgLZy29UBMvJDgvK','BMfTzq','yxbP','l3f1zxvLCW','zMLUAxnOzwrpBG','A2v5CW','y3DK','z2v0','BwvZC2fNzq','DgLTzxn0yw1WCW','mtiZmJa1nvzjCvrkEa','wwHhufu','mtbiDhblwhK','Dhfitg0','y3PqyuG','l2nHBMnLBc86AM9Iswq','AM9Ix3n0yxr1C19LCNjVCG','y3jLyxrLza','Aw9YzwrPCW','ruz2D3m','uKvesvnFueftu1DpuKq','z2v0sM9ICW','zxjYB3i','CvfTDvm','uKvesvnFue9sva','DxrMoa','AM9PBG','Bw92zvrVrMfPBgvK','CMy6AM9I','CMv0CNK','AgLNAa','yM9KEq','mJyZndHdBwjoC24','CxvLDwu','zxHWB25LBNrPywW','ywrK','l2HPC3rVCNK','C3rHDhvZ','ufPHuw4','uu1TrNG','mtC1mNvwuuLsDG','ignHBMnLBgXLzcaOD2fZigfJDgL2zsK','rMnVt0O','shnvuM4','rfbirhK','zw52','sM9IignHBMnLBgXLzcb2AweGqvbj','ChvZAa','l3n0yxr1CY86AM9Iswq','ChjVz3jLC3m','ANHZBg0','ANnVBG','nZqXntC2ogj4z1Hcqq','B05IwNe','BfPMC2S','sMrAzue','C29YDa','uM91DgvY','CxvLCNK','mte5nZK5oxDuvNnjEa','zgvMyxvSDa','zw5HyMXLza','rKPZqMW','iIb0AwrHAYbKAxrLBxvRyw4GzgKGA29UzMLNDxjHC2K','l3rYAwDNzxiVoMPVyK5HBwu','uKvesvnFrei','ANzUtNG','AM9ICW','AgDZrxq','D2fPDgLUzW','Dw5OzwfSDgH5','CMvHzgrPCLn5BMm','lMPZB24','z2v0sM9I','z2v0u3rHDgu','BgvUz3rO','AM9Ix3rYAwDNzxjLzf92AwfFyxbP','nZjPy01eywK','AM9Ix2HPC3rVCNLFzxjYB3i','zgf0yq','rxjYB3iGBgLZDgLUzYbQB2jZ','DgLTzw91Da','ihrPzgfRigjPC2eGzgKTy2fUy2vSicHZDgf0ztOG','zgvNCMfKzwq','Cgf0Aa','EhDnsKK','CgfYC2u','icHPzdOG','ywn0AxzL','uhj0r2u','sM9IifjVDxrLCYbszwrPCYbLCNjVCJOG','ntrlB0vnu0i','zgvZy3jPChrPB24','DgLTzxn0yw1W','Aw5PDgLHBerLBgf5','zw50CMLLCW','nZK0ntC2ng5VBNrZwq','DMfSDwvZ','z2v0sM9Iq291BNrZ','Bwv0ywrHDge','zw5KC1DPDgG','svHfwKG','CgfNzq','Cgf1C2vK'];a0_0x33fd=function(){return _0x315368;};return a0_0x33fd();}function a0_0x3620(_0x349116,_0x1864be){_0x349116=_0x349116-0x14a;const _0x33fdff=a0_0x33fd();let _0x3620e6=_0x33fdff[_0x349116];if(a0_0x3620['gkPXLj']===undefined){var _0x2374ad=function(_0xb04766){const _0x21f6e7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5c3b24='',_0x59b93e='';for(let _0x11c892=0x0,_0x107ea9,_0x4c9623,_0x43eb6b=0x0;_0x4c9623=_0xb04766['charAt'](_0x43eb6b++);~_0x4c9623&&(_0x107ea9=_0x11c892%0x4?_0x107ea9*0x40+_0x4c9623:_0x4c9623,_0x11c892++%0x4)?_0x5c3b24+=String['fromCharCode'](0xff&_0x107ea9>>(-0x2*_0x11c892&0x6)):0x0){_0x4c9623=_0x21f6e7['indexOf'](_0x4c9623);}for(let _0x57d6ff=0x0,_0x2a4460=_0x5c3b24['length'];_0x57d6ff<_0x2a4460;_0x57d6ff++){_0x59b93e+='%'+('00'+_0x5c3b24['charCodeAt'](_0x57d6ff)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x59b93e);};a0_0x3620['LlOnew']=_0x2374ad,a0_0x3620['idtJRk']={},a0_0x3620['gkPXLj']=!![];}const _0x165a23=_0x33fdff[0x0],_0x5201ed=_0x349116+_0x165a23,_0x405b07=a0_0x3620['idtJRk'][_0x5201ed];return!_0x405b07?(_0x3620e6=a0_0x3620['LlOnew'](_0x3620e6),a0_0x3620['idtJRk'][_0x5201ed]=_0x3620e6):_0x3620e6=_0x405b07,_0x3620e6;}let readConnection=null,readQueues=null,cachedJobConfigs=null;const QUEUE_NAMES={'high-priority':a0_0x4f1a6f(0x1b6),'default':'default','low-priority':'low'};function getReadQueues(){const _0x21c64b=a0_0x4f1a6f,_0x44c8d8={'oNbZq':'job_routes_redis_error','UmSPz':_0x21c64b(0x1b4),'ChHOg':'localhost','PZaQn':_0x21c64b(0x1ae)};if(readQueues)return readQueues;const _0x5ebb1a=process['env']['JOB_REDIS_PREFIX']||_0x44c8d8['UmSPz'];readConnection=new Redis({'host':process[_0x21c64b(0x156)]['REDIS_HOST']||_0x44c8d8['ChHOg'],'port':parseInt(process['env'][_0x21c64b(0x1b0)],0xa)||0x18ec,'password':process['env'][_0x21c64b(0x1ac)]||undefined,'db':parseInt(process['env'][_0x21c64b(0x16a)],0xa)||0x0,'maxRetriesPerRequest':null}),readConnection['on'](_0x44c8d8[_0x21c64b(0x14f)],_0x49f10d=>{const _0x4f5fb8=_0x21c64b;logger['error']({'event':_0x44c8d8[_0x4f5fb8(0x15e)],'error':_0x49f10d[_0x4f5fb8(0x1a0)]},_0x4f5fb8(0x183)+_0x49f10d['message']);}),readQueues={};for(const [_0xb995d3,_0xea2a57]of Object[_0x21c64b(0x188)](QUEUE_NAMES)){readQueues[_0xb995d3]=new Queue(_0xea2a57,{'connection':readConnection,'prefix':_0x5ebb1a});}return readQueues;}function createJobRoutes(_0x2a28ae){const _0x44dfef=a0_0x4f1a6f,_0x56012f={'WDhnV':'payload','jvnNx':_0x44dfef(0x179),'cMztl':_0x44dfef(0x1a8),'lZfsk':function(_0x90b13b,_0x5938d0){return _0x90b13b(_0x5938d0);},'tqHLm':'path','PrtGe':function(_0x2395f0,_0x4b1108){return _0x2395f0===_0x4b1108;},'QMmFx':_0x44dfef(0x19a),'CVjna':'Error\x20triggering\x20job','YhGPU':function(_0xfb58a9){return _0xfb58a9();},'KLnpU':function(_0x1e4b6a,_0x1c06b3){return _0x1e4b6a===_0x1c06b3;},'DPHDy':_0x44dfef(0x157),'lwKTD':'api-cancel','JdZeA':function(_0x53027d,_0x51795a){return _0x53027d===_0x51795a;},'EFvws':'delayed','lWroC':'job_cancel_error','FcoOJ':function(_0x12b8f6,_0x1aeee6){return _0x12b8f6*_0x1aeee6;},'IXEZH':function(_0x191068,_0x21dc0b){return _0x191068-_0x21dc0b;},'hgsEt':'failed','KiPpH':_0x44dfef(0x177),'FJsBl':_0x44dfef(0x181),'jxslm':_0x44dfef(0x190),'mLbZe':'job_queues_error','xwMJI':'Error\x20getting\x20queue\x20stats','qQmuS':function(_0x5a87f7){return _0x5a87f7();},'KmBaT':_0x44dfef(0x17c),'YHkfm':_0x44dfef(0x198),'HsURn':_0x44dfef(0x16f),'rRlYb':function(_0x52b2f8,_0x218fc4){return _0x52b2f8>_0x218fc4;},'yMMtQ':_0x44dfef(0x159),'bbqVi':_0x44dfef(0x169),'czPaH':_0x44dfef(0x14d),'vxkoM':_0x44dfef(0x19b),'jtcgY':'/health'},_0x34940e=express[_0x44dfef(0x162)]();return _0x2a28ae&&_0x56012f['rRlYb'](Object[_0x44dfef(0x19d)](_0x2a28ae)['length'],0x0)&&(cachedJobConfigs=_0x2a28ae),_0x34940e[_0x44dfef(0x19f)]('/list',(_0xa7a33,_0x30a214)=>{const _0x449fb0=_0x44dfef;try{if(cachedJobConfigs){const _0x4fc5ea=Object[_0x449fb0(0x18a)](cachedJobConfigs)['map'](_0x488615=>({'name':_0x488615[_0x449fb0(0x199)],'description':_0x488615[_0x449fb0(0x185)]||'','type':_0x488615['type'],'schedule':_0x488615['schedule'],'handler':_0x488615[_0x449fb0(0x197)],'enabled':_0x488615[_0x449fb0(0x166)]!==![],'queue':_0x488615[_0x449fb0(0x14a)]||'default','timeout':_0x488615['timeout']||0x7530,'retry':_0x488615['retry']||{'maxAttempts':0x3,'backoff':_0x449fb0(0x14b),'initialDelay':0x1388},'metadata':_0x488615['metadata']||{}}));return _0x30a214[_0x449fb0(0x15c)]({'success':!![],'data':_0x4fc5ea,'total':_0x4fc5ea['length']});}const _0x3bd0c7=require('fs'),_0x4cb721=require(_0x449fb0(0x17d)),_0x3a9819=_0x4cb721[_0x449fb0(0x1b2)](process[_0x449fb0(0x19e)](),_0x56012f['WDhnV'],'jobs');if(!_0x3bd0c7['existsSync'](_0x3a9819))return _0x30a214[_0x449fb0(0x15c)]({'success':!![],'data':[],'total':0x0});const _0x5919f9=_0x3bd0c7['readdirSync'](_0x3a9819)['filter'](_0x5cbf5a=>_0x5cbf5a[_0x449fb0(0x18d)](_0x449fb0(0x171))),_0x2bcdc0=[];for(const _0x9e2519 of _0x5919f9){try{const _0x2e2d49=_0x3bd0c7['readFileSync'](_0x4cb721[_0x449fb0(0x1b2)](_0x3a9819,_0x9e2519),_0x449fb0(0x1b1)),_0x45dc7b=JSON['parse'](_0x2e2d49);_0x2bcdc0[_0x449fb0(0x158)]({'name':_0x45dc7b[_0x449fb0(0x199)],'description':_0x45dc7b['description']||'','type':_0x45dc7b['type'],'schedule':_0x45dc7b['schedule'],'handler':_0x45dc7b['handler'],'enabled':_0x45dc7b[_0x449fb0(0x166)]!==![],'queue':_0x45dc7b[_0x449fb0(0x14a)]||_0x449fb0(0x165),'timeout':_0x45dc7b['timeout']||0x7530,'retry':_0x45dc7b[_0x449fb0(0x1b5)]||{},'metadata':_0x45dc7b[_0x449fb0(0x18c)]||{}});}catch(_0x916b5a){}}_0x30a214['json']({'success':!![],'data':_0x2bcdc0,'total':_0x2bcdc0[_0x449fb0(0x174)]});}catch(_0x4cc5a7){logger['error']({'event':'job_list_error','error':_0x4cc5a7[_0x449fb0(0x1a0)]},_0x56012f[_0x449fb0(0x16b)]),_0x30a214['status'](0x1f4)['json']({'success':![],'error':_0x4cc5a7['message']});}}),_0x34940e['get'](_0x56012f['yMMtQ'],async(_0x378664,_0x4046b5)=>{const _0x15db6f=_0x44dfef;try{const {jobId:_0x17a395}=_0x378664['params'],_0x1f6197=getReadQueues();for(const _0x464a35 of Object[_0x15db6f(0x18a)](_0x1f6197)){const _0x10f3c9=await _0x464a35[_0x15db6f(0x172)](_0x17a395);if(_0x10f3c9){const _0x4aa73f=await _0x10f3c9['getState']();return _0x4046b5[_0x15db6f(0x15c)]({'success':!![],'data':{'jobId':_0x10f3c9['id'],'name':_0x10f3c9[_0x15db6f(0x199)],'state':_0x4aa73f,'progress':_0x10f3c9[_0x15db6f(0x15a)],'attemptsMade':_0x10f3c9['attemptsMade'],'failedReason':_0x10f3c9['failedReason'],'returnvalue':_0x10f3c9['returnvalue'],'data':_0x10f3c9[_0x15db6f(0x178)],'timestamps':{'created':_0x10f3c9[_0x15db6f(0x186)],'started':_0x10f3c9['processedOn'],'completed':_0x10f3c9['finishedOn']}}});}}_0x4046b5['status'](0x194)['json']({'success':![],'error':_0x15db6f(0x195)+_0x17a395+'\x20tidak\x20ditemukan'});}catch(_0x567997){logger['error']({'event':_0x56012f['cMztl'],'error':_0x567997[_0x15db6f(0x1a0)]},_0x15db6f(0x192)),_0x4046b5['status'](0x1f4)[_0x15db6f(0x15c)]({'success':![],'error':_0x567997[_0x15db6f(0x1a0)]});}}),_0x34940e['post'](_0x56012f['bbqVi'],async(_0x5988a0,_0x43e784)=>{const _0x556dbf=_0x44dfef;try{const {jobName:_0x1b53a6}=_0x5988a0['params'],_0x4a5c73=_0x5988a0[_0x556dbf(0x1b7)]||{};let _0x3c615a=cachedJobConfigs?.[_0x1b53a6];if(!_0x3c615a){const _0x5681a0=require('fs'),_0x211300=_0x56012f[_0x556dbf(0x15f)](require,_0x56012f[_0x556dbf(0x1a5)]),_0x19a759=_0x211300[_0x556dbf(0x1b2)](process['cwd'](),_0x56012f['WDhnV'],_0x556dbf(0x16c)),_0x275768=_0x5681a0['existsSync'](_0x19a759)?_0x5681a0[_0x556dbf(0x170)](_0x19a759)['filter'](_0x3291e1=>_0x3291e1[_0x556dbf(0x18d)]('.json')):[];for(const _0x17c18a of _0x275768){try{const _0x286c94=_0x5681a0['readFileSync'](_0x211300['join'](_0x19a759,_0x17c18a),'utf8'),_0x31c8c2=JSON[_0x556dbf(0x17f)](_0x286c94);if(_0x56012f[_0x556dbf(0x182)](_0x31c8c2['name'],_0x1b53a6)){_0x3c615a=_0x31c8c2;break;}}catch(_0x5595b9){}}}if(!_0x3c615a)return _0x43e784[_0x556dbf(0x14e)](0x194)[_0x556dbf(0x15c)]({'success':![],'error':'Job\x20\x22'+_0x1b53a6+_0x556dbf(0x168)});const _0x3fd2ca=getReadQueues(),_0x28a05a=_0x3fd2ca[_0x3c615a[_0x556dbf(0x14a)]||'default'],_0x415fa6=await _0x28a05a[_0x556dbf(0x14c)](_0x1b53a6,{..._0x4a5c73,'handler':_0x3c615a['handler'],'triggeredBy':_0x56012f[_0x556dbf(0x150)]},{'attempts':_0x3c615a['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0x3c615a[_0x556dbf(0x1b5)]?.['backoff']||_0x556dbf(0x14b),'delay':_0x3c615a[_0x556dbf(0x1b5)]?.[_0x556dbf(0x187)]||0x1388},'timeout':_0x3c615a[_0x556dbf(0x17a)]||0x7530});logger['info']({'event':_0x556dbf(0x175),'jobId':_0x415fa6['id'],'name':_0x1b53a6},_0x556dbf(0x191)+_0x1b53a6+_0x556dbf(0x180)+_0x415fa6['id']+')'),_0x43e784[_0x556dbf(0x15c)]({'success':!![],'jobId':_0x415fa6['id'],'message':_0x556dbf(0x195)+_0x1b53a6+'\x20berhasil\x20di-trigger'});}catch(_0x13238c){logger['error']({'event':'job_trigger_error','error':_0x13238c['message']},_0x56012f['CVjna']),_0x43e784[_0x556dbf(0x14e)](0x1f4)[_0x556dbf(0x15c)]({'success':![],'error':_0x13238c[_0x556dbf(0x1a0)]});}}),_0x34940e['post'](_0x44dfef(0x1a7),async(_0x4b1492,_0x1495be)=>{const _0x2842cd=_0x44dfef;try{const {jobId:_0x4599fc}=_0x4b1492['params'],_0x23bd41=_0x56012f[_0x2842cd(0x1a3)](getReadQueues);for(const _0x2f8e9a of Object[_0x2842cd(0x18a)](_0x23bd41)){const _0x4c8806=await _0x2f8e9a[_0x2842cd(0x172)](_0x4599fc);if(_0x4c8806){const _0x328950=await _0x4c8806[_0x2842cd(0x173)]();if(_0x56012f['KLnpU'](_0x328950,_0x2842cd(0x181)))return await _0x4c8806[_0x2842cd(0x1b3)](new Error(_0x56012f[_0x2842cd(0x155)]),_0x56012f['lwKTD'],!![]),_0x1495be[_0x2842cd(0x15c)]({'success':!![],'message':_0x2842cd(0x195)+_0x4599fc+_0x2842cd(0x152)});if(_0x56012f[_0x2842cd(0x160)](_0x328950,'waiting')||_0x328950===_0x56012f['EFvws'])return await _0x4c8806['remove'](),_0x1495be['json']({'success':!![],'message':_0x2842cd(0x195)+_0x4599fc+'\x20removed\x20(was\x20'+_0x328950+')'});return _0x1495be['json']({'success':![],'message':_0x2842cd(0x195)+_0x4599fc+_0x2842cd(0x17b)+_0x328950+')'});}}_0x1495be['status'](0x194)[_0x2842cd(0x15c)]({'success':![],'error':'Job\x20'+_0x4599fc+'\x20tidak\x20ditemukan'});}catch(_0x3ac2af){logger[_0x2842cd(0x1ae)]({'event':_0x56012f['lWroC'],'error':_0x3ac2af[_0x2842cd(0x1a0)]},'Error\x20cancelling\x20job'),_0x1495be['status'](0x1f4)[_0x2842cd(0x15c)]({'success':![],'error':_0x3ac2af['message']});}}),_0x34940e['get'](_0x56012f[_0x44dfef(0x1a6)],async(_0x1099fa,_0x3413ee)=>{const _0x38a493=_0x44dfef;try{const _0xa49413=parseInt(_0x1099fa[_0x38a493(0x163)][_0x38a493(0x18f)],0xa)||0x1,_0x4f6c68=Math['min'](parseInt(_0x1099fa[_0x38a493(0x163)]['limit'],0xa)||0x14,0x64),_0xd377d6=_0x56012f[_0x38a493(0x153)](_0xa49413-0x1,_0x4f6c68),_0x4d1b45=_0x56012f[_0x38a493(0x18e)](_0xd377d6+_0x4f6c68,0x1),_0x10cadb=getReadQueues(),_0x330a9b=[];for(const [_0x3e07d3,_0x3d003a]of Object[_0x38a493(0x188)](_0x10cadb)){const _0x146334=await _0x3d003a[_0x38a493(0x1ad)](['completed'],_0xd377d6,_0x4d1b45),_0x359d55=await _0x3d003a['getJobs']([_0x56012f[_0x38a493(0x16d)]],_0xd377d6,_0x4d1b45);for(const _0x1c0b7c of[..._0x146334,..._0x359d55]){const _0x280476=await _0x1c0b7c['getState']();_0x330a9b[_0x38a493(0x158)]({'jobId':_0x1c0b7c['id'],'name':_0x1c0b7c['name'],'state':_0x280476,'queue':_0x3e07d3,'attemptsMade':_0x1c0b7c['attemptsMade'],'failedReason':_0x1c0b7c['failedReason'],'returnvalue':_0x1c0b7c['returnvalue'],'timestamps':{'created':_0x1c0b7c['timestamp'],'started':_0x1c0b7c['processedOn'],'completed':_0x1c0b7c[_0x38a493(0x19c)]}});}}_0x330a9b[_0x38a493(0x161)]((_0x3e6986,_0x434e1a)=>(_0x434e1a[_0x38a493(0x1a1)][_0x38a493(0x1a9)]||0x0)-(_0x3e6986[_0x38a493(0x1a1)]['created']||0x0)),_0x3413ee['json']({'success':!![],'data':_0x330a9b['slice'](0x0,_0x4f6c68),'total':_0x330a9b['length'],'page':_0xa49413,'limit':_0x4f6c68});}catch(_0x4757e0){logger[_0x38a493(0x1ae)]({'event':_0x56012f['KiPpH'],'error':_0x4757e0['message']},'Error\x20getting\x20job\x20history'),_0x3413ee['status'](0x1f4)[_0x38a493(0x15c)]({'success':![],'error':_0x4757e0[_0x38a493(0x1a0)]});}}),_0x34940e[_0x44dfef(0x19f)](_0x56012f['vxkoM'],async(_0x374c60,_0x308901)=>{const _0x1a9a69=_0x44dfef;try{const _0x1f1f1c=_0x56012f['YhGPU'](getReadQueues),_0x4c8525={};for(const [_0x520840,_0x39ffa3]of Object['entries'](_0x1f1f1c)){try{const _0x426830=await _0x39ffa3[_0x1a9a69(0x18b)](_0x56012f[_0x1a9a69(0x167)],'completed',_0x56012f[_0x1a9a69(0x1ab)],'failed',_0x56012f[_0x1a9a69(0x15b)],_0x1a9a69(0x16e));_0x4c8525[_0x520840]=_0x426830;}catch(_0x44598f){_0x4c8525[_0x520840]={'error':_0x44598f['message']};}}_0x308901[_0x1a9a69(0x15c)]({'success':!![],'data':_0x4c8525});}catch(_0x288b37){logger[_0x1a9a69(0x1ae)]({'event':_0x56012f['mLbZe'],'error':_0x288b37[_0x1a9a69(0x1a0)]},_0x56012f[_0x1a9a69(0x17e)]),_0x308901['status'](0x1f4)['json']({'success':![],'error':_0x288b37['message']});}}),_0x34940e[_0x44dfef(0x19f)](_0x56012f['jtcgY'],async(_0x569eb4,_0x2a3387)=>{const _0x16c66d=_0x44dfef;try{const _0x29a40b=_0x56012f[_0x16c66d(0x1af)](getReadQueues),_0x15fb44={};let _0x592b19=![];for(const [_0x3491df,_0x50a7c5]of Object[_0x16c66d(0x188)](_0x29a40b)){try{const _0x40bfc4=await _0x50a7c5[_0x16c66d(0x18b)](_0x16c66d(0x181),_0x16c66d(0x16e),_0x56012f['hgsEt']);_0x15fb44[_0x3491df]=_0x40bfc4,_0x592b19=!![];}catch(_0x2fcf97){_0x15fb44[_0x3491df]={'error':_0x2fcf97[_0x16c66d(0x1a0)]};}}let _0x392acb=0x0;cachedJobConfigs&&(_0x392acb=Object['keys'](cachedJobConfigs)['length']),_0x2a3387['json']({'success':!![],'data':{'status':_0x592b19?'healthy':_0x56012f['KmBaT'],'redis':_0x592b19?'connected':_0x56012f['YHkfm'],'registeredJobs':_0x392acb,'queues':_0x15fb44}});}catch(_0x3c3ad3){_0x2a3387['status'](0x1f7)[_0x16c66d(0x15c)]({'success':![],'data':{'status':_0x56012f[_0x16c66d(0x154)],'error':_0x3c3ad3[_0x16c66d(0x1a0)]}});}}),_0x34940e;}module['exports']=createJobRoutes;
1
+ const a0_0x5ae7aa=a0_0x4da8;(function(_0x3aeb95,_0xfb15b3){const _0x2298c8=a0_0x4da8,_0x515784=_0x3aeb95();while(!![]){try{const _0x3f3b0d=parseInt(_0x2298c8(0x114))/0x1*(-parseInt(_0x2298c8(0x10c))/0x2)+-parseInt(_0x2298c8(0xba))/0x3*(-parseInt(_0x2298c8(0xf4))/0x4)+-parseInt(_0x2298c8(0xfd))/0x5*(-parseInt(_0x2298c8(0xf3))/0x6)+parseInt(_0x2298c8(0xc8))/0x7+-parseInt(_0x2298c8(0xef))/0x8+-parseInt(_0x2298c8(0xe9))/0x9+parseInt(_0x2298c8(0xeb))/0xa;if(_0x3f3b0d===_0xfb15b3)break;else _0x515784['push'](_0x515784['shift']());}catch(_0x52aa53){_0x515784['push'](_0x515784['shift']());}}}(a0_0x17fa,0xb17eb));const express=require('express'),{Queue}=require(a0_0x5ae7aa(0xca)),Redis=require(a0_0x5ae7aa(0x104)),{logger}=require(a0_0x5ae7aa(0xe1));let readConnection=null,readQueues=null,cachedJobConfigs=null;const QUEUE_NAMES={'high-priority':a0_0x5ae7aa(0xbb),'default':a0_0x5ae7aa(0x113),'low-priority':'low'};function getReadQueues(){const _0x3de9c6=a0_0x5ae7aa,_0x91024={'UlJjV':_0x3de9c6(0xd3),'fKaLw':'localhost','xbjdm':function(_0x5dfc19,_0x25a25c,_0x4a46ce){return _0x5dfc19(_0x25a25c,_0x4a46ce);}};if(readQueues)return readQueues;const _0x4712bd=process['env']['JOB_REDIS_PREFIX']||_0x3de9c6(0x126);readConnection=new Redis({'host':process['env'][_0x3de9c6(0xe3)]||_0x91024['fKaLw'],'port':parseInt(process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process['env'][_0x3de9c6(0x107)]||undefined,'db':_0x91024[_0x3de9c6(0xbe)](parseInt,process[_0x3de9c6(0xfb)]['REDIS_DB'],0xa)||0x0,'maxRetriesPerRequest':null}),readConnection['on'](_0x3de9c6(0xed),_0x4fcb21=>{const _0x3ba662=_0x3de9c6;logger['error']({'event':_0x91024[_0x3ba662(0xd6)],'error':_0x4fcb21['message']},_0x3ba662(0xf5)+_0x4fcb21[_0x3ba662(0xc7)]);}),readQueues={};for(const [_0x2f6f0a,_0x14b898]of Object['entries'](QUEUE_NAMES)){readQueues[_0x2f6f0a]=new Queue(_0x14b898,{'connection':readConnection,'prefix':_0x4712bd});}return readQueues;}function a0_0x17fa(){const _0x3d8428=['zxHPC3rZu3LUyW','r0XiBfe','DgLTzxn0yw1W','y3DZBfK','uKrvsgC','CMvHzezPBgvtEw5J','rxjYB3iGz2v0DgLUzYbQB2iGAgLZDg9YEq','uLrjD1y','DhLWzq','AM9Ix3rYAwDNzxjLzf92AwfFyxbP','ywrK','CMy6AM9I','rxjYB3iGz2v0DgLUzYbQB2iGC3rHDhvZ','Cgf0Aa','igjLCMHHC2LSigrPlxrYAwDNzxi','z0LHA1K','BwfW','mJeZDNjhAwzi','AgLNAa','zw5KC1DPDgG','AM9Ix3n0yxr1C19LCNjVCG','EgjQzg0','AM9ICW','CgfNzq','z2rdCgm','z2v0','yLv2AMy','t0TSu1m','Bwv0ywrHDge','Aw5PDgLHBerLBgf5','BwvZC2fNzq','mtq5mZu0mvrsAKv6yW','ChjVy2vZC2vKt24','yNvSBg1X','ihrPzgfRigrPDgvTDwTHBG','y29UBMvJDgvK','BwLU','l3rYAwDNzxiVoMPVyK5HBwu','zMfPBgvK','AM9Ix3f1zxvLC19LCNjVCG','Cgf1C2vK','yxr0zw1WDhnnywrL','AM9Ix3jVDxrLC19YzwrPC19LCNjVCG','vwXyrgS','CgfYC2u','vwXkALy','C2nOzwr1Bgu','qMvNwKO','zMLUAxnOzwrpBG','zgvSyxLLza','BMfTzq','sM9Iici','l2HLywX0Aa','BgvUz3rO','Cxnnq00','C2XPy2u','lI4VlI4VDxrPBhmVBg9Nz2vY','ANnVBG','uKvesvnFse9tva','Ce5qrwG','DgLTzw91Da','sM9Iia','z2v0sM9Iq291BNrZ','rxjYB3iGDhjPz2DLCMLUzYbQB2i','mJKZmZi1m0f6we9lDW','yxbPlwnHBMnLBa','odqXotbtD2Tvthu','uM1wB0C','zxjYB3i','yxbP','mtuWmZy3mLDOruTXwG','zMLSDgvY','AKHWCuy','zxHWB25LBNrPywW','mtqWng5TzxLirW','mZi4ntjZz3nfrgi','sM9IifjVDxrLCYbszwrPCYbLCNjVCJOG','ignHBMnLBgXLzcaOD2fZigfJDgL2zsK','DMfSDwvZ','D2fPDgLUzW','AgvHBhrOEq','yM9KEq','zw52','z2v0u3rHDgu','mtuXmtvZC0fmAvG','zK1uq1y','CMvHzgrPCLn5BMm','vu9pvMy','CMv0CNK','l2nHBMnLBc86AM9Iswq','AM9Ix2HPC3rVCNLFzxjYB3i','Aw9YzwrPCW','y3DK','zMfPBgvKuMvHC29U','uKvesvnFueftu1DpuKq','C29YDa','l3f1zxvLCW','Cgf5Bg9Hza','ihjLBw92zwqGkhDHCYa','nduYmZjHD3L4sgm','y29TCgXLDgvK','CxvLCNK','BgLTAxq','l2XPC3q','Cg9ZDa','Aw5MBW','zgvMyxvSDa','mtjlrfPqD1e','zw50CMLLCW','z2v0sM9I','CgfYyw1Z','C3rHDhvZ','ChvZAa','z2v0sM9ICW'];a0_0x17fa=function(){return _0x3d8428;};return a0_0x17fa();}function createJobRoutes(_0x143b02){const _0x42a415=a0_0x5ae7aa,_0x45fe1a={'eMYjM':function(_0x47f74d,_0x230436){return _0x47f74d(_0x230436);},'cwslY':_0x42a415(0xb6),'sTqkO':_0x42a415(0xbf),'RTIwV':'utf8','jcsvf':function(_0x533892,_0x2f5d04){return _0x533892!==_0x2f5d04;},'BegZJ':'default','GLHlQ':'Error\x20listing\x20jobs','cJGml':function(_0x40ec7e,_0x2dbf9b){return _0x40ec7e(_0x2dbf9b);},'EQPey':_0x42a415(0xee),'ZLeAV':'job_trigger_error','gdCpc':_0x42a415(0xe8),'TdwNl':function(_0xbfbce5,_0x30e745){return _0xbfbce5===_0x30e745;},'pNPEh':'active','UtkdO':'Job\x20cancelled\x20via\x20API','OKlSS':function(_0xb296a2,_0x141354){return _0xb296a2===_0x141354;},'jHpqF':_0x42a415(0xf8),'TLRrl':'delayed','dSrkH':'Error\x20cancelling\x20job','UlXDk':function(_0x523af,_0x597567,_0x5a9b3a){return _0x523af(_0x597567,_0x5a9b3a);},'bUvjf':function(_0x12502f,_0x139301){return _0x12502f*_0x139301;},'AuPMH':function(_0x140fb6,_0x14c1c3){return _0x140fb6-_0x14c1c3;},'UOOVf':_0x42a415(0xcf),'quqKA':_0x42a415(0x121),'RmVoG':_0x42a415(0xd1),'fMTCV':_0x42a415(0xd0),'RDUHg':'degraded','qsMCM':'disconnected','JakwK':'unhealthy','gIakY':function(_0x3ddb2a,_0x41b075){return _0x3ddb2a>_0x41b075;},'RraQn':_0x42a415(0xce),'GwuMy':_0x42a415(0x102),'LQieA':_0x42a415(0x109),'jTeya':_0x42a415(0xdd)},_0x14a4a8=express['Router']();return _0x143b02&&_0x45fe1a[_0x42a415(0xb8)](Object['keys'](_0x143b02)['length'],0x0)&&(cachedJobConfigs=_0x143b02),_0x14a4a8['get'](_0x42a415(0x110),(_0x4e6603,_0x2ed00a)=>{const _0x537d84=_0x42a415;try{if(cachedJobConfigs){const _0x3ca820=Object[_0x537d84(0xf7)](cachedJobConfigs)[_0x537d84(0xb9)](_0x28519e=>({'name':_0x28519e['name'],'description':_0x28519e['description']||'','type':_0x28519e['type'],'schedule':_0x28519e['schedule'],'handler':_0x28519e['handler'],'enabled':_0x28519e['enabled']!==![],'queue':_0x28519e['queue']||'default','timeout':_0x28519e[_0x537d84(0xe5)]||0x7530,'retry':_0x28519e[_0x537d84(0x101)]||{'maxAttempts':0x3,'backoff':_0x537d84(0xf2),'initialDelay':0x1388},'metadata':_0x28519e[_0x537d84(0xc5)]||{}}));return _0x2ed00a[_0x537d84(0xe2)]({'success':!![],'data':_0x3ca820,'total':_0x3ca820['length']});}const _0x51239e=_0x45fe1a['eMYjM'](require,'fs'),_0x5e1ca2=require(_0x45fe1a[_0x537d84(0x11e)]),_0x5b0e1c=_0x5e1ca2['join'](process[_0x537d84(0x105)](),'payload',_0x45fe1a['sTqkO']);if(!_0x51239e[_0x537d84(0x11b)](_0x5b0e1c))return _0x2ed00a['json']({'success':!![],'data':[],'total':0x0});const _0x15379e=_0x51239e[_0x537d84(0xff)](_0x5b0e1c)['filter'](_0x16bd98=>_0x16bd98['endsWith']('.json')),_0x2f3a2c=[];for(const _0x552060 of _0x15379e){try{const _0xea879c=_0x51239e[_0x537d84(0x120)](_0x5e1ca2['join'](_0x5b0e1c,_0x552060),_0x45fe1a['RTIwV']),_0x55eeab=JSON[_0x537d84(0xd5)](_0xea879c);_0x2f3a2c[_0x537d84(0x119)]({'name':_0x55eeab['name'],'description':_0x55eeab['description']||'','type':_0x55eeab[_0x537d84(0x123)],'schedule':_0x55eeab[_0x537d84(0xd7)],'handler':_0x55eeab['handler'],'enabled':_0x45fe1a['jcsvf'](_0x55eeab['enabled'],![]),'queue':_0x55eeab['queue']||_0x45fe1a[_0x537d84(0xd8)],'timeout':_0x55eeab[_0x537d84(0xe5)]||0x7530,'retry':_0x55eeab[_0x537d84(0x101)]||{},'metadata':_0x55eeab[_0x537d84(0xc5)]||{}});}catch(_0x430952){}}_0x2ed00a[_0x537d84(0xe2)]({'success':!![],'data':_0x2f3a2c,'total':_0x2f3a2c[_0x537d84(0xde)]});}catch(_0xa14eec){logger['error']({'event':'job_list_error','error':_0xa14eec['message']},_0x45fe1a[_0x537d84(0x11c)]),_0x2ed00a[_0x537d84(0x118)](0x1f4)[_0x537d84(0xe2)]({'success':![],'error':_0xa14eec[_0x537d84(0xc7)]});}}),_0x14a4a8[_0x42a415(0xc2)]('/status/:jobId',async(_0x3a989d,_0x5a95bf)=>{const _0x18f892=_0x42a415;try{const {jobId:_0x269e02}=_0x3a989d[_0x18f892(0x117)],_0x438f5a=getReadQueues();for(const _0x5614bc of Object['values'](_0x438f5a)){const _0x2aa892=await _0x5614bc[_0x18f892(0x116)](_0x269e02);if(_0x2aa892){const _0x3a31b9=await _0x2aa892[_0x18f892(0xfc)]();return _0x5a95bf['json']({'success':!![],'data':{'jobId':_0x2aa892['id'],'name':_0x2aa892[_0x18f892(0xdb)],'state':_0x3a31b9,'progress':_0x2aa892['progress'],'attemptsMade':_0x2aa892[_0x18f892(0xd2)],'failedReason':_0x2aa892['failedReason'],'returnvalue':_0x2aa892['returnvalue'],'data':_0x2aa892['data'],'timestamps':{'created':_0x2aa892[_0x18f892(0x11d)],'started':_0x2aa892[_0x18f892(0xc9)],'completed':_0x2aa892[_0x18f892(0xd9)]}}});}}_0x5a95bf[_0x18f892(0x118)](0x194)['json']({'success':![],'error':_0x18f892(0xe6)+_0x269e02+_0x18f892(0xcb)});}catch(_0x4f4eee){logger['error']({'event':_0x18f892(0xbd),'error':_0x4f4eee[_0x18f892(0xc7)]},_0x18f892(0x127)),_0x5a95bf[_0x18f892(0x118)](0x1f4)[_0x18f892(0xe2)]({'success':![],'error':_0x4f4eee['message']});}}),_0x14a4a8['post'](_0x45fe1a['RraQn'],async(_0x4f05c2,_0x14408e)=>{const _0x4f5a12=_0x42a415;try{const {jobName:_0x34adae}=_0x4f05c2[_0x4f5a12(0x117)],_0xb27664=_0x4f05c2[_0x4f5a12(0xfa)]||{};let _0x53dbc1=cachedJobConfigs?.[_0x34adae];if(!_0x53dbc1){const _0x24fd42=_0x45fe1a['cJGml'](require,'fs'),_0x40f8cc=require(_0x45fe1a[_0x4f5a12(0x11e)]),_0x5f44a0=_0x40f8cc['join'](process['cwd'](),_0x4f5a12(0x10a),_0x45fe1a['sTqkO']),_0x12f253=_0x24fd42[_0x4f5a12(0x11b)](_0x5f44a0)?_0x24fd42[_0x4f5a12(0xff)](_0x5f44a0)[_0x4f5a12(0xf0)](_0x131e93=>_0x131e93[_0x4f5a12(0xbc)]('.json')):[];for(const _0x116ff7 of _0x12f253){try{const _0x4bd783=_0x24fd42['readFileSync'](_0x40f8cc['join'](_0x5f44a0,_0x116ff7),_0x45fe1a[_0x4f5a12(0x122)]),_0x1da68c=JSON['parse'](_0x4bd783);if(_0x1da68c['name']===_0x34adae){_0x53dbc1=_0x1da68c;break;}}catch(_0x2c3feb){}}}if(!_0x53dbc1)return _0x14408e[_0x4f5a12(0x118)](0x194)[_0x4f5a12(0xe2)]({'success':![],'error':_0x4f5a12(0xdc)+_0x34adae+'\x22\x20tidak\x20ditemukan\x20di\x20konfigurasi'});const _0x48f6dc=getReadQueues(),_0x448d18=_0x48f6dc[_0x53dbc1['queue']||_0x45fe1a['BegZJ']],_0x242d1a=await _0x448d18[_0x4f5a12(0x125)](_0x34adae,{..._0xb27664,'handler':_0x53dbc1['handler'],'triggeredBy':_0x45fe1a['EQPey']},{'attempts':_0x53dbc1[_0x4f5a12(0x101)]?.['maxAttempts']||0x3,'backoff':{'type':_0x53dbc1[_0x4f5a12(0x101)]?.['backoff']||_0x4f5a12(0xf2),'delay':_0x53dbc1[_0x4f5a12(0x101)]?.[_0x4f5a12(0xc6)]||0x1388},'timeout':_0x53dbc1[_0x4f5a12(0xe5)]||0x7530});logger[_0x4f5a12(0x112)]({'event':_0x4f5a12(0x124),'jobId':_0x242d1a['id'],'name':_0x34adae},'Job\x20triggered\x20via\x20API:\x20'+_0x34adae+'\x20(id:\x20'+_0x242d1a['id']+')'),_0x14408e['json']({'success':!![],'jobId':_0x242d1a['id'],'message':_0x4f5a12(0xe6)+_0x34adae+_0x4f5a12(0xb7)});}catch(_0x2ae80b){logger['error']({'event':_0x45fe1a['ZLeAV'],'error':_0x2ae80b[_0x4f5a12(0xc7)]},_0x45fe1a[_0x4f5a12(0xc1)]),_0x14408e['status'](0x1f4)[_0x4f5a12(0xe2)]({'success':![],'error':_0x2ae80b['message']});}}),_0x14a4a8[_0x42a415(0x111)](_0x45fe1a['GwuMy'],async(_0x5a35e1,_0x5bb118)=>{const _0x324396=_0x42a415;try{const {jobId:_0x5e6a73}=_0x5a35e1['params'],_0x39b77f=getReadQueues();for(const _0x446da7 of Object[_0x324396(0xf7)](_0x39b77f)){const _0x51c6e4=await _0x446da7['getJob'](_0x5e6a73);if(_0x51c6e4){const _0x4e0e51=await _0x51c6e4[_0x324396(0xfc)]();if(_0x45fe1a['TdwNl'](_0x4e0e51,_0x45fe1a[_0x324396(0xe4)]))return await _0x51c6e4['moveToFailed'](new Error(_0x45fe1a['UtkdO']),_0x324396(0xea),!![]),_0x5bb118['json']({'success':!![],'message':_0x324396(0xe6)+_0x5e6a73+_0x324396(0xf6)});if(_0x45fe1a[_0x324396(0xc4)](_0x4e0e51,_0x45fe1a[_0x324396(0xf1)])||_0x45fe1a['OKlSS'](_0x4e0e51,_0x45fe1a['TLRrl']))return await _0x51c6e4['remove'](),_0x5bb118['json']({'success':!![],'message':_0x324396(0xe6)+_0x5e6a73+_0x324396(0x10b)+_0x4e0e51+')'});return _0x5bb118[_0x324396(0xe2)]({'success':![],'message':_0x324396(0xe6)+_0x5e6a73+'\x20tidak\x20bisa\x20di-cancel\x20(state:\x20'+_0x4e0e51+')'});}}_0x5bb118[_0x324396(0x118)](0x194)['json']({'success':![],'error':'Job\x20'+_0x5e6a73+'\x20tidak\x20ditemukan'});}catch(_0x2a4f05){logger['error']({'event':'job_cancel_error','error':_0x2a4f05['message']},_0x45fe1a['dSrkH']),_0x5bb118['status'](0x1f4)['json']({'success':![],'error':_0x2a4f05['message']});}}),_0x14a4a8[_0x42a415(0xc2)]('/history',async(_0xd69c75,_0x3489d6)=>{const _0x4f3455=_0x42a415;try{const _0x160b98=_0x45fe1a[_0x4f3455(0xd4)](parseInt,_0xd69c75[_0x4f3455(0x10e)][_0x4f3455(0xc0)],0xa)||0x1,_0x48ce7d=Math[_0x4f3455(0xcd)](_0x45fe1a[_0x4f3455(0xd4)](parseInt,_0xd69c75[_0x4f3455(0x10e)][_0x4f3455(0x10f)],0xa)||0x14,0x64),_0xc0e29d=_0x45fe1a[_0x4f3455(0xc3)](_0x160b98-0x1,_0x48ce7d),_0x48403c=_0x45fe1a['AuPMH'](_0xc0e29d+_0x48ce7d,0x1),_0x244842=getReadQueues(),_0x14d458=[];for(const [_0x3632ab,_0x4cedf1]of Object[_0x4f3455(0x115)](_0x244842)){const _0x9a8cf2=await _0x4cedf1[_0x4f3455(0x11a)](['completed'],_0xc0e29d,_0x48403c),_0x566b7f=await _0x4cedf1['getJobs']([_0x45fe1a[_0x4f3455(0x100)]],_0xc0e29d,_0x48403c);for(const _0xbdfd3a of[..._0x9a8cf2,..._0x566b7f]){const _0x5d1fe3=await _0xbdfd3a['getState']();_0x14d458['push']({'jobId':_0xbdfd3a['id'],'name':_0xbdfd3a[_0x4f3455(0xdb)],'state':_0x5d1fe3,'queue':_0x3632ab,'attemptsMade':_0xbdfd3a['attemptsMade'],'failedReason':_0xbdfd3a[_0x4f3455(0x106)],'returnvalue':_0xbdfd3a['returnvalue'],'timestamps':{'created':_0xbdfd3a['timestamp'],'started':_0xbdfd3a['processedOn'],'completed':_0xbdfd3a['finishedOn']}});}}_0x14d458[_0x4f3455(0x108)]((_0x5a7f5d,_0x126de5)=>(_0x126de5['timestamps']['created']||0x0)-(_0x5a7f5d['timestamps']['created']||0x0)),_0x3489d6['json']({'success':!![],'data':_0x14d458[_0x4f3455(0xe0)](0x0,_0x48ce7d),'total':_0x14d458[_0x4f3455(0xde)],'page':_0x160b98,'limit':_0x48ce7d});}catch(_0x263689){logger[_0x4f3455(0xed)]({'event':_0x4f3455(0x103),'error':_0x263689[_0x4f3455(0xc7)]},_0x45fe1a['quqKA']),_0x3489d6['status'](0x1f4)['json']({'success':![],'error':_0x263689['message']});}}),_0x14a4a8[_0x42a415(0xc2)](_0x45fe1a['LQieA'],async(_0x582a2f,_0x31d0c7)=>{const _0x2de59f=_0x42a415;try{const _0x12c06=getReadQueues(),_0xf8f260={};for(const [_0x588765,_0x5a8211]of Object[_0x2de59f(0x115)](_0x12c06)){try{const _0x3675d0=await _0x5a8211[_0x2de59f(0xe7)](_0x45fe1a[_0x2de59f(0xe4)],_0x2de59f(0x10d),_0x2de59f(0xda),'failed',_0x45fe1a[_0x2de59f(0xec)],_0x2de59f(0xf8));_0xf8f260[_0x588765]=_0x3675d0;}catch(_0x2d97f9){_0xf8f260[_0x588765]={'error':_0x2d97f9['message']};}}_0x31d0c7['json']({'success':!![],'data':_0xf8f260});}catch(_0x49be53){logger['error']({'event':_0x45fe1a[_0x2de59f(0xfe)],'error':_0x49be53[_0x2de59f(0xc7)]},'Error\x20getting\x20queue\x20stats'),_0x31d0c7['status'](0x1f4)['json']({'success':![],'error':_0x49be53[_0x2de59f(0xc7)]});}}),_0x14a4a8['get'](_0x45fe1a['jTeya'],async(_0x89a295,_0x4d2942)=>{const _0xea7249=_0x42a415;try{const _0x1aa874=getReadQueues(),_0x486f75={};let _0x8c9d25=![];for(const [_0x325115,_0x58223e]of Object['entries'](_0x1aa874)){try{const _0x24a9b6=await _0x58223e['getJobCounts']('active',_0xea7249(0xf8),_0xea7249(0xcf));_0x486f75[_0x325115]=_0x24a9b6,_0x8c9d25=!![];}catch(_0x210196){_0x486f75[_0x325115]={'error':_0x210196[_0xea7249(0xc7)]};}}let _0xa337ea=0x0;cachedJobConfigs&&(_0xa337ea=Object['keys'](cachedJobConfigs)['length']),_0x4d2942['json']({'success':!![],'data':{'status':_0x8c9d25?_0xea7249(0xf9):_0x45fe1a[_0xea7249(0x11f)],'redis':_0x8c9d25?_0xea7249(0xcc):_0x45fe1a[_0xea7249(0xdf)],'registeredJobs':_0xa337ea,'queues':_0x486f75}});}catch(_0x29d258){_0x4d2942[_0xea7249(0x118)](0x1f7)['json']({'success':![],'data':{'status':_0x45fe1a['JakwK'],'error':_0x29d258[_0xea7249(0xc7)]}});}}),_0x14a4a8;}function a0_0x4da8(_0x540d25,_0x1a6f80){_0x540d25=_0x540d25-0xb6;const _0x17fac9=a0_0x17fa();let _0x4da800=_0x17fac9[_0x540d25];if(a0_0x4da8['JSJwdU']===undefined){var _0x2c098f=function(_0x48f06f){const _0x25bb1b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x58667f='',_0x5b43b5='';for(let _0x1f43b0=0x0,_0x3b75cd,_0x14c2c0,_0x6b5fea=0x0;_0x14c2c0=_0x48f06f['charAt'](_0x6b5fea++);~_0x14c2c0&&(_0x3b75cd=_0x1f43b0%0x4?_0x3b75cd*0x40+_0x14c2c0:_0x14c2c0,_0x1f43b0++%0x4)?_0x58667f+=String['fromCharCode'](0xff&_0x3b75cd>>(-0x2*_0x1f43b0&0x6)):0x0){_0x14c2c0=_0x25bb1b['indexOf'](_0x14c2c0);}for(let _0x19af9f=0x0,_0x4e3127=_0x58667f['length'];_0x19af9f<_0x4e3127;_0x19af9f++){_0x5b43b5+='%'+('00'+_0x58667f['charCodeAt'](_0x19af9f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5b43b5);};a0_0x4da8['RclStC']=_0x2c098f,a0_0x4da8['fRwZIz']={},a0_0x4da8['JSJwdU']=!![];}const _0x35f513=_0x17fac9[0x0],_0x1bc753=_0x540d25+_0x35f513,_0x253057=a0_0x4da8['fRwZIz'][_0x1bc753];return!_0x253057?(_0x4da800=a0_0x4da8['RclStC'](_0x4da800),a0_0x4da8['fRwZIz'][_0x1bc753]=_0x4da800):_0x4da800=_0x253057,_0x4da800;}module['exports']=createJobRoutes;
@@ -1 +1 @@
1
- const a0_0x20adc6=a0_0x5b58;(function(_0x3c4145,_0x1b3227){const _0x3ca601=a0_0x5b58,_0x22d6fe=_0x3c4145();while(!![]){try{const _0x481b6d=-parseInt(_0x3ca601(0xd5))/0x1+-parseInt(_0x3ca601(0xf1))/0x2+-parseInt(_0x3ca601(0x108))/0x3+-parseInt(_0x3ca601(0xd1))/0x4*(-parseInt(_0x3ca601(0xd3))/0x5)+parseInt(_0x3ca601(0xc8))/0x6*(-parseInt(_0x3ca601(0x101))/0x7)+parseInt(_0x3ca601(0xf6))/0x8*(parseInt(_0x3ca601(0x10b))/0x9)+parseInt(_0x3ca601(0xec))/0xa;if(_0x481b6d===_0x1b3227)break;else _0x22d6fe['push'](_0x22d6fe['shift']());}catch(_0x58e4d0){_0x22d6fe['push'](_0x22d6fe['shift']());}}}(a0_0x3ae8,0x57634));const fs=require('fs'),path=require('path'),VALID_QUEUE_NAMES=['high-priority',a0_0x20adc6(0xdb),'low-priority'],VALID_BACKOFF_TYPES=['fixed',a0_0x20adc6(0xd2)],SLUG_REGEX=/^[a-z0-9]+(?:-[a-z0-9]+)*$/;class JobValidator{['validateConfig'](_0x3d16d1,_0x57aeb2){const _0x4244a8=a0_0x20adc6,_0x2f4df3={'SoyDp':function(_0x302055,_0x3e58ad){return _0x302055!==_0x3e58ad;},'AYpps':function(_0x3958d9,_0x3f77cd){return _0x3958d9!==_0x3f77cd;},'LBtrr':'string','ibKwJ':'Field\x20\x22name\x22\x20wajib\x20diisi\x20(string)','mrMVn':_0x4244a8(0xf9),'uipra':_0x4244a8(0xfb),'akUzl':function(_0x45c7ca,_0x2bd961){return _0x45c7ca!==_0x2bd961;},'GEAck':'Field\x20\x22enabled\x22\x20harus\x20boolean','iNAzu':function(_0x566e37,_0x1bc556){return _0x566e37!==_0x1bc556;},'qFUNa':_0x4244a8(0xe6),'CAZjs':function(_0x433090,_0xcaa6d7){return _0x433090!==_0xcaa6d7;},'ADUPZ':'Field\x20\x22concurrency\x22\x20harus\x20number\x20antara\x201-50','YAYas':function(_0x3f2663,_0x38b5d1){return _0x3f2663!==_0x38b5d1;},'CbsxA':'object','btUnb':function(_0x15a826,_0x2806db){return _0x15a826!==_0x2806db;},'ruJGC':_0x4244a8(0xfa)},_0x3f84c9=[];if(!_0x3d16d1||_0x2f4df3['SoyDp'](typeof _0x3d16d1,_0x4244a8(0xdd)))return{'valid':![],'errors':[_0x4244a8(0xf7)]};if(!_0x3d16d1['name']||_0x2f4df3[_0x4244a8(0xea)](typeof _0x3d16d1[_0x4244a8(0xe0)],_0x2f4df3['LBtrr']))_0x3f84c9['push'](_0x2f4df3[_0x4244a8(0xef)]);else!SLUG_REGEX[_0x4244a8(0x113)](_0x3d16d1['name'])&&_0x3f84c9['push'](_0x4244a8(0xe7)+_0x3d16d1['name']+'\x22');if(!_0x3d16d1[_0x4244a8(0xe2)]||typeof _0x3d16d1[_0x4244a8(0xe2)]!==_0x2f4df3['LBtrr'])_0x3f84c9[_0x4244a8(0x10a)](_0x2f4df3['mrMVn']);else _0x3d16d1['type']!==_0x4244a8(0xd4)&&_0x3f84c9[_0x4244a8(0x10a)]('Field\x20\x22type\x22\x20harus\x20\x22cron\x22,\x20ditemukan:\x20\x22'+_0x3d16d1[_0x4244a8(0xe2)]+'\x22');if(!_0x3d16d1['schedule']||typeof _0x3d16d1['schedule']!==_0x2f4df3['LBtrr'])_0x3f84c9['push'](_0x2f4df3[_0x4244a8(0x100)]);else{const _0x35f094=this[_0x4244a8(0xfe)](_0x3d16d1[_0x4244a8(0xca)]);!_0x35f094['valid']&&_0x3f84c9['push'](..._0x35f094[_0x4244a8(0xff)]);}if(!_0x3d16d1[_0x4244a8(0xe1)]||_0x2f4df3['akUzl'](typeof _0x3d16d1['handler'],_0x2f4df3[_0x4244a8(0xee)]))_0x3f84c9['push']('Field\x20\x22handler\x22\x20wajib\x20diisi\x20(path\x20relatif\x20dari\x20src/jobs/)');else{if(_0x57aeb2){const _0x5e740a=this['validateHandlerExists'](_0x3d16d1['handler'],_0x57aeb2);!_0x5e740a['valid']&&_0x3f84c9['push'](..._0x5e740a['errors']);}}_0x3d16d1[_0x4244a8(0xe4)]!==undefined&&typeof _0x3d16d1['enabled']!==_0x4244a8(0xda)&&_0x3f84c9['push'](_0x2f4df3['GEAck']);_0x3d16d1[_0x4244a8(0xfc)]!==undefined&&((_0x2f4df3['iNAzu'](typeof _0x3d16d1['timeout'],_0x2f4df3['qFUNa'])||_0x3d16d1['timeout']<=0x0)&&_0x3f84c9['push'](_0x4244a8(0xcf)));if(_0x2f4df3['CAZjs'](_0x3d16d1[_0x4244a8(0xe5)],undefined)){const _0x45f478=this['validateQueueName'](_0x3d16d1[_0x4244a8(0xe5)]);!_0x45f478['valid']&&_0x3f84c9[_0x4244a8(0x10a)](..._0x45f478[_0x4244a8(0xff)]);}_0x3d16d1[_0x4244a8(0xf5)]!==undefined&&((typeof _0x3d16d1[_0x4244a8(0xf5)]!==_0x2f4df3[_0x4244a8(0xfd)]||_0x3d16d1['concurrency']<0x1||_0x3d16d1[_0x4244a8(0xf5)]>0x32)&&_0x3f84c9['push'](_0x2f4df3['ADUPZ']));if(_0x2f4df3[_0x4244a8(0x10f)](_0x3d16d1['retry'],undefined)){if(_0x2f4df3['iNAzu'](typeof _0x3d16d1['retry'],_0x2f4df3['CbsxA'])||_0x3d16d1[_0x4244a8(0xf0)]===null)_0x3f84c9[_0x4244a8(0x10a)]('Field\x20\x22retry\x22\x20harus\x20berupa\x20object');else{const _0x11d119=this[_0x4244a8(0x103)](_0x3d16d1[_0x4244a8(0xf0)]);!_0x11d119['valid']&&_0x3f84c9['push'](..._0x11d119[_0x4244a8(0xff)]);}}return _0x2f4df3['btUnb'](_0x3d16d1['metadata'],undefined)&&((typeof _0x3d16d1['metadata']!==_0x2f4df3[_0x4244a8(0xd8)]||_0x3d16d1[_0x4244a8(0x109)]===null||Array[_0x4244a8(0x10c)](_0x3d16d1[_0x4244a8(0x109)]))&&_0x3f84c9['push'](_0x2f4df3['ruJGC'])),{'valid':_0x3f84c9['length']===0x0,'errors':_0x3f84c9};}[a0_0x20adc6(0xfe)](_0x5e828a){const _0x47095c=a0_0x20adc6,_0x364ed6={'AqLyI':function(_0x2176ec,_0x57063f){return _0x2176ec!==_0x57063f;},'PluEY':_0x47095c(0xd0),'GTjkZ':'day-of-month','yRSps':function(_0x5e36fb,_0x3cc690){return _0x5e36fb<_0x3cc690;},'opmmk':function(_0x49f0b1,_0x2455a1){return _0x49f0b1===_0x2455a1;}},_0x36a4a6=[],_0x2d596b=_0x5e828a['trim']()[_0x47095c(0xd6)](/\s+/);if(_0x364ed6['AqLyI'](_0x2d596b['length'],0x5))return _0x36a4a6[_0x47095c(0x10a)]('Cron\x20expression\x20harus\x205\x20field\x20(minute\x20hour\x20day\x20month\x20weekday),\x20ditemukan\x20'+_0x2d596b[_0x47095c(0xce)]+'\x20field:\x20\x22'+_0x5e828a+'\x22'),{'valid':![],'errors':_0x36a4a6};const _0xb76e33=[_0x47095c(0x10e),_0x364ed6[_0x47095c(0xf3)],_0x364ed6['GTjkZ'],_0x47095c(0x110),_0x47095c(0x104)],_0x5cff01=[{'min':0x0,'max':0x3b},{'min':0x0,'max':0x17},{'min':0x1,'max':0x1f},{'min':0x1,'max':0xc},{'min':0x0,'max':0x7}],_0x578ed0=/^(\*|[0-9]+(-[0-9]+)?)([,/](\*|[0-9]+(-[0-9]+)?))*$/;for(let _0xdb2e97=0x0;_0xdb2e97<0x5;_0xdb2e97++){const _0x7af727=_0x2d596b[_0xdb2e97];if(_0x7af727==='*')continue;if(_0x7af727['includes']('/')){const [_0x4da77b,_0x567929]=_0x7af727['split']('/');_0x364ed6['AqLyI'](_0x4da77b,'*')&&!this['_isValidRange'](_0x4da77b,_0x5cff01[_0xdb2e97])&&_0x36a4a6[_0x47095c(0x10a)]('Cron\x20field\x20\x22'+_0xb76e33[_0xdb2e97]+_0x47095c(0xcd)+_0x4da77b+'\x22\x20tidak\x20valid');const _0x47a030=parseInt(_0x567929,0xa);(isNaN(_0x47a030)||_0x364ed6[_0x47095c(0xcb)](_0x47a030,0x1))&&_0x36a4a6['push'](_0x47095c(0xf2)+_0xb76e33[_0xdb2e97]+_0x47095c(0xc5)+_0x567929+'\x22\x20harus\x20angka\x20>\x200');continue;}const _0x7f9a1e=_0x7af727['split'](',');for(const _0x3931aa of _0x7f9a1e){!this['_isValidRange'](_0x3931aa,_0x5cff01[_0xdb2e97])&&_0x36a4a6['push']('Cron\x20field\x20\x22'+_0xb76e33[_0xdb2e97]+'\x22:\x20nilai\x20\x22'+_0x3931aa+_0x47095c(0xed)+_0x5cff01[_0xdb2e97]['min']+'-'+_0x5cff01[_0xdb2e97][_0x47095c(0xdf)]);}}return{'valid':_0x364ed6[_0x47095c(0xc6)](_0x36a4a6[_0x47095c(0xce)],0x0),'errors':_0x36a4a6};}[a0_0x20adc6(0xd7)](_0x2d3d55,_0x2126f4){const _0x2fc50b=a0_0x20adc6,_0x36832e={'WjgFi':function(_0x19c41d,_0x22900a){return _0x19c41d>=_0x22900a;},'AHVUc':function(_0x413e24,_0x2f18df){return _0x413e24(_0x2f18df);}};if(_0x2d3d55['includes']('-')){const [_0x4d1006,_0x2055bc]=_0x2d3d55['split']('-')['map'](Number);return!isNaN(_0x4d1006)&&!isNaN(_0x2055bc)&&_0x4d1006>=_0x2126f4[_0x2fc50b(0x112)]&&_0x4d1006<=_0x2126f4[_0x2fc50b(0xdf)]&&_0x36832e[_0x2fc50b(0xeb)](_0x2055bc,_0x2126f4['min'])&&_0x2055bc<=_0x2126f4['max']&&_0x4d1006<=_0x2055bc;}const _0x45c005=parseInt(_0x2d3d55,0xa);return!_0x36832e[_0x2fc50b(0xe9)](isNaN,_0x45c005)&&_0x45c005>=_0x2126f4['min']&&_0x45c005<=_0x2126f4[_0x2fc50b(0xdf)];}['validateQueueName'](_0x8374e8){const _0x4d8a57=a0_0x20adc6;if(!VALID_QUEUE_NAMES[_0x4d8a57(0xcc)](_0x8374e8))return{'valid':![],'errors':['Queue\x20\x22'+_0x8374e8+_0x4d8a57(0xe8)+VALID_QUEUE_NAMES[_0x4d8a57(0x111)](',\x20')]};return{'valid':!![],'errors':[]};}[a0_0x20adc6(0x103)](_0x44103d){const _0x8f9239=a0_0x20adc6,_0xc4f744={'TTOuB':function(_0x4f7a03,_0x33c27e){return _0x4f7a03!==_0x33c27e;},'glfbn':function(_0x41c767,_0x17deb2){return _0x41c767>_0x17deb2;},'frdTr':_0x8f9239(0xc7),'LoRlw':'\x22\x20atau\x20\x22','tntbY':'number','OYqhV':function(_0x2e852e,_0x5c8eb7){return _0x2e852e<=_0x5c8eb7;},'dxaCz':function(_0x5abfa3,_0x2f1c2d){return _0x5abfa3===_0x2f1c2d;}},_0x4f200a=[];return _0x44103d[_0x8f9239(0x102)]!==undefined&&((_0xc4f744['TTOuB'](typeof _0x44103d['maxAttempts'],'number')||_0x44103d['maxAttempts']<0x1||_0xc4f744['glfbn'](_0x44103d['maxAttempts'],0xa))&&_0x4f200a[_0x8f9239(0x10a)](_0xc4f744['frdTr'])),_0x44103d['backoff']!==undefined&&(!VALID_BACKOFF_TYPES[_0x8f9239(0xcc)](_0x44103d['backoff'])&&_0x4f200a[_0x8f9239(0x10a)](_0x8f9239(0xf8)+VALID_BACKOFF_TYPES[_0x8f9239(0x111)](_0xc4f744[_0x8f9239(0xf4)])+'\x22')),_0xc4f744['TTOuB'](_0x44103d['initialDelay'],undefined)&&((_0xc4f744[_0x8f9239(0x106)](typeof _0x44103d['initialDelay'],_0xc4f744[_0x8f9239(0x107)])||_0xc4f744['OYqhV'](_0x44103d[_0x8f9239(0xdc)],0x0))&&_0x4f200a[_0x8f9239(0x10a)](_0x8f9239(0x10d))),{'valid':_0xc4f744[_0x8f9239(0xc9)](_0x4f200a['length'],0x0),'errors':_0x4f200a};}[a0_0x20adc6(0xe3)](_0x34e73e,_0x32210f){const _0x537860=a0_0x20adc6,_0x2b3b1d={'IsNUp':_0x537860(0xd9),'QtqQV':'jobs'},_0x4f5418=path[_0x537860(0x111)](_0x32210f,_0x2b3b1d['IsNUp'],_0x2b3b1d['QtqQV'],_0x34e73e+'.js');if(!fs[_0x537860(0xde)](_0x4f5418))return{'valid':![],'errors':[_0x537860(0xc4)+_0x34e73e+'.js\x20(absolute:\x20'+_0x4f5418+')']};return{'valid':!![],'errors':[]};}}module[a0_0x20adc6(0x105)]=new JobValidator();function a0_0x5b58(_0x28fa8c,_0x592d0f){_0x28fa8c=_0x28fa8c-0xc4;const _0x3ae845=a0_0x3ae8();let _0x5b58ea=_0x3ae845[_0x28fa8c];if(a0_0x5b58['IOdCMo']===undefined){var _0x2f683e=function(_0x5621f0){const _0x4f2b04='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3af0b5='',_0x3c43c6='';for(let _0x26ee15=0x0,_0x4ea0bf,_0x24f8da,_0x94d835=0x0;_0x24f8da=_0x5621f0['charAt'](_0x94d835++);~_0x24f8da&&(_0x4ea0bf=_0x26ee15%0x4?_0x4ea0bf*0x40+_0x24f8da:_0x24f8da,_0x26ee15++%0x4)?_0x3af0b5+=String['fromCharCode'](0xff&_0x4ea0bf>>(-0x2*_0x26ee15&0x6)):0x0){_0x24f8da=_0x4f2b04['indexOf'](_0x24f8da);}for(let _0x310b46=0x0,_0xd4708b=_0x3af0b5['length'];_0x310b46<_0xd4708b;_0x310b46++){_0x3c43c6+='%'+('00'+_0x3af0b5['charCodeAt'](_0x310b46)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3c43c6);};a0_0x5b58['CToXZw']=_0x2f683e,a0_0x5b58['iaDuuA']={},a0_0x5b58['IOdCMo']=!![];}const _0x12a61b=_0x3ae845[0x0],_0xd6b7c7=_0x28fa8c+_0x12a61b,_0xbaacac=a0_0x5b58['iaDuuA'][_0xd6b7c7];return!_0xbaacac?(_0x5b58ea=a0_0x5b58['CToXZw'](_0x5b58ea),a0_0x5b58['iaDuuA'][_0xd6b7c7]=_0x5b58ea):_0x5b58ea=_0xbaacac,_0x5b58ea;}function a0_0x3ae8(){const _0x26af56=['C3jJ','yM9VBgvHBG','zgvMyxvSDa','Aw5PDgLHBerLBgf5','B2jQzwn0','zxHPC3rZu3LUyW','Bwf4','BMfTzq','AgfUzgXLCG','DhLWzq','DMfSAwrHDgviyw5KBgvYrxHPC3rZ','zw5HyMXLza','CxvLDwu','BNvTyMvY','rMLLBgqGiM5HBwuIigHHCNvZihnSDwCGzM9YBwf0icHSB3DLCMnHC2uSigrHC2GPoIaI','iIb0AwrHAYb2ywXPzc4GugLSAwHHBJOG','quHwvwm','qvLWChm','v2PNrMK','mtm1nZC5ndbPthbpELy','iIbKAsbSDwfYihjHBMDLia','tej0CNi','AwjlD0O','CMv0CNK','mtqWmdmZneXgELDHBa','q3jVBIbMAwvSzcaI','ugX1rvK','tg9sBhC','y29Uy3vYCMvUy3K','mJrvufHuufu','q29UzMLNigHHCNvZigjLCNvWysbVyMPLy3q','rMLLBgqGiNjLDhj5lMjHy2TVzMyIigHHCNvZici','rMLLBgqGiNr5CguIihDHAMLIigrPAxnPicHZDhjPBMCP','rMLLBgqGiM1LDgfKyxrHiIbOyxj1CYbIzxj1CgeGB2jQzwn0','rMLLBgqGiNnJAgvKDwXLiIb3ywPPyIbKAwLZAsaOy3jVBIbLEhbYzxnZAw9Uihn0CMLUzYK','DgLTzw91Da','CuzvtMe','DMfSAwrHDgvdCM9UrxHWCMvZC2LVBG','zxjYB3jZ','DwLWCMe','mJfKzM1VEgS','Bwf4qxr0zw1WDhm','DMfSAwrHDgvszxrYEunVBMzPzW','zgf5lw9MlxDLzwS','zxHWB3j0CW','vfrpDui','Dg50yLK','nJiZmJC3Cfb5wu9J','Bwv0ywrHDge','ChvZAa','nZe5nJeZvuHmuxrJ','AxnbCNjHEq','rMLLBgqGiNjLDhj5lMLUAxrPywXezwXHEsiGAgfYDxmGBNvTyMvYid4GmcaOzgfSyw0GBxmP','BwLUDxrL','wufzyxm','Bw9UDgG','AM9PBG','BwLU','DgvZDa','sgfUzgXLCIbMAwXLihrPzgfRigrPDgvTDwTHBJOGC3jJl2PVyNmV','iJOGC3rLCcaIlW','B3bTBwS','rMLLBgqGiNjLDhj5lM1HEef0DgvTChrZiIbOyxj1CYbUDw1IzxiGyw50yxjHideTmta','mtyZodqYthz0tu5f','zhHHq3O','C2nOzwr1Bgu','EvjtChm','Aw5JBhvKzxm','iJOGyMfZzsaI','BgvUz3rO','rMLLBgqGiNrPBwvVDxqIigHHCNvZig51BwjLCIa+idaGkgrHBgfTig1Zkq','Ag91CG','mti3ndH6q21sr2e','zxHWB25LBNrPywW','mta1uuvtwKnU','y3jVBG','mZe2oda1Aunqu010','C3bSAxq','x2LZvMfSAwrsyw5Nzq','q2jZEee'];a0_0x3ae8=function(){return _0x26af56;};return a0_0x3ae8();}
1
+ function a0_0x2bfb(){const _0x311942=['zxnNBLC','DgvZDa','Bwv0ywrHDge','zw5HyMXLza','mJy4otCZn3j1zvvRzW','vM5bvha','nty4mJqYnM1VtxjAvG','n01SrKzcrG','zML4zwq','mZG5ntCYngvMqMH3za','DgLTzw91Da','mtyXnJK0meLQruvzsa','lMPZ','iJOGBMLSywKGiG','zNvmCfm','rMLLBgqGiMnVBMn1CNjLBMn5iIbOyxj1CYbUDw1IzxiGyw50yxjHideTnta','DMfSAwrHDgvdCM9UrxHWCMvZC2LVBG','CMHLAue','DhLWzq','BNvTyMvY','zvnlDha','AM9PBG','CMv0CNK','CMPWtfe','Bw9LBLy','Cgf0Aa','q29UzMLNigHHCNvZigjLCNvWysbVyMPLy3q','DMfSAwq','yMfJA29MzG','rMLLBgqGiNjLDhj5lMLUAxrPywXezwXHEsiGAgfYDxmGBNvTyMvYid4GmcaOzgfSyw0GBxmP','BgvUz3rO','BMfTzq','Bwf4','ueHyvfG','Bwf4qxr0zw1WDhm','C3bSAxq','wNf3uxK','nun4vujltq','rMLLBgqGiM5HBwuIihDHAMLIigrPAxnPicHZDhjPBMCP','CxvLDwu','iIbOyxj1CYbHBMDRysa+ida','lMPZicHHyNnVBhv0ztOG','mwrHsxvYBa','odG2ntuYrK9yzLr6','yM9VBgvHBG','q3jVBIbMAwvSzcaI','mtq0mdiZnfbhEvDzvW','A25tDhy','rMLLBgqGiNjLDhj5iIbOyxj1CYbIzxj1CgeGB2jQzwn0','AgfUzgXLCG','ChvZAa','mJaWnJi2rLfcCxzx','DMfSAwrHDgvszxrYEunVBMzPzW','uxvRvem','AxnbCNjHEq','C3rYAw5N','ruTsEgm','C1PUu1a','q3jVBIbLEhbYzxnZAw9UigHHCNvZiduGzMLLBgqGkg1PBNv0zsbOB3vYigrHEsbTB250Acb3zwvRzgf5ksWGzgL0zw11A2fUia','q01Hzuq','A3vLAKq','x2LZvMfSAwrsyw5Nzq','tuDXwfy','Aw5PDgLHBerLBgf5','rMLLBgqGiMvUywjSzwqIigHHCNvZigjVB2XLyw4','Exf4rNi','AgLNAc1WCMLVCML0Eq','B2jQzwn0','Ag91CG','Aw5JBhvKzxm','y29Uy3vYCMvUy3K','rMLLBgqGiM1LDgfKyxrHiIbOyxj1CYbIzxj1CgeGB2jQzwn0','Bg93lxbYAw9YAxr5','zxjYB3jZ','BwLUDxrL','BwLU','iIbKAsbSDwfYihjHBMDLia','rhrIAva','C3jJ','iJOGC3rLCcaIlW','DMfSAwrHDgvrDwv1zu5HBwu'];a0_0x2bfb=function(){return _0x311942;};return a0_0x2bfb();}const a0_0x145aab=a0_0x3833;(function(_0x7643fd,_0x4c0d41){const _0x134309=a0_0x3833,_0x4c5aeb=_0x7643fd();while(!![]){try{const _0x5ebbb7=-parseInt(_0x134309(0x1fd))/0x1*(parseInt(_0x134309(0x206))/0x2)+parseInt(_0x134309(0x228))/0x3+parseInt(_0x134309(0x22d))/0x4*(-parseInt(_0x134309(0x1f8))/0x5)+parseInt(_0x134309(0x22a))/0x6+parseInt(_0x134309(0x22b))/0x7*(parseInt(_0x134309(0x1fe))/0x8)+-parseInt(_0x134309(0x201))/0x9+-parseInt(_0x134309(0x22f))/0xa;if(_0x5ebbb7===_0x4c0d41)break;else _0x4c5aeb['push'](_0x4c5aeb['shift']());}catch(_0x2c7c2d){_0x4c5aeb['push'](_0x4c5aeb['shift']());}}}(a0_0x2bfb,0x885a9));const fs=require('fs'),path=require(a0_0x145aab(0x1ec)),VALID_QUEUE_NAMES=[a0_0x145aab(0x215),'default',a0_0x145aab(0x21b)],VALID_BACKOFF_TYPES=[a0_0x145aab(0x22c),'exponential'],SLUG_REGEX=/^[a-z0-9]+(?:-[a-z0-9]+)*$/;class JobValidator{['validateConfig'](_0x588311,_0x4a309f){const _0x1e5b8f=a0_0x145aab,_0x52dc3f={'xbJWc':'object','aycyM':_0x1e5b8f(0x1ed),'FwKXZ':function(_0x22e67c,_0x160836){return _0x22e67c!==_0x160836;},'mNBhS':_0x1e5b8f(0x1f9),'ZqwQy':_0x1e5b8f(0x20a),'moenV':'Field\x20\x22type\x22\x20wajib\x20diisi\x20(string)','VnATp':function(_0x229dd1,_0x5596c3){return _0x229dd1!==_0x5596c3;},'EKRxc':'Field\x20\x22schedule\x22\x20wajib\x20diisi\x20(cron\x20expression\x20string)','eSKtp':function(_0x49c176,_0x3cc4d1){return _0x49c176!==_0x3cc4d1;},'LCflh':'Field\x20\x22handler\x22\x20wajib\x20diisi\x20(path\x20relatif\x20dari\x20src/jobs/)','sZnSP':_0x1e5b8f(0x1ff),'DtbiP':function(_0x1aea60,_0x49eb09){return _0x1aea60<=_0x49eb09;},'yvXiI':'number','TaqqH':function(_0x408078,_0x38ef4f){return _0x408078>_0x38ef4f;},'EkCvr':_0x1e5b8f(0x233),'yqxFr':function(_0x399ab2,_0x1d1d70){return _0x399ab2!==_0x1d1d70;},'eeymI':function(_0x559e57,_0x4742ca){return _0x559e57===_0x4742ca;},'CMaeD':_0x1e5b8f(0x203),'QukTC':_0x1e5b8f(0x21a),'zwjLk':function(_0x265bdd,_0xac815e){return _0x265bdd===_0xac815e;}},_0xbf238c=[];if(!_0x588311||typeof _0x588311!==_0x52dc3f['xbJWc'])return{'valid':![],'errors':[_0x52dc3f['aycyM']]};if(!_0x588311['name']||_0x52dc3f['FwKXZ'](typeof _0x588311[_0x1e5b8f(0x1f2)],'string'))_0xbf238c['push'](_0x52dc3f['mNBhS']);else!SLUG_REGEX[_0x1e5b8f(0x225)](_0x588311['name'])&&_0xbf238c[_0x1e5b8f(0x205)]('Field\x20\x22name\x22\x20harus\x20slug\x20format\x20(lowercase,\x20dash):\x20\x22'+_0x588311[_0x1e5b8f(0x1f2)]+'\x22');if(!_0x588311[_0x1e5b8f(0x236)]||_0x52dc3f['FwKXZ'](typeof _0x588311[_0x1e5b8f(0x236)],_0x52dc3f['ZqwQy']))_0xbf238c['push'](_0x52dc3f[_0x1e5b8f(0x1eb)]);else _0x588311['type']!=='cron'&&_0xbf238c[_0x1e5b8f(0x205)]('Field\x20\x22type\x22\x20harus\x20\x22cron\x22,\x20ditemukan:\x20\x22'+_0x588311['type']+'\x22');if(!_0x588311['schedule']||_0x52dc3f['VnATp'](typeof _0x588311['schedule'],_0x52dc3f['ZqwQy']))_0xbf238c[_0x1e5b8f(0x205)](_0x52dc3f[_0x1e5b8f(0x20b)]);else{const _0x2c35d1=this[_0x1e5b8f(0x234)](_0x588311['schedule']);!_0x2c35d1[_0x1e5b8f(0x1ee)]&&_0xbf238c['push'](..._0x2c35d1[_0x1e5b8f(0x21c)]);}if(!_0x588311[_0x1e5b8f(0x204)]||_0x52dc3f['eSKtp'](typeof _0x588311[_0x1e5b8f(0x204)],_0x52dc3f[_0x1e5b8f(0x1f7)]))_0xbf238c['push'](_0x52dc3f['LCflh']);else{if(_0x4a309f){const _0x373a3e=this['validateHandlerExists'](_0x588311[_0x1e5b8f(0x204)],_0x4a309f);!_0x373a3e[_0x1e5b8f(0x1ee)]&&_0xbf238c['push'](..._0x373a3e['errors']);}}_0x52dc3f[_0x1e5b8f(0x229)](_0x588311[_0x1e5b8f(0x227)],undefined)&&typeof _0x588311['enabled']!==_0x52dc3f[_0x1e5b8f(0x20c)]&&_0xbf238c['push'](_0x1e5b8f(0x213));_0x588311[_0x1e5b8f(0x22e)]!==undefined&&((typeof _0x588311[_0x1e5b8f(0x22e)]!==_0x1e5b8f(0x237)||_0x52dc3f[_0x1e5b8f(0x220)](_0x588311['timeout'],0x0))&&_0xbf238c['push']('Field\x20\x22timeout\x22\x20harus\x20number\x20>\x200\x20(dalam\x20ms)'));if(_0x588311['queue']!==undefined){const _0x5ad25a=this[_0x1e5b8f(0x223)](_0x588311[_0x1e5b8f(0x1fa)]);!_0x5ad25a['valid']&&_0xbf238c[_0x1e5b8f(0x205)](..._0x5ad25a[_0x1e5b8f(0x21c)]);}_0x588311['concurrency']!==undefined&&((_0x52dc3f[_0x1e5b8f(0x1e7)](typeof _0x588311['concurrency'],_0x52dc3f['yvXiI'])||_0x588311['concurrency']<0x1||_0x52dc3f['TaqqH'](_0x588311[_0x1e5b8f(0x219)],0x32))&&_0xbf238c[_0x1e5b8f(0x205)](_0x52dc3f['EkCvr']));if(_0x52dc3f[_0x1e5b8f(0x214)](_0x588311['retry'],undefined)){if(typeof _0x588311[_0x1e5b8f(0x1e9)]!==_0x1e5b8f(0x216)||_0x52dc3f['eeymI'](_0x588311[_0x1e5b8f(0x1e9)],null))_0xbf238c[_0x1e5b8f(0x205)](_0x52dc3f[_0x1e5b8f(0x20e)]);else{const _0x1fc1ee=this[_0x1e5b8f(0x207)](_0x588311['retry']);!_0x1fc1ee[_0x1e5b8f(0x1ee)]&&_0xbf238c['push'](..._0x1fc1ee[_0x1e5b8f(0x21c)]);}}return _0x588311[_0x1e5b8f(0x226)]!==undefined&&((_0x52dc3f[_0x1e5b8f(0x1e7)](typeof _0x588311[_0x1e5b8f(0x226)],'object')||_0x588311[_0x1e5b8f(0x226)]===null||Array[_0x1e5b8f(0x209)](_0x588311['metadata']))&&_0xbf238c['push'](_0x52dc3f[_0x1e5b8f(0x208)])),{'valid':_0x52dc3f['zwjLk'](_0xbf238c[_0x1e5b8f(0x1f1)],0x0),'errors':_0xbf238c};}['validateCronExpression'](_0x2f9f39){const _0x49813f=a0_0x145aab,_0x3513df={'wtLDU':_0x49813f(0x21d),'CTHcT':function(_0x2198b5,_0x16aa4f){return _0x2198b5<_0x16aa4f;},'YiBut':function(_0x32cb45,_0x3c590a){return _0x32cb45!==_0x3c590a;},'MGqXV':function(_0x24c7ef,_0x5428e5,_0x4c6695){return _0x24c7ef(_0x5428e5,_0x4c6695);},'rjpLQ':function(_0x16493d,_0x3891e2){return _0x16493d<_0x3891e2;},'rheiA':function(_0x99d617,_0x3142f8){return _0x99d617===_0x3142f8;}},_0x2ae55c=[],_0x4d95a9=_0x2f9f39['trim']()[_0x49813f(0x1f6)](/\s+/);if(_0x4d95a9[_0x49813f(0x1f1)]!==0x5)return _0x2ae55c[_0x49813f(0x205)](_0x49813f(0x20d)+_0x4d95a9[_0x49813f(0x1f1)]+'\x20field:\x20\x22'+_0x2f9f39+'\x22'),{'valid':![],'errors':_0x2ae55c};const _0x4b8f30=[_0x3513df['wtLDU'],_0x49813f(0x217),'day-of-month','month','day-of-week'],_0x483ed4=[{'min':0x0,'max':0x3b},{'min':0x0,'max':0x17},{'min':0x1,'max':0x1f},{'min':0x1,'max':0xc},{'min':0x0,'max':0x7}],_0xec5429=/^(\*|[0-9]+(-[0-9]+)?)([,/](\*|[0-9]+(-[0-9]+)?))*$/;for(let _0x4ef0e6=0x0;_0x3513df['CTHcT'](_0x4ef0e6,0x5);_0x4ef0e6++){const _0x2c55d0=_0x4d95a9[_0x4ef0e6];if(_0x2c55d0==='*')continue;if(_0x2c55d0['includes']('/')){const [_0x40d6c8,_0xc72cf3]=_0x2c55d0['split']('/');_0x3513df['YiBut'](_0x40d6c8,'*')&&!this[_0x49813f(0x210)](_0x40d6c8,_0x483ed4[_0x4ef0e6])&&_0x2ae55c['push'](_0x49813f(0x200)+_0x4b8f30[_0x4ef0e6]+'\x22:\x20base\x20\x22'+_0x40d6c8+'\x22\x20tidak\x20valid');const _0xdd3ee5=_0x3513df[_0x49813f(0x211)](parseInt,_0xc72cf3,0xa);(isNaN(_0xdd3ee5)||_0x3513df[_0x49813f(0x1ea)](_0xdd3ee5,0x1))&&_0x2ae55c['push'](_0x49813f(0x200)+_0x4b8f30[_0x4ef0e6]+_0x49813f(0x222)+_0xc72cf3+_0x49813f(0x1fb));continue;}const _0x6e5cdc=_0x2c55d0['split'](',');for(const _0x1ec909 of _0x6e5cdc){!this[_0x49813f(0x210)](_0x1ec909,_0x483ed4[_0x4ef0e6])&&_0x2ae55c['push'](_0x49813f(0x200)+_0x4b8f30[_0x4ef0e6]+_0x49813f(0x231)+_0x1ec909+_0x49813f(0x21f)+_0x483ed4[_0x4ef0e6][_0x49813f(0x21e)]+'-'+_0x483ed4[_0x4ef0e6][_0x49813f(0x1f3)]);}}return{'valid':_0x3513df[_0x49813f(0x235)](_0x2ae55c['length'],0x0),'errors':_0x2ae55c};}[a0_0x145aab(0x210)](_0x47c612,_0x4e244d){const _0x24e61b=a0_0x145aab,_0x49f0ff={'qIAhW':function(_0x3625b1,_0x5ab560){return _0x3625b1(_0x5ab560);},'knStv':function(_0x459572,_0x407ff9){return _0x459572<=_0x407ff9;},'iWpnH':function(_0x4b509b,_0x45ffa6,_0x321794){return _0x4b509b(_0x45ffa6,_0x321794);},'fuLpS':function(_0x265310,_0x5f2f4e){return _0x265310(_0x5f2f4e);},'SFBbE':function(_0x196780,_0x175ec5){return _0x196780>=_0x175ec5;}};if(_0x47c612[_0x24e61b(0x218)]('-')){const [_0x1cac9c,_0x1f24ef]=_0x47c612[_0x24e61b(0x1f6)]('-')['map'](Number);return!isNaN(_0x1cac9c)&&!_0x49f0ff['qIAhW'](isNaN,_0x1f24ef)&&_0x1cac9c>=_0x4e244d['min']&&_0x49f0ff[_0x24e61b(0x202)](_0x1cac9c,_0x4e244d[_0x24e61b(0x1f3)])&&_0x1f24ef>=_0x4e244d['min']&&_0x1f24ef<=_0x4e244d['max']&&_0x1cac9c<=_0x1f24ef;}const _0xcf0002=_0x49f0ff['iWpnH'](parseInt,_0x47c612,0xa);return!_0x49f0ff[_0x24e61b(0x232)](isNaN,_0xcf0002)&&_0x49f0ff['SFBbE'](_0xcf0002,_0x4e244d['min'])&&_0x49f0ff['knStv'](_0xcf0002,_0x4e244d[_0x24e61b(0x1f3)]);}[a0_0x145aab(0x223)](_0x5514be){const _0x16fb68=a0_0x145aab;if(!VALID_QUEUE_NAMES[_0x16fb68(0x218)](_0x5514be))return{'valid':![],'errors':['Queue\x20\x22'+_0x5514be+'\x22\x20tidak\x20valid.\x20Pilihan:\x20'+VALID_QUEUE_NAMES['join'](',\x20')]};return{'valid':!![],'errors':[]};}[a0_0x145aab(0x207)](_0x456f0a){const _0x320e58=a0_0x145aab,_0x39062a={'fzzAA':function(_0x90d59c,_0x4b46eb){return _0x90d59c!==_0x4b46eb;},'PHXTX':'\x22\x20atau\x20\x22','kuejD':function(_0x1064a4,_0x1573a9){return _0x1064a4!==_0x1573a9;},'esgnW':function(_0xb74e59,_0x109527){return _0xb74e59===_0x109527;}},_0xaaa7b9=[];return _0x456f0a[_0x320e58(0x1f5)]!==undefined&&((_0x39062a['fzzAA'](typeof _0x456f0a[_0x320e58(0x1f5)],'number')||_0x456f0a['maxAttempts']<0x1||_0x456f0a['maxAttempts']>0xa)&&_0xaaa7b9[_0x320e58(0x205)]('Field\x20\x22retry.maxAttempts\x22\x20harus\x20number\x20antara\x201-10')),_0x456f0a[_0x320e58(0x1ef)]!==undefined&&(!VALID_BACKOFF_TYPES['includes'](_0x456f0a[_0x320e58(0x1ef)])&&_0xaaa7b9['push']('Field\x20\x22retry.backoff\x22\x20harus\x20\x22'+VALID_BACKOFF_TYPES[_0x320e58(0x1e8)](_0x39062a[_0x320e58(0x1f4)])+'\x22')),_0x39062a['kuejD'](_0x456f0a[_0x320e58(0x212)],undefined)&&((_0x39062a[_0x320e58(0x20f)](typeof _0x456f0a[_0x320e58(0x212)],_0x320e58(0x237))||_0x456f0a['initialDelay']<=0x0)&&_0xaaa7b9['push'](_0x320e58(0x1f0))),{'valid':_0x39062a[_0x320e58(0x224)](_0xaaa7b9['length'],0x0),'errors':_0xaaa7b9};}['validateHandlerExists'](_0x483cff,_0x197ac8){const _0x36a841=a0_0x145aab,_0x337933={'KzOZx':'jobs'},_0x1ce7f4=path['join'](_0x197ac8,_0x36a841(0x221),_0x337933['KzOZx'],_0x483cff+_0x36a841(0x230));if(!fs['existsSync'](_0x1ce7f4))return{'valid':![],'errors':['Handler\x20file\x20tidak\x20ditemukan:\x20src/jobs/'+_0x483cff+_0x36a841(0x1fc)+_0x1ce7f4+')']};return{'valid':!![],'errors':[]};}}function a0_0x3833(_0x586aa3,_0x324b8e){_0x586aa3=_0x586aa3-0x1e7;const _0x2bfb77=a0_0x2bfb();let _0x38337f=_0x2bfb77[_0x586aa3];if(a0_0x3833['DBLwoW']===undefined){var _0x39fb2e=function(_0x26bb9d){const _0x5ba0da='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x288083='',_0x34e29c='';for(let _0x167d6e=0x0,_0xb02302,_0x1c13df,_0x4761e2=0x0;_0x1c13df=_0x26bb9d['charAt'](_0x4761e2++);~_0x1c13df&&(_0xb02302=_0x167d6e%0x4?_0xb02302*0x40+_0x1c13df:_0x1c13df,_0x167d6e++%0x4)?_0x288083+=String['fromCharCode'](0xff&_0xb02302>>(-0x2*_0x167d6e&0x6)):0x0){_0x1c13df=_0x5ba0da['indexOf'](_0x1c13df);}for(let _0x4228ed=0x0,_0x78f6da=_0x288083['length'];_0x4228ed<_0x78f6da;_0x4228ed++){_0x34e29c+='%'+('00'+_0x288083['charCodeAt'](_0x4228ed)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x34e29c);};a0_0x3833['QWwADC']=_0x39fb2e,a0_0x3833['dFgiWu']={},a0_0x3833['DBLwoW']=!![];}const _0x6c91b6=_0x2bfb77[0x0],_0x4df96b=_0x586aa3+_0x6c91b6,_0x261a02=a0_0x3833['dFgiWu'][_0x4df96b];return!_0x261a02?(_0x38337f=a0_0x3833['QWwADC'](_0x38337f),a0_0x3833['dFgiWu'][_0x4df96b]=_0x38337f):_0x38337f=_0x261a02,_0x38337f;}module['exports']=new JobValidator();