diff --git a/api/v1/controllers/subjects.js b/api/v1/controllers/subjects.js index b68ec4cdc8..58b59646b0 100644 --- a/api/v1/controllers/subjects.js +++ b/api/v1/controllers/subjects.js @@ -36,7 +36,8 @@ const sampleStoreFeature = require('../../../cache/sampleStore').constants.featureName; const jobType = require('../../../jobQueue/setup').jobType; const jobWrapper = require('../../../jobQueue/jobWrapper'); -const WORKER_TTL = 30000; +const jobSetup = require('../../../jobQueue/setup'); +const WORKER_TTL = 1000 * jobSetup.ttlForJobsSync; const ZERO = 0; /** diff --git a/config.js b/config.js index 2912f52b7f..19cc35bb0b 100644 --- a/config.js +++ b/config.js @@ -68,7 +68,8 @@ const replicaConfigLabel = 'REPLICAS'; // an array of read-only data base URLs const readReplicas = configUtil.getReadReplicas(pe, replicaConfigLabel); -const DEFAULT_JOB_QUEUE_TTL_SECONDS = 3600; +const DEFAULT_JOB_QUEUE_TTL_SECONDS_ASYNC = 3600; +const DEFAULT_JOB_QUEUE_TTL_SECONDS_SYNC = 25; // default set to 30 minutes const DEFAULT_JOB_REMOVAL_DELAY_SECONDS = 1800; @@ -87,7 +88,10 @@ const prioritizeJobsFrom = configUtil.csvToArray(pe.PRIORITIZE_JOBS_FROM); const deprioritizeJobsFrom = configUtil.csvToArray(pe.DEPRIORITIZE_JOBS_FROM); // set time to live for "kue" jobs -const JOB_QUEUE_TTL_SECONDS = pe.TTL_KUE_JOBS || DEFAULT_JOB_QUEUE_TTL_SECONDS; +const JOB_QUEUE_TTL_SECONDS_ASYNC = pe.TTL_KUE_JOBS_ASYNC + || DEFAULT_JOB_QUEUE_TTL_SECONDS_ASYNC; +const JOB_QUEUE_TTL_SECONDS_SYNC = pe.TTL_KUE_JOBS_SYNC + || DEFAULT_JOB_QUEUE_TTL_SECONDS_SYNC; // set time interval for enableQueueStatsActivityLogs const queueStatsActivityLogsInterval = 60000; @@ -233,7 +237,8 @@ module.exports = { checkTimeoutIntervalMillis: pe.CHECK_TIMEOUT_INTERVAL_MILLIS || DEFAULT_CHECK_TIMEOUT_INTERVAL_MILLIS, CACHE_EXPIRY_IN_SECS, - JOB_QUEUE_TTL_SECONDS, + JOB_QUEUE_TTL_SECONDS_ASYNC, + JOB_QUEUE_TTL_SECONDS_SYNC, JOB_REMOVAL_DELAY_SECONDS, deprioritizeJobsFrom, endpointToLimit, diff --git a/jobQueue/jobWrapper.js b/jobQueue/jobWrapper.js index d590c5ebb9..6fc803856d 100644 --- a/jobQueue/jobWrapper.js +++ b/jobQueue/jobWrapper.js @@ -25,7 +25,7 @@ const queueTimeActivityLogs = // ttl converted to milliseconds const TIME_TO_LIVE = - 1000 * jobSetup.ttlForJobs; // eslint-disable-line no-magic-numbers + 1000 * jobSetup.ttlForJobsAsync; // eslint-disable-line no-magic-numbers /* * The delay is introduced to avoid the job.id leakage. It can be any diff --git a/jobQueue/setup.js b/jobQueue/setup.js index 02df0387bd..ae2df48ffd 100644 --- a/jobQueue/setup.js +++ b/jobQueue/setup.js @@ -51,7 +51,8 @@ module.exports = { PERSIST_SAMPLE_STORE: 'PERSIST_SAMPLE_STORE', SAMPLE_TIMEOUT: 'SAMPLE_TIMEOUT', }, - ttlForJobs: conf.JOB_QUEUE_TTL_SECONDS, + ttlForJobsAsync: conf.JOB_QUEUE_TTL_SECONDS_ASYNC, + ttlForJobsSync: conf.JOB_QUEUE_TTL_SECONDS_SYNC, delayToRemoveJobs: conf.JOB_REMOVAL_DELAY_SECONDS, kue, }; // exports