diff --git a/config/default.js b/config/default.js index 247b323512d9293759e4487cf9968049b0c3edcf..77937ab042f7ad1eed6cc7b111df824ba744df8f 100644 --- a/config/default.js +++ b/config/default.js @@ -22,6 +22,7 @@ module.exports = { }, tempFolderPath: path.join(process.cwd(), 'temp'), useFileStorage: true, + useJobQueue: true, }, pubsweet: { components, diff --git a/src/app.js b/src/app.js index d1d829199c02e29c0dd84acd53288c247b81c9f9..1cd4da8b5ff100fbac669020abc1f8d1d8df55a0 100644 --- a/src/app.js +++ b/src/app.js @@ -21,7 +21,6 @@ const registerComponents = require('./registerComponents') const healthcheck = require('./healthcheck') const createCORSConfig = require('./corsConfig') const { connectToFileStorage } = require('./services/fileStorage') -const { subscribeJobsToQueue } = require('./jobs') const configureApp = app => { const models = require('@pubsweet/models') @@ -159,7 +158,7 @@ const configureApp = app => { } if (useJobQueue) { - const { startJobQueue } = require('./jobs') + const { startJobQueue, subscribeJobsToQueue } = require('./jobs') await startJobQueue() // Manage job queue await subscribeJobsToQueue() // Subscribe job callbacks to the queue } diff --git a/src/index.js b/src/index.js index ad917fc3abc7b3a49f1867e9806783de0df8da7c..dc1ac6b10cf387a806b951bfa0818fc7a191800c 100644 --- a/src/index.js +++ b/src/index.js @@ -10,9 +10,9 @@ const authentication = require('./authentication') const { File } = require('./models') const { createFile, deleteFiles } = require('./models/file/file.controller') +const { boss, connectToJobQueue } = require('./jobs') const app = require('./app') const startServer = require('./startServer') -const { boss, connectToJobQueue } = require('./jobs') const { BaseModel, useTransaction } = require('./models') const modelTypes = require('./models/_helpers/types') diff --git a/src/jobs.js b/src/jobs.js index 417301ef059f0046f39cdc97d0ae785823e28e99..80abb423ad575bdbd11f906ccdc0d8bd0f656c97 100644 --- a/src/jobs.js +++ b/src/jobs.js @@ -3,7 +3,7 @@ const logger = require('@pubsweet/logger') const db = require('@pubsweet/db-manager/src/db') const pubsubManager = require('./graphql/pubsub') -const { jobs } = require('./services') +const { REFRESH_TOKEN_EXPIRED } = require('./services/jobs/jobs.identifiers') const { subscriptions: { USER_UPDATED }, @@ -150,7 +150,7 @@ const defaultJobs = [ // }, // }, { - name: jobs.REFRESH_TOKEN_EXPIRED, + name: REFRESH_TOKEN_EXPIRED, callback: async job => { try { const pubsub = await pubsubManager.getPubsub() @@ -163,7 +163,7 @@ const defaultJobs = [ }) job.done() } catch (e) { - logger.error(`Job ${jobs.REFRESH_TOKEN_EXPIRED}: defer error:`, e) + logger.error(`Job ${REFRESH_TOKEN_EXPIRED}: defer error:`, e) throw e } }, diff --git a/src/models/user/user.controller.js b/src/models/user/user.controller.js index 4475ae097814438403804359d89389d3a1403240..67d777a13539cc1f29eaed57f76b017278ceb8c5 100644 --- a/src/models/user/user.controller.js +++ b/src/models/user/user.controller.js @@ -27,10 +27,11 @@ const { requestResetPasswordEmailNotFound, } = require('../_helpers/emailTemplates') +const notify = require('../../services/notify') + const { - notify, notificationTypes: { EMAIL }, -} = require('../../services') +} = require('../../services/constants') const { labels: { USER_CONTROLLER }, diff --git a/src/services/__tests__/jobs.service.test.js b/src/services/__tests__/jobs.service.test.js index 37095a0e5fff34f3617f0621cdd2f0bb42ad3271..94cb9d12f75f099a0b9342b0e3766f057fa92e3e 100644 --- a/src/services/__tests__/jobs.service.test.js +++ b/src/services/__tests__/jobs.service.test.js @@ -1,9 +1,9 @@ -const { boss } = require('../jobs') +const { boss } = require('../../jobs') const { defer: deferJob } = require('../jobs') // Mock boss.<publish, subscribe> -jest.mock('../jobs', () => { - const originalModule = jest.requireActual('../jobs') +jest.mock('../../jobs', () => { + const originalModule = jest.requireActual('../../jobs') return { __esModule: true, ...originalModule,