From e30a21aa88246a7ebc3ca9938f84e6be1e52a761 Mon Sep 17 00:00:00 2001 From: Naz Date: Mon, 22 Feb 2021 19:37:31 +1300 Subject: [PATCH] Added custom worker message handler refs https://github.com/TryGhost/Ghost/issues/12496 - Handling logging in the main thread avoids file handle leaks which happen due to leaky implementation of bunyan logger (see referenced issue for more context) - Bumped job-manager version to allow for `workerMessageHandler` callback funciton --- core/server/services/jobs/job-service.js | 7 ++++++- package.json | 2 +- yarn.lock | 12 ++++++------ 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/core/server/services/jobs/job-service.js b/core/server/services/jobs/job-service.js index 562b759a40..12c076510d 100644 --- a/core/server/services/jobs/job-service.js +++ b/core/server/services/jobs/job-service.js @@ -12,6 +12,11 @@ const errorHandler = (error, workerMeta) => { logging.error(error); sentry.captureException(error); }; -const jobManager = new JobManager({logging, errorHandler}); + +const workerMessageHandler = ({name, message}) => { + logging.info(`Worker for job ${name} sent a message: ${message}`); +}; + +const jobManager = new JobManager({logging, errorHandler, workerMessageHandler}); module.exports = jobManager; diff --git a/package.json b/package.json index 8d070b3079..07b2f75f36 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "@tryghost/errors": "0.2.7", "@tryghost/helpers": "1.1.37", "@tryghost/image-transform": "1.0.3", - "@tryghost/job-manager": "0.7.1", + "@tryghost/job-manager": "0.8.0", "@tryghost/kg-card-factory": "2.1.5", "@tryghost/kg-default-atoms": "2.0.2", "@tryghost/kg-default-cards": "3.1.0", diff --git a/yarn.lock b/yarn.lock index a4be837afd..b97e505147 100644 --- a/yarn.lock +++ b/yarn.lock @@ -465,15 +465,15 @@ optionalDependencies: sharp "0.25.4" -"@tryghost/job-manager@0.7.1": - version "0.7.1" - resolved "https://registry.yarnpkg.com/@tryghost/job-manager/-/job-manager-0.7.1.tgz#bbbfc9679cada353f9ee82b31eb8d32febf4e246" - integrity sha512-I59N9MXggwwXpy2qsN6Xo9T4a/sijOURkp3CmCtGK9TSCE/q1Y2piZjLx2HUe19hRhbbDPvQifr4zCa556COjA== +"@tryghost/job-manager@0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@tryghost/job-manager/-/job-manager-0.8.0.tgz#b3e042b7dd6746d8e9e44b71c95d7e2ec75e2881" + integrity sha512-fXgyYaIw0ol99Kr1Nq0DDAH6sbgjIbUxQNsciQPPaUBqfPjdHEhRvrO+PD60nTAM1mZi74BnvCPJwoKAFMy6KA== dependencies: "@breejs/later" "4.0.2" - bree "4.1.0" + bree "4.1.1" cron-validate "1.4.2" - fastq "1.10.0" + fastq "1.10.1" p-wait-for "3.2.0" "@tryghost/kg-card-factory@2.1.5":