Skip to content
This repository was archived by the owner on Aug 8, 2023. It is now read-only.

Commit 52a8e45

Browse files
committed
Add v3.40.5
1 parent 8fb9690 commit 52a8e45

File tree

11 files changed

+133
-97
lines changed

11 files changed

+133
-97
lines changed

core/built/assets/ghost-dark-63c1c0a36e08fdee4d946c682da89e73.css renamed to core/built/assets/ghost-dark-5fa235bb1162922254839d0ebe684edb.css

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

core/built/assets/ghost.min-094a494865b54f67684d6107171995d8.js renamed to core/built/assets/ghost.min-227efb5c0aaed0aa1c9f8fd0d177f570.js

Lines changed: 5 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

core/built/assets/ghost.min-5762fd3f63b3b84bcc45d5e58600367c.css renamed to core/built/assets/ghost.min-d297809b48b526be04181899eb411ebd.css

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

core/server/api/canary/members.js

Lines changed: 25 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -371,28 +371,31 @@ module.exports = {
371371
};
372372
} else {
373373
const emailRecipient = frame.user.get('email');
374-
jobsService.addJob(async () => {
375-
const result = await membersService.importer.perform(job.id);
376-
const importLabelModel = result.imported ? await models.Label.findOne(importLabel) : null;
377-
const emailContent = membersService.importer.generateCompletionEmail(result, {
378-
emailRecipient,
379-
importLabel: importLabelModel ? importLabelModel.toJSON() : null
380-
});
381-
const errorCSV = membersService.importer.generateErrorCSV(result);
382-
const emailSubject = result.imported > 0 ? 'Your member import is complete' : 'Your member import was unsuccessful';
383-
384-
await ghostMailer.send({
385-
to: emailRecipient,
386-
subject: emailSubject,
387-
html: emailContent,
388-
forceTextContent: true,
389-
attachments: [{
390-
filename: `${importLabel.name} - Errors.csv`,
391-
contents: errorCSV,
392-
contentType: 'text/csv',
393-
contentDisposition: 'attachment'
394-
}]
395-
});
374+
jobsService.addJob({
375+
job: async () => {
376+
const result = await membersService.importer.perform(job.id);
377+
const importLabelModel = result.imported ? await models.Label.findOne(importLabel) : null;
378+
const emailContent = membersService.importer.generateCompletionEmail(result, {
379+
emailRecipient,
380+
importLabel: importLabelModel ? importLabelModel.toJSON() : null
381+
});
382+
const errorCSV = membersService.importer.generateErrorCSV(result);
383+
const emailSubject = result.imported > 0 ? 'Your member import is complete' : 'Your member import was unsuccessful';
384+
385+
await ghostMailer.send({
386+
to: emailRecipient,
387+
subject: emailSubject,
388+
html: emailContent,
389+
forceTextContent: true,
390+
attachments: [{
391+
filename: `${importLabel.name} - Errors.csv`,
392+
contents: errorCSV,
393+
contentType: 'text/csv',
394+
contentDisposition: 'attachment'
395+
}]
396+
});
397+
},
398+
offloaded: false
396399
});
397400

398401
return {};

core/server/services/email-analytics/jobs/index.js

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,11 @@ module.exports = {
2727
// run every 5 minutes, on 1,6,11..., 2,7,12..., 3,8,13..., etc
2828
const m = Math.floor(Math.random() * 5); // 0-4
2929

30-
jobsService.scheduleJob(
31-
`${s} ${m}/5 * * * *`,
32-
path.resolve(__dirname, 'fetch-latest.js'),
33-
undefined,
34-
'email-analytics-fetch-latest'
35-
);
30+
jobsService.addJob({
31+
at: `${s} ${m}/5 * * * *`,
32+
job: path.resolve(__dirname, 'fetch-latest.js'),
33+
name: 'email-analytics-fetch-latest'
34+
});
3635

3736
hasScheduled = true;
3837
}

core/server/services/mega/mega.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ const logging = require('../../../shared/logging');
1010
const settingsCache = require('../settings/cache');
1111
const membersService = require('../members');
1212
const bulkEmailService = require('../bulk-email');
13-
const jobService = require('../jobs');
13+
const jobsService = require('../jobs');
1414
const db = require('../../data/db');
1515
const models = require('../../models');
1616
const postEmailSerializer = require('./post-email-serializer');
@@ -225,7 +225,11 @@ async function pendingEmailHandler(emailModel, options) {
225225
const emailAnalyticsJobs = require('../email-analytics/jobs');
226226
emailAnalyticsJobs.scheduleRecurringJobs();
227227

228-
return jobService.addJob(sendEmailJob, {emailModel});
228+
return jobsService.addJob({
229+
job: sendEmailJob,
230+
data: {emailModel},
231+
offloaded: false
232+
});
229233
}
230234

231235
async function sendEmailJob({emailModel, options}) {

core/server/web/admin/views/default-prod.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434

3535

3636
<link rel="stylesheet" href="assets/vendor.min-5f3241a89eba4699965f4f257ab2e40a.css">
37-
<link rel="stylesheet" href="assets/ghost.min-5762fd3f63b3b84bcc45d5e58600367c.css" title="light">
37+
<link rel="stylesheet" href="assets/ghost.min-d297809b48b526be04181899eb411ebd.css" title="light">
3838

3939

4040

@@ -53,7 +53,7 @@
5353

5454

5555
<script src="assets/vendor.min-10d3e74122ccd03cc879ed55bde02d28.js"></script>
56-
<script src="assets/ghost.min-094a494865b54f67684d6107171995d8.js"></script>
56+
<script src="assets/ghost.min-227efb5c0aaed0aa1c9f8fd0d177f570.js"></script>
5757

5858
</body>
5959
</html>

core/server/web/admin/views/default.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434

3535

3636
<link rel="stylesheet" href="assets/vendor.min-5f3241a89eba4699965f4f257ab2e40a.css">
37-
<link rel="stylesheet" href="assets/ghost.min-5762fd3f63b3b84bcc45d5e58600367c.css" title="light">
37+
<link rel="stylesheet" href="assets/ghost.min-d297809b48b526be04181899eb411ebd.css" title="light">
3838

3939

4040

@@ -53,7 +53,7 @@
5353

5454

5555
<script src="assets/vendor.min-10d3e74122ccd03cc879ed55bde02d28.js"></script>
56-
<script src="assets/ghost.min-094a494865b54f67684d6107171995d8.js"></script>
56+
<script src="assets/ghost.min-227efb5c0aaed0aa1c9f8fd0d177f570.js"></script>
5757

5858
</body>
5959
</html>

core/server/web/api/testmode/index.js

Lines changed: 29 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
const path = require('path');
22
const logging = require('../../../../shared/logging');
33
const express = require('../../../../shared/express');
4-
const jobService = require('../../../services/jobs');
4+
const jobsService = require('../../../services/jobs');
55

66
/** A bunch of helper routes for testing purposes */
77
module.exports = function testRoutes() {
@@ -28,14 +28,17 @@ module.exports = function testRoutes() {
2828

2929
const timeout = req.params.timeout * 1000;
3030
logging.info('Create Slow Job with timeout of', timeout);
31-
jobService.addJob(() => {
32-
return new Promise((resolve) => {
33-
logging.info('Start Slow Job');
34-
setTimeout(() => {
35-
logging.info('End Slow Job', timeout);
36-
resolve();
37-
}, timeout);
38-
});
31+
jobsService.addJob({
32+
job: () => {
33+
return new Promise((resolve) => {
34+
logging.info('Start Slow Job');
35+
setTimeout(() => {
36+
logging.info('End Slow Job', timeout);
37+
resolve();
38+
}, timeout);
39+
});
40+
},
41+
offloaded: false
3942
});
4043

4144
res.sendStatus(202);
@@ -47,22 +50,28 @@ module.exports = function testRoutes() {
4750
}
4851

4952
const schedule = req.params.schedule;
53+
const jobName = req.params.name || `generic-${new Date().getTime()}`;
5054
logging.info('Achedule a Job with schedule of:', schedule, req.params.name);
5155

5256
if (req.params.name) {
5357
const jobPath = path.resolve(__dirname, 'jobs', `${req.params.name}.js`);
54-
jobService.scheduleJob(schedule, jobPath);
58+
jobsService.addJob({
59+
at: schedule,
60+
job: jobPath,
61+
name: jobName
62+
});
5563
} else {
56-
jobService.scheduleJob(schedule, () => {
57-
return new Promise((resolve) => {
58-
logging.info('Start scheduled Job');
59-
60-
setTimeout(() => {
61-
logging.info('End scheduled Job run', schedule);
62-
resolve();
63-
}, 20 * 1000);
64-
});
65-
}, {});
64+
jobsService.addJob({
65+
at: schedule,
66+
job: () => {
67+
return new Promise((resolve) => {
68+
setTimeout(() => {
69+
resolve();
70+
}, 20 * 1000);
71+
});
72+
},
73+
name: jobName
74+
});
6675
}
6776

6877
res.sendStatus(202);

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "ghost",
3-
"version": "3.40.4",
3+
"version": "3.40.5",
44
"description": "The professional publishing platform",
55
"author": "Ghost Foundation",
66
"homepage": "https://ghost.org",
@@ -49,7 +49,7 @@
4949
"@tryghost/errors": "0.2.6",
5050
"@tryghost/helpers": "1.1.35",
5151
"@tryghost/image-transform": "1.0.3",
52-
"@tryghost/job-manager": "0.6.0",
52+
"@tryghost/job-manager": "0.7.0",
5353
"@tryghost/kg-card-factory": "2.1.4",
5454
"@tryghost/kg-default-atoms": "2.0.2",
5555
"@tryghost/kg-default-cards": "3.0.1",
@@ -169,7 +169,7 @@
169169
"proxyquire": "2.1.3",
170170
"rewire": "5.0.0",
171171
"should": "13.2.3",
172-
"sinon": "9.2.2",
172+
"sinon": "9.2.3",
173173
"supertest": "6.0.1",
174174
"tmp": "0.0.33"
175175
},

0 commit comments

Comments
 (0)