From a945ae7c02ab89b073f93ef25788356e530a2d7a Mon Sep 17 00:00:00 2001
From: Kevin Ansfield <kevin@lookingsideways.co.uk>
Date: Wed, 2 Dec 2020 14:57:15 +0000
Subject: [PATCH] Added sentry error capturing to email analytics jobs

no issue

- jobs operate in their own process and so do not share any of the error capturing that is configured in the parent process
---
 core/server/services/email-analytics/jobs/fetch-all.js    | 2 ++
 core/server/services/email-analytics/jobs/fetch-latest.js | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/core/server/services/email-analytics/jobs/fetch-all.js b/core/server/services/email-analytics/jobs/fetch-all.js
index d8caf4969a..6ad4dde640 100644
--- a/core/server/services/email-analytics/jobs/fetch-all.js
+++ b/core/server/services/email-analytics/jobs/fetch-all.js
@@ -1,5 +1,6 @@
 const logging = require('../../../../shared/logging');
 const {parentPort} = require('bthreads');
+const sentry = require('../../../../shared/sentry');
 const debug = require('ghost-ignition').debug('jobs:email-analytics:fetch-all');
 
 // one-off job to fetch all available events and re-process them idempotently
@@ -61,6 +62,7 @@ if (parentPort) {
         }
     } catch (error) {
         logging.error(error);
+        sentry.captureException(error);
 
         // give the logging pipes time finish writing before exit
         setTimeout(() => {
diff --git a/core/server/services/email-analytics/jobs/fetch-latest.js b/core/server/services/email-analytics/jobs/fetch-latest.js
index 56487b9858..1216197910 100644
--- a/core/server/services/email-analytics/jobs/fetch-latest.js
+++ b/core/server/services/email-analytics/jobs/fetch-latest.js
@@ -1,5 +1,6 @@
 const logging = require('../../../../shared/logging');
 const {parentPort} = require('bthreads');
+const sentry = require('../../../../shared/sentry');
 const debug = require('ghost-ignition').debug('jobs:email-analytics:fetch-latest');
 
 // recurring job to fetch analytics since the most recently seen event timestamp
@@ -62,6 +63,7 @@ if (parentPort) {
         }
     } catch (error) {
         logging.error(error);
+        sentry.captureException(error);
 
         // give the logging pipes time finish writing before exit
         setTimeout(() => {