@machinemetrics/mm-erp-sdk 0.1.7-beta.0 → 0.1.7-beta.1
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/dist/mm-erp-sdk.js +41 -9
- package/dist/mm-erp-sdk.js.map +1 -1
- package/dist/services/data-sync-service/data-sync-service.d.ts.map +1 -1
- package/dist/services/data-sync-service/jobs/from-erp.d.ts.map +1 -1
- package/dist/services/data-sync-service/jobs/from-erp.js +21 -4
- package/dist/services/data-sync-service/jobs/from-erp.js.map +1 -1
- package/dist/services/data-sync-service/jobs/to-erp.d.ts.map +1 -1
- package/dist/services/data-sync-service/jobs/to-erp.js +21 -4
- package/dist/services/data-sync-service/jobs/to-erp.js.map +1 -1
- package/package.json +1 -1
- package/src/services/data-sync-service/data-sync-service.ts +43 -3
- package/src/services/data-sync-service/jobs/from-erp.ts +35 -6
- package/src/services/data-sync-service/jobs/to-erp.ts +33 -4
package/dist/mm-erp-sdk.js
CHANGED
|
@@ -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,
|
|
@@ -3621,7 +3623,12 @@ const runDataSyncService = async (connectorPath) => {
|
|
|
3621
3623
|
CACHE_TTL: process.env.CACHE_TTL,
|
|
3622
3624
|
// Pass through all other environment variables that might be needed
|
|
3623
3625
|
...process.env
|
|
3624
|
-
}
|
|
3626
|
+
},
|
|
3627
|
+
// Add worker options for better isolation and cleanup
|
|
3628
|
+
execArgv: [
|
|
3629
|
+
"--expose-gc"
|
|
3630
|
+
// Allow manual garbage collection
|
|
3631
|
+
]
|
|
3625
3632
|
},
|
|
3626
3633
|
jobs: [
|
|
3627
3634
|
// {
|
|
@@ -3630,20 +3637,25 @@ const runDataSyncService = async (connectorPath) => {
|
|
|
3630
3637
|
{
|
|
3631
3638
|
name: "from-erp",
|
|
3632
3639
|
timeout: "10s",
|
|
3633
|
-
interval: config2.fromErpInterval
|
|
3640
|
+
interval: config2.fromErpInterval,
|
|
3641
|
+
// Ensure worker terminates completely after execution
|
|
3642
|
+
closeWorkerAfterMs: 1e3
|
|
3634
3643
|
},
|
|
3635
3644
|
{
|
|
3636
3645
|
name: "to-erp",
|
|
3637
3646
|
//timeout: '3s', // Use timeout during development to see the job in action quickly
|
|
3638
|
-
interval: config2.toErpInterval
|
|
3647
|
+
interval: config2.toErpInterval,
|
|
3648
|
+
closeWorkerAfterMs: 1e3
|
|
3639
3649
|
},
|
|
3640
3650
|
{
|
|
3641
3651
|
name: "retry-failed-labor-tickets",
|
|
3642
|
-
interval: config2.retryLaborTicketsInterval
|
|
3652
|
+
interval: config2.retryLaborTicketsInterval,
|
|
3653
|
+
closeWorkerAfterMs: 1e3
|
|
3643
3654
|
},
|
|
3644
3655
|
{
|
|
3645
3656
|
name: "clean-up-expired-cache",
|
|
3646
|
-
interval: config2.cacheExpirationCheckInterval
|
|
3657
|
+
interval: config2.cacheExpirationCheckInterval,
|
|
3658
|
+
closeWorkerAfterMs: 1e3
|
|
3647
3659
|
}
|
|
3648
3660
|
]
|
|
3649
3661
|
});
|
|
@@ -3653,14 +3665,34 @@ const runDataSyncService = async (connectorPath) => {
|
|
|
3653
3665
|
const jobsConfig = bree.config.jobs.map((job) => ({
|
|
3654
3666
|
name: job.name,
|
|
3655
3667
|
interval: job.interval,
|
|
3656
|
-
timeout: job.timeout
|
|
3668
|
+
timeout: job.timeout,
|
|
3669
|
+
closeWorkerAfterMs: job.closeWorkerAfterMs
|
|
3657
3670
|
}));
|
|
3658
3671
|
logger.info("JOBS CONFIGURATION:", { jobs: jobsConfig });
|
|
3659
3672
|
const graceful = new Graceful({ brees: [bree] });
|
|
3660
3673
|
graceful.listen();
|
|
3661
|
-
(
|
|
3662
|
-
|
|
3663
|
-
})
|
|
3674
|
+
bree.on("worker created", (name) => {
|
|
3675
|
+
logger.debug(`Worker created for job: ${name}`);
|
|
3676
|
+
});
|
|
3677
|
+
bree.on("worker online", (name) => {
|
|
3678
|
+
logger.debug(`Worker online for job: ${name}`);
|
|
3679
|
+
});
|
|
3680
|
+
bree.on("worker message", (name, message) => {
|
|
3681
|
+
logger.debug(`Worker message from ${name}:`, message);
|
|
3682
|
+
});
|
|
3683
|
+
bree.on("worker deleted", (name) => {
|
|
3684
|
+
logger.debug(`Worker deleted for job: ${name}`);
|
|
3685
|
+
});
|
|
3686
|
+
bree.on("worker exit", (name, code, signal) => {
|
|
3687
|
+
if (code !== 0) {
|
|
3688
|
+
logger.error(
|
|
3689
|
+
`Worker ${name} exited with code ${code}, signal ${signal}`
|
|
3690
|
+
);
|
|
3691
|
+
} else {
|
|
3692
|
+
logger.debug(`Worker ${name} exited successfully`);
|
|
3693
|
+
}
|
|
3694
|
+
});
|
|
3695
|
+
await bree.start();
|
|
3664
3696
|
bree.on("jobStarted", (job) => {
|
|
3665
3697
|
console.log("Job " + job.name + " started");
|
|
3666
3698
|
});
|