@machinemetrics/mm-erp-sdk 0.1.7-beta.0 → 0.1.7-beta.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.
@@ -3607,6 +3607,8 @@ const runDataSyncService = async (connectorPath) => {
3607
3607
  const bree = new Bree({
3608
3608
  root: jobsPath,
3609
3609
  logger,
3610
+ // Enable worker metadata for debugging
3611
+ outputWorkerMetadata: true,
3610
3612
  worker: {
3611
3613
  env: {
3612
3614
  CONNECTOR_PATH: connectorPath,
@@ -3630,20 +3632,25 @@ const runDataSyncService = async (connectorPath) => {
3630
3632
  {
3631
3633
  name: "from-erp",
3632
3634
  timeout: "10s",
3633
- interval: config2.fromErpInterval
3635
+ interval: config2.fromErpInterval,
3636
+ // Ensure worker terminates completely after execution
3637
+ closeWorkerAfterMs: 1e3
3634
3638
  },
3635
3639
  {
3636
3640
  name: "to-erp",
3637
3641
  //timeout: '3s', // Use timeout during development to see the job in action quickly
3638
- interval: config2.toErpInterval
3642
+ interval: config2.toErpInterval,
3643
+ closeWorkerAfterMs: 1e3
3639
3644
  },
3640
3645
  {
3641
3646
  name: "retry-failed-labor-tickets",
3642
- interval: config2.retryLaborTicketsInterval
3647
+ interval: config2.retryLaborTicketsInterval,
3648
+ closeWorkerAfterMs: 1e3
3643
3649
  },
3644
3650
  {
3645
3651
  name: "clean-up-expired-cache",
3646
- interval: config2.cacheExpirationCheckInterval
3652
+ interval: config2.cacheExpirationCheckInterval,
3653
+ closeWorkerAfterMs: 1e3
3647
3654
  }
3648
3655
  ]
3649
3656
  });
@@ -3653,14 +3660,34 @@ const runDataSyncService = async (connectorPath) => {
3653
3660
  const jobsConfig = bree.config.jobs.map((job) => ({
3654
3661
  name: job.name,
3655
3662
  interval: job.interval,
3656
- timeout: job.timeout
3663
+ timeout: job.timeout,
3664
+ closeWorkerAfterMs: job.closeWorkerAfterMs
3657
3665
  }));
3658
3666
  logger.info("JOBS CONFIGURATION:", { jobs: jobsConfig });
3659
3667
  const graceful = new Graceful({ brees: [bree] });
3660
3668
  graceful.listen();
3661
- (async () => {
3662
- await bree.start();
3663
- })();
3669
+ bree.on("worker created", (name) => {
3670
+ logger.debug(`Worker created for job: ${name}`);
3671
+ });
3672
+ bree.on("worker online", (name) => {
3673
+ logger.debug(`Worker online for job: ${name}`);
3674
+ });
3675
+ bree.on("worker message", (name, message) => {
3676
+ logger.debug(`Worker message from ${name}:`, message);
3677
+ });
3678
+ bree.on("worker deleted", (name) => {
3679
+ logger.debug(`Worker deleted for job: ${name}`);
3680
+ });
3681
+ bree.on("worker exit", (name, code, signal) => {
3682
+ if (code !== 0) {
3683
+ logger.error(
3684
+ `Worker ${name} exited with code ${code}, signal ${signal}`
3685
+ );
3686
+ } else {
3687
+ logger.debug(`Worker ${name} exited successfully`);
3688
+ }
3689
+ });
3690
+ await bree.start();
3664
3691
  bree.on("jobStarted", (job) => {
3665
3692
  console.log("Job " + job.name + " started");
3666
3693
  });