Skip to content

Commit df3cf15

Browse files
committed
feat(scheduler): prepare future fetaure work
1 parent 69591a5 commit df3cf15

File tree

3 files changed

+12
-7
lines changed

3 files changed

+12
-7
lines changed

index.js

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ const Queue = require('promise-queue')
1111
const env = require('./lib/env')
1212
const dbs = require('./lib/dbs')
1313
const statsd = require('./lib/statsd')
14+
const { connect, cron } = require('./lib/scheduler')
1415
const enterpriseSetup = require('./lib/enterprise-setup')
1516

1617
require('./lib/rollbar')
@@ -62,11 +63,12 @@ require('./lib/rollbar')
6263
const q = queues[queueId] = queues[queueId] || new Queue(1, Infinity)
6364
return q.add(() => worker(job))
6465
}
65-
channel.consume(env.EVENTS_QUEUE_NAME, consume)
66-
channel.consume(env.JOBS_QUEUE_NAME, consume)
66+
67+
// connect queues with consume function
68+
connect(channel, consume)
6769

6870
if (env.NODE_ENV !== 'testing') {
69-
setInterval(function collectAccountQueueStats () {
71+
cron('collectAccountQueueStats', function collectAccountQueueStats () {
7072
const queueKeys = Object.keys(queues)
7173
statsd.gauge('queues.account-jobs', queueKeys.length)
7274
queueKeys.map((queueId) => {
@@ -96,9 +98,10 @@ require('./lib/rollbar')
9698
console.log(e)
9799
}
98100
}
101+
99102
setTimeout(scheduleReminders, 5000)
100-
setInterval(scheduleReminders, 24 * 60 * 60 * 1000)
101-
setInterval(scheduleMonorepoReleaseSupervisor, 5 * 60 * 1000)
103+
cron('reminders', scheduleReminders, 24 * 60 * 60 * 1000)
104+
cron('monorepoReleaseSupervisor', scheduleMonorepoReleaseSupervisor, 5 * 60 * 1000)
102105

103106
const isBad = (data) => {
104107
const values = Object.values(data)

lib/get-infos.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ const githubFromGit = require('github-url-from-git')
66
const getRelease = require('./get-release')
77
const getDiffCommits = require('./get-diff-commits')
88
const statsd = require('../lib/statsd')
9+
const { cron } = require('../lib/scheduler')
910

1011
// returns a url object if you pass in a GitHub repositoryURL,
1112
// returns a string with an npm URL if you just pass in a dependency name
@@ -70,7 +71,7 @@ function resolver ({ dependency, version, diffBase }) {
7071
const memoizedGetInfos = _.memoize(getInfos, resolver)
7172

7273
if (process.env.NODE_ENV !== 'testing') {
73-
setInterval(() => {
74+
cron('get-info:stats', () => {
7475
statsd.gauge('get_infos_cached', memoizedGetInfos.cache.size)
7576
}, 60000)
7677
}

lib/github-queue.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ const Log = require('gk-log')
66
const statsd = require('./statsd')
77
const getToken = require('./get-token')
88
const Github = require('../lib/github')
9+
const { cron } = require('../lib/scheduler')
910

1011
const readQueues = {}
1112
const writeQueues = {}
@@ -132,7 +133,7 @@ function read (installationId, gen) {
132133
}
133134

134135
if (env.NODE_ENV !== 'testing') {
135-
setInterval(
136+
cron('github-queue:stats',
136137
function collectGitHubQueueStats () {
137138
const readQueueKeys = Object.keys(readQueues)
138139
const writeQueueKeys = Object.keys(writeQueues)

0 commit comments

Comments
 (0)