@restforgejs/platform 4.2.8 → 4.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SECURITY.md +83 -4
- package/bin/sdf-tools.exe +0 -0
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/dashboard/create.js +4 -1
- package/generators/cli/endpoint/create.js +1 -1
- package/generators/cli/key/generate.js +2 -1
- package/generators/cli/key/revoke.js +2 -1
- package/generators/cli/payload/diff.js +3 -2
- package/generators/cli/payload/generate.js +3 -2
- package/generators/cli/payload/sync.js +3 -2
- package/generators/cli/payload/validate.js +3 -2
- package/generators/cli/processor/create.js +14 -3
- package/generators/cli/project/delete.js +2 -1
- package/generators/cli/query/validate.js +3 -2
- package/generators/cli/schema/apply.js +3 -2
- package/generators/cli/schema/describe.js +3 -2
- package/generators/cli/schema/diff.js +3 -2
- package/generators/cli/schema/introspect.js +3 -2
- package/generators/cli/schema/list.js +3 -2
- package/generators/cli/schema/migrate.js +3 -2
- package/generators/lib/migration/audit-table-runner.js +213 -215
- package/generators/lib/payload/payload-runner.js +1 -1
- package/generators/lib/templates/dashboard-catalog.js +1 -437
- package/generators/lib/templates/db-connection-env.js +1 -212
- package/generators/lib/templates/dbschema-catalog.js +1 -489
- package/generators/lib/templates/field-validation-catalog.js +1 -531
- package/generators/lib/templates/mysql-template.js +1 -3863
- package/generators/lib/templates/oracle-template.js +1 -3915
- package/generators/lib/templates/postgres-template.js +1 -5838
- package/generators/lib/templates/query-declarative-catalog.js +1 -199
- package/generators/lib/templates/sqlite-template.js +1 -3440
- package/generators/lib/utils/env-manager.js +6 -0
- package/generators/lib/utils/path-validator.js +71 -0
- package/generators/lib/validators/payload-validator.js +1 -2
- package/integrity-manifest.json +28 -10
- package/package.json +11 -3
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
- package/generators/metadata/global.json +0 -58
- package/generators/metadata/test-mysql-workbench.json +0 -118
- package/generators/metadata/test-mysql.json +0 -56
- package/generators/metadata/test-oracle-workbench.json +0 -118
- package/generators/metadata/test-oracle.json +0 -56
- package/generators/metadata/test-pg-workbench.json +0 -118
- package/generators/metadata/test-pg.json +0 -56
- package/generators/scripts/obfuscate-source.js +0 -356
- package/generators/scripts/validate-catalog.js +0 -430
- package/generators/scripts/validate-dbschema-catalog.js +0 -708
- package/generators/tests/baseline/mysql/mini_inventory_item/src/models/mini-inventory/item.js +0 -944
- package/generators/tests/baseline/mysql/mini_inventory_item/src/modules/mini-inventory/item.js +0 -740
- package/generators/tests/baseline/mysql/mini_inventory_item/src/modules/mini-inventory.js +0 -336
- package/generators/tests/baseline/oracle/mini_inventory_item/src/models/mini-inventory/item.js +0 -1002
- package/generators/tests/baseline/oracle/mini_inventory_item/src/modules/mini-inventory/item.js +0 -740
- package/generators/tests/baseline/oracle/mini_inventory_item/src/modules/mini-inventory.js +0 -336
- package/generators/tests/baseline/postgres/mini_inventory_item/src/models/mini-inventory/item.js +0 -1333
- package/generators/tests/baseline/postgres/mini_inventory_item/src/modules/mini-inventory/item.js +0 -1173
- package/generators/tests/baseline/postgres/mini_inventory_item/src/modules/mini-inventory.js +0 -496
- package/generators/tests/fixtures/payloads/custom-sensitive.json +0 -27
- package/generators/tests/fixtures/payloads/dynamic-search-optout.json +0 -23
- package/generators/tests/fixtures/payloads/login-with-password.json +0 -22
- package/generators/tests/fixtures/payloads/order-process.json +0 -52
- package/generators/tests/fixtures/payloads/with-inline-sql.json +0 -26
- package/generators/tests/integration-tahap4b/README.md +0 -145
- package/generators/tests/integration-tahap4b/run-concurrent.js +0 -77
- package/generators/tests/integration-tahap4b/seed.sql +0 -53
- package/generators/tests/integration-tahap4b/verify.sql +0 -110
- package/generators/tests/unit/cli/create-dashboard.test.js +0 -505
- package/generators/tests/unit/cli/create-processor.test.js +0 -319
- package/generators/tests/unit/cli/dispatch-dashboard.test.js +0 -149
- package/generators/tests/unit/lib/dashboard-generator.test.js +0 -895
- package/generators/tests/unit/lib/dashboard-validator.test.js +0 -354
- package/generators/tests/unit/lib/dbschema-kit/apply-executor.test.js +0 -437
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-introspect.test.js +0 -393
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-generate-ddl.test.js +0 -104
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-init.test.js +0 -119
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-list.test.js +0 -48
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-migrate.test.js +0 -175
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-validate.test.js +0 -102
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-models.test.js +0 -43
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/all-schemas-listing.js +0 -84
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/connection-error.js +0 -13
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/empty.js +0 -12
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/multi-schema.js +0 -124
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/single-schema-inventory.js +0 -64
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/two-tables.js +0 -66
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/connection-error.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/partial.js +0 -29
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/rollback.js +0 -26
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/success.js +0 -43
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/audit/events.js +0 -18
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/inventory/products.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/users.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/connection.test.js +0 -112
- package/generators/tests/unit/lib/dbschema-kit/ddl-generator.test.js +0 -205
- package/generators/tests/unit/lib/dbschema-kit/define-model.test.js +0 -56
- package/generators/tests/unit/lib/dbschema-kit/dialect/index.test.js +0 -46
- package/generators/tests/unit/lib/dbschema-kit/dialect/mysql.test.js +0 -126
- package/generators/tests/unit/lib/dbschema-kit/dialect/oracle.test.js +0 -126
- package/generators/tests/unit/lib/dbschema-kit/dialect/postgres.test.js +0 -131
- package/generators/tests/unit/lib/dbschema-kit/dialect/sqlite.test.js +0 -126
- package/generators/tests/unit/lib/dbschema-kit/driver-loader.test.js +0 -93
- package/generators/tests/unit/lib/dbschema-kit/emitters/create-index.test.js +0 -173
- package/generators/tests/unit/lib/dbschema-kit/emitters/create-table.test.js +0 -376
- package/generators/tests/unit/lib/dbschema-kit/emitters/drop-table.test.js +0 -78
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/invalid-dialect.env +0 -6
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/missing-dialect.env +0 -5
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/missing-host.env +0 -5
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/oracle-valid.env +0 -6
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/postgres-valid.env +0 -7
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/sqlite-valid.env +0 -2
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/category.js +0 -11
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/item_product.js +0 -11
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/stock_inbound.js +0 -24
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/stock_inbound_item.js +0 -28
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/supplier.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/warehouse.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-invalid/orphan.js +0 -17
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/category.js +0 -11
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/item_product.js +0 -11
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/supplier.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/warehouse.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/transactions/stock_inbound.js +0 -24
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/transactions/stock_inbound_item.js +0 -28
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/audit/events.js +0 -18
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/inventory/products.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/public/users.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-subfolder/extra/category.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-subfolder/master/category.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-tablename/bar.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-tablename/foo.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/empty-folder/README.md +0 -1
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/invalid-export/plain.js +0 -3
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/invalid-schema/bad.js +0 -6
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/legacy-pattern/legacy.js +0 -12
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-distinct/audit/products.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-distinct/inventory/products.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-duplicate/a/products.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-duplicate/b/products.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/nested-deep/a/b/c/deep_table.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/.hidden/ignored.js +0 -7
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/master/category.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/master/supplier.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/transactions/stock_inbound.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/transactions/stock_inbound_item.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-multiple/category.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-multiple/item_product.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-single/category.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/integration.test.js +0 -217
- package/generators/tests/unit/lib/dbschema-kit/introspect-mapper.test.js +0 -403
- package/generators/tests/unit/lib/dbschema-kit/ir-builder.test.js +0 -390
- package/generators/tests/unit/lib/dbschema-kit/loader.test.js +0 -128
- package/generators/tests/unit/lib/dbschema-kit/naming.test.js +0 -170
- package/generators/tests/unit/lib/dbschema-kit/parser/shorthand-parser.test.js +0 -237
- package/generators/tests/unit/lib/dbschema-kit/schema-printer.test.js +0 -251
- package/generators/tests/unit/lib/dbschema-kit/statement-modifier.test.js +0 -105
- package/generators/tests/unit/lib/dbschema-kit/statement-splitter.test.js +0 -165
- package/generators/tests/unit/lib/dbschema-kit/topological-sort.test.js +0 -135
- package/generators/tests/unit/lib/dbschema-kit/validator/check-compatibility-validator.test.js +0 -373
- package/generators/tests/unit/lib/dbschema-kit/validator/circular-relation-validator.test.js +0 -454
- package/generators/tests/unit/lib/dbschema-kit/validator/cross-model-validator.test.js +0 -512
- package/generators/tests/unit/lib/dbschema-kit/validator/enhanced-validate-integration.test.js +0 -390
- package/generators/tests/unit/lib/dbschema-kit/validator/naming-convention-validator.test.js +0 -306
- package/generators/tests/unit/lib/dbschema-kit/validator/schema-validator.test.js +0 -443
- package/generators/tests/unit/lib/dbschema-kit/validator/type-compatibility-validator.test.js +0 -440
- package/generators/tests/unit/lib/dbschema-kit/validator/validator-reporter.test.js +0 -172
- package/generators/tests/unit/lib/metadata-manager-dashboard.test.js +0 -256
- package/generators/tests/unit/lib/payload-validator-fieldpolicy.test.js +0 -240
- package/generators/tests/unit/lib/processor-validation-generator.test.js +0 -300
- package/generators/tests/unit/lib/sensitive-field-masker.test.js +0 -170
- package/generators/tests/unit/lib/sql-table-extractor.test.js +0 -119
- package/scripts/generate-integrity-manifest.js +0 -124
- package/scripts/snapshot-cli-contracts.js +0 -194
- package/scripts/verify-publish.js +0 -56
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x1c2b8c=a0_0x4e9f;function a0_0x2371(){const _0xc989b4=['4PQG77IpievYCM9YoIa','CM1usfe','CgXHDgzVCM1dB25MAwC','y2XLyxjdywnOzq','BwvZC2fNzq','pt09pt09ie1vtefjieLosvnjquXju0ftssbnrvntquDfsfvcid09pt09pq','BNvor2S','tw9KztOGs29UzwTZAsboEwf0yq','AeHMwvq','tvnivujFqvbjx1bpuLq','nJq3otD0D2PXBfy','ndmXnZqXneX5BKH1wq','sNLMCeG','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pq','zLzNEuu','uLrpAw0','ody2mtG0tMLyquvT','CMvZDgzVCMDLlq','CMvXDwLYzufJAW','D2vIC29JA2v0','rhLdyMW','CgLK','ENzrrKS','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUihnVy2TLDc5KAxnJB25Uzwn0kcK','4PQG77IpievYCM9Yihb1yMXPC2HPBMCGBwvZC2fNztOG','z29puLq','ALP0yKe','Cgf0Aa','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','ofbABKDnDG','CMvJzwL2zxjjBMzV','mZuWnJG0nNLlvevWwG','C29JA2v0','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUignSB3nLkcK','s29UzwTZAsb0zxjWDxr1CZOG','CvL5ufC','tvnivujFvvnfuL9jra','AxnfCNjVCLjLBgf0zwq','BMnMuKi','ntm1oduZn0vXr1zUuW','zgLZy29UBMvJDa','vgLWzsblB211BMLRyxnPoIa','pt09pt09ierbveeGufvcteLtscbnrvntquDfid09pt09pq','teTnuM8','lI4VlI4VANmVBwvZC2fNzwH1yI5QCW','zw52','zfHMvuK','vLrquxu','nuzrvxPeyq','yNb1BfO','wwzKrMS','s29UzwTZAsbnzxnZywDLshvIihnLzgfUzYbIzxjSyw5NC3vUzYWGBwvUDw5Nz3uUlI4','zxjYB3i','4PQG77IpievYCM9YigLUAxnPywXPC2fZAsbnzxnZywDLshvIoIa','ndzqDM5vuLy','t3rYs3y','qLfNBhe','sLr1que','tvnivujFu1vcu0nssujfx0Tfwq','qw5tyLe','mtiYoduXmtLlueXowwm','y2f0zwDVCNK','t3LSveW','y29UzMLYBwf0Aw9Uq291BNq','ywzrCKW','u3vIC2nYAwjLieTLEtOG','tvnivujFqunltK9xtever0vFtuvtu0fhrvm','Bg9N','u3rHDhvZieXPC3rLBMvYoIa','CezNDvu','CMvXDwvZDeLK','8j+tQsblB25MAxjTyxnPoIbqzxnHBIa','vgvYChv0DxmGzgfYAsbZzxj2zxiUiefSyxnHBJOG','rgHXDMm','mtbyqxbwCui','AxbtqwC','ALjmyxy','ywrKtgLZDgvUzxi','Dg9mB2nHBgvtDhjPBMC','zxHWB3j0CW','BMfTzq','CMvJzwL2zwrbDa','wM90rLq','tvnivujFufvcteLtsf9lrvK','Dhj1zq','yuDZrfK','twvZC2fNzsbZzw50ihn1y2nLC3nMDwXSEsb0BYb0B3bPyYa','Bezosei','q2XPzw50ieLel1vZzxjjrdOG','y2HHBM5LBa','mZu5mdm2twjzDgzz','tuLqvw8'];a0_0x2371=function(){return _0xc989b4;};return a0_0x2371();}(function(_0x358b8d,_0x441521){const _0x37b36f=a0_0x4e9f,_0x4d6fa1=_0x358b8d();while(!![]){try{const _0x22a731=parseInt(_0x37b36f(0x128))/0x1+-parseInt(_0x37b36f(0x104))/0x2*(-parseInt(_0x37b36f(0x134))/0x3)+parseInt(_0x37b36f(0x13a))/0x4*(parseInt(_0x37b36f(0xfe))/0x5)+-parseInt(_0x37b36f(0x135))/0x6+parseInt(_0x37b36f(0x149))/0x7*(-parseInt(_0x37b36f(0x147))/0x8)+parseInt(_0x37b36f(0x151))/0x9*(-parseInt(_0x37b36f(0x118))/0xa)+parseInt(_0x37b36f(0x10a))/0xb;if(_0x22a731===_0x441521)break;else _0x4d6fa1['push'](_0x4d6fa1['shift']());}catch(_0x2ad296){_0x4d6fa1['push'](_0x4d6fa1['shift']());}}}(a0_0x2371,0x5b200));const dotenv=require('dotenv'),path=require(a0_0x1c2b8c(0x145)),fs=require('fs'),{v7:uuidv7}=require('uuid');dotenv['config']();let MessageHub;function a0_0x4e9f(_0x5b0630,_0x15091d){_0x5b0630=_0x5b0630-0xf9;const _0x2371e7=a0_0x2371();let _0x4e9fec=_0x2371e7[_0x5b0630];if(a0_0x4e9f['kJnhyd']===undefined){var _0x3ebcef=function(_0x577375){const _0x53a46d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x24ca51='',_0x20e25f='';for(let _0x3ff894=0x0,_0x535682,_0x176cff,_0x301694=0x0;_0x176cff=_0x577375['charAt'](_0x301694++);~_0x176cff&&(_0x535682=_0x3ff894%0x4?_0x535682*0x40+_0x176cff:_0x176cff,_0x3ff894++%0x4)?_0x24ca51+=String['fromCharCode'](0xff&_0x535682>>(-0x2*_0x3ff894&0x6)):0x0){_0x176cff=_0x53a46d['indexOf'](_0x176cff);}for(let _0x3639ee=0x0,_0xaf542=_0x24ca51['length'];_0x3639ee<_0xaf542;_0x3639ee++){_0x20e25f+='%'+('00'+_0x24ca51['charCodeAt'](_0x3639ee)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x20e25f);};a0_0x4e9f['GkfTUH']=_0x3ebcef,a0_0x4e9f['BAtGZY']={},a0_0x4e9f['kJnhyd']=!![];}const _0x1f0598=_0x2371e7[0x0],_0x48c655=_0x5b0630+_0x1f0598,_0x5773a5=a0_0x4e9f['BAtGZY'][_0x48c655];return!_0x5773a5?(_0x4e9fec=a0_0x4e9f['GkfTUH'](_0x4e9fec),a0_0x4e9f['BAtGZY'][_0x48c655]=_0x4e9fec):_0x4e9fec=_0x5773a5,_0x4e9fec;}try{const messagehubPath=path['resolve'](__dirname,a0_0x1c2b8c(0xfa));if(fs['existsSync'](messagehubPath))MessageHub=require(messagehubPath),console[a0_0x1c2b8c(0x111)]('MessageHub\x20SDK\x20found\x20at\x20'+messagehubPath);else throw new Error('MessageHub\x20SDK\x20not\x20found\x20at\x20'+messagehubPath);}catch(a0_0x2bb955){console[a0_0x1c2b8c(0x102)]('Error\x20loading\x20MessageHub\x20SDK:\x20'+a0_0x2bb955['message']);throw a0_0x2bb955;}let messagehub=null,isConnected=![],connectionPromise=null,timeoutHandler=null;function log(_0x1981e6){const _0x3e9652=new Date()['toISOString']();console['log']('['+_0x3e9652+']\x20'+_0x1981e6);}async function initMessageHub(){const _0x58fac8=a0_0x1c2b8c,_0x4bc02a={'AnSbQ':function(_0x1fd7fc,_0x20c36d){return _0x1fd7fc(_0x20c36d);},'EKhhb':function(_0x489925,_0xf99534){return _0x489925===_0xf99534;},'dhoxI':'Unknown\x20error','bpulZ':function(_0x143c29,_0x4b4eb3){return _0x143c29===_0x4b4eb3;},'fVgyE':'message-received','ZotFT':_0x58fac8(0x12f),'Dhqvc':_0x58fac8(0x131),'FXKcI':'default','aBYjE':'broadcast','gDlnF':'true','JTuAA':_0x58fac8(0x13d),'dXfUI':'localhost','OylTL':function(_0x489b2d,_0x38aee8){return _0x489b2d(_0x38aee8);},'pFguU':function(_0xede6ba,_0x34f8e3){return _0xede6ba(_0x34f8e3);},'afQrL':function(_0x2f68c9,_0x45db0c){return _0x2f68c9(_0x45db0c);},'lFNHB':_0x58fac8(0x137),'jZtbA':function(_0x4a6766,_0x45690e,_0x272007){return _0x4a6766(_0x45690e,_0x272007);},'jEVwo':'Error\x20inisialisasi\x20MessageHub:','JyfpH':function(_0x5cfcd3,_0x3fa611){return _0x5cfcd3(_0x3fa611);},'ipSAg':function(_0x1d0699,_0x3742ac){return _0x1d0699&&_0x3742ac;}};if(_0x4bc02a[_0x58fac8(0x119)](messagehub,isConnected))return log('MessageHub\x20sudah\x20terhubung,\x20menggunakan\x20koneksi\x20yang\x20ada'),!![];if(connectionPromise)return _0x4bc02a['AnSbQ'](log,_0x58fac8(0x101)),connectionPromise;return connectionPromise=new Promise(async(_0x1e67a1,_0x473d98)=>{const _0x3e1310=_0x58fac8,_0x11de9b={'nuNGk':function(_0x192113,_0xdd4b21){return _0x192113(_0xdd4b21);},'qYyPW':function(_0x409fbf,_0x166b67){return _0x409fbf===_0x166b67;},'OxmSG':function(_0x3e8118,_0x200906){const _0x5b1de9=a0_0x4e9f;return _0x4bc02a[_0x5b1de9(0x109)](_0x3e8118,_0x200906);},'HzAQJ':'disconnected','VTPQu':'Tidak\x20diketahui','hHfYT':function(_0x400dc0,_0x5da18f){return _0x4bc02a['EKhhb'](_0x400dc0,_0x5da18f);},'zvQFK':_0x4bc02a['dhoxI'],'RTOim':function(_0x3a7d00,_0x5fa8fa){return _0x3a7d00(_0x5fa8fa);},'LvNPM':function(_0x3f96ea,_0x35a4ba){const _0x527fec=a0_0x4e9f;return _0x4bc02a[_0x527fec(0xff)](_0x3f96ea,_0x35a4ba);},'jRLav':'message-sent','NrQJC':_0x4bc02a[_0x3e1310(0x138)],'sqLth':function(_0x4645b3,_0x56b831){const _0x3c27af=_0x3e1310;return _0x4bc02a[_0x3c27af(0x109)](_0x4645b3,_0x56b831);},'BQglq':'⚠️\x20Timeout:\x20Tidak\x20dapat\x20terhubung\x20ke\x20MessageHub\x20server\x20dalam\x20waktu\x20yang\x20ditentukan'};try{log(_0x4bc02a[_0x3e1310(0x120)]),log('Waktu\x20Inisialisasi:\x20'+new Date()[_0x3e1310(0x11c)]()),_0x4bc02a[_0x3e1310(0x109)](log,_0x4bc02a[_0x3e1310(0x117)]);const _0x102d09={'publishKey':process[_0x3e1310(0xfb)][_0x3e1310(0x121)],'subscribeKey':process[_0x3e1310(0xfb)][_0x3e1310(0x108)],'userId':process['env'][_0x3e1310(0x14e)]||_0x3e1310(0x13b)+(process[_0x3e1310(0xfb)][_0x3e1310(0x146)]||_0x4bc02a['FXKcI'])+'-'+process[_0x3e1310(0x13f)],'communicationType':process['env']['MSHUB_COMMUNICATION_TYPE']||_0x4bc02a['aBYjE'],'autoAcknowledge':_0x4bc02a['EKhhb'](process[_0x3e1310(0xfb)]['MSHUB_AUTO_ACKNOWLEDGE'],_0x3e1310(0x122)),'acknowledgeMessages':process[_0x3e1310(0xfb)][_0x3e1310(0x110)]===_0x4bc02a['gDlnF'],'platform':{'type':process['env']['MSHUB_COMMUNICATION_TYPE']||_0x4bc02a[_0x3e1310(0x107)],'host':process[_0x3e1310(0xfb)]['MSHUB_HOST']||_0x4bc02a[_0x3e1310(0xfc)],'api_port':_0x4bc02a[_0x3e1310(0x10c)](parseInt,process[_0x3e1310(0xfb)][_0x3e1310(0x133)]||0xdf8),'service_port':_0x4bc02a['OylTL'](parseInt,process[_0x3e1310(0xfb)]['MSHUB_SERVICE_PORT']||0xdf9),'config':{'protocol':'v1'}}};messagehub=new MessageHub(_0x102d09),_0x4bc02a[_0x3e1310(0x113)](log,'======\x20INFORMASI\x20CLIENT\x20MESSAGEHUB\x20======'),log(_0x3e1310(0x126)+messagehub['userId']),_0x4bc02a[_0x3e1310(0x10e)](log,'Publish\x20Key:\x20'+messagehub['publishKey']),_0x4bc02a['afQrL'](log,_0x3e1310(0x10f)+messagehub['subscribeKey']),log(_0x3e1310(0x153)+messagehub['communicationType']),_0x4bc02a[_0x3e1310(0x109)](log,'Konfigurasi\x20Platform:\x20'+JSON['stringify'](messagehub[_0x3e1310(0x12c)])),log(_0x4bc02a[_0x3e1310(0x125)]),messagehub[_0x3e1310(0x11b)]({'status':function(_0x278af8){const _0x123884=_0x3e1310;_0x11de9b['nuNGk'](log,_0x123884(0x112)+_0x278af8[_0x123884(0x10b)]);if(_0x11de9b[_0x123884(0x14d)](_0x278af8['category'],'connected'))_0x11de9b[_0x123884(0x130)](log,'Terhubung\x20ke\x20server\x20MessageHub'),isConnected=!![],timeoutHandler&&(_0x11de9b['nuNGk'](clearTimeout,timeoutHandler),timeoutHandler=null),_0x11de9b['OxmSG'](_0x1e67a1,!![]);else{if(_0x278af8[_0x123884(0x10b)]===_0x11de9b['HzAQJ']){const _0xd73143=_0x278af8[_0x123884(0x14f)]===!![];!_0xd73143&&(log(_0x123884(0x116)+(_0x278af8['reason']||_0x11de9b[_0x123884(0xfd)])),isConnected=![],connectionPromise&&(_0x473d98(new Error(_0x123884(0x14c)+(_0x278af8['reason']||_0x11de9b[_0x123884(0xfd)]))),connectionPromise=null));}else{if(_0x11de9b[_0x123884(0x132)](_0x278af8['category'],'error')){let _0x1c9b14=_0x278af8['errorDetail']||_0x278af8['error']||_0x11de9b[_0x123884(0x140)];_0x11de9b[_0x123884(0x139)](log,_0x123884(0x12a)+_0x1c9b14),isConnected=![],connectionPromise&&(_0x473d98(new Error(_0x1c9b14)),connectionPromise=null);}else{if(_0x11de9b['LvNPM'](_0x278af8[_0x123884(0x10b)],_0x11de9b[_0x123884(0x11a)]))log('📤\x20Pesan\x20berhasil\x20dikirim!\x20RequestID:\x20'+_0x278af8[_0x123884(0x114)]);else{if(_0x278af8[_0x123884(0x10b)]===_0x11de9b['NrQJC']){const _0x3c761f=_0x278af8[_0x123884(0x148)]?.[_0x123884(0x11e)]||'Unknown',_0x423ccc=_0x278af8[_0x123884(0x148)]?.['id']||_0x278af8['receiverId'],_0xc275ed=new Date(_0x278af8['receiverInfo']?.['receivedAt']||_0x278af8[_0x123884(0x11f)]||new Date())['toLocaleTimeString']();_0x11de9b['sqLth'](log,_0x123884(0x115)+_0x278af8['requestId']+'\x20diterima\x20oleh\x20'+_0x3c761f+'\x20('+_0x423ccc+')\x20pada\x20'+_0xc275ed+'.\x20Total\x20konfirmasi:\x20'+(_0x278af8[_0x123884(0x10d)]||0x1));}}}}}}}),timeoutHandler=_0x4bc02a[_0x3e1310(0x144)](setTimeout,()=>{const _0x575b9a=_0x3e1310;!isConnected&&connectionPromise&&(log(_0x11de9b[_0x575b9a(0x106)]),_0x473d98(new Error('Connection\x20timeout')),connectionPromise=null);},0x2710);}catch(_0x25df46){log(_0x3e1310(0x103)+_0x25df46[_0x3e1310(0x12e)]),console['error'](_0x4bc02a['jEVwo'],_0x25df46),connectionPromise=null,_0x4bc02a[_0x3e1310(0x136)](_0x473d98,_0x25df46);}}),connectionPromise;}async function publishMessage(_0x5211c7,_0x53facf,_0x12ec68,_0x3e2a61={}){const _0x29631f=a0_0x1c2b8c,_0x424ece={'goORT':function(_0x4c8974){return _0x4c8974();},'DyCbl':function(_0x37b7d4,_0x502a30){return _0x37b7d4(_0x502a30);},'BYfhV':'================================','GvTPh':function(_0x43dda4,_0x4ed12c){return _0x43dda4!==_0x4ed12c;},'tWalp':function(_0xa11945,_0x12148e){return _0xa11945!==_0x12148e;},'rnXXU':function(_0x1ef169,_0x489d5f){return _0x1ef169(_0x489d5f);},'EuThI':'Failed\x20to\x20send\x20message'};try{!isConnected&&await _0x424ece[_0x29631f(0x143)](initMessageHub);const _0x1a8014=messagehub[_0x29631f(0x127)](_0x5211c7);_0x424ece[_0x29631f(0x13e)](log,_0x29631f(0x154)),log('Channel\x20Target:\x20'+_0x1a8014['topic']),_0x424ece['DyCbl'](log,'Message\x20Type:\x20'+_0x53facf),log(_0x424ece['BYfhV']);const _0x54c945={'requireAck':_0x424ece['GvTPh'](_0x3e2a61[_0x29631f(0x13c)],undefined)?_0x3e2a61['requireAck']:![],'clearCache':_0x424ece['tWalp'](_0x3e2a61[_0x29631f(0x12d)],undefined)?_0x3e2a61[_0x29631f(0x12d)]:!![],'senderId':messagehub['socket']?messagehub['socket']['id']:'restforge'};log('Mengirim\x20pesan\x20ke\x20server...');const _0x1c45b4={'type':_0x53facf,'content':_0x12ec68},_0x273603=await _0x1a8014['publish'](_0x1c45b4,_0x54c945);return _0x424ece[_0x29631f(0x13e)](log,_0x29631f(0x124)+_0x5211c7),{'success':!![],'requestId':_0x273603['requestId'],'topic':_0x5211c7,'message':'Message\x20sent\x20successfully'};}catch(_0x4c8b03){return _0x424ece['rnXXU'](log,_0x29631f(0x142)+_0x4c8b03[_0x29631f(0x12e)]),{'success':![],'error':_0x4c8b03['message'],'topic':_0x5211c7,'message':_0x424ece['EuThI']};}}async function closeConnection(){const _0x15c597=a0_0x1c2b8c,_0x760c1={'OtrKv':function(_0x141829,_0x1ee298){return _0x141829&&_0x1ee298;},'aGsDY':function(_0x19f4a5,_0x4c46e5){return _0x19f4a5(_0x4c46e5);},'rmTHQ':'Koneksi\x20MessageHub\x20ditutup\x20dengan\x20disconnect()','ncfRB':'function','TqJgL':_0x15c597(0x14b),'LKMRo':function(_0x192c11,_0x2b1c4d){return _0x192c11===_0x2b1c4d;},'MIPUo':'Tidak\x20dapat\x20menemukan\x20metode\x20untuk\x20menutup\x20koneksi\x20MessageHub','YfdFk':function(_0x58558f,_0x1e3ae2){return _0x58558f(_0x1e3ae2);}};timeoutHandler&&(clearTimeout(timeoutHandler),timeoutHandler=null);if(_0x760c1[_0x15c597(0x105)](isConnected,messagehub))try{if(typeof messagehub[_0x15c597(0x152)]==='function')await messagehub[_0x15c597(0x152)](),_0x760c1[_0x15c597(0x123)](log,_0x760c1[_0x15c597(0x12b)]);else{if(typeof messagehub['close']===_0x760c1['ncfRB'])await messagehub['close'](),_0x760c1[_0x15c597(0x123)](log,_0x760c1['TqJgL']);else messagehub[_0x15c597(0x14a)]&&_0x760c1[_0x15c597(0xf9)](typeof messagehub[_0x15c597(0x14a)][_0x15c597(0x152)],_0x760c1[_0x15c597(0x150)])?(messagehub['socket']['disconnect'](),_0x760c1[_0x15c597(0x123)](log,_0x15c597(0x141))):log(_0x760c1[_0x15c597(0x129)]);}isConnected=![],connectionPromise=null;}catch(_0x11b777){_0x760c1[_0x15c597(0x100)](log,'Error\x20saat\x20menutup\x20koneksi:\x20'+_0x11b777[_0x15c597(0x12e)]);}}module[a0_0x1c2b8c(0x11d)]={'initMessageHub':initMessageHub,'publishMessage':publishMessage,'closeConnection':closeConnection};
|
|
1
|
+
const a0_0x226c97=a0_0x4fe3;(function(_0x2ad84d,_0x315a43){const _0xcde59e=a0_0x4fe3,_0xf10688=_0x2ad84d();while(!![]){try{const _0x1b1b5b=parseInt(_0xcde59e(0x74))/0x1*(-parseInt(_0xcde59e(0x84))/0x2)+-parseInt(_0xcde59e(0xab))/0x3*(-parseInt(_0xcde59e(0x6d))/0x4)+-parseInt(_0xcde59e(0xac))/0x5+-parseInt(_0xcde59e(0xa1))/0x6+parseInt(_0xcde59e(0x8d))/0x7*(parseInt(_0xcde59e(0x99))/0x8)+-parseInt(_0xcde59e(0x7d))/0x9*(-parseInt(_0xcde59e(0xb2))/0xa)+parseInt(_0xcde59e(0x95))/0xb*(parseInt(_0xcde59e(0x86))/0xc);if(_0x1b1b5b===_0x315a43)break;else _0xf10688['push'](_0xf10688['shift']());}catch(_0x482c36){_0xf10688['push'](_0xf10688['shift']());}}}(a0_0x3834,0x2547b));const dotenv=require(a0_0x226c97(0x9d)),path=require(a0_0x226c97(0x68)),fs=require('fs'),{v7:uuidv7}=require('uuid');dotenv['config']();let MessageHub;try{const messagehubPath=path[a0_0x226c97(0x6e)](__dirname,'../../js/messagehub.js');if(fs[a0_0x226c97(0x90)](messagehubPath))MessageHub=require(messagehubPath),console['log'](a0_0x226c97(0x78)+messagehubPath);else throw new Error(a0_0x226c97(0xb0)+messagehubPath);}catch(a0_0xb1c0c0){console[a0_0x226c97(0x89)]('Error\x20loading\x20MessageHub\x20SDK:\x20'+a0_0xb1c0c0[a0_0x226c97(0x6b)]);throw a0_0xb1c0c0;}let messagehub=null,isConnected=![],connectionPromise=null,timeoutHandler=null;function log(_0x35fe73){const _0x32fcb3=a0_0x226c97,_0x58f190=new Date()['toISOString']();console[_0x32fcb3(0x96)]('['+_0x58f190+']\x20'+_0x35fe73);}async function initMessageHub(){const _0x1b10d7=a0_0x226c97,_0x5b1413={'LYYbj':function(_0x59a382,_0x59a478){return _0x59a382===_0x59a478;},'yftmy':function(_0x514b73,_0x166642){return _0x514b73(_0x166642);},'XoLnR':'Tidak\x20diketahui','wbrvP':_0x1b10d7(0x89),'smLUl':function(_0x33999b,_0x2e11be){return _0x33999b===_0x2e11be;},'MdQNP':_0x1b10d7(0x81),'fAJex':function(_0x52a788,_0x22db42){return _0x52a788&&_0x22db42;},'NLdxW':'⚠️\x20Timeout:\x20Tidak\x20dapat\x20terhubung\x20ke\x20MessageHub\x20server\x20dalam\x20waktu\x20yang\x20ditentukan','uoaSP':function(_0x444f8e,_0x46a76a){return _0x444f8e(_0x46a76a);},'qxpkX':function(_0x537950,_0x6e8d76){return _0x537950(_0x6e8d76);},'EnDML':function(_0x2fba80,_0x515731){return _0x2fba80(_0x515731);},'tvwsR':'true','bebSG':function(_0x1a4d49,_0x4ce9f7){return _0x1a4d49===_0x4ce9f7;},'Bksjx':'websocket','CwAKx':_0x1b10d7(0x8c),'nHMah':_0x1b10d7(0x70),'QkKnJ':function(_0x1b4316,_0x59ba1f){return _0x1b4316&&_0x59ba1f;},'ZChiE':function(_0x2c2a98,_0x15dcab){return _0x2c2a98(_0x15dcab);},'PskWF':function(_0x1ae425,_0x461cac){return _0x1ae425(_0x461cac);}};if(_0x5b1413[_0x1b10d7(0xa3)](messagehub,isConnected))return _0x5b1413['ZChiE'](log,_0x1b10d7(0x93)),!![];if(connectionPromise)return _0x5b1413['PskWF'](log,'Koneksi\x20MessageHub\x20sedang\x20berlangsung,\x20menunggu...'),connectionPromise;return connectionPromise=new Promise(async(_0x27d451,_0x505079)=>{const _0x251a97=_0x1b10d7,_0x58ee7c={'TcqMp':function(_0x33413a,_0x1152cf){return _0x5b1413['fAJex'](_0x33413a,_0x1152cf);},'QAohz':_0x5b1413['NLdxW'],'QJxRj':function(_0x4cec80,_0x3c50ea){return _0x4cec80(_0x3c50ea);},'wGVGz':_0x251a97(0xa8)};try{_0x5b1413['uoaSP'](log,_0x251a97(0x9c)),_0x5b1413['qxpkX'](log,'Waktu\x20Inisialisasi:\x20'+new Date()['toLocaleString']()),_0x5b1413['EnDML'](log,_0x251a97(0x77));const _0x279ce3={'publishKey':process[_0x251a97(0x75)]['MSHUB_PUBLISH_KEY'],'subscribeKey':process['env'][_0x251a97(0x9a)],'userId':process[_0x251a97(0x75)]['MSHUB_USER_ID']||_0x251a97(0xa7)+(process[_0x251a97(0x75)]['RESTFORGE_PROJECT_NAME']||_0x251a97(0x8f))+'-'+process['pid'],'communicationType':process['env'][_0x251a97(0xb3)]||'broadcast','autoAcknowledge':process['env'][_0x251a97(0xa9)]===_0x5b1413['tvwsR'],'acknowledgeMessages':_0x5b1413['bebSG'](process['env'][_0x251a97(0xb4)],'true'),'platform':{'type':process['env'][_0x251a97(0xb3)]||_0x5b1413['Bksjx'],'host':process[_0x251a97(0x75)]['MSHUB_HOST']||_0x5b1413['CwAKx'],'api_port':parseInt(process[_0x251a97(0x75)]['MSHUB_API_PORT']||0xdf8),'service_port':_0x5b1413['EnDML'](parseInt,process[_0x251a97(0x75)]['MSHUB_SERVICE_PORT']||0xdf9),'config':{'protocol':'v1'}}};messagehub=new MessageHub(_0x279ce3),log('======\x20INFORMASI\x20CLIENT\x20MESSAGEHUB\x20======'),log(_0x251a97(0xa5)+messagehub['userId']),log('Publish\x20Key:\x20'+messagehub['publishKey']),log(_0x251a97(0x91)+messagehub[_0x251a97(0x87)]),log('Tipe\x20Komunikasi:\x20'+messagehub[_0x251a97(0x79)]),_0x5b1413[_0x251a97(0x6a)](log,'Konfigurasi\x20Platform:\x20'+JSON[_0x251a97(0x8b)](messagehub['platformConfig'])),log(_0x5b1413[_0x251a97(0x8a)]),messagehub['addListener']({'status':function(_0x2221d1){const _0x38ed3e=_0x251a97;log(_0x38ed3e(0xa2)+_0x2221d1[_0x38ed3e(0xa4)]);if(_0x5b1413[_0x38ed3e(0x85)](_0x2221d1['category'],'connected'))log(_0x38ed3e(0x8e)),isConnected=!![],timeoutHandler&&(_0x5b1413['yftmy'](clearTimeout,timeoutHandler),timeoutHandler=null),_0x27d451(!![]);else{if(_0x2221d1[_0x38ed3e(0xa4)]==='disconnected'){const _0x2997d8=_0x2221d1['isErrorRelated']===!![];!_0x2997d8&&(log('Terputus\x20dari\x20server.\x20Alasan:\x20'+(_0x2221d1[_0x38ed3e(0x71)]||_0x5b1413['XoLnR'])),isConnected=![],connectionPromise&&(_0x505079(new Error('Koneksi\x20terputus:\x20'+(_0x2221d1['reason']||'Tidak\x20diketahui'))),connectionPromise=null));}else{if(_0x2221d1['category']===_0x5b1413['wbrvP']){let _0x547431=_0x2221d1[_0x38ed3e(0x80)]||_0x2221d1[_0x38ed3e(0x89)]||'Unknown\x20error';_0x5b1413[_0x38ed3e(0xae)](log,_0x38ed3e(0x7a)+_0x547431),isConnected=![],connectionPromise&&(_0x505079(new Error(_0x547431)),connectionPromise=null);}else{if(_0x5b1413[_0x38ed3e(0x7e)](_0x2221d1[_0x38ed3e(0xa4)],'message-sent'))_0x5b1413['yftmy'](log,'📤\x20Pesan\x20berhasil\x20dikirim!\x20RequestID:\x20'+_0x2221d1['requestId']);else{if(_0x2221d1[_0x38ed3e(0xa4)]===_0x5b1413[_0x38ed3e(0xa6)]){const _0x2edc85=_0x2221d1[_0x38ed3e(0x67)]?.['name']||_0x38ed3e(0x72),_0x6b1e17=_0x2221d1['receiverInfo']?.['id']||_0x2221d1['receiverId'],_0x2f6972=new Date(_0x2221d1['receiverInfo']?.['receivedAt']||_0x2221d1['receivedAt']||new Date())[_0x38ed3e(0x9e)]();log('📩\x20Konfirmasi:\x20Pesan\x20'+_0x2221d1['requestId']+_0x38ed3e(0x9b)+_0x2edc85+'\x20('+_0x6b1e17+')\x20pada\x20'+_0x2f6972+'.\x20Total\x20konfirmasi:\x20'+(_0x2221d1[_0x38ed3e(0xaa)]||0x1));}}}}}}}),timeoutHandler=setTimeout(()=>{const _0x124d19=_0x251a97;_0x58ee7c['TcqMp'](!isConnected,connectionPromise)&&(log(_0x58ee7c[_0x124d19(0x94)]),_0x58ee7c[_0x124d19(0xaf)](_0x505079,new Error(_0x58ee7c['wGVGz'])),connectionPromise=null);},0x2710);}catch(_0x2d1b49){_0x5b1413[_0x251a97(0x6a)](log,'⚠️\x20Error\x20inisialisasi\x20MessageHub:\x20'+_0x2d1b49[_0x251a97(0x6b)]),console[_0x251a97(0x89)]('Error\x20inisialisasi\x20MessageHub:',_0x2d1b49),connectionPromise=null,_0x505079(_0x2d1b49);}}),connectionPromise;}function a0_0x4fe3(_0x2a87fd,_0x332f1a){_0x2a87fd=_0x2a87fd-0x67;const _0x38349f=a0_0x3834();let _0x4fe386=_0x38349f[_0x2a87fd];if(a0_0x4fe3['iXgyjd']===undefined){var _0x4bbf11=function(_0x203fd3){const _0x94b598='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x356d08='',_0x542d51='';for(let _0x2440b2=0x0,_0x3979ac,_0xd0a388,_0x37ebed=0x0;_0xd0a388=_0x203fd3['charAt'](_0x37ebed++);~_0xd0a388&&(_0x3979ac=_0x2440b2%0x4?_0x3979ac*0x40+_0xd0a388:_0xd0a388,_0x2440b2++%0x4)?_0x356d08+=String['fromCharCode'](0xff&_0x3979ac>>(-0x2*_0x2440b2&0x6)):0x0){_0xd0a388=_0x94b598['indexOf'](_0xd0a388);}for(let _0x5be49b=0x0,_0xe2b68f=_0x356d08['length'];_0x5be49b<_0xe2b68f;_0x5be49b++){_0x542d51+='%'+('00'+_0x356d08['charCodeAt'](_0x5be49b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x542d51);};a0_0x4fe3['LTbqMt']=_0x4bbf11,a0_0x4fe3['eiJkOG']={},a0_0x4fe3['iXgyjd']=!![];}const _0x3e516c=_0x38349f[0x0],_0x2d9276=_0x2a87fd+_0x3e516c,_0x481d1=a0_0x4fe3['eiJkOG'][_0x2d9276];return!_0x481d1?(_0x4fe386=a0_0x4fe3['LTbqMt'](_0x4fe386),a0_0x4fe3['eiJkOG'][_0x2d9276]=_0x4fe386):_0x4fe386=_0x481d1,_0x4fe386;}async function publishMessage(_0x1e3bfc,_0x3d8aa9,_0x1ec52d,_0x181d67={}){const _0x1d3a79=a0_0x226c97,_0x5ad1b9={'bHNua':function(_0x42d93e){return _0x42d93e();},'lERfQ':_0x1d3a79(0x76),'AAfXa':function(_0x2a08bf,_0x4531b5){return _0x2a08bf(_0x4531b5);},'rzdic':'Mengirim\x20pesan\x20ke\x20server...','saxmU':function(_0x491863,_0x4876c3){return _0x491863(_0x4876c3);}};try{!isConnected&&await _0x5ad1b9[_0x1d3a79(0x7b)](initMessageHub);const _0x2e2882=messagehub['channel'](_0x1e3bfc);log(_0x5ad1b9[_0x1d3a79(0x88)]),_0x5ad1b9[_0x1d3a79(0xb1)](log,'Channel\x20Target:\x20'+_0x2e2882[_0x1d3a79(0x6c)]),log('Message\x20Type:\x20'+_0x3d8aa9),log(_0x1d3a79(0x73));const _0x9eaf9f={'requireAck':_0x181d67[_0x1d3a79(0x82)]!==undefined?_0x181d67[_0x1d3a79(0x82)]:![],'clearCache':_0x181d67['clearCache']!==undefined?_0x181d67[_0x1d3a79(0xa0)]:!![],'senderId':messagehub['socket']?messagehub[_0x1d3a79(0xad)]['id']:'restforge'};_0x5ad1b9['AAfXa'](log,_0x5ad1b9['rzdic']);const _0x270703={'type':_0x3d8aa9,'content':_0x1ec52d},_0x157f6c=await _0x2e2882[_0x1d3a79(0x83)](_0x270703,_0x9eaf9f);return _0x5ad1b9['saxmU'](log,'Message\x20sent\x20successfully\x20to\x20topic\x20'+_0x1e3bfc),{'success':!![],'requestId':_0x157f6c['requestId'],'topic':_0x1e3bfc,'message':'Message\x20sent\x20successfully'};}catch(_0x5c84c1){return _0x5ad1b9[_0x1d3a79(0x98)](log,'⚠️\x20Error\x20publishing\x20message:\x20'+_0x5c84c1[_0x1d3a79(0x6b)]),{'success':![],'error':_0x5c84c1[_0x1d3a79(0x6b)],'topic':_0x1e3bfc,'message':'Failed\x20to\x20send\x20message'};}}async function closeConnection(){const _0x39710c=a0_0x226c97,_0x6263a7={'PddQz':function(_0x517a23,_0x2f5ffb){return _0x517a23(_0x2f5ffb);},'rfwuz':'Koneksi\x20MessageHub\x20ditutup\x20dengan\x20close()','ADhlc':function(_0x1a11cb,_0x21d438){return _0x1a11cb===_0x21d438;}};timeoutHandler&&(_0x6263a7['PddQz'](clearTimeout,timeoutHandler),timeoutHandler=null);if(isConnected&&messagehub)try{if(typeof messagehub[_0x39710c(0x6f)]===_0x39710c(0x97))await messagehub['disconnect'](),log('Koneksi\x20MessageHub\x20ditutup\x20dengan\x20disconnect()');else{if(typeof messagehub['close']===_0x39710c(0x97))await messagehub[_0x39710c(0x69)](),log(_0x6263a7['rfwuz']);else messagehub[_0x39710c(0xad)]&&_0x6263a7[_0x39710c(0x9f)](typeof messagehub['socket'][_0x39710c(0x6f)],'function')?(messagehub[_0x39710c(0xad)]['disconnect'](),log(_0x39710c(0x92))):log(_0x39710c(0x7f));}isConnected=![],connectionPromise=null;}catch(_0xa7c608){log(_0x39710c(0x7c)+_0xa7c608['message']);}}module['exports']={'initMessageHub':initMessageHub,'publishMessage':publishMessage,'closeConnection':closeConnection};function a0_0x3834(){const _0x1b87b6=['mtqZqNf3r0PP','Bg9N','zNvUy3rPB24','C2f4Bvu','odGZntq0rwXdAgnI','tvnivujFu1vcu0nssujfx0Tfwq','igrPDgvYAw1Hig9SzwGG','pt09pt09ie1vtefjieLosvnjquXju0ftssbnrvntquDfsfvcid09pt09pq','zg90zw52','Dg9mB2nHBgvuAw1Lu3rYAw5N','qurOBgm','y2XLyxjdywnOzq','mtm5nZi3nerIBxPSrq','u3rHDhvZieXPC3rLBMvYoIa','uwTlBKO','y2f0zwDVCNK','q2XPzw50ieLel1vZzxjjrdOG','twrrtLa','CMvZDgzVCMDLlq','q29UBMvJDgLVBIb0Aw1LB3v0','tvnivujFqvvut19bq0Tot1Dmrurhrq','y29UzMLYBwf0Aw9Uq291BNq','nde1ntK2rMH6qNfe','mtaYotqWmfHSEfniza','C29JA2v0','Ewz0BxK','uuP4uMO','twvZC2fNzuH1yIbtreSGBM90igzVDw5Kigf0ia','qufMwge','mtbyrej5DKi','tvnivujFq09ntvvosunbveLptL9uwvbf','tvnivujFqunltK9xtever0vFtuvtu0fhrvm','CMvJzwL2zxjjBMzV','Cgf0Aa','y2XVC2u','rw5etuW','BwvZC2fNzq','Dg9WAwm','nfDmEw11Aq','CMvZB2X2zq','zgLZy29UBMvJDa','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pq','CMvHC29U','vw5RBM93BG','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt0','mtm3Dw9KDvzx','zw52','pt09pt09ierbveeGufvcteLtscbnrvntquDfid09pt09pq','tw9KztOGs29UzwTZAsboEwf0yq','twvZC2fNzuH1yIbtreSGzM91BMqGyxqG','y29TBxvUAwnHDgLVBLr5Cgu','4PQG77IpievYCM9YoIa','yKHoDwe','rxjYB3iGC2fHDcbTzw51DhvWigTVBMvRC2K6ia','mJmXnZeYmM5OChDftq','C21mvwW','vgLKywSGzgfWyxqGBwvUzw11A2fUig1LDg9Kzsb1BNr1AYbTzw51DhvWigTVBMvRC2KGtwvZC2fNzuH1yG','zxjYB3jezxrHAwW','BwvZC2fNzs1YzwnLAxzLza','CMvXDwLYzufJAW','ChvIBgLZAa','mta5ohjJs0HACq','tfLzyMO','mtq3oteYuNzxDMnW','C3vIC2nYAwjLs2v5','BevszLe','zxjYB3i','BKHnywG','C3rYAw5NAwz5','Bg9JywXOB3n0','n1jJELznua','vgvYAhvIDw5NigTLihnLCNzLCIbnzxnZywDLshvI','zgvMyxvSDa','zxHPC3rZu3LUyW','u3vIC2nYAwjLieTLEtOG','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUihnVy2TLDc5KAxnJB25Uzwn0kcK','twvZC2fNzuH1yIbZDwrHAcb0zxjODwj1BMCSig1LBMDNDw5HA2fUigTVBMvRC2KGEwfUzYbHzge','uufVAhO'];a0_0x3834=function(){return _0x1b87b6;};return a0_0x3834();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x423a02=a0_0x324c;(function(_0x4604a8,_0x25fa06){const _0x2ae48c=a0_0x324c,_0x298cb2=_0x4604a8();while(!![]){try{const _0x2daf11=parseInt(_0x2ae48c(0x11f))/0x1+-parseInt(_0x2ae48c(0x112))/0x2*(parseInt(_0x2ae48c(0x102))/0x3)+parseInt(_0x2ae48c(0x128))/0x4*(parseInt(_0x2ae48c(0x116))/0x5)+parseInt(_0x2ae48c(0x127))/0x6+-parseInt(_0x2ae48c(0x136))/0x7+parseInt(_0x2ae48c(0xf5))/0x8*(parseInt(_0x2ae48c(0x11b))/0x9)+-parseInt(_0x2ae48c(0x12e))/0xa;if(_0x2daf11===_0x25fa06)break;else _0x298cb2['push'](_0x298cb2['shift']());}catch(_0x17780f){_0x298cb2['push'](_0x298cb2['shift']());}}}(a0_0x5be1,0x678bb));const {createConnection,createChannel,setupInfrastructure,closeConnection,getConfig}=require(a0_0x423a02(0x123)),{formatDate}=require(a0_0x423a02(0x126));class RabbitMQService{constructor(){const _0x5e147f=a0_0x423a02,_0x3970e1={'MkSUS':function(_0x3146eb){return _0x3146eb();}};this['connection']=null,this[_0x5e147f(0xf1)]=null,this[_0x5e147f(0xe3)]=_0x3970e1['MkSUS'](getConfig),this['isConnected']=![],this[_0x5e147f(0xef)]=[];}async[a0_0x423a02(0x115)](){const _0x188471=a0_0x423a02,_0x56b079={'xqxuC':function(_0x1cbb58,_0x104531){return _0x1cbb58(_0x104531);},'vBYUw':function(_0x2fd74f){return _0x2fd74f();},'dWPkz':function(_0x3a67a4,_0x2bc72a){return _0x3a67a4(_0x2bc72a);},'kJFYp':function(_0x491e90,_0x3905fc){return _0x491e90(_0x3905fc);},'hqqUs':function(_0x1e604c,_0x4b3c81){return _0x1e604c(_0x4b3c81);},'viCOC':_0x188471(0x108)};try{return this[_0x188471(0x125)]=await _0x56b079['vBYUw'](createConnection),this['channel']=await _0x56b079[_0x188471(0xff)](createChannel,this['connection']),await this['channel'][_0x188471(0x117)](0x1),console['log']('['+_0x56b079['kJFYp'](formatDate,new Date())+']\x20Prefetch\x20diatur\x20ke\x201'),await _0x56b079[_0x188471(0x12c)](setupInfrastructure,this['channel']),this['isConnected']=!![],this['connection']['on'](_0x56b079['viCOC'],()=>{const _0x23182f=_0x188471;console['error']('['+_0x56b079[_0x23182f(0xee)](formatDate,new Date())+']\x20Koneksi\x20RabbitMQ\x20terputus'),this[_0x23182f(0x122)]=![],setTimeout(()=>this['reconnect'](),0x1388);}),!![];}catch(_0x3d7841){return console['error']('['+formatDate(new Date())+']\x20Failed\x20to\x20initialize\x20RabbitMQ:\x20'+_0x3d7841['message']),this['isConnected']=![],![];}}async[a0_0x423a02(0xfa)](){const _0x44f062=a0_0x423a02,_0x2742f1={'yEmXW':function(_0x2641ef,_0x1ac2d7){return _0x2641ef(_0x1ac2d7);},'wFMZF':function(_0x54d6ba,_0x4087f3,_0x5853dd){return _0x54d6ba(_0x4087f3,_0x5853dd);}};console[_0x44f062(0xfb)]('['+_0x2742f1[_0x44f062(0x130)](formatDate,new Date())+_0x44f062(0x10b));try{await this[_0x44f062(0x115)](),this[_0x44f062(0x122)]&&(console['log']('['+formatDate(new Date())+']\x20Successfully\x20reconnected\x20to\x20RabbitMQ'),await this['startConsume']());}catch(_0x311485){console[_0x44f062(0x135)]('['+formatDate(new Date())+']\x20Failed\x20to\x20reconnect\x20to\x20RabbitMQ:\x20'+_0x311485['message']),_0x2742f1[_0x44f062(0x118)](setTimeout,()=>this['reconnect'](),0x1388);}}async['setupCollectorInfrastructure'](_0x5f2538){const _0x41d4d2=a0_0x423a02,_0xaa3dcc={'ppdAf':function(_0x30afa3,_0x2650cf){return _0x30afa3(_0x2650cf);},'FgAAS':_0x41d4d2(0x10c),'OKGPp':_0x41d4d2(0x10f),'PHaDG':function(_0x1bf776,_0x17b2e8){return _0x1bf776(_0x17b2e8);},'JXJLV':function(_0x4c104b,_0x3b3f20){return _0x4c104b(_0x3b3f20);},'rPgRB':function(_0xb5573a,_0x1181d7){return _0xb5573a===_0x1181d7;},'KFnhE':_0x41d4d2(0xde)};try{!this[_0x41d4d2(0x122)]&&(this['connection']=await createConnection(),this[_0x41d4d2(0xf1)]=await _0xaa3dcc[_0x41d4d2(0xfe)](createChannel,this[_0x41d4d2(0x125)]),this[_0x41d4d2(0x122)]=!![]);const _0x369355=process[_0x41d4d2(0xfc)]['RESTFORGE_PROJECT_NAME']||_0xaa3dcc[_0x41d4d2(0x113)],_0x3729c9=_0x369355+'-retry-exchange';await this['channel'][_0x41d4d2(0xdf)](_0x3729c9,_0xaa3dcc[_0x41d4d2(0x114)],{'durable':!![],'autoDelete':![]}),console['log']('['+_0xaa3dcc['ppdAf'](formatDate,new Date())+_0x41d4d2(0x100)+_0x3729c9+'\x20created/ready'),await this['channel'][_0x41d4d2(0xdf)](_0x5f2538['exchange'],_0xaa3dcc['OKGPp'],{'durable':!![],'autoDelete':![]}),console[_0x41d4d2(0xfb)]('['+formatDate(new Date())+_0x41d4d2(0x104)+_0x5f2538['exchange']+_0x41d4d2(0x111));const _0x251429=_0x5f2538['routingKey']+'_retry',_0x37dd5a={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':_0x5f2538[_0x41d4d2(0x12d)],'x-dead-letter-routing-key':_0x5f2538[_0x41d4d2(0xe4)]}};await this[_0x41d4d2(0xf1)]['assertQueue'](_0x251429,_0x37dd5a),console['log']('['+_0xaa3dcc[_0x41d4d2(0xfe)](formatDate,new Date())+_0x41d4d2(0x132)+_0x251429+'\x20created/ready'),await this[_0x41d4d2(0xf1)][_0x41d4d2(0x109)](_0x251429,_0x3729c9,_0x5f2538[_0x41d4d2(0xe4)]),console['log']('['+_0xaa3dcc[_0x41d4d2(0xe6)](formatDate,new Date())+']\x20Retry\x20binding\x20for\x20'+_0x5f2538['routingKey']+'\x20created');const _0x10fbd4={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x3729c9,'x-dead-letter-routing-key':_0x5f2538[_0x41d4d2(0xe4)]}};try{const _0x24f0e3=await this[_0x41d4d2(0xf1)][_0x41d4d2(0xe0)](_0x5f2538['queue'],_0x10fbd4);console[_0x41d4d2(0xfb)]('['+_0xaa3dcc['JXJLV'](formatDate,new Date())+']\x20Queue\x20'+_0x5f2538[_0x41d4d2(0x11a)]+'\x20'+(_0xaa3dcc['rPgRB'](_0x24f0e3['queue'],_0x5f2538['queue'])?'created/ready':'found')+'\x20with\x20DLX'),await this['channel']['bindQueue'](_0x5f2538['queue'],_0x5f2538[_0x41d4d2(0x12d)],_0x5f2538['routingKey']),console['log']('['+formatDate(new Date())+_0x41d4d2(0x11c)+_0x5f2538['exchange']+'\x20->\x20'+_0x5f2538[_0x41d4d2(0x11a)]+'\x20('+_0x5f2538[_0x41d4d2(0xe4)]+_0x41d4d2(0x124));}catch(_0x24a104){if(_0x24a104[_0x41d4d2(0xf8)][_0x41d4d2(0xf9)](_0xaa3dcc['KFnhE'])&&_0x24a104[_0x41d4d2(0xf8)][_0x41d4d2(0xf9)](_0x41d4d2(0x105))){console[_0x41d4d2(0x135)]('\x0a['+formatDate(new Date())+']\x20ERROR:\x20Queue\x20'+_0x5f2538[_0x41d4d2(0x11a)]+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console[_0x41d4d2(0x135)](_0x41d4d2(0xed));const _0x363cb7=_0x5f2538[_0x41d4d2(0xe4)]+_0x41d4d2(0xe5),_0x3fd3b0=await this[_0x41d4d2(0xf1)][_0x41d4d2(0xe0)](_0x363cb7,_0x10fbd4);console['log']('['+formatDate(new Date())+_0x41d4d2(0x121)+_0x363cb7+'\x20created\x20with\x20DLX'),await this[_0x41d4d2(0xf1)]['bindQueue'](_0x363cb7,_0x5f2538[_0x41d4d2(0x12d)],_0x5f2538['routingKey']),console['log']('['+_0xaa3dcc['ppdAf'](formatDate,new Date())+']\x20Binding\x20'+_0x5f2538[_0x41d4d2(0x12d)]+'\x20->\x20'+_0x363cb7+'\x20('+_0x5f2538[_0x41d4d2(0xe4)]+_0x41d4d2(0x124)),_0x5f2538['queue']=_0x363cb7;}else{console['error']('['+formatDate(new Date())+_0x41d4d2(0xf7)+_0x5f2538['queue']+':',_0x24a104['message']);throw _0x24a104;}}return!![];}catch(_0x2a3c70){return console['error']('['+_0xaa3dcc[_0x41d4d2(0xfe)](formatDate,new Date())+']\x20Error\x20saat\x20setup\x20infrastruktur:\x20'+_0x2a3c70[_0x41d4d2(0xf8)]),![];}}async[a0_0x423a02(0xfd)](_0x44ce72,_0x5f0f5e){const _0xa05179=a0_0x423a02,_0x441b0a={'YZSVc':'application/json','gxErw':'Data\x20sent\x20to\x20queue\x20successfully','gjwEd':_0xa05179(0xe7),'xCSBr':function(_0x4042d6,_0x4e6647){return _0x4042d6(_0x4e6647);}};if(!this[_0xa05179(0x122)])try{await this['initialize']();}catch(_0x35efdb){return{'success':![],'message':'Cannot\x20connect\x20to\x20RabbitMQ:\x20'+_0x35efdb['message'],'data':null};}try{const _0x3913b9=_0x5f0f5e['auto_retry']!==undefined?_0x5f0f5e['auto_retry']:![],_0x4501ca=_0x5f0f5e['max_retries']||0x3,_0x15c4ea={'rabbitmq':{'exchange':_0x5f0f5e['exchange'],'queue':_0x5f0f5e[_0xa05179(0x11a)],'routing_key':_0x5f0f5e[_0xa05179(0xe4)],'auto_retry':_0x3913b9,'max_retries':_0x4501ca},'message':_0x44ce72};await this[_0xa05179(0x103)](_0x5f0f5e);const _0x22ce9d=new Date(),_0x3b5a10={'timestamp':_0x22ce9d['toISOString'](),'content':JSON[_0xa05179(0x106)](_0x15c4ea)},_0x271782=this['channel'][_0xa05179(0xdd)](_0x5f0f5e[_0xa05179(0x12d)],_0x5f0f5e[_0xa05179(0xe4)],Buffer[_0xa05179(0xe8)](JSON['stringify'](_0x3b5a10)),{'persistent':!![],'contentType':_0x441b0a['YZSVc'],'timestamp':_0x22ce9d[_0xa05179(0xe1)](),'messageId':_0x22ce9d['getTime']()+'-'+Math[_0xa05179(0xeb)]()[_0xa05179(0x101)](0x24)[_0xa05179(0x10a)](0x7),'headers':{'x-auto-retry':_0x3913b9,'x-max-retry':_0x4501ca,'x-retry-count':0x0,'x-retry-interval':0x2710}});if(_0x271782){console['log']('['+formatDate(_0x22ce9d)+']\x20Message\x20sent\x20to\x20RabbitMQ\x20successfully:',{'exchange':_0x5f0f5e['exchange'],'routing_key':_0x5f0f5e[_0xa05179(0xe4)],'queue':_0x5f0f5e['queue'],'sendAt':_0x22ce9d[_0xa05179(0x120)]()});const _0x3db156=_0xa05179(0xea)+_0x22ce9d[_0xa05179(0xe1)]()+'-'+Math[_0xa05179(0xeb)]()['toString'](0x24)[_0xa05179(0x10a)](0x7);return{'success':!![],'message':_0x441b0a[_0xa05179(0xf6)],'data':{'id':_0x3db156,'queueInfo':{'exchange':_0x5f0f5e[_0xa05179(0x12d)],'queue':_0x5f0f5e['queue'],'routingKey':_0x5f0f5e['routingKey']}}};}else throw new Error(_0x441b0a['gjwEd']);}catch(_0x22718c){return console['error']('['+_0x441b0a['xCSBr'](formatDate,new Date())+']\x20Error\x20sending\x20to\x20RabbitMQ:\x20'+_0x22718c[_0xa05179(0xf8)]),{'success':![],'message':_0xa05179(0x12a)+_0x22718c['message'],'data':null};}}[a0_0x423a02(0x10e)](_0x49c354){const _0x4ad97c=a0_0x423a02,_0x48f2f8={'vSWrV':_0x4ad97c(0x10d),'ZbUjx':function(_0x4f28fb,_0x5b5fce){return _0x4f28fb(_0x5b5fce);}};typeof _0x49c354===_0x48f2f8[_0x4ad97c(0xe9)]?(this['messageHandlers']['push'](_0x49c354),console[_0x4ad97c(0xfb)]('['+_0x48f2f8['ZbUjx'](formatDate,new Date())+_0x4ad97c(0xec))):console[_0x4ad97c(0x135)]('['+formatDate(new Date())+_0x4ad97c(0x11e));}async[a0_0x423a02(0x129)](_0xad4df6){const _0x1c0e07=a0_0x423a02,_0x171efe={'bBqbN':function(_0x28ec85,_0x1f88cd){return _0x28ec85===_0x1f88cd;},'WhzsY':function(_0x5d4c6a,_0x529e83){return _0x5d4c6a(_0x529e83);}};if(_0x171efe[_0x1c0e07(0x110)](this[_0x1c0e07(0xef)]['length'],0x0))return console['warn']('['+formatDate(new Date())+']\x20No\x20handlers\x20registered\x20to\x20process\x20messages'),!![];try{for(const _0x2ac779 of this['messageHandlers']){await _0x2ac779(_0xad4df6);}return!![];}catch(_0x3a9ff7){return console[_0x1c0e07(0x135)]('['+_0x171efe[_0x1c0e07(0xdc)](formatDate,new Date())+']\x20Error\x20processing\x20message:\x20'+_0x3a9ff7[_0x1c0e07(0xf8)]),![];}}async['startConsume'](){const _0x220cbb=a0_0x423a02,_0x41957d={'ojKbN':function(_0x4b3f6e,_0x5de1e5){return _0x4b3f6e!==_0x5de1e5;},'EmklL':function(_0x2ded2c,_0x4e0f3b){return _0x2ded2c(_0x4e0f3b);},'hPaMj':function(_0x532104,_0x298e99){return _0x532104(_0x298e99);},'Bumre':'---','BJrff':function(_0x4c7d23,_0x53695e){return _0x4c7d23(_0x53695e);}};if(!this['isConnected'])return console['error']('['+_0x41957d['hPaMj'](formatDate,new Date())+']\x20Cannot\x20start\x20consuming:\x20not\x20connected\x20to\x20RabbitMQ'),![];try{return console['log']('['+formatDate(new Date())+_0x220cbb(0xf2)+this[_0x220cbb(0xe3)]['queue']+'\x22...'),this[_0x220cbb(0xf1)][_0x220cbb(0x134)](this['config'][_0x220cbb(0x11a)],async _0x48416b=>{const _0x378dc7=_0x220cbb;if(_0x41957d['ojKbN'](_0x48416b,null)){const _0x2a91aa=new Date();let _0x54acc2;try{_0x54acc2=JSON[_0x378dc7(0xf4)](_0x48416b[_0x378dc7(0x133)][_0x378dc7(0x101)]());}catch(_0x3ac1ac){console['error']('['+_0x41957d['EmklL'](formatDate,_0x2a91aa)+_0x378dc7(0xe2)+_0x3ac1ac[_0x378dc7(0xf8)]),console[_0x378dc7(0x135)]('Message\x20content:\x20'+_0x48416b[_0x378dc7(0x133)][_0x378dc7(0x101)]()),this[_0x378dc7(0xf1)]['ack'](_0x48416b);return;}const _0x2a0186=_0x48416b['properties'][_0x378dc7(0x11d)]?new Date(_0x48416b['properties'][_0x378dc7(0x11d)]):new Date(),_0x38301e=await this[_0x378dc7(0x129)](_0x54acc2);_0x38301e?(console['log']('['+formatDate(new Date())+_0x378dc7(0xf0)),this['channel'][_0x378dc7(0xf3)](_0x48416b)):(console['error']('['+_0x41957d['hPaMj'](formatDate,new Date())+_0x378dc7(0x107)),this['channel']['nack'](_0x48416b,![],!![])),console['log'](_0x41957d[_0x378dc7(0x131)]);}},{'noAck':![]}),!![];}catch(_0x518310){return console['error']('['+_0x41957d[_0x220cbb(0x12f)](formatDate,new Date())+_0x220cbb(0x119)+_0x518310[_0x220cbb(0xf8)]),![];}}async['close'](){const _0x5b9260=a0_0x423a02;this[_0x5b9260(0x125)]&&(await closeConnection(this['connection']),this[_0x5b9260(0x122)]=![]);}}function a0_0x324c(_0xf60e50,_0x2b5c1f){_0xf60e50=_0xf60e50-0xdc;const _0x5be151=a0_0x5be1();let _0x324ce7=_0x5be151[_0xf60e50];if(a0_0x324c['OYVDXM']===undefined){var _0x4b3b05=function(_0x223bb3){const _0x16cf94='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5ac52d='',_0x5aad04='';for(let _0x1720fd=0x0,_0x40fd11,_0x5cb53f,_0x1e0ff8=0x0;_0x5cb53f=_0x223bb3['charAt'](_0x1e0ff8++);~_0x5cb53f&&(_0x40fd11=_0x1720fd%0x4?_0x40fd11*0x40+_0x5cb53f:_0x5cb53f,_0x1720fd++%0x4)?_0x5ac52d+=String['fromCharCode'](0xff&_0x40fd11>>(-0x2*_0x1720fd&0x6)):0x0){_0x5cb53f=_0x16cf94['indexOf'](_0x5cb53f);}for(let _0x3056c4=0x0,_0x4bd925=_0x5ac52d['length'];_0x3056c4<_0x4bd925;_0x3056c4++){_0x5aad04+='%'+('00'+_0x5ac52d['charCodeAt'](_0x3056c4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5aad04);};a0_0x324c['jsbqlD']=_0x4b3b05,a0_0x324c['TmfLzC']={},a0_0x324c['OYVDXM']=!![];}const _0x849bce=_0x5be151[0x0],_0x3e4ce9=_0xf60e50+_0x849bce,_0x15b19d=a0_0x324c['TmfLzC'][_0x3e4ce9];return!_0x15b19d?(_0x324ce7=a0_0x324c['jsbqlD'](_0x324ce7),a0_0x324c['TmfLzC'][_0x3e4ce9]=_0x324ce7):_0x324ce7=_0x15b19d,_0x324ce7;}let instance=null;function getInstance(){return!instance&&(instance=new RabbitMQService()),instance;}function a0_0x5be1(){const _0x381eb9=['ChvIBgLZAa','Aw5LCxvPDMfSzw50igfYzW','yxnZzxj0rxHJAgfUz2u','yxnZzxj0uxvLDwu','z2v0vgLTzq','xsbgywLSzwqGDg8GCgfYC2uGBwvZC2fNztOG','y29UzMLN','CM91DgLUz0TLEq','x3f1zxvL','ueHHreC','rMfPBgvKihrVihnLBMqGBwvZC2fNzsb0BYbsywjIAxrnuq','zNjVBq','DLnxCLy','CxvLDwuT','CMfUzg9T','xsbnzxnZywDLigHHBMrSzxiGCMvNAxn0zxjLza','vhj5Aw5NigfSDgvYBMf0AxzLihf1zxvLig5HBwuUlI4','Ehf4Dum','BwvZC2fNzuHHBMrSzxjZ','xsbnzxnZywDLihbYB2nLC3nLzcbZDwnJzxnZzNvSBhK','y2HHBM5LBa','xsbtDgfYDcbJB25ZDw1PBMCGBwvZC2fNzxmGzNjVBsbXDwv1zsaI','ywnR','CgfYC2u','ofjjDhLttW','z3HfCNC','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','BwvZC2fNzq','Aw5JBhvKzxm','CMvJB25Uzwn0','Bg9N','zw52','C2vUzfrVuxvLDwu','ChbKqwy','zfDqA3O','xsbszxrYEsbLEgnOyw5Nzsa','Dg9tDhjPBMC','m0XwyvfuCW','C2v0DxbdB2XSzwn0B3jjBMzYyxn0CNvJDhvYzq','xsbfEgnOyw5Nzsa','Ec1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEq','C3rYAw5NAwz5','xsbgywLSzwqGDg8GChjVy2vZCYbTzxnZywDLlcbYzxf1zxvPBMC','y2XVC2u','yMLUzff1zxvL','C3vIC3rYAw5N','xsbbDhrLBxb0Aw5NihrVihjLy29UBMvJDcb0BYbsywjIAxrnus4UlG','zgvMyxvSDa','zNvUy3rPB24','CMvNAxn0zxjnzxnZywDLsgfUzgXLCG','zgLYzwn0','yKjXyK4','ignYzwf0zwqVCMvHzhK','mtmWntuZmfjSEMrbsG','rMDbqvm','t0Thuha','Aw5PDgLHBgL6zq','ndbkteLev0S','ChjLzMv0y2G','D0znwKy','xsbgywLSzwqGDg8GC3rHCNqGy29UC3vTAw5NoIa','CxvLDwu','ntiZmJi2n1HZtLH4ra','xsbcAw5KAw5Nia','DgLTzxn0yw1W','xsbnzxnZywDLigHHBMrSzxiGBxvZDcbIzsbHigz1BMn0Aw9U','odeWmda5ENHRCMvl','Dg9ju09tDhjPBMC','xsbbBhrLCM5HDgL2zsbXDwv1zsa','AxndB25Uzwn0zwq','lI4VDxrPBhmVCMfIyML0Bxe','ksbJCMvHDgvK','y29UBMvJDgLVBG','lI4VDxrPBhmVzgf0zuHLBhbLCG','mZu5nJK4mKrIugf3ra','mte1mtm2ugnRsg9v','ChjVy2vZC01LC3nHz2u','rxjYB3i6ia','zxHWB3j0CW','AhfXvxm','zxHJAgfUz2u','nZK2nJaXmhDAyKfYyW','qKPYzMy','EuvTwfC','qNvTCMu','xsbszxrYEsbXDwv1zsa','y29UDgvUDa','y29UC3vTzq','zxjYB3i','mJqZmZu2nhveruvmvG','v2H6C1K'];a0_0x5be1=function(){return _0x381eb9;};return a0_0x5be1();}module[a0_0x423a02(0x12b)]={'getInstance':getInstance};
|
|
1
|
+
const a0_0x49ca7a=a0_0x14b5;(function(_0x219f3a,_0x8863af){const _0x282af8=a0_0x14b5,_0xc0c24e=_0x219f3a();while(!![]){try{const _0x3695ff=parseInt(_0x282af8(0x215))/0x1+parseInt(_0x282af8(0x217))/0x2+parseInt(_0x282af8(0x232))/0x3+parseInt(_0x282af8(0x225))/0x4+parseInt(_0x282af8(0x20e))/0x5+-parseInt(_0x282af8(0x21e))/0x6+-parseInt(_0x282af8(0x237))/0x7;if(_0x3695ff===_0x8863af)break;else _0xc0c24e['push'](_0xc0c24e['shift']());}catch(_0xf87f03){_0xc0c24e['push'](_0xc0c24e['shift']());}}}(a0_0x3509,0xbe864));const {createConnection,createChannel,setupInfrastructure,closeConnection,getConfig}=require(a0_0x49ca7a(0x239)),{formatDate}=require(a0_0x49ca7a(0x227));class RabbitMQService{constructor(){const _0x1867e1=a0_0x49ca7a,_0x3185c9={'FImNw':_0x1867e1(0x1e8)},_0x5ae558=_0x3185c9[_0x1867e1(0x202)]['split']('|');let _0x33d262=0x0;while(!![]){switch(_0x5ae558[_0x33d262++]){case'0':this['config']=getConfig();continue;case'1':this[_0x1867e1(0x207)]=null;continue;case'2':this['messageHandlers']=[];continue;case'3':this['channel']=null;continue;case'4':this[_0x1867e1(0x208)]=![];continue;}break;}}async[a0_0x49ca7a(0x219)](){const _0xd61fd6=a0_0x49ca7a,_0x35e0db={'qBZMD':function(_0x245469,_0x254e5c){return _0x245469(_0x254e5c);},'EbLzB':function(_0x160a46,_0x13e7ec,_0xae6beb){return _0x160a46(_0x13e7ec,_0xae6beb);},'uNNdy':function(_0x4ecf63,_0x2beb70){return _0x4ecf63(_0x2beb70);},'ynGTq':function(_0x2701fb,_0x49068c){return _0x2701fb(_0x49068c);},'byhuA':_0xd61fd6(0x1e7)};try{return this['connection']=await createConnection(),this['channel']=await _0x35e0db[_0xd61fd6(0x1ff)](createChannel,this[_0xd61fd6(0x207)]),await this[_0xd61fd6(0x20d)]['prefetch'](0x1),console[_0xd61fd6(0x223)]('['+_0x35e0db['uNNdy'](formatDate,new Date())+_0xd61fd6(0x22f)),await _0x35e0db['ynGTq'](setupInfrastructure,this[_0xd61fd6(0x20d)]),this[_0xd61fd6(0x208)]=!![],this['connection']['on'](_0x35e0db['byhuA'],()=>{const _0x14b646=_0xd61fd6;console['error']('['+_0x35e0db[_0x14b646(0x220)](formatDate,new Date())+']\x20Koneksi\x20RabbitMQ\x20terputus'),this['isConnected']=![],_0x35e0db['EbLzB'](setTimeout,()=>this[_0x14b646(0x1e6)](),0x1388);}),!![];}catch(_0x5228b6){return console['error']('['+_0x35e0db['uNNdy'](formatDate,new Date())+']\x20Failed\x20to\x20initialize\x20RabbitMQ:\x20'+_0x5228b6['message']),this['isConnected']=![],![];}}async[a0_0x49ca7a(0x1e6)](){const _0x305be4=a0_0x49ca7a,_0x1b7ab3={'xCDeU':function(_0x53a04d,_0x5e46e3){return _0x53a04d(_0x5e46e3);},'nPxcq':function(_0x52616e,_0x481284){return _0x52616e(_0x481284);}};console['log']('['+_0x1b7ab3['xCDeU'](formatDate,new Date())+']\x20Attempting\x20to\x20reconnect\x20to\x20RabbitMQ...');try{await this['initialize'](),this['isConnected']&&(console['log']('['+formatDate(new Date())+_0x305be4(0x21d)),await this[_0x305be4(0x21c)]());}catch(_0x5e2982){console['error']('['+_0x1b7ab3['nPxcq'](formatDate,new Date())+']\x20Failed\x20to\x20reconnect\x20to\x20RabbitMQ:\x20'+_0x5e2982[_0x305be4(0x1ee)]),setTimeout(()=>this[_0x305be4(0x1e6)](),0x1388);}}async[a0_0x49ca7a(0x233)](_0x56dc1b){const _0x1f5a74=a0_0x49ca7a,_0x2d85ba={'bZiaW':function(_0x3045bc){return _0x3045bc();},'zdWeK':'created/ready','etJMW':function(_0x30efa2,_0x127f3e){return _0x30efa2(_0x127f3e);},'gSIrE':_0x1f5a74(0x238),'qUFlu':function(_0x47e0db,_0x590009){return _0x47e0db(_0x590009);},'iRiBu':function(_0x592106,_0x5a59e3){return _0x592106(_0x5a59e3);}};try{!this['isConnected']&&(this[_0x1f5a74(0x207)]=await _0x2d85ba[_0x1f5a74(0x20f)](createConnection),this['channel']=await createChannel(this[_0x1f5a74(0x207)]),this['isConnected']=!![]);const _0x607c2=process[_0x1f5a74(0x1e5)]['RESTFORGE_PROJECT_NAME']||_0x1f5a74(0x212),_0x2ad914=_0x607c2+_0x1f5a74(0x236);await this['channel']['assertExchange'](_0x2ad914,'direct',{'durable':!![],'autoDelete':![]}),console[_0x1f5a74(0x223)]('['+formatDate(new Date())+_0x1f5a74(0x1f4)+_0x2ad914+'\x20created/ready'),await this[_0x1f5a74(0x20d)]['assertExchange'](_0x56dc1b[_0x1f5a74(0x1eb)],'direct',{'durable':!![],'autoDelete':![]}),console['log']('['+formatDate(new Date())+_0x1f5a74(0x213)+_0x56dc1b['exchange']+'\x20created/ready');const _0x2d3f50=_0x56dc1b[_0x1f5a74(0x224)]+'_retry',_0x134f7c={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':_0x56dc1b[_0x1f5a74(0x1eb)],'x-dead-letter-routing-key':_0x56dc1b['routingKey']}};await this['channel']['assertQueue'](_0x2d3f50,_0x134f7c),console[_0x1f5a74(0x223)]('['+formatDate(new Date())+']\x20Retry\x20queue\x20'+_0x2d3f50+'\x20created/ready'),await this['channel']['bindQueue'](_0x2d3f50,_0x2ad914,_0x56dc1b['routingKey']),console['log']('['+formatDate(new Date())+']\x20Retry\x20binding\x20for\x20'+_0x56dc1b[_0x1f5a74(0x224)]+_0x1f5a74(0x211));const _0x346e6a={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x2ad914,'x-dead-letter-routing-key':_0x56dc1b['routingKey']}};try{const _0x3bdf9f=await this['channel'][_0x1f5a74(0x22d)](_0x56dc1b[_0x1f5a74(0x1f7)],_0x346e6a);console['log']('['+formatDate(new Date())+_0x1f5a74(0x206)+_0x56dc1b[_0x1f5a74(0x1f7)]+'\x20'+(_0x3bdf9f['queue']===_0x56dc1b[_0x1f5a74(0x1f7)]?_0x2d85ba[_0x1f5a74(0x230)]:'found')+_0x1f5a74(0x205)),await this['channel'][_0x1f5a74(0x221)](_0x56dc1b[_0x1f5a74(0x1f7)],_0x56dc1b[_0x1f5a74(0x1eb)],_0x56dc1b[_0x1f5a74(0x224)]),console[_0x1f5a74(0x223)]('['+_0x2d85ba[_0x1f5a74(0x20a)](formatDate,new Date())+']\x20Binding\x20'+_0x56dc1b['exchange']+_0x1f5a74(0x1fd)+_0x56dc1b[_0x1f5a74(0x1f7)]+'\x20('+_0x56dc1b['routingKey']+')\x20created');}catch(_0xcd1c4f){if(_0xcd1c4f[_0x1f5a74(0x1ee)]['includes'](_0x2d85ba[_0x1f5a74(0x222)])&&_0xcd1c4f[_0x1f5a74(0x1ee)][_0x1f5a74(0x23b)](_0x1f5a74(0x22e))){console['error']('\x0a['+formatDate(new Date())+']\x20ERROR:\x20Queue\x20'+_0x56dc1b[_0x1f5a74(0x1f7)]+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console[_0x1f5a74(0x1fb)]('Trying\x20alternative\x20queue\x20name...');const _0x386e57=_0x56dc1b[_0x1f5a74(0x224)]+_0x1f5a74(0x1fc),_0x4c2323=await this[_0x1f5a74(0x20d)][_0x1f5a74(0x22d)](_0x386e57,_0x346e6a);console['log']('['+formatDate(new Date())+']\x20Alternative\x20queue\x20'+_0x386e57+_0x1f5a74(0x229)),await this[_0x1f5a74(0x20d)][_0x1f5a74(0x221)](_0x386e57,_0x56dc1b[_0x1f5a74(0x1eb)],_0x56dc1b[_0x1f5a74(0x224)]),console[_0x1f5a74(0x223)]('['+_0x2d85ba[_0x1f5a74(0x204)](formatDate,new Date())+_0x1f5a74(0x1ea)+_0x56dc1b[_0x1f5a74(0x1eb)]+_0x1f5a74(0x1fd)+_0x386e57+'\x20('+_0x56dc1b['routingKey']+_0x1f5a74(0x1f3)),_0x56dc1b[_0x1f5a74(0x1f7)]=_0x386e57;}else{console[_0x1f5a74(0x1fb)]('['+_0x2d85ba[_0x1f5a74(0x1fe)](formatDate,new Date())+_0x1f5a74(0x234)+_0x56dc1b['queue']+':',_0xcd1c4f[_0x1f5a74(0x1ee)]);throw _0xcd1c4f;}}return!![];}catch(_0xe9f4ef){return console['error']('['+formatDate(new Date())+']\x20Error\x20saat\x20setup\x20infrastruktur:\x20'+_0xe9f4ef['message']),![];}}async[a0_0x49ca7a(0x21b)](_0xd8e8d6,_0x367493){const _0x10aa93=a0_0x49ca7a,_0x221ec3={'xausv':_0x10aa93(0x209),'shbkm':function(_0x289e9a,_0xdc15ad){return _0x289e9a(_0xdc15ad);},'LRDnO':'Failed\x20to\x20send\x20message\x20to\x20RabbitMQ'};if(!this['isConnected'])try{await this['initialize']();}catch(_0xbc5863){return{'success':![],'message':'Cannot\x20connect\x20to\x20RabbitMQ:\x20'+_0xbc5863['message'],'data':null};}try{const _0x40bf3c=_0x367493[_0x10aa93(0x1f5)]!==undefined?_0x367493[_0x10aa93(0x1f5)]:![],_0x17fd23=_0x367493[_0x10aa93(0x1f6)]||0x3,_0x1f5a9d={'rabbitmq':{'exchange':_0x367493['exchange'],'queue':_0x367493['queue'],'routing_key':_0x367493['routingKey'],'auto_retry':_0x40bf3c,'max_retries':_0x17fd23},'message':_0xd8e8d6};await this['setupCollectorInfrastructure'](_0x367493);const _0x29d32d=new Date(),_0x3cd322={'timestamp':_0x29d32d['toISOString'](),'content':JSON[_0x10aa93(0x1ec)](_0x1f5a9d)},_0x58a61c=this['channel'][_0x10aa93(0x201)](_0x367493[_0x10aa93(0x1eb)],_0x367493['routingKey'],Buffer['from'](JSON['stringify'](_0x3cd322)),{'persistent':!![],'contentType':_0x221ec3['xausv'],'timestamp':_0x29d32d[_0x10aa93(0x214)](),'messageId':_0x29d32d[_0x10aa93(0x214)]()+'-'+Math[_0x10aa93(0x23a)]()[_0x10aa93(0x203)](0x24)['substring'](0x7),'headers':{'x-auto-retry':_0x40bf3c,'x-max-retry':_0x17fd23,'x-retry-count':0x0,'x-retry-interval':0x2710}});if(_0x58a61c){console['log']('['+_0x221ec3['shbkm'](formatDate,_0x29d32d)+_0x10aa93(0x216),{'exchange':_0x367493['exchange'],'routing_key':_0x367493['routingKey'],'queue':_0x367493['queue'],'sendAt':_0x29d32d[_0x10aa93(0x1e9)]()});const _0x5d6898='queue-'+_0x29d32d['getTime']()+'-'+Math[_0x10aa93(0x23a)]()[_0x10aa93(0x203)](0x24)['substring'](0x7);return{'success':!![],'message':_0x10aa93(0x235),'data':{'id':_0x5d6898,'queueInfo':{'exchange':_0x367493['exchange'],'queue':_0x367493['queue'],'routingKey':_0x367493[_0x10aa93(0x224)]}}};}else throw new Error(_0x221ec3['LRDnO']);}catch(_0x4d46e1){return console[_0x10aa93(0x1fb)]('['+formatDate(new Date())+']\x20Error\x20sending\x20to\x20RabbitMQ:\x20'+_0x4d46e1[_0x10aa93(0x1ee)]),{'success':![],'message':'Error:\x20'+_0x4d46e1[_0x10aa93(0x1ee)],'data':null};}}['registerMessageHandler'](_0x5a01e3){const _0x1562e3=a0_0x49ca7a,_0x337df4={'nLXtK':function(_0xbe5d09,_0x5be240){return _0xbe5d09===_0x5be240;},'PJRNw':function(_0x47069c,_0x1d1f73){return _0x47069c(_0x1d1f73);}};_0x337df4[_0x1562e3(0x1f8)](typeof _0x5a01e3,'function')?(this[_0x1562e3(0x20b)][_0x1562e3(0x218)](_0x5a01e3),console['log']('['+_0x337df4[_0x1562e3(0x226)](formatDate,new Date())+']\x20Message\x20handler\x20registered')):console[_0x1562e3(0x1fb)]('['+formatDate(new Date())+']\x20Message\x20handler\x20must\x20be\x20a\x20function');}async['processMessage'](_0x335cb1){const _0x2e07bc=a0_0x49ca7a,_0xde5c8e={'PcALg':function(_0x469aa9,_0xcdc3d9){return _0x469aa9===_0xcdc3d9;},'ghlaL':function(_0x12810b,_0x59e284){return _0x12810b(_0x59e284);}};if(_0xde5c8e['PcALg'](this[_0x2e07bc(0x20b)][_0x2e07bc(0x1ed)],0x0))return console[_0x2e07bc(0x21a)]('['+_0xde5c8e['ghlaL'](formatDate,new Date())+_0x2e07bc(0x22c)),!![];try{for(const _0x275549 of this['messageHandlers']){await _0xde5c8e[_0x2e07bc(0x1f9)](_0x275549,_0x335cb1);}return!![];}catch(_0x298327){return console[_0x2e07bc(0x1fb)]('['+formatDate(new Date())+_0x2e07bc(0x1f1)+_0x298327[_0x2e07bc(0x1ee)]),![];}}async['startConsume'](){const _0x2cba54=a0_0x49ca7a,_0xcc68db={'YQuEq':function(_0x1d3899,_0x1d3136){return _0x1d3899!==_0x1d3136;},'Qhdca':function(_0x4ba34d,_0x1112e1){return _0x4ba34d(_0x1112e1);},'efhNr':function(_0x4f7cf3,_0x29b132){return _0x4f7cf3(_0x29b132);},'aylxr':function(_0x21ba57,_0x4533a6){return _0x21ba57(_0x4533a6);}};if(!this[_0x2cba54(0x208)])return console[_0x2cba54(0x1fb)]('['+_0xcc68db['Qhdca'](formatDate,new Date())+_0x2cba54(0x231)),![];try{return console[_0x2cba54(0x223)]('['+_0xcc68db['aylxr'](formatDate,new Date())+_0x2cba54(0x22b)+this['config'][_0x2cba54(0x1f7)]+_0x2cba54(0x22a)),this['channel'][_0x2cba54(0x1f0)](this['config']['queue'],async _0x4c6d7b=>{const _0x2467dc=_0x2cba54;if(_0xcc68db['YQuEq'](_0x4c6d7b,null)){const _0x2c576c=new Date();let _0x9a4429;try{_0x9a4429=JSON['parse'](_0x4c6d7b[_0x2467dc(0x228)][_0x2467dc(0x203)]());}catch(_0x30032a){console['error']('['+_0xcc68db['Qhdca'](formatDate,_0x2c576c)+']\x20Failed\x20to\x20parse\x20message:\x20'+_0x30032a['message']),console[_0x2467dc(0x1fb)]('Message\x20content:\x20'+_0x4c6d7b['content'][_0x2467dc(0x203)]()),this[_0x2467dc(0x20d)]['ack'](_0x4c6d7b);return;}const _0x305fe7=_0x4c6d7b[_0x2467dc(0x20c)][_0x2467dc(0x1f2)]?new Date(_0x4c6d7b['properties']['timestamp']):new Date(),_0xc51e34=await this[_0x2467dc(0x1ef)](_0x9a4429);_0xc51e34?(console[_0x2467dc(0x223)]('['+_0xcc68db[_0x2467dc(0x21f)](formatDate,new Date())+_0x2467dc(0x1fa)),this['channel']['ack'](_0x4c6d7b)):(console[_0x2467dc(0x1fb)]('['+_0xcc68db[_0x2467dc(0x200)](formatDate,new Date())+']\x20Failed\x20to\x20process\x20message,\x20requeuing'),this['channel']['nack'](_0x4c6d7b,![],!![])),console['log'](_0x2467dc(0x210));}},{'noAck':![]}),!![];}catch(_0x587fc5){return console['error']('['+formatDate(new Date())+']\x20Failed\x20to\x20start\x20consuming:\x20'+_0x587fc5['message']),![];}}async['close'](){const _0x3407b4=a0_0x49ca7a,_0x5a0ef5={'mxPdz':function(_0x3682bd,_0xfbc7c1){return _0x3682bd(_0xfbc7c1);}};this[_0x3407b4(0x207)]&&(await _0x5a0ef5['mxPdz'](closeConnection,this[_0x3407b4(0x207)]),this[_0x3407b4(0x208)]=![]);}}let instance=null;function a0_0x14b5(_0x59c720,_0x46a224){_0x59c720=_0x59c720-0x1e5;const _0x3509fb=a0_0x3509();let _0x14b5a4=_0x3509fb[_0x59c720];if(a0_0x14b5['lvCdTJ']===undefined){var _0x21b19c=function(_0x3b384b){const _0x347300='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x14f969='',_0x4962c5='';for(let _0x1cc22d=0x0,_0x363e49,_0x1edb10,_0x4b4efb=0x0;_0x1edb10=_0x3b384b['charAt'](_0x4b4efb++);~_0x1edb10&&(_0x363e49=_0x1cc22d%0x4?_0x363e49*0x40+_0x1edb10:_0x1edb10,_0x1cc22d++%0x4)?_0x14f969+=String['fromCharCode'](0xff&_0x363e49>>(-0x2*_0x1cc22d&0x6)):0x0){_0x1edb10=_0x347300['indexOf'](_0x1edb10);}for(let _0xb694ef=0x0,_0x26c8a2=_0x14f969['length'];_0xb694ef<_0x26c8a2;_0xb694ef++){_0x4962c5+='%'+('00'+_0x14f969['charCodeAt'](_0xb694ef)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4962c5);};a0_0x14b5['txSXZr']=_0x21b19c,a0_0x14b5['qbSKxS']={},a0_0x14b5['lvCdTJ']=!![];}const _0x4b80d3=_0x3509fb[0x0],_0x1075d2=_0x59c720+_0x4b80d3,_0x2ff589=a0_0x14b5['qbSKxS'][_0x1075d2];return!_0x2ff589?(_0x14b5a4=a0_0x14b5['txSXZr'](_0x14b5a4),a0_0x14b5['qbSKxS'][_0x1075d2]=_0x14b5a4):_0x14b5a4=_0x2ff589,_0x14b5a4;}function a0_0x3509(){const _0x1fb291=['Dg9tDhjPBMC','CvvgBhu','ihDPDgGGreXy','xsbrDwv1zsa','y29UBMvJDgLVBG','AxndB25Uzwn0zwq','yxbWBgLJyxrPB24VANnVBG','zxrktvC','BwvZC2fNzuHHBMrSzxjZ','ChjVCgvYDgLLCW','y2HHBM5LBa','ntqYmtmWmgrVqKzyua','yLPPyvC','ls0T','ignYzwf0zwq','zgvMyxvSDa','xsbfEgnOyw5Nzsa','z2v0vgLTzq','mtm1otaWn0L1yuvADG','xsbnzxnZywDLihnLBNqGDg8GuMfIyML0tveGC3vJy2vZC2z1BgX5oG','mtCXmdeWmMTmD2vcCW','ChvZAa','Aw5PDgLHBgL6zq','D2fYBG','C2vUzfrVuxvLDwu','C3rHCNrdB25ZDw1L','xsbtDwnJzxnZzNvSBhKGCMvJB25Uzwn0zwqGDg8GuMfIyML0tve','mZa0mdy3nefuwgPSCq','uwHKy2e','CujAtuq','yMLUzff1zxvL','z1njCKu','Bg9N','CM91DgLUz0TLEq','mZC3mtaYogjHyxPqBa','uePstNC','lI4VDxrPBhmVzgf0zuHLBhbLCG','y29UDgvUDa','ignYzwf0zwqGD2L0AcbetfG','iI4UlG','xsbtDgfYDcbJB25ZDw1PBMCGBwvZC2fNzxmGzNjVBsbXDwv1zsaI','xsboBYbOyw5KBgvYCYbYzwDPC3rLCMvKihrVihbYB2nLC3mGBwvZC2fNzxm','yxnZzxj0uxvLDwu','Ec1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEq','xsbqCMvMzxrJAcbKAwf0DxiGA2uGmq','EMrxzuS','xsbdyw5UB3qGC3rHCNqGy29UC3vTAw5NoIbUB3qGy29UBMvJDgvKihrVifjHyMjPDe1r','ndiYndaYn3Dhv1bHsG','C2v0DxbdB2XSzwn0B3jjBMzYyxn0CNvJDhvYzq','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','rgf0ysbZzw50ihrVihf1zxvLihn1y2nLC3nMDwXSEq','lxjLDhj5lwv4y2HHBMDL','mZa1mZm0mtLQDvviz2O','Aw5LCxvPDMfSzw50igfYzW','lI4VDxrPBhmVCMfIyML0Bxe','CMfUzg9T','Aw5JBhvKzxm','zw52','CMvJB25Uzwn0','y2XVC2u','mxWZFdb8nhWY','Dg9ju09tDhjPBMC','xsbcAw5KAw5Nia','zxHJAgfUz2u','C3rYAw5NAwz5','BgvUz3rO','BwvZC2fNzq','ChjVy2vZC01LC3nHz2u','y29UC3vTzq','xsbfCNjVCIbWCM9JzxnZAw5Nig1LC3nHz2u6ia','DgLTzxn0yw1W','ksbJCMvHDgvK','xsbszxrYEsbLEgnOyw5Nzsa','yxv0B19YzxrYEq','Bwf4x3jLDhjPzxm','CxvLDwu','BKXyDeS','z2HSyuW','xsbnzxnZywDLihbYB2nLC3nLzcbZDwnJzxnZzNvSBhK','zxjYB3i','x3f1zxvL','ic0+ia','AvjPqNu','Du5ozhK','zwzOtNi','ChvIBgLZAa','rKLTtNC'];a0_0x3509=function(){return _0x1fb291;};return a0_0x3509();}function getInstance(){return!instance&&(instance=new RabbitMQService()),instance;}module['exports']={'getInstance':getInstance};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x52d112=a0_0x2644;function a0_0x2644(_0x259321,_0x3ee3ab){_0x259321=_0x259321-0x83;const _0x796ecb=a0_0x796e();let _0x26442e=_0x796ecb[_0x259321];if(a0_0x2644['IzlseE']===undefined){var _0x3d6cac=function(_0x56e4ab){const _0x9fdfe3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4a496a='',_0x46c1f2='';for(let _0x2e3343=0x0,_0x859523,_0x229139,_0x4d92a5=0x0;_0x229139=_0x56e4ab['charAt'](_0x4d92a5++);~_0x229139&&(_0x859523=_0x2e3343%0x4?_0x859523*0x40+_0x229139:_0x229139,_0x2e3343++%0x4)?_0x4a496a+=String['fromCharCode'](0xff&_0x859523>>(-0x2*_0x2e3343&0x6)):0x0){_0x229139=_0x9fdfe3['indexOf'](_0x229139);}for(let _0x19e50c=0x0,_0x447a4a=_0x4a496a['length'];_0x19e50c<_0x447a4a;_0x19e50c++){_0x46c1f2+='%'+('00'+_0x4a496a['charCodeAt'](_0x19e50c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x46c1f2);};a0_0x2644['LjryQM']=_0x3d6cac,a0_0x2644['DCpzfk']={},a0_0x2644['IzlseE']=!![];}const _0x10f75f=_0x796ecb[0x0],_0x20b967=_0x259321+_0x10f75f,_0x14f62b=a0_0x2644['DCpzfk'][_0x20b967];return!_0x14f62b?(_0x26442e=a0_0x2644['LjryQM'](_0x26442e),a0_0x2644['DCpzfk'][_0x20b967]=_0x26442e):_0x26442e=_0x14f62b,_0x26442e;}(function(_0xf8b93b,_0x2316ed){const _0x306b4e=a0_0x2644,_0xa26963=_0xf8b93b();while(!![]){try{const _0x2d686=parseInt(_0x306b4e(0x10f))/0x1+parseInt(_0x306b4e(0x1a9))/0x2+-parseInt(_0x306b4e(0x16d))/0x3+parseInt(_0x306b4e(0x193))/0x4+parseInt(_0x306b4e(0x133))/0x5*(parseInt(_0x306b4e(0x155))/0x6)+-parseInt(_0x306b4e(0x10d))/0x7*(-parseInt(_0x306b4e(0x13b))/0x8)+-parseInt(_0x306b4e(0x195))/0x9*(parseInt(_0x306b4e(0xc4))/0xa);if(_0x2d686===_0x2316ed)break;else _0xa26963['push'](_0xa26963['shift']());}catch(_0x444016){_0xa26963['push'](_0xa26963['shift']());}}}(a0_0x796e,0x8203f));const {Queue,Worker}=require(a0_0x52d112(0x159)),Redis=require('ioredis'),crypto=require('crypto'),{v7:uuidv7}=require(a0_0x52d112(0xfe)),fs=require('fs'),path=require(a0_0x52d112(0x16b)),{logger}=require(a0_0x52d112(0x197)),jobValidator=require(a0_0x52d112(0x140));function a0_0x796e(){const _0x27ee17=['EhrprLC','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','DhjPz2DLCMvKqNK','wxngBu0','Aw5PDgLHBgL6zwq','C3vIC3rYAw5N','nZDOC3zWvwW','ufHjuvq','mZmZndy1tvnZz0Tu','vMvMC0m','CxvPDa','uMvKAxmGy29UBMvJDgLVBIbMywLSzwq6ia','B25bzNrLCKPVyKzHAwXLzcbOyw5KBgvYigvYCM9YicHUB24TyMXVy2TPBMCP','y0TvEhm','zfvpALC','iokaLca','y2XVC2u','t3zhEfi','zxjYB3i','BwLU','qxffC0W','s1HPq3C','zxHWB25LBNrPywW','yNvSBg1Xx3jLzgLZx2vYCM9Y','reLSyNe','sM9IigzHAwXLzdOG','z2v0sw5ZDgfUy2u','rw5uvve','AM9Ix2HPC3rVCNLFAw5Zzxj0x2jNx2vYCM9Y','CfLPtLi','AM9Ix3jLz2LZDhj5x2nVDw50zxjFzxjYB3i','sM9IignHBMnLBgXLzcbIEsbVBKjLzM9YzuPVyKv4zwn1Dgu6ia','C3LZDgvT','zgjFB3jHy2XLx3vUyxzHAwXHyMXL','vKrnugq','ignHBMnLBgXLzcaOD2fZigfJDgL2zsK','DxbKyxrLuhjVz3jLC3m','sK9cx1nuquXmrurFsu5urvjwquW','AxzgDMi','C3bSAxq','BgLTAxq','icHHDhrLBxb0ia','rM9SzgvYihbHEwXVywqVAM9ICY8GDgLKywSGzgL0zw11A2fU','B2zMBgLUzq','nuvyyu1oyW','C2XvrMu','u0DVweG','zxjYB3jZ','thLSALy','sM9Iig1VBML0B3jPBMCGDgfIBgvZigvUC3vYzwqGka','sM9Iie1HBMfNzxiGCMvHzhK6ia','DNvQsKi','ntGWotuYteLqr1fY','yxbPlwnHBMnLBa','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa/lcbSyxn0x3j1BL9HDca9ie5pvYGPifDirvjfigPVyL9Uyw1Lid0GpW','sM9IigrPC3bHDgnOzwqGkgrLBgf5zwqG','zgvSzxrL','lI9QB2iTDMfSAwrHDg9Y','ChjVz3jLC3m','C2H1DgrVD24','DxbKyxrLsM9IsgLZDg9YEunVBxbSzxrLza','AgLZDg9YEuLK','BeP5tue','B25kB2jdB21WBgv0zwq','AM9Ix3nXBf9UB3rFzM91BMq','sgPyBKi','u2zrq2e','z2v0sM9Iq291BNrZ','AM9Ix2rIx3r5CgvFDw5ZDxbWB3j0zwq','sK9cx1jfvevoveLptL9it1vsuW','DufSugK','Dg90ywXFzMfPBgvK','mYbcDwXStveGuxvLDwvZignYzwf0zwqGkgHPz2GSigrLzMf1BhqSigXVDYK','AM9Ix2nVBMzPz3nFBg9HzgvK','AM9Ix21HBMfNzxjFC2H1DgrVD25FC3rHCNq','s1nMuvG','CNvUBMLUzW','igPVyIHZksbYzwDPC3rLCMvKlca','ntC1nZG4mLPnt2XStq','BMfTzq','AM9Ix2THzMTHx3b1yMXPC2HFzxjYB3i','CMv0CNK','yNvSBg1X','DhjPz2DLCLr5Cgu','sMHPCLO','ywrK','rw9cyLu','zMLUAxnOzwrpBG','rgzHCxe','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGC3rHDhvZid0Gj29MzMXPBMuNlcbUzxH0x3j1BL9HDca9ie5vteW','AM9Ix2vUC3vYzv90ywjSzxnFzxjYB3i','C3vJy2vZCW','zw5ZDxjLvgfIBgvZ','AM9Ix2HHBMrSzxjFzg9Uzq','zgjFCgDFDw5HDMfPBgfIBgu','zMLUza','zw52','z2v0q2XPzw50','DgLTzw91Da','DxbKyxrLuMvNAxn0CNLdB3vUDgvYCW','Cgf0Aa','ChjVy2vZC0PVyG','mJy5mZi1nKjJDMHABG','zgLZCgf0y2HezwXHEwvK','zw5HyMXLza','y3jLyxrLza','sK9cx01bwf9tvefmtevex0npvu5u','AffRsfG','wLr1Efi','ktOG','jYb0AwrHAYbKAwr1A3vUzYb1BNr1AYbQB2iGBw9UAxrVCMLUzYb0ywjSzxm','sfjnzg0','ChjVy2vZC2vKt24','z2v0sM9Iu2nOzwr1BgvYCW','zgvMyxvSDa','vgLnr3a','C3jJ','ChvIBgLZAev2zw50','rMfPBgvKihrVihjLz2LZDgvYigPVyJOG','DxbKyxrLsM9IsgLZDg9YEuzHAwXLza','wLP3t0W','q3jVBIbYzwDPC3rLCMvKoIa','zgf0yq','B3jHy2XL','Aw5JBhvKzxm','y2XLyxi','t2PiCvK','z2v0rgjvDgLSCW','veDVy2y','z2v0rgjuExbL','AM9Ix3jLz2LZDhj5x3vWC2vYDf9LCNjVCG','z2v0ug9VBa','igPVyIbJB25MAwCOCYKGzNjVBsbWyxLSB2fKl2PVyNmV','AhzXCMq','CMvHzgrPCLn5BMm','Bwf4qxr0zw1WDhm','uKnkEw0','sM9Iihn0yxj0zwq6ia','Ew5bwKy','Aw5Zzxj0uhjVBwLZzq','oduYnJuYyKjPv2Pr','BwvZC2fNzq','mZy4mJa4v1zYEenn','C2nOzwr1Bgu','lI4VlI4VDxrPBhmVBg9Nz2vY','z2v0sgvHBhrOu3rHDhvZ','oMPVyG','zw5KC1DPDgG','y3jVBL9YzwDPC3rLCMvK','DxbZzxj0sM9Iu2nOzwr1BgvY','DMfSDwvZ','Ae1gwKy','zMXKwg0','ug9ZDgDYzvnrtcbeqIbTB2r1BguGBM90igf2ywLSywjSzq','Cwvrt20','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNzMfPBgvKjYWGy29TCgXLDgvKx2f0id0GtK9xkcKScIaGicaGicaGicaGzhvYyxrPB25FBxmGpsaKmsWGChjVz3jLC3mGpsaKmIWGzxjYB3jFBwvZC2fNzsa9icqZlcbLCNjVCL9ZDgfJAYa9icq0ifDirvjfigLKid0Gjdu','ruzpANO','id0G','rg13wgO','sM9Iia','rMfPBgvKihrVihvWzgf0zsbQB2iGAgLZDg9YEsaOzMfPBgvKktOG','B25bzNrLCKPVyKnVBxbSzxrLigHHBMrSzxiGzxjYB3iGkg5VBI1IBg9JA2LUzYK','mtaZmJqZofndALr2Ea','ywz0zxjFAM9Ix2nVBxbSzxrLx2HVB2TFzxjYB3i','BgvUz3rO','rgf0ywjHC2uGDgLKywSGDgvYC2vKAweSihnRAxaGyxv0BY1JCMvHDguGAM9IihrHyMXLCW','sgHoy3a','Aw5PDgLHBerLBgf5','Dw5RBM93BG','CMv0DxjUDMfSDwu','ihjLBw92zwqGkhDHCYa','z2v0tMv4Dfj1BKzYB21cDwXStve','AM9Ix2zHAwXLza','DhjPBq','DxLqsLe','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNC3vJy2vZCYCSignVBxbSzxrLzf9HDca9ie5pvYGPlaOGicaGicaGicaGigr1CMf0Aw9Ux21Zid0GpYWGChjVz3jLC3mGpsaXmdaSihjLC3vSDf9ZDw1Tyxj5id0GpYbxsevsrsbPzca9id8','DxbZzxj0sM9IuMvNAxn0CNK','DNjVEwi','CgLK','qNvSBe1rifDVCMTLCIbLCNjVCIaO','yMfJA29MzG','zMLSDgvY','uKXNufe','CgLUzW','CMvZDgzVCMDLlMPVyNmUzMfPBgvK','DMfSAwq','DMDWAeW','icSGmsWkicaGicaGicaGicbUzxH0x3j1BL9HDca9id8Gv0HfuKuGAM9Ix25HBwuGpsa/','Aw5Zzxj0sM9IsgLZDg9YEq','sKrfqwy','y29UBMvJDgLVBNm','CgfNzq','y3jVBG','AM9PBG','AM9Iq29UzMLNCW','uKvesvnFueftu1DpuKq','rgHtBw0','rNPPruq','D29YA2vYCW','zxHLy3v0zvf1zxj5','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGC3rHDhvZid0Gj29MzMXPBMuNlcbUzxH0x3j1BL9HDca9ie5vteWSihvWzgf0zwrFyxqGpsbot1COkq','z2v0s2fMA2ftzxj2AwnL','ywn0AxzLsgLZDg9YEuLKCW','zxHLy3v0zvrYyw5Zywn0Aw9U','C3Hste8','EeL0Be0','vgLKywSGywrHigPVyIbJB25MAwCGzgL0zw11A2fUigrPihbHEwXVywqVAM9ICY8UiePVyIbnyw5Hz2vYigfRDgLMihrHBNbHignYB24U','rMfdrNy','AM9Ix2HPC3rVCNLFAw5Zzxj0x2vYCM9Y','Dg9mB3DLCKnHC2u','zw50CMLLCW','zgvSyxLLza','vvrUB2C','D29YA2LUz0rPCG','zhvWBgLJyxrL','y1vqCue','sM9IihbYB2DYzxnZoIa','C3rHCNrZv2L0Aa','y29UzMLNrMLSzq','C2v0','sK9cx1jfreLtx1bsruzjwa','CxvLDwu','zeHIwhG','z2v0sM9ICW','Bwv0ywrHDge','wKnWtgS','t3jHy2XLiercig1VzhvSzsbUB3qGyxzHAwXHyMXL','AfvduwO','AM9Ix21HBMfNzxjFywXYzwfKEv9PBML0AwfSAxPLza','rLj5swq','yxr0zw1WDhnnywrL','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNC3vJy2vZCYCSignVBxbSzxrLzf9HDca9ie5pvYGPlaOGicaGicaGicaGigr1CMf0Aw9Ux21Zid0GjdeSihbYB2DYzxnZid0GmtaWlcbYzxn1BhrFC3vTBwfYEsa9icqYifDirvjfigLKid0Gjdm','ChvZAa','ihrPzgfRigjPC2eGzgKTy2fUy2vSicHZDgf0ztOG','qMfJA2DYB3vUzcbPBNnLCNqGAM9IigHPC3rVCNKGzMfPBgvKoIa','DgLTzxPVBMu','svrzDwS','zNvUy3rPB24','B25SAw5L','mZqWvvLkAg1t','ifjLzgLZignVBM5Ly3rPB25Z','AM9Ix21HBMfNzxjFAw5PDf9ZDgfYDa','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsaKmsWGBgfZDf9YDw5FyxqGpsbot1COksWkicaGicaGicaGicb1CgrHDgvKx2f0id0GtK9xkcKGv0HfuKuGAM9Ix25HBwuGpsaKmG','D2fPDgLUzW','zxHLy3v0zuv2zw50sgfUzgXLCNm','thPnr3a','tu5qChi','B25bzNrLCKPVyKnVBxbSzxrL','y3jLyxrLqNvSBe1rq29UBMvJDgLVBG','yxbP','zgvZy3jPChrPB24','x3nVDxjJzuzPBgu','rgTcwKq','rgD5DKy','BMv4Da','r1z2y0y','Bgjwrfa','BxLZCwWUC3fS','qvDXC3i','D2fYBG','lI4VlI4VDxrPBhmVy29TCg9Uzw50lwvUz2LUzq','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNzMfPBgvKjYWGy29TCgXLDgvKx2f0id0Gu1LtveLnrvnuqu1qlaOGicaGicaGicaGigr1CMf0Aw9Ux21Zid0GoJeSihbYB2DYzxnZid0GoJiSigvYCM9Yx21LC3nHz2uGpsa6mYWGzxjYB3jFC3rHy2SGpsa6ncbxsevsrsbPzca9idO1','z2v0','BxLZCwW','y29TCgXLDgvK','AM9ICW','v3Dcr08','AM9Ix3DVCMTLCNnFy3jLyxrLza','DhLWzq','AgfUzgXLCG','AM9Ix2HPC3rVCNLFy29TCgXLDgvFzxjYB3i','Aw5PDgLHBgL6zq','sM9IignHBMnLBgXLzcb2AweGqvbj','sM9IigHHBMrSzxiGy29TCgXLDgvKoIa','s0fgs0fFru5bqKXfra','AM9ItMfTzq','AM9Ix2rPC3bHDgnOzwrFzgvSyxLLza','zMfPBgvK','Du1Zwu8','C2v0qwXSsM9IC09MzMXPBMu','CxvLDwvZ','icSGmsWkicaGicaGicaGicbUzxH0x3j1BL9HDca9idOZlcb1CgrHDgvKx2f0id0Gu1LtveLnrvnuqu1qifDirvjfigPVyL9Uyw1Lid0GoJq','B25kB2jqCM9NCMvZCW','sgfUzgXLCIb0AwrHAYbKAxrLBxvRyw4GDw50DwSGAM9IoIa','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa/lcbSyxn0x2r1CMf0Aw9Ux21Zid0GpYWkicaGicaGicaGica','BwfW','y2f0y2G','zgvIDwC','z2v0q2fJAgvnyw5Hz2vY','A2v5CW','B05PD0C','Aw5MBW','ywn0AxzL','ywXS','z2v0u3rHDgu','AxnqyxvZzwq','rLzHtLu','DxvPza','yxbPlwrLBgf5zwq','AM9Ix3bYB2DYzxnZ','tffQD1m','rMfPBgvKihrVihb1yMXPC2GGsK9cx0zbsuXfrcb0BYblywzRyq','Aw9KB3G','DgLTzxn0yw1WCW','rMfPBgvKihrVigvUC3vYzsbQB2iGDgfIBgvZoIa','sM9Iie1HBMfNzxiGC2H1DgrVD24Gy29TCgXLDgu'];a0_0x796e=function(){return _0x27ee17;};return a0_0x796e();}let componentEngine=null;function getComponentEngine(){const _0x573a08=a0_0x52d112;if(!componentEngine)try{const _0x32072f=require(_0x573a08(0xd9));componentEngine=_0x32072f['componentEngine']||_0x32072f;}catch(_0x226143){}return componentEngine;}class JobManager{constructor(){const _0x4abcc0=a0_0x52d112;this[_0x4abcc0(0xed)]={},this[_0x4abcc0(0x9b)]={},this['jobConfigs']={},this['handlers']={},this[_0x4abcc0(0x93)]=[],this[_0x4abcc0(0x10b)]=![],this['workingDir']=process['cwd'](),this['activeHistoryIds']=new Map();}[a0_0x52d112(0xcd)](){const _0x1ff42a=a0_0x52d112,_0x2e9c47={'CtKZK':function(_0x2f7eb5,_0x38e54a){return _0x2f7eb5*_0x38e54a;},'LzMGp':_0x1ff42a(0x11e),'xItlM':'localhost','vSLzq':'error'},_0x32f5e8=new Redis({'host':process['env']['REDIS_HOST']||_0x2e9c47[_0x1ff42a(0xa2)],'port':parseInt(process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process[_0x1ff42a(0x167)][_0x1ff42a(0x98)]||undefined,'db':parseInt(process[_0x1ff42a(0x167)]['REDIS_DB'],0xa)||0x0,'maxRetriesPerRequest':null,'retryStrategy'(_0x42f382){const _0x343d5c=_0x1ff42a,_0xfde4a0=Math[_0x343d5c(0x11a)](_0x2e9c47['CtKZK'](_0x42f382,0x32),0x7d0);return _0xfde4a0;}});return _0x32f5e8['on'](_0x2e9c47['vSLzq'],_0x69d010=>{const _0x1899f7=_0x1ff42a;logger['error']({'event':_0x2e9c47[_0x1899f7(0xca)],'error':_0x69d010['message']},'BullMQ\x20Redis\x20connection\x20error:\x20'+_0x69d010[_0x1899f7(0x194)]);}),this[_0x1ff42a(0x93)]['push'](_0x32f5e8),_0x32f5e8;}async[a0_0x52d112(0xe4)](){const _0x6def55=a0_0x52d112,_0x1c5060={'PXIQT':'job_stalled','JDEAf':'bullmq_worker_error','BVozU':'Job\x20Manager\x20sudah\x20diinisialisasi,\x20skip','cKUxs':'Initializing\x20Job\x20Manager...','YsFmM':'job_redis_connected','rzqqi':_0x6def55(0x161),'ZCpLk':'unknown','hUCQj':function(_0x49797d,_0x77e5ed,_0x3df111){return _0x49797d(_0x77e5ed,_0x3df111);},'jGNWN':function(_0x180d7d,_0xbc83cc){return _0x180d7d*_0xbc83cc;},'hGbSf':function(_0x37abc5,_0x4e1ac0){return _0x37abc5*_0x4e1ac0;},'TnCUd':'high','slUFe':'default','brkaj':'low','AWqsr':_0x6def55(0x14f),'HbDgx':function(_0x3547f,_0x73b791,_0x594042){return _0x3547f(_0x73b791,_0x594042);},'RNxdr':function(_0x46d3b1,_0x2ab43b,_0xa236fb){return _0x46d3b1(_0x2ab43b,_0xa236fb);},'DkBZD':_0x6def55(0xea),'vujJB':_0x6def55(0x141),'XnKKv':'stalled','uyPJQ':'job_manager_ready'};if(this['initialized']){logger['warn']({'event':_0x6def55(0xb9)},_0x1c5060['BVozU']);return;}logger['info']({'event':_0x6def55(0xc6)},_0x1c5060[_0x6def55(0x114)]);const _0x2d618b=this[_0x6def55(0xcd)]();try{await _0x2d618b[_0x6def55(0x8c)](),logger[_0x6def55(0xf8)]({'event':_0x1c5060[_0x6def55(0x10a)]},'BullMQ\x20Redis\x20connection\x20verified');}catch(_0x37b375){logger['error']({'event':'job_redis_failed','error':_0x37b375[_0x6def55(0x194)]},_0x6def55(0x112)+_0x37b375[_0x6def55(0x194)]+'.\x20Job\x20Scheduler\x20tidak\x20akan\x20aktif.');try{await _0x2d618b[_0x6def55(0x111)]();}catch(_0xd1a460){}this[_0x6def55(0x93)]=this[_0x6def55(0x93)][_0x6def55(0x8a)](_0x518b5e=>_0x518b5e!==_0x2d618b);return;}try{await _0x2d618b[_0x6def55(0x111)]();}catch(_0x15d0b4){}this[_0x6def55(0x93)]=this['connections']['filter'](_0x5d4d3b=>_0x5d4d3b!==_0x2d618b);try{await this[_0x6def55(0x163)]();}catch(_0x1c641d){logger['warn']({'event':_0x1c5060['rzqqi'],'error':_0x1c641d[_0x6def55(0x194)]},_0x6def55(0x105)+_0x1c641d[_0x6def55(0x194)]+'.\x20DB\x20monitoring\x20disabled.');}const _0x3597de=this['loadJobConfigs']();_0x3597de['length']===0x0&&logger['info']({'event':'job_no_configs'},_0x6def55(0xa3));const _0x3517d8=[];for(const _0x227de8 of _0x3597de){const _0x34fddb=jobValidator['validateConfig'](_0x227de8,this['workingDir']);_0x34fddb[_0x6def55(0x8e)]?_0x3517d8['push'](_0x227de8):logger['error']({'event':'job_config_invalid','name':_0x227de8[_0x6def55(0x156)]||'unknown','errors':_0x34fddb[_0x6def55(0x136)]},'Job\x20config\x20invalid:\x20'+(_0x227de8[_0x6def55(0x156)]||_0x1c5060[_0x6def55(0xb6)])+_0x6def55(0x116)+_0x34fddb[_0x6def55(0x136)]['join'](';\x20'));}const _0x3762ce=process[_0x6def55(0x167)][_0x6def55(0x108)]||_0x6def55(0x179),_0x536f5d=process[_0x6def55(0x167)][_0x6def55(0xb1)]||'rf:'+_0x3762ce+_0x6def55(0x199),_0x44778a=_0x1c5060[_0x6def55(0xb8)](parseInt,process[_0x6def55(0x167)][_0x6def55(0x14c)],0xa)||0x48,_0x598297=_0x1c5060[_0x6def55(0xb8)](parseInt,process[_0x6def55(0x167)]['JOB_FAILED_RETENTION_HOURS'],0xa)||0xa8,_0x4b7f63={'removeOnComplete':{'age':_0x1c5060['jGNWN'](_0x44778a,0xe10)},'removeOnFail':{'age':_0x1c5060['hGbSf'](_0x598297,0xe10)}},_0x6ea8bf={'high-priority':_0x1c5060['TnCUd'],'default':_0x1c5060[_0x6def55(0x134)],'low-priority':_0x1c5060['brkaj']};for(const [_0x41e4df,_0x28eb34]of Object['entries'](_0x6ea8bf)){this[_0x6def55(0xed)][_0x41e4df]=new Queue(_0x28eb34,{'connection':this['createBullMQConnection'](),'prefix':_0x536f5d,'defaultJobOptions':_0x4b7f63});}logger['info']({'event':'job_queues_created','count':0x3},_0x1c5060[_0x6def55(0xd7)]);const _0x48e5fb=parseInt(process[_0x6def55(0x167)]['JOB_CONCURRENCY'],0xa)||0x5,_0x52a7be=_0x1c5060['HbDgx'](parseInt,process['env'][_0x6def55(0x12c)],0xa)||0x7530,_0x51fe31=_0x1c5060['RNxdr'](parseInt,process[_0x6def55(0x167)][_0x6def55(0x171)],0xa)||0x2;for(const [_0x1825c4,_0x68af24]of Object['entries'](_0x6ea8bf)){const _0x259bf1=new Worker(_0x68af24,async _0x155d4a=>this[_0x6def55(0x16c)](_0x155d4a),{'connection':this[_0x6def55(0xcd)](),'prefix':_0x536f5d,'concurrency':_0x48e5fb,'stalledInterval':_0x52a7be,'maxStalledCount':_0x51fe31});_0x259bf1['on'](_0x6def55(0xdd),(_0x4ad77c,_0x252301)=>this['onJobCompleted'](_0x4ad77c,_0x252301)),_0x259bf1['on'](_0x1c5060[_0x6def55(0xd1)],(_0x7030df,_0xde3bca)=>this['onJobFailed'](_0x7030df,_0xde3bca)),_0x259bf1['on'](_0x1c5060[_0x6def55(0x13a)],(_0x46cc30,_0x31c65c)=>this['onJobProgress'](_0x46cc30,_0x31c65c)),_0x259bf1['on'](_0x1c5060['XnKKv'],_0x49b57b=>{const _0x37dd31=_0x6def55;logger[_0x37dd31(0xd8)]({'event':_0x1c5060[_0x37dd31(0x10e)],'jobId':_0x49b57b},'Job\x20stalled:\x20'+_0x49b57b);}),_0x259bf1['on'](_0x6def55(0x119),_0x32b16a=>{const _0x4fe962=_0x6def55;logger[_0x4fe962(0x119)]({'event':_0x1c5060[_0x4fe962(0x92)],'queue':_0x1825c4,'error':_0x32b16a[_0x4fe962(0x194)]},_0x4fe962(0x88)+_0x1825c4+_0x4fe962(0x174)+_0x32b16a['message']);}),this[_0x6def55(0x9b)][_0x1825c4]=_0x259bf1;}logger[_0x6def55(0xf8)]({'event':_0x6def55(0xe0),'count':0x3,'concurrency':_0x48e5fb},'3\x20BullMQ\x20Workers\x20created\x20(concurrency:\x20'+_0x48e5fb+')');let _0x341e6a=0x0;for(const _0x3c08eb of _0x3517d8){try{await this['registerJob'](_0x3c08eb),_0x341e6a++;}catch(_0x4322f4){logger['error']({'event':'job_register_failed','name':_0x3c08eb['name'],'error':_0x4322f4[_0x6def55(0x194)]},_0x6def55(0x17d)+_0x3c08eb[_0x6def55(0x156)]+'\x20—\x20'+_0x4322f4[_0x6def55(0x194)]);}}this[_0x6def55(0x10b)]=!![];const _0x567570=this['connections']['length'];logger['info']({'event':_0x1c5060[_0x6def55(0x83)],'registeredJobs':_0x341e6a,'totalConfigs':_0x3517d8[_0x6def55(0x1ab)],'redisConnections':_0x567570},_0x6def55(0x139)+_0x341e6a+_0x6def55(0x154)+_0x567570+_0x6def55(0xc5));}async[a0_0x52d112(0x142)](){const _0x85d906=a0_0x52d112,_0x56260c={'ITYuk':function(_0x51f36f,_0x36cd87){return _0x51f36f<_0x36cd87;},'cIDvQ':function(_0x5e719e,_0x455b1b){return _0x5e719e-_0x455b1b;},'sAiKv':function(_0x307e0d,_0xfa1aaf){return _0x307e0d===_0xfa1aaf;},'pLZIe':_0x85d906(0x106)};if(!this['initialized'])return;const _0x2a5f2f=parseInt(process['env']['JOB_SHUTDOWN_TIMEOUT'],0xa)||0x2710;logger[_0x85d906(0xf8)]({'event':_0x85d906(0x151),'timeoutMs':_0x2a5f2f},'Job\x20Manager\x20shutting\x20down\x20(timeout:\x20'+_0x2a5f2f+'ms)...');const _0x5a175a=Object['values'](this[_0x85d906(0x9b)])['map'](async _0x501fc9=>{try{await _0x501fc9['pause']();}catch(_0x41e216){}});await Promise[_0x85d906(0xfa)](_0x5a175a);const _0x28a908=Date['now']();while(_0x56260c[_0x85d906(0xc1)](_0x56260c['cIDvQ'](Date['now'](),_0x28a908),_0x2a5f2f)){let _0x3872a7=0x0;for(const _0x28d38b of Object[_0x85d906(0x19d)](this['queues'])){try{const _0x261264=await _0x28d38b['getJobCounts'](_0x85d906(0xf9));_0x3872a7+=_0x261264[_0x85d906(0xf9)]||0x0;}catch(_0x126164){}}if(_0x56260c['sAiKv'](_0x3872a7,0x0))break;await new Promise(_0x382583=>setTimeout(_0x382583,0x1f4));}const _0x582c4f=Object[_0x85d906(0x19d)](this[_0x85d906(0x9b)])['map'](async _0x1eb910=>{try{await _0x1eb910['close']();}catch(_0x190dce){}});await Promise[_0x85d906(0xfa)](_0x582c4f);const _0x3d695b=Object[_0x85d906(0x19d)](this[_0x85d906(0xed)])['map'](async _0x21294e=>{const _0x36b090=_0x85d906;try{await _0x21294e[_0x36b090(0x117)]();}catch(_0x176040){}});await Promise['all'](_0x3d695b);for(const _0x39c0da of this['connections']){try{await _0x39c0da['quit']();}catch(_0x8f4128){}}this['queues']={},this[_0x85d906(0x9b)]={},this[_0x85d906(0x93)]=[],await this[_0x85d906(0xec)](),this[_0x85d906(0x9f)][_0x85d906(0x184)](),this[_0x85d906(0x10b)]=![],logger[_0x85d906(0xf8)]({'event':'job_manager_shutdown_complete'},_0x56260c['pLZIe']);}['loadJobConfigs'](){const _0x53c56e=a0_0x52d112,_0x4522e7={'oNUnb':'job_config_dir_missing','RAURP':_0x53c56e(0x131),'uMsYO':'utf8','lDssV':'job_config_parse_error'},_0x451ef8=path[_0x53c56e(0x96)](this[_0x53c56e(0xaa)],'payload','jobs');if(!fs['existsSync'](_0x451ef8))return logger['info']({'event':_0x4522e7['oNUnb'],'path':_0x451ef8},_0x4522e7['RAURP']),[];const _0x1d1bb7=fs[_0x53c56e(0x18d)](_0x451ef8)['filter'](_0x2c75e7=>_0x2c75e7[_0x53c56e(0x19a)]('.json')),_0x697a92=[];for(const _0x194967 of _0x1d1bb7){const _0x53e151=path[_0x53c56e(0x96)](_0x451ef8,_0x194967);try{const _0x4aef43=fs['readFileSync'](_0x53e151,_0x4522e7[_0x53c56e(0xeb)]),_0x31b651=JSON['parse'](_0x4aef43);_0x31b651[_0x53c56e(0xd0)]=_0x194967,_0x697a92[_0x53c56e(0xbd)](_0x31b651);}catch(_0x3d3696){logger['error']({'event':_0x4522e7['lDssV'],'file':_0x194967,'error':_0x3d3696['message']},'Failed\x20to\x20parse\x20job\x20config:\x20'+_0x194967+_0x53c56e(0x116)+_0x3d3696[_0x53c56e(0x194)]);}}return logger['info']({'event':_0x53c56e(0x150),'count':_0x697a92[_0x53c56e(0x1ab)]},'Loaded\x20'+_0x697a92[_0x53c56e(0x1ab)]+_0x53c56e(0x18b)),_0x697a92;}async['registerJob'](_0x2bc1e){const _0x1cc522=a0_0x52d112,_0x446c8f={'lJyMA':'cron','iodox':function(_0x169757,_0x6e2c1d){return _0x169757!==_0x6e2c1d;},'dUOjW':_0x1cc522(0x11d),'LVPcx':_0x1cc522(0x179),'yfetZ':function(_0x39275d,_0xad253a){return _0x39275d===_0xad253a;},'KXiCw':function(_0x2e39e6,_0x5391a1){return _0x2e39e6!==_0x5391a1;},'HRMdm':_0x1cc522(0xc3)},_0x1b0376=path[_0x1cc522(0x96)](this['workingDir'],_0x1cc522(0x17b),_0x1cc522(0xde),_0x2bc1e['handler']+'.js');this['handlers'][_0x2bc1e['name']]=require(_0x1b0376),this[_0x1cc522(0x97)][_0x2bc1e[_0x1cc522(0x156)]]=_0x2bc1e;if(_0x2bc1e['type']===_0x446c8f[_0x1cc522(0x145)]&&_0x446c8f[_0x1cc522(0x103)](_0x2bc1e['enabled'],![])){const _0x5a4e0d=this['queues'][_0x2bc1e['queue']||_0x1cc522(0x179)];await _0x5a4e0d[_0x1cc522(0x19c)](_0x2bc1e['name'],{'pattern':_0x2bc1e[_0x1cc522(0x196)],'tz':_0x2bc1e[_0x1cc522(0xc0)]||undefined},{'name':_0x2bc1e['name'],'data':{'handler':_0x2bc1e['handler'],'triggeredBy':_0x446c8f[_0x1cc522(0x145)],'metadata':_0x2bc1e[_0x1cc522(0xb5)]||{}},'opts':{'attempts':_0x2bc1e[_0x1cc522(0x158)]?.[_0x1cc522(0x18e)]||0x3,'backoff':{'type':_0x2bc1e[_0x1cc522(0x158)]?.[_0x1cc522(0x89)]||_0x446c8f[_0x1cc522(0x115)],'delay':_0x2bc1e['retry']?.[_0x1cc522(0x1ae)]||0x1388},'timeout':_0x2bc1e['timeout']||0x7530}}),logger[_0x1cc522(0xf8)]({'event':_0x1cc522(0x19b),'name':_0x2bc1e['name'],'schedule':_0x2bc1e['schedule'],'queue':_0x2bc1e[_0x1cc522(0xb2)]||_0x446c8f['LVPcx']},_0x1cc522(0x180)+_0x2bc1e['name']+'\x20['+_0x2bc1e['schedule']+']');}const _0x5a92f8=_0x446c8f['yfetZ'](_0x2bc1e['type'],'cron')&&_0x446c8f[_0x1cc522(0x11c)](_0x2bc1e[_0x1cc522(0x16f)],![])?'online':_0x1cc522(0x132);let _0x52247b=null;_0x446c8f['yfetZ'](_0x5a92f8,_0x446c8f[_0x1cc522(0x176)])&&(_0x52247b=await this['getNextRunFromBullMQ'](_0x2bc1e['name'])),await this[_0x1cc522(0x85)](_0x2bc1e,_0x5a92f8,_0x52247b);}async['processJob'](_0x3e211c){const _0x42b0c3=a0_0x52d112,_0x4826d5={'GGRxz':'job_started','DhSmm':function(_0x37f01f,_0x3f3e66){return _0x37f01f+_0x3f3e66;},'GSqwF':function(_0x2d66a3){return _0x2d66a3();},'EnTUQ':_0x42b0c3(0x1af),'hvqrd':function(_0x45067e,_0x3d4a16){return _0x45067e===_0x3d4a16;},'ySOcD':'api','oAssS':'cron','MPOJo':function(_0x3658a5,_0xd20cae){return _0x3658a5===_0xd20cae;},'yvGog':_0x42b0c3(0x179),'sxRLO':function(_0x11fd19){return _0x11fd19();}},_0xed18=this[_0x42b0c3(0x97)][_0x3e211c[_0x42b0c3(0x156)]],_0x112bf3=this['handlers'][_0x3e211c['name']];if(!_0x112bf3)throw new Error(_0x42b0c3(0xf0)+_0x3e211c[_0x42b0c3(0x156)]);const _0x991681=logger['child']({'jobId':_0x3e211c['id'],'jobName':_0x3e211c[_0x42b0c3(0x156)]});_0x991681['info']({'event':_0x4826d5['GGRxz'],'attempt':_0x3e211c[_0x42b0c3(0xbb)]+0x1,'triggeredBy':_0x3e211c['data']?.['triggeredBy']||'unknown'},_0x42b0c3(0x190)+_0x3e211c['name']+_0x42b0c3(0x130)+_0x4826d5[_0x42b0c3(0x99)](_0x3e211c['attemptsMade'],0x1)+')');const _0x32ca1b=_0x4826d5['GSqwF'](uuidv7),_0x59d419=_0x3e211c['data']?.['triggeredBy']||_0x4826d5[_0x42b0c3(0x122)],_0x348fb2=this[_0x42b0c3(0x91)]({'id':_0x32ca1b,'jobName':_0x3e211c[_0x42b0c3(0x156)],'bullmqJobId':_0x3e211c['id'],'triggerType':_0x59d419==='api-delayed'?_0x42b0c3(0xa8):_0x4826d5[_0x42b0c3(0x18c)](_0x59d419,_0x4826d5['ySOcD'])?'manual':_0x4826d5['oAssS'],'triggeredBy':_0x4826d5['MPOJo'](_0x59d419,'cron')?'system':_0x59d419,'queue':_0xed18?.['queue']||_0x4826d5['yvGog'],'attempt':_0x3e211c['attemptsMade']+0x1,'configFile':_0xed18?.[_0x42b0c3(0xd0)]||null})[_0x42b0c3(0xf3)](_0x4fc881=>{const _0x567b98=_0x42b0c3;_0x991681[_0x567b98(0xd8)]({'event':_0x567b98(0x123),'error':_0x4fc881[_0x567b98(0x194)]},_0x567b98(0xbf)+_0x4fc881['message']);});this[_0x42b0c3(0x9f)][_0x42b0c3(0xb0)](_0x3e211c['id'],{'historyId':_0x32ca1b,'insertPromise':_0x348fb2});const _0x17c285=this['buildContext'](_0x3e211c,_0xed18,_0x991681),_0x5765b1=_0x4826d5[_0x42b0c3(0xa1)](getComponentEngine);if(_0x5765b1&&typeof _0x5765b1[_0x42b0c3(0xc9)]===_0x42b0c3(0xc2)){const _0x766981=await _0x5765b1['executeEventHandlers']('onBeforeJobExecute',_0x17c285,!![]);if(!_0x766981['success'])throw new Error(_0x42b0c3(0x126)+_0x766981[_0x42b0c3(0x119)]);}const _0x307163=await _0x112bf3(_0x17c285);return _0x991681[_0x42b0c3(0xf8)]({'event':_0x42b0c3(0x164),'result':_0x307163},_0x42b0c3(0xe6)+_0x3e211c['name']),_0x307163;}['buildContext'](_0x47015c,_0x55b942,_0x150452){const _0x5dadc3=a0_0x52d112,_0x59060b={'dQJjt':'JOB_EVENT','rnfhF':'job-scheduler','fldXm':function(_0xdb4326,_0x1260e9){return _0xdb4326||_0x1260e9;}};return{'jobId':_0x47015c['id'],'jobName':_0x47015c['name'],'attempt':_0x47015c['attemptsMade']+0x1,'maxAttempts':_0x55b942?.['retry']?.['maxAttempts']||0x3,'payload':_0x47015c[_0x5dadc3(0x181)]||{},'config':_0x59060b[_0x5dadc3(0x19f)](_0x55b942,{}),'db':this['getDbUtils'](),'redis':this['getRedisClient'](),'logger':_0x150452,'kafka':this['getKafkaService'](),'cache':this['getCacheManager'](),'updateProgress':async _0x3efe0c=>{const _0x5f0e8d=_0x5dadc3;await _0x47015c[_0x5f0e8d(0x12b)](_0x3efe0c);},'emit':async(_0x306a0d,_0x22251d)=>{const _0x2ef8ca=_0x5dadc3,_0x33ea46=this[_0x2ef8ca(0x9e)]();_0x33ea46&&await _0x33ea46['publishEvent'](_0x306a0d,_0x59060b['dQJjt'],null,_0x22251d,{'module':_0x59060b['rnfhF'],'endpoint':_0x47015c[_0x2ef8ca(0x156)]});},'job':_0x47015c};}['getDbType'](){const _0x4d9e7d=a0_0x52d112,_0x9ce494={'SGoXH':'postgresql'};return(process['env']['DB_TYPE']||_0x9ce494[_0x4d9e7d(0x135)])[_0x4d9e7d(0xa6)]();}async['ensureTables'](){const _0x1401c1=a0_0x52d112,_0x2da2a9={'DmwXj':'job_db_unavailable','dHbXx':'postgresql.sql','lLuic':'already\x20exists'},_0x5a2e3a=this[_0x1401c1(0x186)]();if(!_0x5a2e3a){logger['warn']({'event':_0x2da2a9[_0x1401c1(0x1a5)]},_0x1401c1(0x1ac));return;}const _0x109d41=this[_0x1401c1(0x188)](),_0x29ce23={'postgresql':_0x2da2a9[_0x1401c1(0xb3)],'oracle':'oracle.sql','mysql':_0x1401c1(0xd6)},_0x2747bb=_0x29ce23[_0x109d41];if(!_0x2747bb){logger[_0x1401c1(0xd8)]({'event':_0x1401c1(0x14b),'dbType':_0x109d41},'DB_TYPE\x20\x27'+_0x109d41+_0x1401c1(0x175));return;}const _0x5661c5=path[_0x1401c1(0x96)](__dirname,'sql-scripts',_0x2747bb);if(!fs['existsSync'](_0x5661c5)){logger[_0x1401c1(0xd8)]({'event':_0x1401c1(0x147),'path':_0x5661c5},'SQL\x20script\x20tidak\x20ditemukan:\x20'+_0x5661c5);return;}const _0xc17f2f=fs['readFileSync'](_0x5661c5,'utf8'),_0x377132=this['splitSqlStatements'](_0xc17f2f,_0x109d41);let _0x4165bc=0x0;for(const _0x59cdd1 of _0x377132){try{await _0x5a2e3a[_0x1401c1(0x9c)](_0x59cdd1),_0x4165bc++;}catch(_0x4bfb03){const _0x3091c1=(_0x4bfb03['message']||'')[_0x1401c1(0xa6)](),_0x39a4d0=_0x3091c1['includes'](_0x2da2a9['lLuic'])||_0x3091c1[_0x1401c1(0x183)]('ora-00955')||_0x3091c1[_0x1401c1(0x183)](_0x1401c1(0xab));!_0x39a4d0&&logger[_0x1401c1(0xd8)]({'event':'job_ensure_tables_warn','error':_0x4bfb03['message']},'Job\x20ensureTables\x20warning:\x20'+_0x4bfb03[_0x1401c1(0x194)]);}}logger[_0x1401c1(0xf8)]({'event':'job_tables_ensured','dbType':_0x109d41,'executed':_0x4165bc},_0x1401c1(0x138)+_0x109d41+')');}['splitSqlStatements'](_0x5b84c4,_0x196104){const _0x456152=a0_0x52d112;let _0x544d83;return _0x196104==='oracle'?_0x544d83=_0x5b84c4[_0x456152(0x12e)](/\n\/\s*(?:\n|$)/):_0x544d83=_0x5b84c4[_0x456152(0x12e)](/;\s*(?:\n|$)/),_0x544d83[_0x456152(0xf2)](_0x54fa51=>_0x54fa51[_0x456152(0x1b4)]())['filter'](_0x588a0d=>{const _0x9cc5b6=_0x456152;if(_0x588a0d[_0x9cc5b6(0x1ab)]===0x0)return![];const _0x320e06=_0x588a0d['split']('\x0a')['filter'](_0x23add4=>!_0x23add4['trim']()[_0x9cc5b6(0xae)]('--')&&_0x23add4['trim']()[_0x9cc5b6(0x1ab)]>0x0);return _0x320e06['length']>0x0;});}async['upsertJobRegistry'](_0x2f9849,_0x34791a=a0_0x52d112(0xc3),_0x3c77a8=null){const _0x7594b9=a0_0x52d112,_0x3234b1={'PpmCn':_0x7594b9(0x95),'KLLfY':'default','DIlbq':'mysql'},_0x44ff64=this[_0x7594b9(0x186)]();if(!_0x44ff64)return;const _0x1fef8c=this['getDbType'](),_0x51fc73=[_0x2f9849[_0x7594b9(0x156)],_0x2f9849['description']||_0x2f9849[_0x7594b9(0x156)],_0x2f9849['type']||_0x3234b1['PpmCn'],_0x2f9849[_0x7594b9(0x196)]||null,_0x2f9849['queue']||_0x3234b1['KLLfY'],_0x2f9849[_0x7594b9(0xe2)],_0x2f9849[_0x7594b9(0xd0)]||'',_0x2f9849['timeout']||0x7530,_0x2f9849['retry']?.[_0x7594b9(0x18e)]||0x3,_0x2f9849['retry']?.['backoff']||'exponential',_0x34791a,_0x3c77a8];try{if(_0x1fef8c===_0x7594b9(0x182))await _0x44ff64['executeQuery']('MERGE\x20INTO\x20job_registry\x20r\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20USING\x20(SELECT\x20:1\x20AS\x20jn\x20FROM\x20DUAL)\x20s\x20ON\x20(r.job_name\x20=\x20s.jn)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHEN\x20MATCHED\x20THEN\x20UPDATE\x20SET\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display_name\x20=\x20:2,\x20type\x20=\x20:3,\x20schedule\x20=\x20:4,\x20queue\x20=\x20:5,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20handler\x20=\x20:6,\x20config_file\x20=\x20:7,\x20timeout\x20=\x20:8,\x20retry_max\x20=\x20:9,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20retry_backoff\x20=\x20:10,\x20status\x20=\x20:11,\x20next_run_at\x20=\x20:12,\x20updated_at\x20=\x20SYSTIMESTAMP\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHEN\x20NOT\x20MATCHED\x20THEN\x20INSERT\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(job_name,\x20display_name,\x20type,\x20schedule,\x20queue,\x20handler,\x20config_file,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout,\x20retry_max,\x20retry_backoff,\x20status,\x20next_run_at,\x20created_at,\x20updated_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(:1,\x20:2,\x20:3,\x20:4,\x20:5,\x20:6,\x20:7,\x20:8,\x20:9,\x20:10,\x20:11,\x20:12,\x20SYSTIMESTAMP,\x20SYSTIMESTAMP)',_0x51fc73);else _0x1fef8c===_0x3234b1[_0x7594b9(0x11f)]?await _0x44ff64['executeQuery']('INSERT\x20INTO\x20job_registry\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(job_name,\x20display_name,\x20type,\x20schedule,\x20queue,\x20handler,\x20config_file,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout,\x20retry_max,\x20retry_backoff,\x20status,\x20next_run_at,\x20created_at,\x20updated_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20NOW(),\x20NOW())\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20DUPLICATE\x20KEY\x20UPDATE\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display_name\x20=\x20VALUES(display_name),\x20type\x20=\x20VALUES(type),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20schedule\x20=\x20VALUES(schedule),\x20queue\x20=\x20VALUES(queue),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20handler\x20=\x20VALUES(handler),\x20config_file\x20=\x20VALUES(config_file),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout\x20=\x20VALUES(timeout),\x20retry_max\x20=\x20VALUES(retry_max),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20retry_backoff\x20=\x20VALUES(retry_backoff),\x20status\x20=\x20VALUES(status),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20VALUES(next_run_at)',_0x51fc73):await _0x44ff64['executeQuery']('INSERT\x20INTO\x20job_registry\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(job_name,\x20display_name,\x20type,\x20schedule,\x20queue,\x20handler,\x20config_file,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout,\x20retry_max,\x20retry_backoff,\x20status,\x20next_run_at,\x20created_at,\x20updated_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20($1,\x20$2,\x20$3,\x20$4,\x20$5,\x20$6,\x20$7,\x20$8,\x20$9,\x20$10,\x20$11,\x20$12,\x20NOW(),\x20NOW())\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20CONFLICT\x20(job_name)\x20DO\x20UPDATE\x20SET\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display_name\x20=\x20EXCLUDED.display_name,\x20type\x20=\x20EXCLUDED.type,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20schedule\x20=\x20EXCLUDED.schedule,\x20queue\x20=\x20EXCLUDED.queue,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20handler\x20=\x20EXCLUDED.handler,\x20config_file\x20=\x20EXCLUDED.config_file,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout\x20=\x20EXCLUDED.timeout,\x20retry_max\x20=\x20EXCLUDED.retry_max,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20retry_backoff\x20=\x20EXCLUDED.retry_backoff,\x20status\x20=\x20EXCLUDED.status,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20EXCLUDED.next_run_at,\x20updated_at\x20=\x20NOW()',_0x51fc73);}catch(_0x321e8d){logger['warn']({'event':_0x7594b9(0x189),'name':_0x2f9849['name'],'error':_0x321e8d[_0x7594b9(0x194)]},'Failed\x20to\x20upsert\x20job\x20registry:\x20'+_0x2f9849['name']+'\x20—\x20'+_0x321e8d['message']);}}async['insertJobHistory'](_0x534466){const _0x4989ab=a0_0x52d112,_0x41e2f3={'MMdij':_0x4989ab(0x127),'BFtQo':'default','HnIYO':function(_0xe6fb1e,_0x30d632){return _0xe6fb1e===_0x30d632;},'veGbN':_0x4989ab(0x182),'SfQCa':_0x4989ab(0xdc),'OvGxR':_0x4989ab(0x153)},_0x5debbc=this[_0x4989ab(0x186)]();if(!_0x5debbc)return;const _0x28644a=this['getDbType'](),_0x577144=[_0x534466['id'],_0x534466[_0x4989ab(0xe8)],_0x534466['bullmqJobId']||null,_0x534466[_0x4989ab(0x15a)]||'cron',_0x534466[_0x4989ab(0x109)]||_0x41e2f3['MMdij'],_0x534466['queue']||_0x41e2f3['BFtQo'],_0x534466['attempt']||0x1,_0x534466[_0x4989ab(0xaf)]||null,process[_0x4989ab(0x87)]];try{if(_0x41e2f3['HnIYO'](_0x28644a,_0x41e2f3['veGbN']))await _0x5debbc[_0x4989ab(0x9c)]('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)',_0x577144);else _0x28644a===_0x41e2f3[_0x4989ab(0x149)]?await _0x5debbc[_0x4989ab(0x9c)]('INSERT\x20INTO\x20job_history\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(id,\x20job_name,\x20bullmq_job_id,\x20trigger_type,\x20triggered_by,\x20status,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20queue,\x20attempt,\x20config_file,\x20started_at,\x20worker_pid,\x20created_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20\x27running\x27,\x20?,\x20?,\x20?,\x20NOW(),\x20?,\x20NOW())',_0x577144):await _0x5debbc['executeQuery']('INSERT\x20INTO\x20job_history\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(id,\x20job_name,\x20bullmq_job_id,\x20trigger_type,\x20triggered_by,\x20status,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20queue,\x20attempt,\x20config_file,\x20started_at,\x20worker_pid,\x20created_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20($1,\x20$2,\x20$3,\x20$4,\x20$5,\x20\x27running\x27,\x20$6,\x20$7,\x20$8,\x20NOW(),\x20$9,\x20NOW())',_0x577144);await this['updateRegistryStatus'](_0x534466['jobName'],_0x41e2f3[_0x4989ab(0x118)]);}catch(_0x478f4c){logger['warn']({'event':_0x4989ab(0xa5),'jobName':_0x534466['jobName'],'error':_0x478f4c['message']},'Failed\x20to\x20insert\x20job\x20history:\x20'+_0x478f4c[_0x4989ab(0x194)]);}}async[a0_0x52d112(0x143)](_0x300871,_0x59b5a4,_0x451690){const _0x2dea3b=a0_0x52d112,_0x5ab0ac={'cUPqA':function(_0x3c7f10,_0xacfbbb){return _0x3c7f10(_0xacfbbb);},'RLgPQ':function(_0x457cf4,_0x2fceb9){return _0x457cf4===_0x2fceb9;},'sXooh':'oracle','OrqIA':_0x2dea3b(0xe3)},_0x58bba1=this[_0x2dea3b(0x186)]();if(!_0x58bba1)return;const _0x2822a5=this['getDbType'](),_0x148d0f=_0x451690?_0x5ab0ac[_0x2dea3b(0xac)](String,_0x451690)['substring'](0x0,0x1f4):null;try{if(_0x5ab0ac['RLgPQ'](_0x2822a5,_0x5ab0ac['sXooh']))await _0x58bba1[_0x2dea3b(0x9c)]('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',[_0x59b5a4,_0x148d0f,_0x300871]);else _0x5ab0ac[_0x2dea3b(0x8b)](_0x2822a5,'mysql')?await _0x58bba1[_0x2dea3b(0x9c)](_0x2dea3b(0x84),[_0x59b5a4,_0x148d0f,_0x300871]):await _0x58bba1['executeQuery'](_0x2dea3b(0xbc),[_0x59b5a4,_0x148d0f,_0x300871]);}catch(_0xaa26ac){logger['warn']({'event':_0x5ab0ac['OrqIA'],'historyId':_0x300871,'error':_0xaa26ac[_0x2dea3b(0x194)]},'Failed\x20to\x20update\x20job\x20history\x20(completed):\x20'+_0xaa26ac['message']);}}async['updateJobHistoryFailed'](_0x3bf5c8,_0x25d83f,_0x555a8a,_0x363040,_0x28811c){const _0x529fbe=a0_0x52d112,_0x51df85={'nmgIY':function(_0x294c17,_0x4ddebf){return _0x294c17(_0x4ddebf);},'AOsdq':function(_0x4f5c0f,_0x7ed4e1){return _0x4f5c0f===_0x7ed4e1;},'ynAZF':'mysql','jnRCH':function(_0x4e5042,_0x51890b){return _0x4e5042||_0x51890b;},'PfShM':function(_0x139793,_0xf76316){return _0x139793||_0xf76316;}},_0x197834=this['getDbUtils']();if(!_0x197834)return;const _0x1ed48f=this[_0x529fbe(0x188)](),_0x1cbeea=_0x363040?_0x51df85['nmgIY'](String,_0x363040)['substring'](0x0,0x3e8):null,_0x4e1afc=_0x28811c?String(_0x28811c)['substring'](0x0,0xfa0):null;try{if(_0x51df85['AOsdq'](_0x1ed48f,'oracle'))await _0x197834[_0x529fbe(0x9c)](_0x529fbe(0xda),[_0x25d83f,_0x555a8a||0x0,_0x1cbeea,_0x4e1afc,_0x3bf5c8]);else _0x1ed48f===_0x51df85[_0x529fbe(0x191)]?await _0x197834['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?',[_0x25d83f,_0x51df85['jnRCH'](_0x555a8a,0x0),_0x1cbeea,_0x4e1afc,_0x3bf5c8]):await _0x197834[_0x529fbe(0x9c)](_0x529fbe(0x1a2),[_0x25d83f,_0x51df85['PfShM'](_0x555a8a,0x0),_0x1cbeea,_0x4e1afc,_0x3bf5c8]);}catch(_0x2dd1bd){logger[_0x529fbe(0xd8)]({'event':'job_history_failed_error','historyId':_0x3bf5c8,'error':_0x2dd1bd[_0x529fbe(0x194)]},_0x529fbe(0x1a7)+_0x2dd1bd['message']);}}async['updateRegistryStatus'](_0x35b12e,_0x3eecf0){const _0x4e1696=a0_0x52d112,_0xcad2a7={'rLbuN':function(_0x1bc60e,_0x2677bb){return _0x1bc60e===_0x2677bb;},'POomk':_0x4e1696(0x182),'TiMGp':function(_0xfdbd48,_0xdcc708){return _0xfdbd48===_0xdcc708;},'qhpZW':_0x4e1696(0xdc)},_0x28b2b8=this['getDbUtils']();if(!_0x28b2b8)return;const _0x3685d7=this[_0x4e1696(0x188)]();try{if(_0xcad2a7['rLbuN'](_0x3685d7,_0xcad2a7['POomk']))await _0x28b2b8[_0x4e1696(0x9c)]('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',[_0x3eecf0,_0x35b12e]);else _0xcad2a7[_0x4e1696(0x17a)](_0x3685d7,_0xcad2a7['qhpZW'])?await _0x28b2b8['executeQuery'](_0x4e1696(0x13d),[_0x3eecf0,_0x35b12e]):await _0x28b2b8['executeQuery'](_0x4e1696(0xc7),[_0x3eecf0,_0x35b12e]);}catch(_0x7824c0){}}async['updateRegistryCounters'](_0x23ccb1,_0xa013d6,_0x50e31e,_0x2522a2){const _0x1ea091=a0_0x52d112,_0x1aa503={'FRyId':function(_0x1c1fcb,_0x54f669){return _0x1c1fcb===_0x54f669;},'PMxYm':'total_success','omelS':_0x1ea091(0x14e),'RCJym':function(_0x12045b,_0x34f089){return _0x12045b===_0x34f089;},'GVvcF':'oracle','QgIKl':'mysql'},_0x34deb3=this[_0x1ea091(0x186)]();if(!_0x34deb3)return;const _0x52a9e3=this[_0x1ea091(0x188)](),_0x3f24f2=_0x1aa503[_0x1ea091(0xba)](_0xa013d6,'success')?_0x1aa503['PMxYm']:_0x1aa503['omelS'];try{if(_0x1aa503[_0x1ea091(0x18f)](_0x52a9e3,_0x1aa503[_0x1ea091(0xd4)]))await _0x34deb3['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'+_0x3f24f2+'\x20=\x20'+_0x3f24f2+_0x1ea091(0xee),[_0xa013d6,_0x50e31e,_0x2522a2,_0x23ccb1]);else _0x1aa503['RCJym'](_0x52a9e3,_0x1aa503['QgIKl'])?await _0x34deb3[_0x1ea091(0x9c)](_0x1ea091(0xf1)+_0x3f24f2+_0x1ea091(0x1a4)+_0x3f24f2+_0x1ea091(0x90),[_0xa013d6,_0x50e31e,_0x2522a2,_0x23ccb1]):await _0x34deb3['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'+_0x3f24f2+'\x20=\x20'+_0x3f24f2+'\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',[_0xa013d6,_0x50e31e,_0x2522a2,_0x23ccb1]);}catch(_0x19192f){logger[_0x1ea091(0xd8)]({'event':_0x1ea091(0x125),'jobName':_0x23ccb1,'error':_0x19192f[_0x1ea091(0x194)]},'Failed\x20to\x20update\x20job\x20registry\x20counters:\x20'+_0x19192f[_0x1ea091(0x194)]);}}async['getNextRunFromBullMQ'](_0xeb5b42){const _0x2cc9b9=a0_0x52d112,_0x182704={'WwBGO':'cron','Geoiw':_0x2cc9b9(0x179),'qeQOm':function(_0x13bf31,_0x103128){return _0x13bf31===_0x103128;}},_0x3fcbb4=this[_0x2cc9b9(0x97)][_0xeb5b42];if(!_0x3fcbb4||_0x3fcbb4[_0x2cc9b9(0xe1)]!==_0x182704[_0x2cc9b9(0xdf)]||_0x3fcbb4[_0x2cc9b9(0x16f)]===![])return null;const _0x11752a=this[_0x2cc9b9(0xed)][_0x3fcbb4[_0x2cc9b9(0xb2)]||_0x182704['Geoiw']];if(!_0x11752a)return null;try{if(_0x182704[_0x2cc9b9(0x1a1)](typeof _0x11752a[_0x2cc9b9(0x178)],'function')){const _0x40c4b0=await _0x11752a[_0x2cc9b9(0x178)](0x0,0x64),_0x2c3684=_0x40c4b0[_0x2cc9b9(0x166)](_0x311c0a=>_0x311c0a[_0x2cc9b9(0x156)]===_0xeb5b42);return _0x2c3684?.[_0x2cc9b9(0xd3)]?new Date(_0x2c3684[_0x2cc9b9(0xd3)]):null;}}catch(_0xb2fbb9){}return null;}async['setAllJobsOffline'](){const _0x3fb3dc=a0_0x52d112,_0x380dd0={'LyljV':function(_0x3aea29,_0x509437){return _0x3aea29===_0x509437;},'HjXnB':'mysql','FVaNU':'job_registry_offline_error'},_0x186b81=this[_0x3fb3dc(0x186)]();if(!_0x186b81)return;const _0x4e04e3=this['getDbType']();try{if(_0x4e04e3==='oracle')await _0x186b81['executeQuery']('UPDATE\x20job_registry\x20SET\x20status\x20=\x20\x27offline\x27,\x20next_run_at\x20=\x20NULL,\x20updated_at\x20=\x20SYSTIMESTAMP');else _0x380dd0[_0x3fb3dc(0x137)](_0x4e04e3,_0x380dd0[_0x3fb3dc(0x148)])?await _0x186b81[_0x3fb3dc(0x9c)](_0x3fb3dc(0x160)):await _0x186b81['executeQuery'](_0x3fb3dc(0x9d));}catch(_0x2291ae){logger['warn']({'event':_0x380dd0[_0x3fb3dc(0xfd)],'error':_0x2291ae[_0x3fb3dc(0x194)]},'Failed\x20to\x20set\x20jobs\x20offline:\x20'+_0x2291ae['message']);}}[a0_0x52d112(0x186)](){const _0x3df45d=a0_0x52d112,_0x2840cc={'lZLUq':'postgresql','ZZwOL':function(_0x485347,_0x317c91){return _0x485347(_0x317c91);},'JhirZ':_0x3df45d(0x128),'oNiwG':_0x3df45d(0xb7),'DgyvF':function(_0x4135e8,_0x8d194){return _0x4135e8===_0x8d194;},'hMFZF':_0x3df45d(0xdc),'EFOjz':function(_0xbe628f,_0x26534d){return _0xbe628f(_0x26534d);},'VVdez':'db_mysql_unavailable','FaCFv':'MySQL\x20DB\x20module\x20not\x20available','DeRLy':_0x3df45d(0x165),'FziED':_0x3df45d(0x1a0)},_0x92e646=(process['env']['DB_TYPE']||_0x2840cc['lZLUq'])[_0x3df45d(0xa6)]();if(_0x92e646==='oracle')try{const _0x25b457=_0x2840cc[_0x3df45d(0x17f)](require,'../../utils/db-oracle');return{'executeQuery':(_0x208c71,_0x11713e)=>_0x25b457['executeQuery'](_0x208c71,_0x11713e),'executeTransaction':_0x4ca7c8=>_0x25b457[_0x3df45d(0xa0)](_0x4ca7c8),'getPool':()=>_0x25b457['getPool']()};}catch(_0x4531b8){return logger[_0x3df45d(0xd8)]({'event':_0x2840cc[_0x3df45d(0x15b)]},_0x2840cc[_0x3df45d(0xf7)]),null;}if(_0x2840cc[_0x3df45d(0xd2)](_0x92e646,_0x2840cc[_0x3df45d(0x19e)]))try{const _0x2e4e53=_0x2840cc[_0x3df45d(0x1a3)](require,'../../utils/db-mysql');return{'executeQuery':(_0xc34d27,_0x54e98e)=>_0x2e4e53[_0x3df45d(0x9c)](_0xc34d27,_0x54e98e),'executeTransaction':_0xae448e=>_0x2e4e53['executeTransaction'](_0xae448e),'getPool':()=>_0x2e4e53['getPool']()};}catch(_0x5b4082){return logger[_0x3df45d(0xd8)]({'event':_0x2840cc['VVdez']},_0x2840cc[_0x3df45d(0xa4)]),null;}try{const _0x10ee32=_0x2840cc['ZZwOL'](require,'../../utils/db');return{'executeQuery':_0x10ee32['executeQuery'],'executeTransaction':_0x10ee32[_0x3df45d(0xa0)],'getPool':_0x10ee32[_0x3df45d(0x18a)]};}catch(_0x51c86f){return logger[_0x3df45d(0xd8)]({'event':_0x2840cc['DeRLy']},_0x2840cc[_0x3df45d(0x9a)]),null;}}['getRedisClient'](){const _0x3daf25=a0_0x52d112,_0x526ac7={'OjHqY':'../../utils/redis-client'};try{const _0x1c9d9f=require(_0x526ac7[_0x3daf25(0x185)]);return _0x1c9d9f['getClient']?_0x1c9d9f[_0x3daf25(0x168)]():_0x1c9d9f;}catch(_0x384bb8){return null;}}['getKafkaService'](){const _0x5a7d09=a0_0x52d112,_0x1a930e={'MdPeI':'true','Krlov':function(_0x50f6d0,_0x2ef11c){return _0x50f6d0(_0x2ef11c);}};try{if(process[_0x5a7d09(0x167)][_0x5a7d09(0xe7)]===_0x1a930e['MdPeI']){const _0x1c392c=_0x1a930e['Krlov'](require,'../../services/kafkaService');return _0x1c392c[_0x5a7d09(0x121)]?_0x1c392c['getInstance']():_0x1c392c;}}catch(_0x2c7272){}return null;}[a0_0x52d112(0xf5)](){const _0x57db31={'seduG':function(_0x4845b6,_0xfed848){return _0x4845b6(_0xfed848);},'xVWrr':'../../utils/cache-manager'};try{return _0x57db31['seduG'](require,_0x57db31['xVWrr']);}catch(_0x372da1){return null;}}async['dispatch'](_0xe29fca,_0x521e0d={}){const _0x395cc2=a0_0x52d112,_0x2d4d2f={'WqqCq':_0x395cc2(0x11d),'EeSrU':'job_dispatched'},_0x389a0c=this[_0x395cc2(0x97)][_0xe29fca];if(!_0x389a0c)throw new Error('Job\x20tidak\x20ditemukan:\x20'+_0xe29fca);const _0x5be3d6=this['queues'][_0x389a0c[_0x395cc2(0xb2)]||'default'],_0x5a69b0=await _0x5be3d6['add'](_0xe29fca,{..._0x521e0d,'handler':_0x389a0c[_0x395cc2(0xe2)],'triggeredBy':'api'},{'attempts':_0x389a0c[_0x395cc2(0x158)]?.[_0x395cc2(0x18e)]||0x3,'backoff':{'type':_0x389a0c['retry']?.[_0x395cc2(0x89)]||_0x2d4d2f['WqqCq'],'delay':_0x389a0c['retry']?.[_0x395cc2(0x1ae)]||0x1388},'timeout':_0x389a0c[_0x395cc2(0x169)]||0x7530});return logger['info']({'event':_0x2d4d2f['EeSrU'],'jobId':_0x5a69b0['id'],'name':_0xe29fca,'triggeredBy':_0x395cc2(0xce)},'Job\x20dispatched:\x20'+_0xe29fca+'\x20(id:\x20'+_0x5a69b0['id']+')'),{'jobId':_0x5a69b0['id'],'name':_0xe29fca};}async[a0_0x52d112(0x16e)](_0x561513,_0x161f8c={},_0x2d3408=0x0){const _0x1b880f=a0_0x52d112,_0x2fe68a={'HhNcp':_0x1b880f(0xff),'pYiNR':_0x1b880f(0xe9)},_0xe12974=this[_0x1b880f(0x97)][_0x561513];if(!_0xe12974)throw new Error('Job\x20tidak\x20ditemukan:\x20'+_0x561513);const _0x549f8a=this['queues'][_0xe12974['queue']||'default'],_0x250d6a=await _0x549f8a[_0x1b880f(0x15c)](_0x561513,{..._0x161f8c,'handler':_0xe12974[_0x1b880f(0xe2)],'triggeredBy':_0x2fe68a[_0x1b880f(0x1ad)]},{'delay':_0x2d3408,'attempts':_0xe12974['retry']?.[_0x1b880f(0x18e)]||0x3,'backoff':{'type':_0xe12974['retry']?.['backoff']||'exponential','delay':_0xe12974[_0x1b880f(0x158)]?.[_0x1b880f(0x1ae)]||0x1388},'timeout':_0xe12974['timeout']||0x7530});return logger['info']({'event':_0x2fe68a[_0x1b880f(0x124)],'jobId':_0x250d6a['id'],'name':_0x561513,'delayMs':_0x2d3408},_0x1b880f(0x13e)+_0x2d3408+'ms):\x20'+_0x561513+'\x20(id:\x20'+_0x250d6a['id']+')'),{'jobId':_0x250d6a['id'],'name':_0x561513};}async['getJobStatus'](_0x55bfab){const _0x7cb99f=a0_0x52d112;for(const _0x58bd10 of Object[_0x7cb99f(0x19d)](this[_0x7cb99f(0xed)])){const _0x54766d=await _0x58bd10['getJob'](_0x55bfab);if(_0x54766d){const _0x1dcd35=await _0x54766d[_0x7cb99f(0xfb)]();return{'jobId':_0x54766d['id'],'name':_0x54766d['name'],'state':_0x1dcd35,'progress':_0x54766d[_0x7cb99f(0x141)],'attemptsMade':_0x54766d[_0x7cb99f(0xbb)],'failedReason':_0x54766d['failedReason'],'returnvalue':_0x54766d[_0x7cb99f(0x1b0)],'data':_0x54766d['data'],'timestamps':{'created':_0x54766d['timestamp'],'started':_0x54766d[_0x7cb99f(0x177)],'completed':_0x54766d['finishedOn']}};}}return null;}['listJobs'](){const _0x3b4230=a0_0x52d112;return Object[_0x3b4230(0x19d)](this['jobConfigs'])['map'](_0x3fde7c=>({'name':_0x3fde7c['name'],'description':_0x3fde7c[_0x3b4230(0xcf)]||'','type':_0x3fde7c['type'],'schedule':_0x3fde7c['schedule'],'handler':_0x3fde7c[_0x3b4230(0xe2)],'enabled':_0x3fde7c[_0x3b4230(0x16f)]!==![],'queue':_0x3fde7c['queue']||_0x3b4230(0x179),'timeout':_0x3fde7c['timeout']||0x7530,'retry':_0x3fde7c[_0x3b4230(0x158)]||{'maxAttempts':0x3,'backoff':_0x3b4230(0x11d),'initialDelay':0x1388},'metadata':_0x3fde7c[_0x3b4230(0xb5)]||{}}));}async['listRunning'](){const _0x2c214c=a0_0x52d112,_0x44f2c0=[];for(const [_0x5a2ec4,_0x11f7eb]of Object[_0x2c214c(0xa7)](this[_0x2c214c(0xed)])){const _0x3bfc44=await _0x11f7eb['getJobs'](['active']);for(const _0x23a636 of _0x3bfc44){_0x44f2c0['push']({'jobId':_0x23a636['id'],'name':_0x23a636['name'],'queue':_0x5a2ec4,'progress':_0x23a636[_0x2c214c(0x141)],'attemptsMade':_0x23a636[_0x2c214c(0xbb)],'startedAt':_0x23a636[_0x2c214c(0x177)]});}}return _0x44f2c0;}async['getHistory'](_0x3fb0b4={}){const _0x1b87a2=a0_0x52d112,_0x39ce14={'KSfQX':function(_0x16758f,_0x330b46,_0x411395){return _0x16758f(_0x330b46,_0x411395);},'oBTxA':function(_0x1dbe2,_0x19c578,_0x3343e4){return _0x1dbe2(_0x19c578,_0x3343e4);},'oOoDq':function(_0x3cc9ef,_0x8bd1e0){return _0x3cc9ef*_0x8bd1e0;},'uAlPi':function(_0x20a8a5,_0x3bb695){return _0x20a8a5-_0x3bb695;},'xtOFW':'completed','EoBbU':'failed'},_0x479b2d=_0x39ce14[_0x1b87a2(0x152)](parseInt,_0x3fb0b4[_0x1b87a2(0x94)],0xa)||0x1,_0x4144e0=Math[_0x1b87a2(0x11a)](_0x39ce14['oBTxA'](parseInt,_0x3fb0b4[_0x1b87a2(0x12f)],0xa)||0x14,0x64),_0x3819b3=_0x39ce14['oOoDq'](_0x479b2d-0x1,_0x4144e0),_0x382488=_0x39ce14[_0x1b87a2(0x14d)](_0x3819b3+_0x4144e0,0x1),_0x15be7f=[];for(const [_0x1646cf,_0x4c4f0e]of Object[_0x1b87a2(0xa7)](this[_0x1b87a2(0xed)])){const _0x405353=await _0x4c4f0e['getJobs']([_0x39ce14[_0x1b87a2(0x107)]],_0x3819b3,_0x382488),_0x39da8=await _0x4c4f0e[_0x1b87a2(0xb4)]([_0x39ce14[_0x1b87a2(0x15d)]],_0x3819b3,_0x382488);for(const _0x203905 of[..._0x405353,..._0x39da8]){const _0x1ece7c=await _0x203905['getState']();_0x15be7f[_0x1b87a2(0xbd)]({'jobId':_0x203905['id'],'name':_0x203905[_0x1b87a2(0x156)],'state':_0x1ece7c,'queue':_0x1646cf,'attemptsMade':_0x203905[_0x1b87a2(0xbb)],'failedReason':_0x203905['failedReason'],'returnvalue':_0x203905[_0x1b87a2(0x1b0)],'timestamps':{'created':_0x203905['timestamp'],'started':_0x203905[_0x1b87a2(0x177)],'completed':_0x203905[_0x1b87a2(0x15e)]}});}}return _0x15be7f['sort']((_0xb3c2f,_0x3e249b)=>(_0x3e249b['timestamps'][_0x1b87a2(0x170)]||0x0)-(_0xb3c2f[_0x1b87a2(0x104)][_0x1b87a2(0x170)]||0x0)),{'jobs':_0x15be7f['slice'](0x0,_0x4144e0),'total':_0x15be7f['length'],'page':_0x479b2d,'limit':_0x4144e0};}async['cancelJob'](_0x1eaa19){const _0x4c243a=a0_0x52d112,_0x2b1422={'AqEsL':function(_0xfb358d,_0x49744e){return _0xfb358d===_0x49744e;},'bSqbU':_0x4c243a(0xe5),'VDMPd':_0x4c243a(0xa8)};for(const _0x3312d8 of Object['values'](this['queues'])){const _0x5dc9ee=await _0x3312d8['getJob'](_0x1eaa19);if(_0x5dc9ee){const _0xeab2d8=await _0x5dc9ee[_0x4c243a(0xfb)]();if(_0x2b1422['AqEsL'](_0xeab2d8,_0x4c243a(0xf9)))return await _0x5dc9ee['moveToFailed'](new Error(_0x2b1422['bSqbU']),_0x4c243a(0x13c),!![]),{'success':!![],'message':_0x4c243a(0x1a6)+_0x1eaa19+_0x4c243a(0x12a)};if(_0x2b1422[_0x4c243a(0x11b)](_0xeab2d8,_0x4c243a(0xc8))||_0x2b1422[_0x4c243a(0x11b)](_0xeab2d8,_0x2b1422[_0x4c243a(0x129)]))return await _0x5dc9ee['remove'](),{'success':!![],'message':'Job\x20'+_0x1eaa19+_0x4c243a(0x1b1)+_0xeab2d8+')'};return{'success':![],'message':_0x4c243a(0x1a6)+_0x1eaa19+_0x4c243a(0xbe)+_0xeab2d8+')'};}}return{'success':![],'message':'Job\x20'+_0x1eaa19+'\x20tidak\x20ditemukan'};}async[a0_0x52d112(0x198)](){const _0x539c2b=a0_0x52d112,_0x475bab={'kANxi':'paused','GFVhs':'waiting'},_0x3049b0={};for(const [_0x3f200e,_0x34e36e]of Object[_0x539c2b(0xa7)](this[_0x539c2b(0xed)])){try{const _0x43f19e=await _0x34e36e[_0x539c2b(0x14a)](_0x539c2b(0xf9),'completed',_0x539c2b(0xa8),_0x539c2b(0xea),_0x475bab['kANxi'],_0x475bab['GFVhs']);_0x3049b0[_0x3f200e]=_0x43f19e;}catch(_0x4799d9){_0x3049b0[_0x3f200e]={'error':_0x4799d9[_0x539c2b(0x194)]};}}const _0x63856b={};for(const [_0x5eaf24,_0x459b5c]of Object['entries'](this[_0x539c2b(0x9b)])){_0x63856b[_0x5eaf24]={'running':_0x459b5c['isRunning'](),'paused':_0x459b5c[_0x539c2b(0xfc)]()};}return{'initialized':this['initialized'],'registeredJobs':Object[_0x539c2b(0xf6)](this['jobConfigs'])[_0x539c2b(0x1ab)],'redisConnections':this['connections']['length'],'queues':_0x3049b0,'workers':_0x63856b};}async[a0_0x52d112(0x146)](_0x5e9dbc,_0x231aa1){const _0x6e297=a0_0x52d112,_0x198786={'BFgIc':_0x6e297(0x1a8),'DVPKg':'job_completed','LQjwS':function(_0x4e9a43,_0x516ba9){return _0x4e9a43-_0x516ba9;},'ivFvb':function(_0x506428,_0x328058){return _0x506428-_0x328058;},'UTnog':function(_0x4a50ad,_0x12c517){return _0x4a50ad===_0x12c517;},'VefsC':'string','MNPpr':'function','XGAKS':_0x6e297(0xcc),'zwXta':'job_kafka_publish_error','Dfaqq':'Failed\x20to\x20publish\x20JOB_COMPLETED\x20to\x20Kafka'},_0x23422f=logger['child']({'jobId':_0x5e9dbc['id'],'jobName':_0x5e9dbc[_0x6e297(0x156)]});_0x23422f['info']({'event':_0x198786['DVPKg'],'attemptsMade':_0x5e9dbc['attemptsMade'],'duration':_0x5e9dbc[_0x6e297(0x15e)]?_0x198786[_0x6e297(0x101)](_0x5e9dbc[_0x6e297(0x15e)],_0x5e9dbc[_0x6e297(0x177)]):null},'Job\x20completed:\x20'+_0x5e9dbc[_0x6e297(0x156)]);const _0xded654=this[_0x6e297(0x9f)][_0x6e297(0xdb)](_0x5e9dbc['id']);if(_0xded654){if(_0xded654['insertPromise'])await _0xded654['insertPromise'];const _0x3ad2b9=_0x5e9dbc[_0x6e297(0x15e)]&&_0x5e9dbc[_0x6e297(0x177)]?_0x198786[_0x6e297(0x12d)](_0x5e9dbc[_0x6e297(0x15e)],_0x5e9dbc[_0x6e297(0x177)]):null,_0x37f099=_0x198786[_0x6e297(0xa9)](typeof _0x231aa1,_0x198786[_0x6e297(0x110)])?_0x231aa1:_0x231aa1?JSON['stringify'](_0x231aa1)[_0x6e297(0x10c)](0x0,0x1f4):null;await this[_0x6e297(0x143)](_0xded654[_0x6e297(0x144)],_0x3ad2b9,_0x37f099);const _0x5d59af=await this[_0x6e297(0x1b2)](_0x5e9dbc['name']);await this['updateRegistryCounters'](_0x5e9dbc[_0x6e297(0x156)],_0x6e297(0x162),_0x3ad2b9,_0x5d59af),this['activeHistoryIds'][_0x6e297(0x13f)](_0x5e9dbc['id']);}const _0xd2018c=getComponentEngine();if(_0xd2018c&&typeof _0xd2018c['executeEventHandlers']===_0x198786[_0x6e297(0xcb)]){const _0x214a81={'jobId':_0x5e9dbc['id'],'jobName':_0x5e9dbc[_0x6e297(0x156)],'result':_0x231aa1,'config':this[_0x6e297(0x97)][_0x5e9dbc['name']]||{}};_0xd2018c['executeEventHandlers'](_0x198786['XGAKS'],_0x214a81,![])[_0x6e297(0xf3)](_0x147b03=>{const _0x21f3ee=_0x6e297;_0x23422f['warn']({'event':_0x21f3ee(0x1aa),'error':_0x147b03['message']},_0x198786['BFgIc']);});}const _0x469427=this['getKafkaService']();if(_0x469427)try{await _0x469427['publishEvent']('restforge.jobs.completed','JOB_COMPLETED',null,{'jobId':_0x5e9dbc['id'],'name':_0x5e9dbc['name'],'result':_0x231aa1},{'module':'job-scheduler','endpoint':_0x5e9dbc['name']});}catch(_0x2b49b3){_0x23422f['warn']({'event':_0x198786['zwXta'],'error':_0x2b49b3[_0x6e297(0x194)]},_0x198786[_0x6e297(0x15f)]);}}async['onJobFailed'](_0x568aca,_0x18f37d){const _0xe0ba71=a0_0x52d112,_0x1a437c={'lbVDP':'after_job_failed_hook_error','hQkHX':_0xe0ba71(0x1b3),'ZTuxR':function(_0xeddacc,_0x36e7de){return _0xeddacc<_0x36e7de;},'vroyb':function(_0x1ea52a,_0x45a8de){return _0x1ea52a-_0x45a8de;},'TGocf':function(_0x102fa9){return _0x102fa9();},'bNEgI':function(_0x5b89ac,_0x44c799){return _0x5b89ac===_0x44c799;},'vgphL':'JOB_FAILED','PuDtu':_0xe0ba71(0x157),'uoJwM':_0xe0ba71(0x102)},_0xa5883e=logger['child']({'jobId':_0x568aca['id'],'jobName':_0x568aca['name']});_0xa5883e['error']({'event':_0x1a437c[_0xe0ba71(0x172)],'attemptsMade':_0x568aca['attemptsMade'],'failedReason':_0x18f37d?.[_0xe0ba71(0x194)],'willRetry':_0x1a437c[_0xe0ba71(0x173)](_0x568aca[_0xe0ba71(0xbb)],this['jobConfigs'][_0x568aca['name']]?.['retry']?.[_0xe0ba71(0x18e)]||0x3)},_0xe0ba71(0x120)+_0x568aca[_0xe0ba71(0x156)]+_0xe0ba71(0x116)+_0x18f37d?.[_0xe0ba71(0x194)]);const _0xde73a=this[_0xe0ba71(0x9f)][_0xe0ba71(0xdb)](_0x568aca['id']);if(_0xde73a){if(_0xde73a['insertPromise'])await _0xde73a[_0xe0ba71(0x192)];const _0x1989ca=_0x568aca['finishedOn']&&_0x568aca[_0xe0ba71(0x177)]?_0x1a437c[_0xe0ba71(0x86)](_0x568aca['finishedOn'],_0x568aca['processedOn']):null;await this[_0xe0ba71(0x17e)](_0xde73a['historyId'],_0x1989ca,_0x568aca[_0xe0ba71(0x141)],_0x18f37d?.['message'],_0x18f37d?.['stack']);const _0x1316d8=await this[_0xe0ba71(0x1b2)](_0x568aca['name']);await this[_0xe0ba71(0x16a)](_0x568aca['name'],'failed',_0x1989ca,_0x1316d8),this[_0xe0ba71(0x9f)]['delete'](_0x568aca['id']);}const _0x365eb4=_0x1a437c[_0xe0ba71(0x187)](getComponentEngine);if(_0x365eb4&&_0x1a437c['bNEgI'](typeof _0x365eb4[_0xe0ba71(0xc9)],_0xe0ba71(0xc2))){const _0x3c0257={'jobId':_0x568aca['id'],'jobName':_0x568aca[_0xe0ba71(0x156)],'error':_0x18f37d?.['message'],'attemptsMade':_0x568aca['attemptsMade'],'config':this[_0xe0ba71(0x97)][_0x568aca['name']]||{}};_0x365eb4[_0xe0ba71(0xc9)]('onAfterJobFailed',_0x3c0257,![])[_0xe0ba71(0xf3)](_0x2b1564=>{const _0x5cf5a0=_0xe0ba71;_0xa5883e['warn']({'event':_0x1a437c[_0x5cf5a0(0xd5)],'error':_0x2b1564['message']},_0x5cf5a0(0x113));});}const _0x4503f7=this[_0xe0ba71(0x9e)]();if(_0x4503f7)try{await _0x4503f7[_0xe0ba71(0x17c)](_0xe0ba71(0x8d),_0x1a437c[_0xe0ba71(0x8f)],null,{'jobId':_0x568aca['id'],'name':_0x568aca['name'],'error':_0x18f37d?.[_0xe0ba71(0x194)],'attemptsMade':_0x568aca[_0xe0ba71(0xbb)]},{'module':'job-scheduler','endpoint':_0x568aca['name']});}catch(_0x1eed27){_0xa5883e['warn']({'event':_0x1a437c['PuDtu'],'error':_0x1eed27[_0xe0ba71(0x194)]},_0x1a437c['uoJwM']);}}[a0_0x52d112(0xef)](_0xc4a468,_0x2d9dfb){const _0x57da4f=a0_0x52d112,_0x4a0780={'MRklC':_0x57da4f(0x100)};logger[_0x57da4f(0xf4)]({'event':_0x4a0780['MRklC'],'jobId':_0xc4a468['id'],'jobName':_0xc4a468[_0x57da4f(0x156)],'progress':_0x2d9dfb},_0x57da4f(0xad)+_0xc4a468[_0x57da4f(0x156)]+'\x20—\x20'+_0x2d9dfb+'%');}}module['exports']=new JobManager();
|
|
1
|
+
const a0_0x41c21b=a0_0x592e;(function(_0x726184,_0xb66513){const _0x18ae78=a0_0x592e,_0x3c9d34=_0x726184();while(!![]){try{const _0x4db355=-parseInt(_0x18ae78(0x2f6))/0x1+parseInt(_0x18ae78(0x2b1))/0x2+parseInt(_0x18ae78(0x2f3))/0x3*(parseInt(_0x18ae78(0x235))/0x4)+parseInt(_0x18ae78(0x281))/0x5+-parseInt(_0x18ae78(0x276))/0x6*(-parseInt(_0x18ae78(0x2d4))/0x7)+parseInt(_0x18ae78(0x277))/0x8+-parseInt(_0x18ae78(0x336))/0x9;if(_0x4db355===_0xb66513)break;else _0x3c9d34['push'](_0x3c9d34['shift']());}catch(_0x5b2023){_0x3c9d34['push'](_0x3c9d34['shift']());}}}(a0_0x5e0b,0xd7626));const {Queue,Worker}=require('bullmq'),Redis=require(a0_0x41c21b(0x2c3)),crypto=require('crypto'),{v7:uuidv7}=require('uuid'),fs=require('fs'),path=require(a0_0x41c21b(0x213)),{logger}=require(a0_0x41c21b(0x222)),jobValidator=require(a0_0x41c21b(0x246));function a0_0x5e0b(){const _0x33faf2=['zKDmEfa','zgvIDwC','AKHMD2O','zgvSyxLLza','sM9Iig1VBML0B3jPBMCGDgfIBgvZigvUC3vYzwqGka','mYbcDwXStveGuxvLDwvZignYzwf0zwqGkgHPz2GSigrLzMf1BhqSigXVDYK','C3fSlxnJCMLWDhm','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNC3vJy2vZCYCSignVBxbSzxrLzf9HDca9ie5pvYGPlaOGicaGicaGicaGigr1CMf0Aw9Ux21Zid0GjdeSihbYB2DYzxnZid0GmtaWlcbYzxn1BhrFC3vTBwfYEsa9icqYifDirvjfigLKid0Gjdm','mtaZntGWneLvzMforq','AwfnDvq','txLtuuWGreiGBw9KDwXLig5VDcbHDMfPBgfIBgu','y2HPBgq','sM9Iie1HBMfNzxiGCMvHzhK6ia','uMvKAxmGy29UBMvJDgLVBIbMywLSzwq6ia','rMfPBgvKihrVihvWzgf0zsbQB2iGAgLZDg9YEsaOzMfPBgvKktOG','Dhj1zq','z2v0sM9Iu2nOzwr1BgvYCW','sM9IigrPC3bHDgnOzwq6ia','lI4VlI4VC2vYDMLJzxmVA2fMA2ftzxj2AwnL','D2fYBG','te1hrNq','qNLbu0u','B25bzNrLCKPVyKnVBxbSzxrLigHHBMrSzxiGzxjYB3iGkg5VBI1IBg9JA2LUzYK','zMLUza','sM9Iihn0ywXSzwq6ia','BMv4Da','Aw9YzwrPCW','AgLNAa','rMfPBgvKihrVihjLz2LZDgvYigPVyJOG','zNvUy3rPB24','AM9Ix3jLz2LZDhj5x2nVDw50zxjFzxjYB3i','sK9cx0zbsuXfrf9srvrftLrjt05Fse9vuLm','DMzmCwy','ChjVy2vZC2vKt24','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa/lcbSyxn0x2r1CMf0Aw9Ux21Zid0GpYWkicaGicaGicaGica','rMfPBgvKihrVihvWzgf0zsbQB2iGCMvNAxn0CNKGy291BNrLCNm6ia','qunnwfm','Aw5JBhvKzxm','uKvesvnFueftu1DpuKq','zMfPBgvK','rKj4zhu','igPVyIbJB25MAwCOCYKGzNjVBsbWyxLSB2fKl2PVyNmV','zKDKEeG','mta0m2rnuwrXsq','AM9Ix2nVBMzPz19PBNzHBgLK','q3jVBIbYzwDPC3rLCMvKoIa','y29UBMvJDgLVBNm','yNvSBg1XsM9Iswq','C0LMCxq','AM9ItMfTzq','AgfUzgXLCNm','DMfSAwq','yxbPlwrLBgf5zwq','uNzSDfK','zxHLy3v0zvf1zxj5','Cw9jyxy','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa6msWGBgfZDf9KDxjHDgLVBL9TCYa9idOYlaOGicaGicaGicaGia','AM9Ix3jLz2LZDhj5x29MzMXPBMvFzxjYB3i','reXnuw0','BxLZCwW','y3jLyxrLza','teDKsw4','sK9cx0zbsuXfra','ChjVy2vZC0PVyG','vLLQsva','Dg90ywXFzMfPBgvK','sxjxEhu','z2v0tMv4Dfj1BKzYB21cDwXStve','yKj0rhu','sM9IihrPzgfRigrPDgvTDwTHBJOG','B2zMBgLUzq','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNzMfPBgvKjYWGy29TCgXLDgvKx2f0id0GtK9xkcKScIaGicaGicaGicaGzhvYyxrPB25FBxmGpsa/lcbWCM9NCMvZCYa9id8SigvYCM9Yx21LC3nHz2uGpsa/lcbLCNjVCL9ZDgfJAYa9id8Gv0HfuKuGAwqGpsa/','z2v0rgjuExbL','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGC3rHDhvZid0Gj29MzMXPBMuNlcbUzxH0x3j1BL9HDca9ie5vteWSihvWzgf0zwrFyxqGpsbtwvnusu1fu1rbtva','mtiZmZnQCNvZqMi','CxvLDwu','zgLZCgf0y2HezwXHEwvK','mty4ndeYzKzst0jt','A0f5vgi','rhfTzvC','yNvSBg1Xx3jLzgLZx2vYCM9Y','CwjOsgy','u3riyum','C3rYAw5NAwz5','AM9PBG','BM1gtLq','lI4VlI4VDxrPBhmVzgiTBxLZCwW','q0ndwLK','Aw5PDgLHBgL6zwq','EvvWuwe','AM9Ix3n0ywXSzwq','BwvrAMq','z2v0sw5ZDgfUy2u','rMfPBgvKihrVihb1yMXPC2GGsK9cx0nptvbmrvrfrcb0BYblywzRyq','rufRqM4','C1LlwKm','CgfYC2u','BgvUz3rO','uMjQtwq','sM9Iia','CvHpAxy','oMPVyG','BwfUDwfS','BM93','Cgf1C2u','qNvSBe1rifjLzgLZignVBM5Ly3rPB24GDMvYAwzPzwq','zxHWB3j0CW','ChjVz3jLC3m','Du1Jy3m','B25kB2jgywLSzwq','Bwf4qxr0zw1WDhm','z2v0rgjvDgLSCW','rMzuDem','DMfSDwvZ','zxHLy3v0zuv2zw50sgfUzgXLCNm','mYbcDwXStveGv29YA2vYCYbJCMvHDgvKicHJB25JDxjYzw5JEtOG','Du9ewhi','ue1VELa','C2nOzwr1Bgu','wNznEg8','twX3ExG','DhjPBq','ywXS','rMfPBgvKihrVihbHCNnLigPVyIbJB25MAwC6ia','ChvZAa','vxnfBKG','C3LZDgvT','lI4VlI4VDxrPBhmVzgi','rM9SzgvYihbHEwXVywqVAM9ICY8GDgLKywSGzgL0zw11A2fU','BgLZDePVyNm','B25kB2jdB21WBgv0zwq','zgvZy3jPChrPB24','q1H2zxy','sxnIz2y','yvjfuLG','sK9cx1nivvret1Dox1rjtuvpvvq','EMHOuue','sxPpzg0','zgvSzxrL','AM9IlxnJAgvKDwXLCG','vhbKtwC','mtC2nZG2mtLxuvLnz2G','y29TCgXLDgvK','BxmPlI4U','Bg9JywXOB3n0','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsa6msWGBgfZDf9YDw5FyxqGpsbtwvnusu1fu1rbtvaScIaGicaGicaGicaGDxbKyxrLzf9HDca9ifnzu1rjtuvtvefnucbxsevsrsbQB2jFBMfTzsa9idOY','DNHlBu8','q0DVDhC','v1L1s1G','AM9Ix2rIx3vUyxzHAwXHyMXL','ywn0AxzLsgLZDg9YEuLKCW','zxHWB25LBNrPywW','B1rVEgS','z2v0u3rHDgu','zw5ZDxjLvgfIBgvZ','Dg9mB3DLCKnHC2u','vLbMsw8','Bw92zvrVrMfPBgvK','zxHuu0m','rejFvfLqrq','AxnsDw5UAw5N','ihrPzgfRigjPC2eGzgKTy2fUy2vSicHZDgf0ztOG','icSGmsWkicaGicaGicaGicbUzxH0x3j1BL9HDca9idOZlcb1CgrHDgvKx2f0id0Gu1LtveLnrvnuqu1qifDirvjfigPVyL9Uyw1Lid0GoJq','vuHpChm','DhjPz2DLCMvKqNK','sM9IignHBMnLBgXLzcbIEsbVBKjLzM9YzuPVyKv4zwn1Dgu6ia','AwHwtue','DxbKyxrLsM9IsgLZDg9YEunVBxbSzxrLza','yxbPlwnHBMnLBa','DgLTzw91Da','B3jHy2XL','C3vJy2vZCW','BwLU','DxrMoa','zw50CMLLCW','zgLZCgf0y2G','AM9Ix21HBMfNzxjFC2H1DgrVD25FC3rHCNq','AM9Ix21HBMfNzxjFywXYzwfKEv9PBML0AwfSAxPLza','qur1qva','ANrpAKm','AgfUzgXLCG','lIbkB2iGu2nOzwr1BgvYihrPzgfRigfRyw4GywT0AwyU','BwzWtxy','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','zgvMyxvSDa','zMLUAxnOzwrpBG','BwvZC2fNzq','sM9Iie1HBMfNzxiGC2H1DhrPBMCGzg93BIaODgLTzw91DdOG','Cgf0Aa','zg1zuMi','r3Hizu0','CgLK','z2v0ug9VBa','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsaKmsWGBgfZDf9YDw5FyxqGpsbot1COksWkicaGicaGicaGicb1CgrHDgvKx2f0id0GtK9xkcKGv0HfuKuGAM9Ix25HBwuGpsaKmG','sK9cx0vwru5u','z2v0sgvHBhrOu3rHDhvZ','zgjFB3jHy2XLx3vUyxzHAwXHyMXL','D2fPDgLUzW','tezNvwG','CxvLDwvZ','y3jVBG','lI4VlI4VDxrPBhmVzgiTB3jHy2XL','Dw5RBM93BG','lI4VlI4VDxrPBhmVBg9Nz2vY','CxvPDa','BxmPoIa','su5trvjuieLove8GAM9Ix2HPC3rVCNKkicaGicaGicaGicaOAwqSigPVyL9Uyw1LlcbIDwXSBxfFAM9Ix2LKlcb0CMLNz2vYx3r5CguSihrYAwDNzxjLzf9IEsWGC3rHDhvZlaOGicaGicaGicaGicbXDwv1zsWGyxr0zw1WDcWGy29UzMLNx2zPBguSihn0yxj0zwrFyxqSihDVCMTLCL9WAwqSignYzwf0zwrFyxqPcIaGicaGicaGicaGvKfmvuvticG6msWGoJiSidOZlca6ncWGoJuSicDYDw5UAw5NjYWGoJySidO3lca6ocWGu1LtveLnrvnuqu1qlca6osWGu1LtveLnrvnuqu1qkq','AMrmsMS','ywn0AxzL','AM9ICW','Du1fzvi','BwfW','y3DK','C2v0qwXSsM9IC09MzMXPBMu','BgLZDfj1BM5PBMC','y3jVBL9YzwDPC3rLCMvK','EwvKyvi','CMvZDgzVCMDLlMPVyNmUy29TCgXLDgvK','icHPzdOG','vxD5qu8','z2v0sM9ICW','BMfTzq','mteWohDHyKnZAG','Cgf5Bg9Hza','icHHDhrLBxb0ia','y29TCg9Uzw50rw5NAw5L','AxnqyxvZzwq','Aw5PDgLHBerLBgf5','CMvHzgrPCLn5BMm','rMfPBgvKihrVihvWzgf0zsbQB2iGAgLZDg9YEsaOy29TCgXLDgvKktOG','iokaLca','sM9IigrPC3bHDgnOzwqGkgrLBgf5zwqG','y2f0y2G','qNzmtvO','A1ftBuK','sfLmA20','Evfowwu','yxr0zw1WDhnnywrL','quncuLK','lI9QB2iTDMfSAwrHDg9Y','DgrLrM4','AM9Ix21HBMfNzxjFCMvHzhK','zxjYB3i','DxbZzxj0sM9Iu2nOzwr1BgvY','ihjLBw92zwqGkhDHCYa','C3rHBgXLza','sM9IihbYB2DYzxnZoIa','sM9IigHHBMrSzxiGy29TCgXLDgvKoIa','B25bzNrLCKPVyKzHAwXLzcbOyw5KBgvYigvYCM9YicHUB24TyMXVy2TPBMCP','ywz0zxjFAM9Ix2nVBxbSzxrLx2HVB2TFzxjYB3i','ktOG','rMfPBgvKihrVigvUC3vYzsbQB2iGDgfIBgvZoIa','zgjFBxLZCwXFDw5HDMfPBgfIBgu','CwvctvC','zxHPC3rZu3LUyW','B25bzNrLCKPVyKzHAwXLza','AM9Ix2nVBMzPz19WyxjZzv9LCNjVCG','z2v0s2fMA2ftzxj2AwnL','AM9Ix2nVBxbSzxrLza','vezQu1O','ywXYzwfKEsbLEgLZDhm','wun5vxK','CgfNzq','z2v0','wffAvfq','tezRwuS','zw52','DxbKyxrLsM9IsgLZDg9YEuzHAwXLza','qKHVBeO','rMz0s2q','C2H1DgrVD24','uKvesvnFse9tva','y2XVC2u','zhvWBgLJyxrL','CMv0CNK','zvPdwwW','B25czwzVCMvkB2jfEgvJDxrL','rejFvfLqrsaN','jYb0AwrHAYbKAwr1A3vUzYb1BNr1AYbQB2iGBw9UAxrVCMLUzYb0ywjSzxm','C3bSAxrtCwXtDgf0zw1LBNrZ','rMfPBgvKihrVigLUC2vYDcbQB2iGAgLZDg9YEtOG','CMvHzezPBgvtEw5J','wfPRww8','zxjYB3jZ','vvbeqvrfigPVyL9OAxn0B3j5ifnfvcbZDgf0DxmGpsaNC3vJy2vZCYCSignVBxbSzxrLzf9HDca9ie5pvYGPlaOGicaGicaGicaGigr1CMf0Aw9Ux21Zid0GpYWGChjVz3jLC3mGpsaXmdaSihjLC3vSDf9ZDw1Tyxj5id0GpYbxsevsrsbPzca9id8','CgLUzW','CMv0DxjUDMfSDwu','ndiWnZHjtePOCxa','nJe4mJGWzLjHALnw','A2v5CW','zxHLy3v0zvrYyw5Zywn0Aw9U','qwvSDM0','CenWq0G','AM9Ix2vUC3vYzv90ywjSzxnFD2fYBG','B25kB2jqCM9NCMvZCW','vMHLC28','B3nQy1u','zMLSDgvY','mte4mdiZmgTlu29WyW','DgLTzxn0yw1W','EKfMwNq','yMfJA29MzG','D29YA2LUz0rPCG','sgfUzgXLCIb0AwrHAYbKAxrLBxvRyw4GDw50DwSGAM9IoIa','C3vIC3rYAw5N','Aw5MBW','id0G','C3bSAxq','CMvNAxn0zxjkB2i','x3nVDxjJzuzPBgu','Cg9ZDgDYzxnXBc5ZCwW','vvbeqvrfigPVyL9YzwDPC3rYEsbtrvqGBgfZDf9ZDgf0DxmGpsaKmsWGBgfZDf9KDxjHDgLVBL9TCYa9icqYlaOGicaGicaGicaGia','y2fUy2vSsM9I','z2v0q2fJAgvnyw5Hz2vY','y3jLyxrLqNvSBe1rq29UBMvJDgLVBG','BwLNzuS','D29YA2vYCW','Eg5UyMO','ChvIBgLZAev2zw50','Aw5PDgLHBgL6zq','Cg9ZDgDYzxnXBa','CMy6','DgLTzxn0yw1WCW','rNDdtwG','qNvSBe1rifjLzgLZignVBM5Ly3rPB24GzxjYB3i6ia','DxbKyxrLuhjVz3jLC3m','wxzeBe8','zLburNu','AM9Ix2rPC3bHDgnOzwrFzgvSyxLLza','AM9Ix3DVCMTLCNnFy3jLyxrLza','zgf0yq','AM9Ix2HPC3rVCNLFzMfPBgvKx2vYCM9Y','Bg9HzePVyKnVBMzPz3m','z2v0sM9Iq291BNrZ','DxbKyxrLuMvNAxn0CNLdB3vUDgvYCW','s0vttxK','yxbP','AM9Iq29UzMLNCW'];a0_0x5e0b=function(){return _0x33faf2;};return a0_0x5e0b();}let componentEngine=null;function a0_0x592e(_0x2ce35e,_0x3b1718){_0x2ce35e=_0x2ce35e-0x1e7;const _0x5e0bfb=a0_0x5e0b();let _0x592e31=_0x5e0bfb[_0x2ce35e];if(a0_0x592e['cIWufA']===undefined){var _0x4184f1=function(_0x4ea78e){const _0x1cb60b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2e7a07='',_0x3bd0bb='';for(let _0x5dc0ba=0x0,_0x1215db,_0x4f84e1,_0xe97f22=0x0;_0x4f84e1=_0x4ea78e['charAt'](_0xe97f22++);~_0x4f84e1&&(_0x1215db=_0x5dc0ba%0x4?_0x1215db*0x40+_0x4f84e1:_0x4f84e1,_0x5dc0ba++%0x4)?_0x2e7a07+=String['fromCharCode'](0xff&_0x1215db>>(-0x2*_0x5dc0ba&0x6)):0x0){_0x4f84e1=_0x1cb60b['indexOf'](_0x4f84e1);}for(let _0x54124b=0x0,_0x1cca58=_0x2e7a07['length'];_0x54124b<_0x1cca58;_0x54124b++){_0x3bd0bb+='%'+('00'+_0x2e7a07['charCodeAt'](_0x54124b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3bd0bb);};a0_0x592e['moBIGC']=_0x4184f1,a0_0x592e['JdLxTa']={},a0_0x592e['cIWufA']=!![];}const _0x46e40e=_0x5e0bfb[0x0],_0x39c5c3=_0x2ce35e+_0x46e40e,_0x4c5d52=a0_0x592e['JdLxTa'][_0x39c5c3];return!_0x4c5d52?(_0x592e31=a0_0x592e['moBIGC'](_0x592e31),a0_0x592e['JdLxTa'][_0x39c5c3]=_0x592e31):_0x592e31=_0x4c5d52,_0x592e31;}function getComponentEngine(){const _0x29272d=a0_0x41c21b,_0x4e99ce={'pCBbz':function(_0xc75ac2,_0x1ab6ae){return _0xc75ac2(_0x1ab6ae);},'XZkYo':'../../utils/component-engine'};if(!componentEngine)try{const _0x4fc837=_0x4e99ce['pCBbz'](require,_0x4e99ce[_0x29272d(0x271)]);componentEngine=_0x4fc837[_0x29272d(0x238)]||_0x4fc837;}catch(_0x4c3e50){}return componentEngine;}class JobManager{constructor(){const _0x30b2e2=a0_0x41c21b,_0x39f89d={'vfLqf':'2|0|7|1|6|4|5|3'},_0x538c85=_0x39f89d[_0x30b2e2(0x2c9)][_0x30b2e2(0x28a)]('|');let _0xecd940=0x0;while(!![]){switch(_0x538c85[_0xecd940++]){case'0':this[_0x30b2e2(0x293)]={};continue;case'1':this['handlers']={};continue;case'2':this['queues']={};continue;case'3':this['activeHistoryIds']=new Map();continue;case'4':this[_0x30b2e2(0x301)]=![];continue;case'5':this['workingDir']=process[_0x30b2e2(0x22b)]();continue;case'6':this['connections']=[];continue;case'7':this['jobConfigs']={};continue;}break;}}['createBullMQConnection'](){const _0x5cccff=a0_0x41c21b,_0x14f79b={'yVPUm':_0x5cccff(0x2f9),'AIptC':_0x5cccff(0x1e7),'zWYDA':_0x5cccff(0x249)},_0x5c7a76=new Redis({'host':process[_0x5cccff(0x261)][_0x5cccff(0x266)]||_0x14f79b['AIptC'],'port':parseInt(process[_0x5cccff(0x261)]['REDIS_PORT'],0xa)||0x18ec,'password':process[_0x5cccff(0x261)][_0x5cccff(0x2cf)]||undefined,'db':parseInt(process['env']['REDIS_DB'],0xa)||0x0,'maxRetriesPerRequest':null,'retryStrategy'(_0x55b0a7){const _0x57569b=_0x5cccff,_0x2d8325=Math[_0x57569b(0x203)](_0x55b0a7*0x32,0x7d0);return _0x2d8325;}});return _0x5c7a76['on'](_0x14f79b['zWYDA'],_0x251a3f=>{const _0x5c0e7b=_0x5cccff;logger['error']({'event':_0x14f79b['yVPUm'],'error':_0x251a3f[_0x5c0e7b(0x211)]},_0x5c0e7b(0x29b)+_0x251a3f[_0x5c0e7b(0x211)]);}),this[_0x5cccff(0x2d7)]['push'](_0x5c7a76),_0x5c7a76;}async[a0_0x41c21b(0x296)](){const _0x4119f3=a0_0x41c21b,_0x3616d1={'BvLMZ':'Job\x20Manager\x20sudah\x20diinisialisasi,\x20skip','yedaR':_0x4119f3(0x312),'osjcU':'job_ensure_tables_error','nuMGl':'job_no_configs','VPfIo':'Tidak\x20ada\x20job\x20config\x20ditemukan\x20di\x20payload/jobs/.\x20Job\x20Manager\x20aktif\x20tanpa\x20cron.','zhhQA':_0x4119f3(0x221),'ZvMxo':function(_0x2bcfbf,_0x3f799a,_0x37239d){return _0x2bcfbf(_0x3f799a,_0x37239d);},'EAkBn':function(_0x5b0ab0,_0x5a17ab){return _0x5b0ab0*_0x5a17ab;},'DqmeW':_0x4119f3(0x2c4),'WAjYq':'low','MpvIT':function(_0x509ec7,_0x23b35f,_0x45bd6e){return _0x509ec7(_0x23b35f,_0x45bd6e);},'XbgTG':function(_0xbbee3c,_0x463ae5,_0x487943){return _0xbbee3c(_0x463ae5,_0x487943);},'ADuAP':'completed','fGLxP':_0x4119f3(0x2d0),'WClhc':_0x4119f3(0x314),'uMccs':'error','mfhXv':'job_register_failed'};if(this['initialized']){logger[_0x4119f3(0x2bc)]({'event':_0x4119f3(0x208)},_0x3616d1[_0x4119f3(0x240)]);return;}logger['info']({'event':'job_manager_init_start'},'Initializing\x20Job\x20Manager...');const _0x238b87=this[_0x4119f3(0x291)]();try{await _0x238b87[_0x4119f3(0x274)](),logger['info']({'event':'job_redis_connected'},_0x3616d1[_0x4119f3(0x22f)]);}catch(_0x2cb0f2){logger[_0x4119f3(0x249)]({'event':'job_redis_failed','error':_0x2cb0f2[_0x4119f3(0x211)]},_0x4119f3(0x2b6)+_0x2cb0f2[_0x4119f3(0x211)]+_0x4119f3(0x20c));try{await _0x238b87['quit']();}catch(_0x2e7266){}this['connections']=this[_0x4119f3(0x2d7)]['filter'](_0x2f1b92=>_0x2f1b92!==_0x238b87);return;}try{await _0x238b87['quit']();}catch(_0xa420d2){}this[_0x4119f3(0x2d7)]=this['connections'][_0x4119f3(0x280)](_0x259e05=>_0x259e05!==_0x238b87);try{await this[_0x4119f3(0x1f1)]();}catch(_0x3ce189){logger[_0x4119f3(0x2bc)]({'event':_0x3616d1[_0x4119f3(0x27f)],'error':_0x3ce189[_0x4119f3(0x211)]},_0x4119f3(0x252)+_0x3ce189[_0x4119f3(0x211)]+'.\x20DB\x20monitoring\x20disabled.');}const _0x2d5804=this['loadJobConfigs']();_0x2d5804[_0x4119f3(0x30a)]===0x0&&logger[_0x4119f3(0x288)]({'event':_0x3616d1['nuMGl']},_0x3616d1[_0x4119f3(0x1f3)]);const _0x66e655=[];for(const _0x420483 of _0x2d5804){const _0x4ed1d1=jobValidator['validateConfig'](_0x420483,this[_0x4119f3(0x285)]);_0x4ed1d1[_0x4119f3(0x2dc)]?_0x66e655['push'](_0x420483):logger[_0x4119f3(0x249)]({'event':_0x4119f3(0x2d5),'name':_0x420483['name']||_0x3616d1[_0x4119f3(0x331)],'errors':_0x4ed1d1[_0x4119f3(0x272)]},'Job\x20config\x20invalid:\x20'+(_0x420483['name']||_0x4119f3(0x221))+_0x4119f3(0x23d)+_0x4ed1d1[_0x4119f3(0x272)]['join'](';\x20'));}const _0xcf6e01=process['env']['RESTFORGE_PROJECT_NAME']||'default',_0x553fbb=process['env']['JOB_REDIS_PREFIX']||_0x4119f3(0x298)+_0xcf6e01+_0x4119f3(0x30e),_0x10f73c=_0x3616d1['ZvMxo'](parseInt,process[_0x4119f3(0x261)]['JOB_RETENTION_HOURS'],0xa)||0x48,_0x5e79a7=_0x3616d1[_0x4119f3(0x320)](parseInt,process['env'][_0x4119f3(0x2c8)],0xa)||0xa8,_0x459b71={'removeOnComplete':{'age':_0x3616d1[_0x4119f3(0x307)](_0x10f73c,0xe10)},'removeOnFail':{'age':_0x5e79a7*0xe10}},_0x214f76={'high-priority':_0x3616d1[_0x4119f3(0x2f8)],'default':'default','low-priority':_0x3616d1['WAjYq']};for(const [_0x5007b4,_0x218603]of Object['entries'](_0x214f76)){this[_0x4119f3(0x21e)][_0x5007b4]=new Queue(_0x218603,{'connection':this['createBullMQConnection'](),'prefix':_0x553fbb,'defaultJobOptions':_0x459b71});}logger[_0x4119f3(0x288)]({'event':'job_queues_created','count':0x3},_0x4119f3(0x2ae));const _0x423831=_0x3616d1[_0x4119f3(0x320)](parseInt,process['env']['JOB_CONCURRENCY'],0xa)||0x5,_0x2ccffa=_0x3616d1['MpvIT'](parseInt,process['env']['JOB_STALLED_INTERVAL'],0xa)||0x7530,_0x50034c=_0x3616d1['XbgTG'](parseInt,process[_0x4119f3(0x261)]['JOB_MAX_STALLED_COUNT'],0xa)||0x2;for(const [_0x585d0e,_0x409f78]of Object['entries'](_0x214f76)){const _0x27e2a6=new Worker(_0x409f78,async _0x3b340d=>this['processJob'](_0x3b340d),{'connection':this['createBullMQConnection'](),'prefix':_0x553fbb,'concurrency':_0x423831,'stalledInterval':_0x2ccffa,'maxStalledCount':_0x50034c});_0x27e2a6['on'](_0x3616d1[_0x4119f3(0x209)],(_0xaa53a5,_0x206a03)=>this[_0x4119f3(0x32b)](_0xaa53a5,_0x206a03)),_0x27e2a6['on'](_0x3616d1[_0x4119f3(0x2a9)],(_0x452397,_0x2b297d)=>this[_0x4119f3(0x316)](_0x452397,_0x2b297d)),_0x27e2a6['on'](_0x3616d1['WClhc'],(_0x74071f,_0x452e78)=>this[_0x4119f3(0x27d)](_0x74071f,_0x452e78)),_0x27e2a6['on'](_0x4119f3(0x24c),_0x2f1967=>{const _0xfe9dd8=_0x4119f3;logger['warn']({'event':_0xfe9dd8(0x303),'jobId':_0x2f1967},_0xfe9dd8(0x2c1)+_0x2f1967);}),_0x27e2a6['on'](_0x3616d1[_0x4119f3(0x315)],_0x4c5243=>{const _0x4ec387=_0x4119f3;logger['error']({'event':'bullmq_worker_error','queue':_0x585d0e,'error':_0x4c5243['message']},'BullMQ\x20Worker\x20error\x20('+_0x585d0e+_0x4ec387(0x251)+_0x4c5243[_0x4ec387(0x211)]);}),this[_0x4119f3(0x293)][_0x585d0e]=_0x27e2a6;}logger['info']({'event':_0x4119f3(0x2a0),'count':0x3,'concurrency':_0x423831},_0x4119f3(0x31c)+_0x423831+')');let _0x1c8eee=0x0;for(const _0xddf0f0 of _0x66e655){try{await this[_0x4119f3(0x28b)](_0xddf0f0),_0x1c8eee++;}catch(_0x43d9b1){logger['error']({'event':_0x3616d1['mfhXv'],'name':_0xddf0f0['name'],'error':_0x43d9b1[_0x4119f3(0x211)]},_0x4119f3(0x2c5)+_0xddf0f0['name']+'\x20—\x20'+_0x43d9b1['message']);}}this[_0x4119f3(0x301)]=!![];const _0x51da9b=this[_0x4119f3(0x2d7)][_0x4119f3(0x30a)];logger['info']({'event':_0x4119f3(0x248),'registeredJobs':_0x1c8eee,'totalConfigs':_0x66e655[_0x4119f3(0x30a)],'redisConnections':_0x51da9b},_0x4119f3(0x2b5)+_0x1c8eee+'\x20job(s)\x20registered,\x20'+_0x51da9b+'\x20Redis\x20connections');}async[a0_0x41c21b(0x265)](){const _0x3f3f86=a0_0x41c21b,_0x5d8449={'WYuKX':function(_0x152dd0,_0x2c8ccc,_0x56b9d8){return _0x152dd0(_0x2c8ccc,_0x56b9d8);},'iaMuT':_0x3f3f86(0x207),'ACBRY':function(_0x22175a,_0x518119){return _0x22175a<_0x518119;},'ZvQKu':function(_0x2c69a3,_0x528c3a){return _0x2c69a3===_0x528c3a;},'VqtvN':'Job\x20Manager\x20shutdown\x20complete'};if(!this[_0x3f3f86(0x301)])return;const _0x2f9b38=_0x5d8449[_0x3f3f86(0x1eb)](parseInt,process['env'][_0x3f3f86(0x330)],0xa)||0x2710;logger[_0x3f3f86(0x288)]({'event':_0x5d8449[_0x3f3f86(0x2b2)],'timeoutMs':_0x2f9b38},_0x3f3f86(0x212)+_0x2f9b38+_0x3f3f86(0x338));const _0x4dc683=Object['values'](this['workers'])[_0x3f3f86(0x22a)](async _0xfbdd67=>{const _0x46d330=_0x3f3f86;try{await _0xfbdd67[_0x46d330(0x311)]();}catch(_0x59838d){}});await Promise['all'](_0x4dc683);const _0x493828=Date[_0x3f3f86(0x310)]();while(_0x5d8449[_0x3f3f86(0x245)](Date[_0x3f3f86(0x310)]()-_0x493828,_0x2f9b38)){let _0x2ae597=0x0;for(const _0x3e8e02 of Object['values'](this['queues'])){try{const _0x3f8a02=await _0x3e8e02['getJobCounts'](_0x3f3f86(0x227));_0x2ae597+=_0x3f8a02['active']||0x0;}catch(_0x371aed){}}if(_0x5d8449['ZvQKu'](_0x2ae597,0x0))break;await new Promise(_0x3868e3=>setTimeout(_0x3868e3,0x1f4));}const _0xe4726=Object['values'](this['workers'])[_0x3f3f86(0x22a)](async _0x42607a=>{const _0x47c9dc=_0x3f3f86;try{await _0x42607a[_0x47c9dc(0x267)]();}catch(_0x106eb2){}});await Promise[_0x3f3f86(0x323)](_0xe4726);const _0x29effa=Object[_0x3f3f86(0x31a)](this['queues'])[_0x3f3f86(0x22a)](async _0x39d165=>{try{await _0x39d165['close']();}catch(_0x24d936){}});await Promise['all'](_0x29effa);for(const _0x57b3f6 of this[_0x3f3f86(0x2d7)]){try{await _0x57b3f6[_0x3f3f86(0x223)]();}catch(_0x38aa38){}}this['queues']={},this['workers']={},this['connections']=[],await this[_0x3f3f86(0x22c)](),this[_0x3f3f86(0x1ed)]['clear'](),this['initialized']=![],logger['info']({'event':'job_manager_shutdown_complete'},_0x5d8449['VqtvN']);}[a0_0x41c21b(0x2a3)](){const _0x40c171=a0_0x41c21b,_0x31de32={'TFjSZ':'job_config_dir_missing','VOBgM':_0x40c171(0x257),'oToxk':'job_configs_loaded'},_0x55552c=path[_0x40c171(0x2fd)](this[_0x40c171(0x285)],_0x40c171(0x236),'jobs');if(!fs['existsSync'](_0x55552c))return logger[_0x40c171(0x288)]({'event':_0x31de32[_0x40c171(0x25a)],'path':_0x55552c},_0x40c171(0x329)),[];const _0x2abbde=fs[_0x40c171(0x23b)](_0x55552c)[_0x40c171(0x280)](_0x28fc5b=>_0x28fc5b['endsWith']('.json')),_0x33046d=[];for(const _0x4f709c of _0x2abbde){const _0x3ef018=path[_0x40c171(0x2fd)](_0x55552c,_0x4f709c);try{const _0x363f0e=fs['readFileSync'](_0x3ef018,_0x40c171(0x204)),_0x263cdb=JSON[_0x40c171(0x309)](_0x363f0e);_0x263cdb['_sourceFile']=_0x4f709c,_0x33046d['push'](_0x263cdb);}catch(_0x3069ea){logger['error']({'event':_0x31de32['VOBgM'],'file':_0x4f709c,'error':_0x3069ea[_0x40c171(0x211)]},_0x40c171(0x324)+_0x4f709c+_0x40c171(0x23d)+_0x3069ea['message']);}}return logger['info']({'event':_0x31de32[_0x40c171(0x1ef)],'count':_0x33046d['length']},'Loaded\x20'+_0x33046d['length']+_0x40c171(0x2d2)),_0x33046d;}async['registerJob'](_0x29eed8){const _0x11256f=a0_0x41c21b,_0x36cf43={'sIfqt':function(_0x46ef8b,_0x4f7424){return _0x46ef8b!==_0x4f7424;},'XQZTT':'default','FfTtC':'cron','ihVMA':_0x11256f(0x1ee),'WdNhP':function(_0x5910df,_0x4c043b){return _0x5910df===_0x4c043b;},'YBPVA':function(_0x111724,_0x592402){return _0x111724===_0x592402;},'yBJrX':'online'},_0x2435ae=path[_0x11256f(0x2fd)](this[_0x11256f(0x285)],'src',_0x11256f(0x228),_0x29eed8['handler']+'.js');this[_0x11256f(0x2db)][_0x29eed8['name']]=require(_0x2435ae),this['jobConfigs'][_0x29eed8[_0x11256f(0x234)]]=_0x29eed8;if(_0x29eed8['type']==='cron'&&_0x36cf43['sIfqt'](_0x29eed8['enabled'],![])){const _0x399130=this['queues'][_0x29eed8['queue']||_0x36cf43[_0x11256f(0x25f)]];await _0x399130[_0x11256f(0x24a)](_0x29eed8[_0x11256f(0x234)],{'pattern':_0x29eed8['schedule'],'tz':_0x29eed8['timezone']||undefined},{'name':_0x29eed8[_0x11256f(0x234)],'data':{'handler':_0x29eed8['handler'],'triggeredBy':_0x36cf43[_0x11256f(0x319)],'metadata':_0x29eed8['metadata']||{}},'opts':{'attempts':_0x29eed8['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0x29eed8[_0x11256f(0x269)]?.[_0x11256f(0x284)]||_0x36cf43[_0x11256f(0x1fd)],'delay':_0x29eed8['retry']?.[_0x11256f(0x23a)]||0x1388},'timeout':_0x29eed8['timeout']||0x7530}}),logger[_0x11256f(0x288)]({'event':_0x11256f(0x22e),'name':_0x29eed8['name'],'schedule':_0x29eed8['schedule'],'queue':_0x29eed8['queue']||_0x36cf43[_0x11256f(0x25f)]},_0x11256f(0x2d6)+_0x29eed8['name']+'\x20['+_0x29eed8[_0x11256f(0x31f)]+']');}const _0x9ec54a=_0x36cf43['WdNhP'](_0x29eed8['type'],_0x36cf43[_0x11256f(0x319)])&&_0x36cf43[_0x11256f(0x2d9)](_0x29eed8['enabled'],![])?'online':_0x11256f(0x2ef);let _0x177ab9=null;_0x36cf43['YBPVA'](_0x9ec54a,_0x36cf43['yBJrX'])&&(_0x177ab9=await this['getNextRunFromBullMQ'](_0x29eed8['name'])),await this['upsertJobRegistry'](_0x29eed8,_0x9ec54a,_0x177ab9);}async[a0_0x41c21b(0x2e8)](_0x49e29c){const _0xd4116a=a0_0x41c21b,_0x3be1f1={'FftKd':'job_history_insert_bg_error','mfpMv':function(_0x63e02c,_0x481ed4){return _0x63e02c+_0x481ed4;},'vxKmO':function(_0x5e6608,_0x21a1ab){return _0x5e6608===_0x21a1ab;},'Aelvm':_0xd4116a(0x2dd),'CXvev':function(_0x53aea1,_0x44b309){return _0x53aea1===_0x44b309;},'BHolJ':_0xd4116a(0x2a7),'fGdxH':_0xd4116a(0x30f),'YCyUy':'cron','yQNYe':_0xd4116a(0x20f),'VXoPR':function(_0x2fc5e6,_0x270495){return _0x2fc5e6+_0x270495;},'tdeFn':function(_0x30fd4e){return _0x30fd4e();},'zAfZt':function(_0xb9d29e,_0x446bf3){return _0xb9d29e===_0x446bf3;},'ACMXS':_0xd4116a(0x2c6),'eOhuk':function(_0x5fd163,_0x26554e){return _0x5fd163(_0x26554e);},'RbjMd':'job_handler_done'},_0x33de58=this[_0xd4116a(0x2a8)][_0x49e29c[_0xd4116a(0x234)]],_0x1b2399=this['handlers'][_0x49e29c[_0xd4116a(0x234)]];if(!_0x1b2399)throw new Error(_0xd4116a(0x286)+_0x49e29c['name']);const _0x1242fe=logger['child']({'jobId':_0x49e29c['id'],'jobName':_0x49e29c[_0xd4116a(0x234)]});_0x1242fe['info']({'event':'job_started','attempt':_0x49e29c['attemptsMade']+0x1,'triggeredBy':_0x49e29c[_0xd4116a(0x2a1)]?.[_0xd4116a(0x1fb)]||_0xd4116a(0x221)},'Job\x20started:\x20'+_0x49e29c[_0xd4116a(0x234)]+_0xd4116a(0x237)+_0x3be1f1[_0xd4116a(0x20d)](_0x49e29c[_0xd4116a(0x244)],0x1)+')');const _0x288139=uuidv7(),_0x57297e=_0x49e29c['data']?.['triggeredBy']||'unknown',_0x3586a9=this['insertJobHistory']({'id':_0x288139,'jobName':_0x49e29c[_0xd4116a(0x234)],'bullmqJobId':_0x49e29c['id'],'triggerType':_0x3be1f1[_0xd4116a(0x1e9)](_0x57297e,_0x3be1f1[_0xd4116a(0x27a)])?'delayed':_0x3be1f1[_0xd4116a(0x32d)](_0x57297e,_0x3be1f1[_0xd4116a(0x263)])?_0x3be1f1[_0xd4116a(0x2d3)]:_0x3be1f1['YCyUy'],'triggeredBy':_0x57297e===_0x3be1f1[_0xd4116a(0x25c)]?'system':_0x57297e,'queue':_0x33de58?.['queue']||_0x3be1f1[_0xd4116a(0x243)],'attempt':_0x3be1f1['VXoPR'](_0x49e29c['attemptsMade'],0x1),'configFile':_0x33de58?.['_sourceFile']||null})['catch'](_0x377f7a=>{const _0x37d46e=_0xd4116a;_0x1242fe['warn']({'event':_0x3be1f1[_0x37d46e(0x264)],'error':_0x377f7a['message']},'Background\x20insert\x20job\x20history\x20failed:\x20'+_0x377f7a[_0x37d46e(0x211)]);});this[_0xd4116a(0x1ed)]['set'](_0x49e29c['id'],{'historyId':_0x288139,'insertPromise':_0x3586a9});const _0x11f667=this['buildContext'](_0x49e29c,_0x33de58,_0x1242fe),_0x379252=_0x3be1f1[_0xd4116a(0x247)](getComponentEngine);if(_0x379252&&_0x3be1f1[_0xd4116a(0x283)](typeof _0x379252['executeEventHandlers'],_0x3be1f1[_0xd4116a(0x2cd)])){const _0x250520=await _0x379252['executeEventHandlers'](_0xd4116a(0x26b),_0x11f667,!![]);if(!_0x250520[_0xd4116a(0x202)])throw new Error(_0xd4116a(0x1fc)+_0x250520['error']);}const _0x498da9=await _0x3be1f1['eOhuk'](_0x1b2399,_0x11f667);return _0x1242fe[_0xd4116a(0x288)]({'event':_0x3be1f1[_0xd4116a(0x30b)],'result':_0x498da9},_0xd4116a(0x24e)+_0x49e29c[_0xd4116a(0x234)]),_0x498da9;}['buildContext'](_0x50d57c,_0x5641d3,_0x4f3f6a){const _0x231fcf=a0_0x41c21b,_0x971eca={'LGdIn':_0x231fcf(0x219),'CGotw':'job-scheduler'};return{'jobId':_0x50d57c['id'],'jobName':_0x50d57c[_0x231fcf(0x234)],'attempt':_0x50d57c[_0x231fcf(0x244)]+0x1,'maxAttempts':_0x5641d3?.['retry']?.[_0x231fcf(0x317)]||0x3,'payload':_0x50d57c['data']||{},'config':_0x5641d3||{},'db':this['getDbUtils'](),'redis':this['getRedisClient'](),'logger':_0x4f3f6a,'kafka':this['getKafkaService'](),'cache':this[_0x231fcf(0x290)](),'updateProgress':async _0x6124bf=>{const _0x57c1c8=_0x231fcf;await _0x50d57c[_0x57c1c8(0x29c)](_0x6124bf);},'emit':async(_0x16a167,_0x296303)=>{const _0x56bf76=_0x231fcf,_0x1f359e=this[_0x56bf76(0x258)]();_0x1f359e&&await _0x1f359e[_0x56bf76(0x295)](_0x16a167,_0x971eca[_0x56bf76(0x2e6)],null,_0x296303,{'module':_0x971eca[_0x56bf76(0x1ea)],'endpoint':_0x50d57c[_0x56bf76(0x234)]});},'job':_0x50d57c};}['getDbType'](){const _0x5b1019=a0_0x41c21b,_0x337297={'IzOdm':_0x5b1019(0x297)};return(process[_0x5b1019(0x261)][_0x5b1019(0x1f6)]||_0x337297[_0x5b1019(0x332)])[_0x5b1019(0x1f2)]();}async[a0_0x41c21b(0x1f1)](){const _0x574135=a0_0x41c21b,_0x10d63f={'KtufJ':'Database\x20tidak\x20tersedia,\x20skip\x20auto-create\x20job\x20tables','zyAqE':_0x574135(0x28d),'uMcnd':'oracle.sql','dQYih':_0x574135(0x2af),'mtBVm':'utf8','jHfwj':_0x574135(0x25b)},_0x4abc47=this['getDbUtils']();if(!_0x4abc47){logger['warn']({'event':_0x574135(0x1ec)},_0x10d63f['KtufJ']);return;}const _0x5674fc=this['getDbType'](),_0x3a9e1e={'postgresql':_0x10d63f['zyAqE'],'oracle':_0x10d63f['uMcnd'],'mysql':'mysql.sql'},_0x4adca7=_0x3a9e1e[_0x5674fc];if(!_0x4adca7){logger[_0x574135(0x2bc)]({'event':'job_db_type_unsupported','dbType':_0x5674fc},_0x574135(0x26c)+_0x5674fc+_0x574135(0x26d));return;}const _0x3c9e2d=path['join'](__dirname,_0x10d63f['dQYih'],_0x4adca7);if(!fs[_0x574135(0x255)](_0x3c9e2d)){logger[_0x574135(0x2bc)]({'event':'job_sql_not_found','path':_0x3c9e2d},'SQL\x20script\x20tidak\x20ditemukan:\x20'+_0x3c9e2d);return;}const _0x62a33c=fs[_0x574135(0x270)](_0x3c9e2d,_0x10d63f['mtBVm']),_0x5c1656=this['splitSqlStatements'](_0x62a33c,_0x5674fc);let _0x2c6b97=0x0;for(const _0x428cca of _0x5c1656){try{await _0x4abc47[_0x574135(0x2df)](_0x428cca),_0x2c6b97++;}catch(_0x3a6989){const _0x26c703=(_0x3a6989['message']||'')[_0x574135(0x1f2)](),_0x27c6d3=_0x26c703['includes'](_0x10d63f[_0x574135(0x2ab)])||_0x26c703[_0x574135(0x2ce)]('ora-00955')||_0x26c703[_0x574135(0x2ce)](_0x574135(0x268));!_0x27c6d3&&logger[_0x574135(0x2bc)]({'event':_0x574135(0x27c),'error':_0x3a6989['message']},'Job\x20ensureTables\x20warning:\x20'+_0x3a6989[_0x574135(0x211)]);}}logger[_0x574135(0x288)]({'event':'job_tables_ensured','dbType':_0x5674fc,'executed':_0x2c6b97},_0x574135(0x2ad)+_0x5674fc+')');}[a0_0x41c21b(0x26e)](_0x5b2d64,_0x2c0f1e){const _0x4ce0d6=a0_0x41c21b,_0x1bd232={'CCCZY':function(_0x5ed460,_0x20e6ec){return _0x5ed460===_0x20e6ec;},'yijPP':'oracle'};let _0x1239ad;return _0x1bd232[_0x4ce0d6(0x300)](_0x2c0f1e,_0x1bd232['yijPP'])?_0x1239ad=_0x5b2d64[_0x4ce0d6(0x28a)](/\n\/\s*(?:\n|$)/):_0x1239ad=_0x5b2d64[_0x4ce0d6(0x28a)](/;\s*(?:\n|$)/),_0x1239ad['map'](_0x5772a4=>_0x5772a4[_0x4ce0d6(0x322)]())[_0x4ce0d6(0x280)](_0x3dea76=>{const _0x39db48=_0x4ce0d6;if(_0x3dea76['length']===0x0)return![];const _0x274624=_0x3dea76[_0x39db48(0x28a)]('\x0a')[_0x39db48(0x280)](_0x232d64=>!_0x232d64[_0x39db48(0x322)]()['startsWith']('--')&&_0x232d64[_0x39db48(0x322)]()[_0x39db48(0x30a)]>0x0);return _0x274624[_0x39db48(0x30a)]>0x0;});}async['upsertJobRegistry'](_0x265ca4,_0x365bfb='online',_0x1608f6=null){const _0x63c89a=a0_0x41c21b,_0x30165a={'UAQnM':_0x63c89a(0x1ee),'exTSC':function(_0x12eca6,_0x33836a){return _0x12eca6===_0x33836a;},'ByASE':_0x63c89a(0x2e4)},_0x1f556a=this['getDbUtils']();if(!_0x1f556a)return;const _0x50678f=this['getDbType'](),_0x9d25ad=[_0x265ca4[_0x63c89a(0x234)],_0x265ca4['description']||_0x265ca4[_0x63c89a(0x234)],_0x265ca4['type']||'cron',_0x265ca4[_0x63c89a(0x31f)]||null,_0x265ca4['queue']||'default',_0x265ca4['handler'],_0x265ca4[_0x63c89a(0x28c)]||'',_0x265ca4[_0x63c89a(0x200)]||0x7530,_0x265ca4[_0x63c89a(0x269)]?.[_0x63c89a(0x317)]||0x3,_0x265ca4[_0x63c89a(0x269)]?.['backoff']||_0x30165a['UAQnM'],_0x365bfb,_0x1608f6];try{if(_0x30165a[_0x63c89a(0x1f5)](_0x50678f,'oracle'))await _0x1f556a['executeQuery']('MERGE\x20INTO\x20job_registry\x20r\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20USING\x20(SELECT\x20:1\x20AS\x20jn\x20FROM\x20DUAL)\x20s\x20ON\x20(r.job_name\x20=\x20s.jn)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHEN\x20MATCHED\x20THEN\x20UPDATE\x20SET\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display_name\x20=\x20:2,\x20type\x20=\x20:3,\x20schedule\x20=\x20:4,\x20queue\x20=\x20:5,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20handler\x20=\x20:6,\x20config_file\x20=\x20:7,\x20timeout\x20=\x20:8,\x20retry_max\x20=\x20:9,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20retry_backoff\x20=\x20:10,\x20status\x20=\x20:11,\x20next_run_at\x20=\x20:12,\x20updated_at\x20=\x20SYSTIMESTAMP\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHEN\x20NOT\x20MATCHED\x20THEN\x20INSERT\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(job_name,\x20display_name,\x20type,\x20schedule,\x20queue,\x20handler,\x20config_file,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout,\x20retry_max,\x20retry_backoff,\x20status,\x20next_run_at,\x20created_at,\x20updated_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(:1,\x20:2,\x20:3,\x20:4,\x20:5,\x20:6,\x20:7,\x20:8,\x20:9,\x20:10,\x20:11,\x20:12,\x20SYSTIMESTAMP,\x20SYSTIMESTAMP)',_0x9d25ad);else _0x50678f===_0x30165a[_0x63c89a(0x2be)]?await _0x1f556a[_0x63c89a(0x2df)]('INSERT\x20INTO\x20job_registry\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(job_name,\x20display_name,\x20type,\x20schedule,\x20queue,\x20handler,\x20config_file,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout,\x20retry_max,\x20retry_backoff,\x20status,\x20next_run_at,\x20created_at,\x20updated_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20NOW(),\x20NOW())\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20DUPLICATE\x20KEY\x20UPDATE\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display_name\x20=\x20VALUES(display_name),\x20type\x20=\x20VALUES(type),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20schedule\x20=\x20VALUES(schedule),\x20queue\x20=\x20VALUES(queue),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20handler\x20=\x20VALUES(handler),\x20config_file\x20=\x20VALUES(config_file),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout\x20=\x20VALUES(timeout),\x20retry_max\x20=\x20VALUES(retry_max),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20retry_backoff\x20=\x20VALUES(retry_backoff),\x20status\x20=\x20VALUES(status),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20VALUES(next_run_at)',_0x9d25ad):await _0x1f556a[_0x63c89a(0x2df)]('INSERT\x20INTO\x20job_registry\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(job_name,\x20display_name,\x20type,\x20schedule,\x20queue,\x20handler,\x20config_file,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout,\x20retry_max,\x20retry_backoff,\x20status,\x20next_run_at,\x20created_at,\x20updated_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20($1,\x20$2,\x20$3,\x20$4,\x20$5,\x20$6,\x20$7,\x20$8,\x20$9,\x20$10,\x20$11,\x20$12,\x20NOW(),\x20NOW())\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20CONFLICT\x20(job_name)\x20DO\x20UPDATE\x20SET\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display_name\x20=\x20EXCLUDED.display_name,\x20type\x20=\x20EXCLUDED.type,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20schedule\x20=\x20EXCLUDED.schedule,\x20queue\x20=\x20EXCLUDED.queue,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20handler\x20=\x20EXCLUDED.handler,\x20config_file\x20=\x20EXCLUDED.config_file,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout\x20=\x20EXCLUDED.timeout,\x20retry_max\x20=\x20EXCLUDED.retry_max,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20retry_backoff\x20=\x20EXCLUDED.retry_backoff,\x20status\x20=\x20EXCLUDED.status,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20EXCLUDED.next_run_at,\x20updated_at\x20=\x20NOW()',_0x9d25ad);}catch(_0x5722b8){logger['warn']({'event':'job_registry_upsert_error','name':_0x265ca4[_0x63c89a(0x234)],'error':_0x5722b8[_0x63c89a(0x211)]},'Failed\x20to\x20upsert\x20job\x20registry:\x20'+_0x265ca4['name']+'\x20—\x20'+_0x5722b8[_0x63c89a(0x211)]);}}async['insertJobHistory'](_0x1abda0){const _0x4670a2=a0_0x41c21b,_0x40604f={'UHOps':_0x4670a2(0x327),'nrLzM':_0x4670a2(0x20f),'qoIav':function(_0x379cad,_0x3cdbce){return _0x379cad===_0x3cdbce;},'Isbgf':'oracle','LMGFt':_0x4670a2(0x2e4),'itlDn':'running'},_0x52a5aa=this['getDbUtils']();if(!_0x52a5aa)return;const _0x4a70c4=this[_0x4670a2(0x2f1)](),_0xd81020=[_0x1abda0['id'],_0x1abda0[_0x4670a2(0x2da)],_0x1abda0[_0x4670a2(0x2d8)]||null,_0x1abda0['triggerType']||_0x4670a2(0x21f),_0x1abda0['triggeredBy']||_0x40604f[_0x4670a2(0x1fa)],_0x1abda0['queue']||_0x40604f['nrLzM'],_0x1abda0['attempt']||0x1,_0x1abda0['configFile']||null,process[_0x4670a2(0x216)]];try{if(_0x40604f[_0x4670a2(0x2e0)](_0x4a70c4,_0x40604f[_0x4670a2(0x32e)]))await _0x52a5aa[_0x4670a2(0x2df)](_0x4670a2(0x225),_0xd81020);else _0x40604f[_0x4670a2(0x2e0)](_0x4a70c4,_0x40604f[_0x4670a2(0x2bd)])?await _0x52a5aa['executeQuery']('INSERT\x20INTO\x20job_history\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(id,\x20job_name,\x20bullmq_job_id,\x20trigger_type,\x20triggered_by,\x20status,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20queue,\x20attempt,\x20config_file,\x20started_at,\x20worker_pid,\x20created_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20\x27running\x27,\x20?,\x20?,\x20?,\x20NOW(),\x20?,\x20NOW())',_0xd81020):await _0x52a5aa[_0x4670a2(0x2df)]('INSERT\x20INTO\x20job_history\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(id,\x20job_name,\x20bullmq_job_id,\x20trigger_type,\x20triggered_by,\x20status,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20queue,\x20attempt,\x20config_file,\x20started_at,\x20worker_pid,\x20created_at)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20($1,\x20$2,\x20$3,\x20$4,\x20$5,\x20\x27running\x27,\x20$6,\x20$7,\x20$8,\x20NOW(),\x20$9,\x20NOW())',_0xd81020);await this['updateRegistryStatus'](_0x1abda0['jobName'],_0x40604f['itlDn']);}catch(_0x25b039){logger['warn']({'event':'job_history_insert_error','jobName':_0x1abda0['jobName'],'error':_0x25b039['message']},_0x4670a2(0x26f)+_0x25b039['message']);}}async[a0_0x41c21b(0x1fe)](_0x3ccc9d,_0x369375,_0x1f9f7c){const _0x4279d2=a0_0x41c21b,_0x488558={'jtOjC':function(_0x391c4b,_0x387869){return _0x391c4b===_0x387869;},'IGAFV':function(_0x2cf6d4,_0x307932){return _0x2cf6d4===_0x307932;},'PMozP':'job_history_complete_error'},_0xc63511=this['getDbUtils']();if(!_0xc63511)return;const _0x3ed161=this[_0x4279d2(0x2f1)](),_0x5badfe=_0x1f9f7c?String(_0x1f9f7c)['substring'](0x0,0x1f4):null;try{if(_0x488558[_0x4279d2(0x20a)](_0x3ed161,_0x4279d2(0x201)))await _0xc63511[_0x4279d2(0x2df)]('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27success\x27,\x20completed_at\x20=\x20SYSTIMESTAMP,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20:1,\x20progress\x20=\x20100,\x20result_summary\x20=\x20:2\x20WHERE\x20id\x20=\x20:3',[_0x369375,_0x5badfe,_0x3ccc9d]);else _0x488558['IGAFV'](_0x3ed161,_0x4279d2(0x2e4))?await _0xc63511[_0x4279d2(0x2df)](_0x4279d2(0x273),[_0x369375,_0x5badfe,_0x3ccc9d]):await _0xc63511['executeQuery'](_0x4279d2(0x2b0),[_0x369375,_0x5badfe,_0x3ccc9d]);}catch(_0x41a398){logger[_0x4279d2(0x2bc)]({'event':_0x488558[_0x4279d2(0x31e)],'historyId':_0x3ccc9d,'error':_0x41a398[_0x4279d2(0x211)]},_0x4279d2(0x23c)+_0x41a398[_0x4279d2(0x211)]);}}async[a0_0x41c21b(0x262)](_0x448935,_0x30cec6,_0x422a76,_0x4eeda9,_0x284a45){const _0x1ba06b=a0_0x41c21b,_0x425098={'VYjIP':function(_0x193020,_0x493ef4){return _0x193020===_0x493ef4;},'LFgUh':function(_0x1ef4b2,_0xfd8868){return _0x1ef4b2===_0xfd8868;},'owGzn':function(_0x3ae9a0,_0x30384e){return _0x3ae9a0||_0x30384e;}},_0x50ed9f=this[_0x1ba06b(0x318)]();if(!_0x50ed9f)return;const _0x550811=this[_0x1ba06b(0x2f1)](),_0x12ef97=_0x4eeda9?String(_0x4eeda9)['substring'](0x0,0x3e8):null,_0x11aa11=_0x284a45?String(_0x284a45)[_0x1ba06b(0x287)](0x0,0xfa0):null;try{if(_0x425098[_0x1ba06b(0x2e9)](_0x550811,'oracle'))await _0x50ed9f[_0x1ba06b(0x2df)]('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27failed\x27,\x20completed_at\x20=\x20SYSTIMESTAMP,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20:1,\x20progress\x20=\x20:2,\x20error_message\x20=\x20:3,\x20error_stack\x20=\x20:4\x20WHERE\x20id\x20=\x20:5',[_0x30cec6,_0x422a76||0x0,_0x12ef97,_0x11aa11,_0x448935]);else _0x425098[_0x1ba06b(0x21d)](_0x550811,_0x1ba06b(0x2e4))?await _0x50ed9f['executeQuery'](_0x1ba06b(0x2f0),[_0x30cec6,_0x422a76||0x0,_0x12ef97,_0x11aa11,_0x448935]):await _0x50ed9f[_0x1ba06b(0x2df)]('UPDATE\x20job_history\x20SET\x20status\x20=\x20\x27failed\x27,\x20completed_at\x20=\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20duration_ms\x20=\x20$1,\x20progress\x20=\x20$2,\x20error_message\x20=\x20$3,\x20error_stack\x20=\x20$4\x20WHERE\x20id\x20=\x20$5',[_0x30cec6,_0x425098['owGzn'](_0x422a76,0x0),_0x12ef97,_0x11aa11,_0x448935]);}catch(_0x5850b1){logger['warn']({'event':_0x1ba06b(0x2a2),'historyId':_0x448935,'error':_0x5850b1['message']},_0x1ba06b(0x2b7)+_0x5850b1[_0x1ba06b(0x211)]);}}async['updateRegistryStatus'](_0x2d65df,_0x4d82b9){const _0x588ace=a0_0x41c21b,_0x18587e={'GxHeM':_0x588ace(0x2e4)},_0x3fb8cd=this[_0x588ace(0x318)]();if(!_0x3fb8cd)return;const _0x5d7913=this[_0x588ace(0x2f1)]();try{if(_0x5d7913===_0x588ace(0x201))await _0x3fb8cd[_0x588ace(0x2df)](_0x588ace(0x1e8),[_0x4d82b9,_0x2d65df]);else _0x5d7913===_0x18587e[_0x588ace(0x215)]?await _0x3fb8cd[_0x588ace(0x2df)]('UPDATE\x20job_registry\x20SET\x20last_status\x20=\x20?,\x20last_run_at\x20=\x20NOW()\x20WHERE\x20job_name\x20=\x20?',[_0x4d82b9,_0x2d65df]):await _0x3fb8cd[_0x588ace(0x2df)](_0x588ace(0x218),[_0x4d82b9,_0x2d65df]);}catch(_0x1d11c0){}}async[a0_0x41c21b(0x2a5)](_0x49b8ab,_0x3e20ea,_0x39e2cf,_0x3f8a74){const _0x116be0=a0_0x41c21b,_0xe39fe5={'HYLkm':function(_0x2d34b3,_0x5845a0){return _0x2d34b3===_0x5845a0;},'KESMy':'success','bBtDu':_0x116be0(0x2ea),'IrWxu':'mysql','RvltY':_0x116be0(0x2c7)},_0x54aa0a=this['getDbUtils']();if(!_0x54aa0a)return;const _0x41795d=this['getDbType'](),_0x4f11f9=_0xe39fe5[_0x116be0(0x242)](_0x3e20ea,_0xe39fe5[_0x116be0(0x2a6)])?'total_success':_0xe39fe5[_0x116be0(0x2ed)];try{if(_0xe39fe5[_0x116be0(0x242)](_0x41795d,'oracle'))await _0x54aa0a['executeQuery'](_0x116be0(0x2e1)+_0x4f11f9+_0x116be0(0x289)+_0x4f11f9+_0x116be0(0x1f9),[_0x3e20ea,_0x39e2cf,_0x3f8a74,_0x49b8ab]);else _0x41795d===_0xe39fe5[_0x116be0(0x2eb)]?await _0x54aa0a['executeQuery'](_0x116be0(0x2cb)+_0x4f11f9+_0x116be0(0x289)+_0x4f11f9+'\x20+\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20?\x20WHERE\x20job_name\x20=\x20?',[_0x3e20ea,_0x39e2cf,_0x3f8a74,_0x49b8ab]):await _0x54aa0a['executeQuery'](_0x116be0(0x28e)+_0x4f11f9+_0x116be0(0x289)+_0x4f11f9+'\x20+\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_run_at\x20=\x20$3,\x20updated_at\x20=\x20NOW()\x20WHERE\x20job_name\x20=\x20$4',[_0x3e20ea,_0x39e2cf,_0x3f8a74,_0x49b8ab]);}catch(_0x2042d2){logger['warn']({'event':_0xe39fe5[_0x116be0(0x2de)],'jobName':_0x49b8ab,'error':_0x2042d2['message']},_0x116be0(0x2cc)+_0x2042d2[_0x116be0(0x211)]);}}async['getNextRunFromBullMQ'](_0x5deb5c){const _0x3218dd=a0_0x41c21b,_0x5d9311={'qeBMW':function(_0x4befd6,_0xb0824e){return _0x4befd6===_0xb0824e;},'nHraV':'default','StHaC':_0x3218dd(0x2c6)},_0x4181ee=this['jobConfigs'][_0x5deb5c];if(!_0x4181ee||_0x4181ee['type']!=='cron'||_0x5d9311[_0x3218dd(0x254)](_0x4181ee['enabled'],![]))return null;const _0x2cf846=this['queues'][_0x4181ee[_0x3218dd(0x2f4)]||_0x5d9311['nHraV']];if(!_0x2cf846)return null;try{if(typeof _0x2cf846[_0x3218dd(0x2b9)]===_0x5d9311[_0x3218dd(0x2fb)]){const _0x85ef74=await _0x2cf846['getJobSchedulers'](0x0,0x64),_0x2381f1=_0x85ef74[_0x3218dd(0x2c0)](_0x5b091a=>_0x5b091a['name']===_0x5deb5c);return _0x2381f1?.['next']?new Date(_0x2381f1[_0x3218dd(0x2c2)]):null;}}catch(_0x1bfb52){}return null;}async[a0_0x41c21b(0x22c)](){const _0x553e4b=a0_0x41c21b,_0x41d026={'ZRjGW':_0x553e4b(0x201),'GdIko':_0x553e4b(0x2e2)},_0x4bf8ba=this['getDbUtils']();if(!_0x4bf8ba)return;const _0x34b3d5=this['getDbType']();try{if(_0x34b3d5===_0x41d026['ZRjGW'])await _0x4bf8ba[_0x553e4b(0x2df)](_0x553e4b(0x2f2));else _0x34b3d5===_0x553e4b(0x2e4)?await _0x4bf8ba[_0x553e4b(0x2df)]('UPDATE\x20job_registry\x20SET\x20status\x20=\x20\x27offline\x27,\x20next_run_at\x20=\x20NULL'):await _0x4bf8ba[_0x553e4b(0x2df)]('UPDATE\x20job_registry\x20SET\x20status\x20=\x20\x27offline\x27,\x20next_run_at\x20=\x20NULL,\x20updated_at\x20=\x20NOW()');}catch(_0x3207a3){logger[_0x553e4b(0x2bc)]({'event':_0x41d026['GdIko'],'error':_0x3207a3['message']},'Failed\x20to\x20set\x20jobs\x20offline:\x20'+_0x3207a3[_0x553e4b(0x211)]);}}[a0_0x41c21b(0x318)](){const _0x91498d=a0_0x41c21b,_0x36ae9e={'VDRXJ':function(_0x277953,_0x3ed75f){return _0x277953(_0x3ed75f);},'FBxdu':function(_0x43769f,_0x33cd72){return _0x43769f===_0x33cd72;},'xQgJW':'mysql','JbKYz':function(_0x38c0fa,_0x32b166){return _0x38c0fa(_0x32b166);},'uODXr':_0x91498d(0x328),'eZCYl':'db_pg_unavailable'},_0x5737aa=(process[_0x91498d(0x261)][_0x91498d(0x1f6)]||'postgresql')[_0x91498d(0x1f2)]();if(_0x5737aa===_0x91498d(0x201))try{const _0x8ed86=_0x36ae9e['VDRXJ'](require,_0x91498d(0x220));return{'executeQuery':(_0x29b91f,_0x1c0ffe)=>_0x8ed86['executeQuery'](_0x29b91f,_0x1c0ffe),'executeTransaction':_0x405e68=>_0x8ed86['executeTransaction'](_0x405e68),'getPool':()=>_0x8ed86['getPool']()};}catch(_0x33de46){return logger[_0x91498d(0x2bc)]({'event':_0x91498d(0x21b)},'Oracle\x20DB\x20module\x20not\x20available'),null;}if(_0x36ae9e[_0x91498d(0x2d1)](_0x5737aa,_0x36ae9e['xQgJW']))try{const _0x28fa9a=require(_0x91498d(0x2ff));return{'executeQuery':(_0xc9a72c,_0x21b948)=>_0x28fa9a[_0x91498d(0x2df)](_0xc9a72c,_0x21b948),'executeTransaction':_0x5af4f4=>_0x28fa9a[_0x91498d(0x279)](_0x5af4f4),'getPool':()=>_0x28fa9a['getPool']()};}catch(_0x277b41){return logger['warn']({'event':_0x91498d(0x253)},_0x91498d(0x2b3)),null;}try{const _0x4e7eb5=_0x36ae9e['JbKYz'](require,_0x36ae9e[_0x91498d(0x31d)]);return{'executeQuery':_0x4e7eb5['executeQuery'],'executeTransaction':_0x4e7eb5['executeTransaction'],'getPool':_0x4e7eb5[_0x91498d(0x217)]};}catch(_0x136aa7){return logger[_0x91498d(0x2bc)]({'event':_0x36ae9e[_0x91498d(0x26a)]},'PostgreSQL\x20DB\x20module\x20not\x20available'),null;}}['getRedisClient'](){const _0x54d8b8=a0_0x41c21b;try{const _0x4232c5=require(_0x54d8b8(0x20e));return _0x4232c5['getClient']?_0x4232c5['getClient']():_0x4232c5;}catch(_0x5c7014){return null;}}[a0_0x41c21b(0x258)](){const _0x54ab62=a0_0x41c21b,_0x5aa7ae={'qbhHf':_0x54ab62(0x2bb)};try{if(process[_0x54ab62(0x261)]['KAFKA_ENABLED']===_0x54ab62(0x2b8)){const _0x3983fc=require(_0x5aa7ae[_0x54ab62(0x2fa)]);return _0x3983fc[_0x54ab62(0x305)]?_0x3983fc['getInstance']():_0x3983fc;}}catch(_0x5c0127){}return null;}[a0_0x41c21b(0x290)](){const _0x267f75=a0_0x41c21b,_0x3041aa={'aRERX':function(_0x72fd7e,_0x5c5e17){return _0x72fd7e(_0x5c5e17);},'fPTFu':'../../utils/cache-manager'};try{return _0x3041aa[_0x267f75(0x32f)](require,_0x3041aa[_0x267f75(0x29e)]);}catch(_0x40d3a6){return null;}}async[a0_0x41c21b(0x206)](_0x58bc36,_0x1831ff={}){const _0x1a7fb2=a0_0x41c21b,_0x394487={'kAyTb':_0x1a7fb2(0x2a7)},_0x13210c=this[_0x1a7fb2(0x2a8)][_0x58bc36];if(!_0x13210c)throw new Error(_0x1a7fb2(0x2ee)+_0x58bc36);const _0x3a7a6=this[_0x1a7fb2(0x21e)][_0x13210c[_0x1a7fb2(0x2f4)]||'default'],_0x1fc2d1=await _0x3a7a6['add'](_0x58bc36,{..._0x1831ff,'handler':_0x13210c['handler'],'triggeredBy':_0x394487[_0x1a7fb2(0x2f7)]},{'attempts':_0x13210c['retry']?.['maxAttempts']||0x3,'backoff':{'type':_0x13210c[_0x1a7fb2(0x269)]?.[_0x1a7fb2(0x284)]||_0x1a7fb2(0x1ee),'delay':_0x13210c['retry']?.['initialDelay']||0x1388},'timeout':_0x13210c[_0x1a7fb2(0x200)]||0x7530});return logger[_0x1a7fb2(0x288)]({'event':'job_dispatched','jobId':_0x1fc2d1['id'],'name':_0x58bc36,'triggeredBy':_0x394487[_0x1a7fb2(0x2f7)]},_0x1a7fb2(0x2ba)+_0x58bc36+'\x20(id:\x20'+_0x1fc2d1['id']+')'),{'jobId':_0x1fc2d1['id'],'name':_0x58bc36};}async[a0_0x41c21b(0x2f5)](_0x2b80d0,_0x9faad={},_0x18b8ab=0x0){const _0x5f3db6=a0_0x41c21b,_0x12f51f={'yUpQa':'default'},_0xbdaf5c=this['jobConfigs'][_0x2b80d0];if(!_0xbdaf5c)throw new Error(_0x5f3db6(0x2ee)+_0x2b80d0);const _0x5a4725=this['queues'][_0xbdaf5c['queue']||_0x12f51f[_0x5f3db6(0x302)]],_0x406a8d=await _0x5a4725['add'](_0x2b80d0,{..._0x9faad,'handler':_0xbdaf5c[_0x5f3db6(0x20b)],'triggeredBy':_0x5f3db6(0x2dd)},{'delay':_0x18b8ab,'attempts':_0xbdaf5c[_0x5f3db6(0x269)]?.['maxAttempts']||0x3,'backoff':{'type':_0xbdaf5c['retry']?.['backoff']||_0x5f3db6(0x1ee),'delay':_0xbdaf5c[_0x5f3db6(0x269)]?.[_0x5f3db6(0x23a)]||0x1388},'timeout':_0xbdaf5c['timeout']||0x7530});return logger[_0x5f3db6(0x288)]({'event':_0x5f3db6(0x29f),'jobId':_0x406a8d['id'],'name':_0x2b80d0,'delayMs':_0x18b8ab},_0x5f3db6(0x23e)+_0x18b8ab+_0x5f3db6(0x224)+_0x2b80d0+_0x5f3db6(0x231)+_0x406a8d['id']+')'),{'jobId':_0x406a8d['id'],'name':_0x2b80d0};}async['getJobStatus'](_0x49fa8f){const _0x41e4a3=a0_0x41c21b;for(const _0x9ded05 of Object[_0x41e4a3(0x31a)](this['queues'])){const _0x3b424a=await _0x9ded05['getJob'](_0x49fa8f);if(_0x3b424a){const _0x5ee248=await _0x3b424a[_0x41e4a3(0x1f0)]();return{'jobId':_0x3b424a['id'],'name':_0x3b424a[_0x41e4a3(0x234)],'state':_0x5ee248,'progress':_0x3b424a['progress'],'attemptsMade':_0x3b424a[_0x41e4a3(0x244)],'failedReason':_0x3b424a['failedReason'],'returnvalue':_0x3b424a[_0x41e4a3(0x275)],'data':_0x3b424a[_0x41e4a3(0x2a1)],'timestamps':{'created':_0x3b424a[_0x41e4a3(0x282)],'started':_0x3b424a['processedOn'],'completed':_0x3b424a['finishedOn']}};}}return null;}[a0_0x41c21b(0x32a)](){const _0x497326=a0_0x41c21b;return Object[_0x497326(0x31a)](this[_0x497326(0x2a8)])['map'](_0x1cc441=>({'name':_0x1cc441[_0x497326(0x234)],'description':_0x1cc441[_0x497326(0x32c)]||'','type':_0x1cc441['type'],'schedule':_0x1cc441['schedule'],'handler':_0x1cc441[_0x497326(0x20b)],'enabled':_0x1cc441['enabled']!==![],'queue':_0x1cc441['queue']||'default','timeout':_0x1cc441['timeout']||0x7530,'retry':_0x1cc441[_0x497326(0x269)]||{'maxAttempts':0x3,'backoff':'exponential','initialDelay':0x1388},'metadata':_0x1cc441['metadata']||{}}));}async[a0_0x41c21b(0x22d)](){const _0x2e23ec=a0_0x41c21b,_0x264a79=[];for(const [_0x1a100d,_0x3563ab]of Object['entries'](this['queues'])){const _0x430351=await _0x3563ab[_0x2e23ec(0x233)]([_0x2e23ec(0x227)]);for(const _0x5e30fb of _0x430351){_0x264a79[_0x2e23ec(0x325)]({'jobId':_0x5e30fb['id'],'name':_0x5e30fb[_0x2e23ec(0x234)],'queue':_0x1a100d,'progress':_0x5e30fb['progress'],'attemptsMade':_0x5e30fb[_0x2e23ec(0x244)],'startedAt':_0x5e30fb[_0x2e23ec(0x2ca)]});}}return _0x264a79;}async['getHistory'](_0x2331b7={}){const _0x3904f7=a0_0x41c21b,_0x510243={'TpdMg':function(_0x596476,_0x47d2e0,_0x41184e){return _0x596476(_0x47d2e0,_0x41184e);},'UwyAO':function(_0x5ecf53,_0x216992,_0x5dd4af){return _0x5ecf53(_0x216992,_0x5dd4af);},'uMEeR':function(_0xf34aed,_0x52a19b){return _0xf34aed*_0x52a19b;},'jdLJk':function(_0x5295d5,_0x4b0bab){return _0x5295d5-_0x4b0bab;}},_0x198283=_0x510243[_0x3904f7(0x335)](parseInt,_0x2331b7[_0x3904f7(0x25d)],0xa)||0x1,_0x4ba85b=Math['min'](_0x510243[_0x3904f7(0x232)](parseInt,_0x2331b7['limit'],0xa)||0x14,0x64),_0x2bd382=_0x510243[_0x3904f7(0x229)](_0x198283-0x1,_0x4ba85b),_0x3ab7df=_0x510243[_0x3904f7(0x226)](_0x2bd382+_0x4ba85b,0x1),_0xc1d20e=[];for(const [_0x2b212c,_0x379937]of Object[_0x3904f7(0x205)](this['queues'])){const _0x401aae=await _0x379937[_0x3904f7(0x233)]([_0x3904f7(0x337)],_0x2bd382,_0x3ab7df),_0x72774c=await _0x379937['getJobs']([_0x3904f7(0x2d0)],_0x2bd382,_0x3ab7df);for(const _0x31bec1 of[..._0x401aae,..._0x72774c]){const _0x1ca375=await _0x31bec1[_0x3904f7(0x1f0)]();_0xc1d20e[_0x3904f7(0x325)]({'jobId':_0x31bec1['id'],'name':_0x31bec1[_0x3904f7(0x234)],'state':_0x1ca375,'queue':_0x2b212c,'attemptsMade':_0x31bec1['attemptsMade'],'failedReason':_0x31bec1['failedReason'],'returnvalue':_0x31bec1['returnvalue'],'timestamps':{'created':_0x31bec1[_0x3904f7(0x282)],'started':_0x31bec1[_0x3904f7(0x2ca)],'completed':_0x31bec1[_0x3904f7(0x210)]}});}}return _0xc1d20e['sort']((_0x43749c,_0x3a8e12)=>(_0x3a8e12[_0x3904f7(0x299)][_0x3904f7(0x2e5)]||0x0)-(_0x43749c[_0x3904f7(0x299)]['created']||0x0)),{'jobs':_0xc1d20e['slice'](0x0,_0x4ba85b),'total':_0xc1d20e['length'],'page':_0x198283,'limit':_0x4ba85b};}async[a0_0x41c21b(0x28f)](_0x1856a8){const _0x1d8de2=a0_0x41c21b,_0x571080={'dmYRb':function(_0x48b3b4,_0x3c1ec1){return _0x48b3b4===_0x3c1ec1;},'Vheso':_0x1d8de2(0x227),'UsEnH':'Job\x20cancelled\x20via\x20API','DLMQm':_0x1d8de2(0x1ff),'XKmcM':function(_0x4cdbed,_0x1ef4c7){return _0x4cdbed===_0x1ef4c7;},'FwCMh':'waiting','VNwDR':'delayed'};for(const _0x166796 of Object[_0x1d8de2(0x31a)](this['queues'])){const _0x82344e=await _0x166796['getJob'](_0x1856a8);if(_0x82344e){const _0x330840=await _0x82344e[_0x1d8de2(0x1f0)]();if(_0x571080[_0x1d8de2(0x214)](_0x330840,_0x571080[_0x1d8de2(0x27e)]))return await _0x82344e[_0x1d8de2(0x1f4)](new Error(_0x571080[_0x1d8de2(0x326)]),_0x571080[_0x1d8de2(0x2e3)],!![]),{'success':!![],'message':_0x1d8de2(0x30c)+_0x1856a8+'\x20cancelled\x20(was\x20active)'};if(_0x571080['XKmcM'](_0x330840,_0x571080[_0x1d8de2(0x29a)])||_0x571080['dmYRb'](_0x330840,_0x571080['VNwDR']))return await _0x82344e['remove'](),{'success':!![],'message':_0x1d8de2(0x30c)+_0x1856a8+_0x1d8de2(0x24b)+_0x330840+')'};return{'success':![],'message':'Job\x20'+_0x1856a8+_0x1d8de2(0x1f8)+_0x330840+')'};}}return{'success':![],'message':'Job\x20'+_0x1856a8+'\x20tidak\x20ditemukan'};}async[a0_0x41c21b(0x21a)](){const _0x37faad=a0_0x41c21b,_0x56601e={'YvDlO':_0x37faad(0x227),'jwnHe':_0x37faad(0x2ac),'xnnbj':'paused','pYGRX':_0x37faad(0x21c)},_0x6ba6bd={};for(const [_0x297e10,_0x8b39c0]of Object[_0x37faad(0x205)](this[_0x37faad(0x21e)])){try{const _0x5cc23b=await _0x8b39c0[_0x37faad(0x2a4)](_0x56601e[_0x37faad(0x29d)],'completed',_0x56601e['jwnHe'],_0x37faad(0x2d0),_0x56601e[_0x37faad(0x294)],_0x56601e['pYGRX']);_0x6ba6bd[_0x297e10]=_0x5cc23b;}catch(_0x11b39a){_0x6ba6bd[_0x297e10]={'error':_0x11b39a['message']};}}const _0x3c4c48={};for(const [_0x3c1efe,_0x3e51e1]of Object['entries'](this['workers'])){_0x3c4c48[_0x3c1efe]={'running':_0x3e51e1[_0x37faad(0x1f7)](),'paused':_0x3e51e1[_0x37faad(0x239)]()};}return{'initialized':this[_0x37faad(0x301)],'registeredJobs':Object[_0x37faad(0x278)](this[_0x37faad(0x2a8)])['length'],'redisConnections':this[_0x37faad(0x2d7)]['length'],'queues':_0x6ba6bd,'workers':_0x3c4c48};}async[a0_0x41c21b(0x32b)](_0x26477b,_0x237bff){const _0x575e61=a0_0x41c21b,_0x4e46e2={'meQjd':_0x575e61(0x2bf),'LFkYK':_0x575e61(0x259),'sYKZC':function(_0x4cd6c8,_0x560b7d){return _0x4cd6c8-_0x560b7d;},'BeoQs':function(_0x25cb30,_0x3e9682){return _0x25cb30-_0x3e9682;},'qSVdY':'string','WbYUu':_0x575e61(0x202),'HvXTo':_0x575e61(0x2c6),'qXOiv':'onAfterJobComplete'},_0x4ef491=logger[_0x575e61(0x2b4)]({'jobId':_0x26477b['id'],'jobName':_0x26477b[_0x575e61(0x234)]});_0x4ef491[_0x575e61(0x288)]({'event':_0x4e46e2[_0x575e61(0x260)],'attemptsMade':_0x26477b['attemptsMade'],'duration':_0x26477b[_0x575e61(0x210)]?_0x4e46e2[_0x575e61(0x308)](_0x26477b['finishedOn'],_0x26477b[_0x575e61(0x2ca)]):null},'Job\x20completed:\x20'+_0x26477b['name']);const _0x558a3a=this['activeHistoryIds']['get'](_0x26477b['id']);if(_0x558a3a){if(_0x558a3a['insertPromise'])await _0x558a3a['insertPromise'];const _0x43ac46=_0x26477b[_0x575e61(0x210)]&&_0x26477b[_0x575e61(0x2ca)]?_0x4e46e2['BeoQs'](_0x26477b['finishedOn'],_0x26477b[_0x575e61(0x2ca)]):null,_0x511142=typeof _0x237bff===_0x4e46e2['qSVdY']?_0x237bff:_0x237bff?JSON[_0x575e61(0x2fc)](_0x237bff)[_0x575e61(0x287)](0x0,0x1f4):null;await this['updateJobHistoryCompleted'](_0x558a3a['historyId'],_0x43ac46,_0x511142);const _0x53aeca=await this[_0x575e61(0x2ec)](_0x26477b['name']);await this['updateRegistryCounters'](_0x26477b['name'],_0x4e46e2['WbYUu'],_0x43ac46,_0x53aeca),this[_0x575e61(0x1ed)]['delete'](_0x26477b['id']);}const _0xc3bb1d=getComponentEngine();if(_0xc3bb1d&&typeof _0xc3bb1d['executeEventHandlers']===_0x4e46e2['HvXTo']){const _0x28dc1c={'jobId':_0x26477b['id'],'jobName':_0x26477b['name'],'result':_0x237bff,'config':this['jobConfigs'][_0x26477b['name']]||{}};_0xc3bb1d[_0x575e61(0x31b)](_0x4e46e2[_0x575e61(0x30d)],_0x28dc1c,![])[_0x575e61(0x23f)](_0x4e8a24=>{const _0x3cc714=_0x575e61;_0x4ef491[_0x3cc714(0x2bc)]({'event':_0x3cc714(0x250),'error':_0x4e8a24[_0x3cc714(0x211)]},_0x4e46e2[_0x3cc714(0x304)]);});}const _0x10dec9=this[_0x575e61(0x258)]();if(_0x10dec9)try{await _0x10dec9['publishEvent'](_0x575e61(0x230),'JOB_COMPLETED',null,{'jobId':_0x26477b['id'],'name':_0x26477b['name'],'result':_0x237bff},{'module':'job-scheduler','endpoint':_0x26477b['name']});}catch(_0x32df75){_0x4ef491[_0x575e61(0x2bc)]({'event':'job_kafka_publish_error','error':_0x32df75['message']},_0x575e61(0x306));}}async[a0_0x41c21b(0x316)](_0xbb1fdd,_0x476b26){const _0x516fcf=a0_0x41c21b,_0x4d751a={'pCpCH':'after_job_failed_hook_error','fhDby':function(_0x2f429a,_0x49b17f){return _0x2f429a<_0x49b17f;},'migeK':function(_0x289f9e,_0x561bff){return _0x289f9e-_0x561bff;},'nmFNT':'failed','kQSmI':_0x516fcf(0x256),'Mlwyx':_0x516fcf(0x334)},_0x48ce02=logger[_0x516fcf(0x2b4)]({'jobId':_0xbb1fdd['id'],'jobName':_0xbb1fdd['name']});_0x48ce02[_0x516fcf(0x249)]({'event':'job_failed','attemptsMade':_0xbb1fdd[_0x516fcf(0x244)],'failedReason':_0x476b26?.[_0x516fcf(0x211)],'willRetry':_0x4d751a['fhDby'](_0xbb1fdd['attemptsMade'],this[_0x516fcf(0x2a8)][_0xbb1fdd[_0x516fcf(0x234)]]?.[_0x516fcf(0x269)]?.[_0x516fcf(0x317)]||0x3)},'Job\x20failed:\x20'+_0xbb1fdd[_0x516fcf(0x234)]+_0x516fcf(0x23d)+_0x476b26?.[_0x516fcf(0x211)]);const _0x5a50bc=this['activeHistoryIds'][_0x516fcf(0x25e)](_0xbb1fdd['id']);if(_0x5a50bc){if(_0x5a50bc['insertPromise'])await _0x5a50bc['insertPromise'];const _0x118d0a=_0xbb1fdd['finishedOn']&&_0xbb1fdd['processedOn']?_0x4d751a[_0x516fcf(0x292)](_0xbb1fdd['finishedOn'],_0xbb1fdd[_0x516fcf(0x2ca)]):null;await this[_0x516fcf(0x262)](_0x5a50bc['historyId'],_0x118d0a,_0xbb1fdd[_0x516fcf(0x314)],_0x476b26?.['message'],_0x476b26?.['stack']);const _0xe9982c=await this[_0x516fcf(0x2ec)](_0xbb1fdd['name']);await this['updateRegistryCounters'](_0xbb1fdd[_0x516fcf(0x234)],_0x4d751a[_0x516fcf(0x2fe)],_0x118d0a,_0xe9982c),this['activeHistoryIds'][_0x516fcf(0x333)](_0xbb1fdd['id']);}const _0x2684f1=getComponentEngine();if(_0x2684f1&&typeof _0x2684f1['executeEventHandlers']==='function'){const _0x23e784={'jobId':_0xbb1fdd['id'],'jobName':_0xbb1fdd['name'],'error':_0x476b26?.[_0x516fcf(0x211)],'attemptsMade':_0xbb1fdd[_0x516fcf(0x244)],'config':this['jobConfigs'][_0xbb1fdd['name']]||{}};_0x2684f1[_0x516fcf(0x31b)](_0x4d751a[_0x516fcf(0x241)],_0x23e784,![])[_0x516fcf(0x23f)](_0x14af3d=>{const _0x1fdb59=_0x516fcf;_0x48ce02[_0x1fdb59(0x2bc)]({'event':_0x4d751a[_0x1fdb59(0x27b)],'error':_0x14af3d['message']},_0x1fdb59(0x24f));});}const _0x254f4f=this[_0x516fcf(0x258)]();if(_0x254f4f)try{await _0x254f4f['publishEvent']('restforge.jobs.failed',_0x516fcf(0x2e7),null,{'jobId':_0xbb1fdd['id'],'name':_0xbb1fdd['name'],'error':_0x476b26?.[_0x516fcf(0x211)],'attemptsMade':_0xbb1fdd['attemptsMade']},{'module':_0x4d751a[_0x516fcf(0x321)],'endpoint':_0xbb1fdd['name']});}catch(_0x45940b){_0x48ce02[_0x516fcf(0x2bc)]({'event':'job_kafka_publish_error','error':_0x45940b[_0x516fcf(0x211)]},'Failed\x20to\x20publish\x20JOB_FAILED\x20to\x20Kafka');}}[a0_0x41c21b(0x27d)](_0x13a43a,_0x165ad0){const _0x8c0cf1=a0_0x41c21b,_0x4671ed={'antjD':'job_progress'};logger[_0x8c0cf1(0x2aa)]({'event':_0x4671ed['antjD'],'jobId':_0x13a43a['id'],'jobName':_0x13a43a[_0x8c0cf1(0x234)],'progress':_0x165ad0},_0x8c0cf1(0x24d)+_0x13a43a[_0x8c0cf1(0x234)]+_0x8c0cf1(0x23d)+_0x165ad0+'%');}}module[a0_0x41c21b(0x313)]=new JobManager();
|