Consolidate db connection logic

This commit is contained in:
MICHAEL JACKSON 2017-08-16 10:31:34 -07:00
parent 16cef63d2b
commit f542cdafcd
5 changed files with 17 additions and 42 deletions

View File

@ -2,25 +2,16 @@ const parseURL = require('url').parse
const invariant = require('invariant') const invariant = require('invariant')
const gunzip = require('gunzip-maybe') const gunzip = require('gunzip-maybe')
const ndjson = require('ndjson') const ndjson = require('ndjson')
const redis = require('redis')
const startOfDay = require('date-fns/start_of_day') const startOfDay = require('date-fns/start_of_day')
const addDays = require('date-fns/add_days') const addDays = require('date-fns/add_days')
const PackageURL = require('./PackageURL') const PackageURL = require('./PackageURL')
const CloudflareAPI = require('./CloudflareAPI') const cf = require('./CloudflareAPI')
const db = require('./RedisClient')
const { const {
createDayKey, createDayKey,
createHourKey createHourKey
} = require('./StatsServer') } = require('./StatsServer')
const RedisURL = process.env.OPENREDIS_URL
invariant(
RedisURL,
'Missing the $OPENREDIS_URL environment variable'
)
const db = redis.createClient(RedisURL)
/** /**
* Domains we want to analyze. * Domains we want to analyze.
*/ */
@ -35,11 +26,11 @@ const DomainNames = [
const LogWindowSeconds = 30 const LogWindowSeconds = 30
function getZones(domain) { function getZones(domain) {
return CloudflareAPI.getJSON(`/zones?name=${domain}`) return cf.getJSON(`/zones?name=${domain}`)
} }
function getLogs(zoneId, startTime, endTime) { function getLogs(zoneId, startTime, endTime) {
return CloudflareAPI.get( return cf.get(
`/zones/${zoneId}/logs/requests?start=${startTime}&end=${endTime}`, `/zones/${zoneId}/logs/requests?start=${startTime}&end=${endTime}`,
{ 'Accept-Encoding': 'gzip' } { 'Accept-Encoding': 'gzip' }
).then(function (res) { ).then(function (res) {

View File

@ -1,22 +1,13 @@
const redis = require('redis')
const addDays = require('date-fns/add_days') const addDays = require('date-fns/add_days')
const invariant = require('invariant') const invariant = require('invariant')
const CloudflareAPI = require('./CloudflareAPI') const cf = require('./CloudflareAPI')
const db = require('./RedisClient')
const { const {
createDayKey, createDayKey,
createHourKey, createHourKey,
createMinuteKey createMinuteKey
} = require('./StatsServer') } = require('./StatsServer')
const RedisURL = process.env.OPENREDIS_URL
invariant(
RedisURL,
'Missing the $OPENREDIS_URL environment variable'
)
const db = redis.createClient(RedisURL)
/** /**
* Domains we want to analyze. * Domains we want to analyze.
*/ */
@ -26,11 +17,11 @@ const DomainNames = [
] ]
function getZones(domain) { function getZones(domain) {
return CloudflareAPI.getJSON(`/zones?name=${domain}`) return cf.getJSON(`/zones?name=${domain}`)
} }
function getZoneAnalyticsDashboard(zoneId, since) { function getZoneAnalyticsDashboard(zoneId, since) {
return CloudflareAPI.getJSON(`/zones/${zoneId}/analytics/dashboard?since=${since}&continuous=true`) return cf.getJSON(`/zones/${zoneId}/analytics/dashboard?since=${since}&continuous=true`)
} }
const oneSecond = 1000 const oneSecond = 1000

View File

@ -1,8 +1,4 @@
const redis = require('redis') const db = require('./RedisClient')
const RedisURL = process.env.OPENREDIS_URL || 'redis://localhost:6379'
const db = redis.createClient(RedisURL)
function createKey(packageName) { function createKey(packageName) {
return 'packageInfo-' + packageName return 'packageInfo-' + packageName

7
server/RedisClient.js Normal file
View File

@ -0,0 +1,7 @@
const redis = require('redis')
const RedisURL = process.env.OPENREDIS_URL || process.env.REDIS_URL || 'redis://localhost:6379'
const client = redis.createClient(RedisURL)
module.exports = client

View File

@ -1,14 +1,4 @@
const redis = require('redis') const db = require('./RedisClient')
const invariant = require('invariant')
const RedisURL = process.env.OPENREDIS_URL
invariant(
RedisURL,
'Missing the $OPENREDIS_URL environment variable'
)
const db = redis.createClient(RedisURL)
const sumValues = (array) => const sumValues = (array) =>
array.reduce((memo, n) => memo + (parseInt(n, 10) || 0), 0) array.reduce((memo, n) => memo + (parseInt(n, 10) || 0), 0)