clock on data process, ready for v1
This commit is contained in:
+11
-10
@@ -1,23 +1,24 @@
|
||||
import { Router } from 'express'
|
||||
import serverWeapons from './serverWeapons'
|
||||
import playerWeapons from './playerWeapons'
|
||||
import serverPlayers from './serverPlayers'
|
||||
import player from './player'
|
||||
import serverWeapons from './routes/serverWeapons'
|
||||
import playerWeapons from './routes/playerWeapons'
|
||||
import serverPlayers from './routes/serverPlayers'
|
||||
import serverList from './routes/serverList'
|
||||
import player from './routes/player'
|
||||
const router = Router()
|
||||
//timeout middleware ?
|
||||
router.get('/*', (req, res, next) => {
|
||||
next()
|
||||
})
|
||||
|
||||
router.get('/weapons/', (req, res, next) => {})
|
||||
//router.get('/weapons/', (req, res, next) => {})
|
||||
|
||||
router.get('/maps/', (req, res, next) => {})
|
||||
//router.get('/maps/', (req, res, next) => {})
|
||||
|
||||
router.get('/players', (req, res, next) => {})
|
||||
router.get('/players/:playerId', (req, res, next) => {})
|
||||
//router.get('/players', (req, res, next) => {})
|
||||
//router.get('/players/:playerId', (req, res, next) => {})
|
||||
|
||||
router.get('/servers/', (req, res, next) => {})
|
||||
router.get('/servers/:serverId/', (req, res, next) => {})
|
||||
router.get('/servers/', serverList)
|
||||
//router.get('/servers/:serverId/', (req, res, next) => {})
|
||||
router.get('/servers/:serverId/players', serverPlayers)
|
||||
router.get('/servers/:serverId/players/:playerId', player)
|
||||
router.get('/servers/:serverId/players/:playerId/weapons', playerWeapons)
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
import db from '../db/db'
|
||||
import cache from '../cache/redis'
|
||||
import { processServerPlayers } from './routes/serverPlayers'
|
||||
import { processServerWeapons } from './routes/serverWeapons'
|
||||
import { processPlayerWeapons } from './routes/playerWeapons'
|
||||
import { processPlayerReport } from './routes/player'
|
||||
|
||||
async function processAll() {
|
||||
const servers = await db.selectFrom('server').selectAll().execute()
|
||||
const promises: Promise<any>[] = []
|
||||
servers.forEach((e) => {
|
||||
promises.push(processServer(e.id))
|
||||
})
|
||||
await Promise.all(promises)
|
||||
setTimeout(processAll, 60000)
|
||||
}
|
||||
|
||||
async function processServer(server: number) {
|
||||
await processServerPlayers(server)
|
||||
const promises: Promise<any>[] = []
|
||||
promises.push(processServerWeapons(server))
|
||||
const players = await cache.SMEMBERS(`servers:${server}:players`)
|
||||
players.forEach((player) => {
|
||||
promises.push(processPlayer(server, Number(player)))
|
||||
})
|
||||
await Promise.all(promises)
|
||||
}
|
||||
|
||||
async function processPlayer(server: number, player: number) {
|
||||
const promises: Promise<any>[] = []
|
||||
promises.push(processPlayerWeapons(server, player))
|
||||
promises.push(processPlayerReport(server, player))
|
||||
}
|
||||
|
||||
export default processAll
|
||||
@@ -1,9 +1,9 @@
|
||||
import { RequestHandler } from 'express'
|
||||
import { param } from 'express-validator'
|
||||
import { validateErrors } from '../common'
|
||||
import cache from '../cache/redis'
|
||||
import { validateErrors } from '../../common'
|
||||
import cache from '../../cache/redis'
|
||||
import { sql } from 'kysely'
|
||||
import db from '../db/db'
|
||||
import db from '../../db/db'
|
||||
import { getPlayerWeapons } from './playerWeapons'
|
||||
|
||||
const { count, max, min, avg } = db.fn
|
||||
@@ -14,7 +14,7 @@ const middlewares: RequestHandler[] = [
|
||||
async (req, res) => {
|
||||
const server = Number(req.params.serverId)
|
||||
const player = Number(req.params.playerId)
|
||||
await processPlayerReport(server, player)
|
||||
//await processPlayerReport(server, player)
|
||||
const data = await getPlayerReport(server, player)
|
||||
const weapons = await getPlayerWeapons(server, player)
|
||||
res.status(200).send({ ...data, weapons })
|
||||
@@ -27,7 +27,7 @@ async function getPlayerReport(server: number, player: number) {
|
||||
return data
|
||||
}
|
||||
|
||||
async function processPlayerReport(server: number, player: number) {
|
||||
export async function processPlayerReport(server: number, player: number) {
|
||||
let last_entry =
|
||||
Number(
|
||||
await cache.HGET(`servers:${server}:players:${player}`, 'last_entry')
|
||||
@@ -85,7 +85,6 @@ async function processPlayerReport(server: number, player: number) {
|
||||
.orderBy('kills', 'desc')
|
||||
.execute()
|
||||
//if no new kills
|
||||
console.log(newData)
|
||||
if (newData.length == 0) {
|
||||
return
|
||||
}
|
||||
@@ -96,7 +95,7 @@ async function processPlayerReport(server: number, player: number) {
|
||||
cache.HSET(
|
||||
`servers:${server}:players:${player}`,
|
||||
key.toString(),
|
||||
value.toString()
|
||||
(value || '').toString()
|
||||
)
|
||||
)
|
||||
})
|
||||
@@ -1,9 +1,9 @@
|
||||
import { RequestHandler } from 'express'
|
||||
import { param } from 'express-validator'
|
||||
import { validateErrors } from '../common'
|
||||
import cache from '../cache/redis'
|
||||
import { validateErrors } from '../../common'
|
||||
import cache from '../../cache/redis'
|
||||
import { sql } from 'kysely'
|
||||
import db from '../db/db'
|
||||
import db from '../../db/db'
|
||||
|
||||
const { count, max, avg } = db.fn
|
||||
|
||||
@@ -13,7 +13,7 @@ const middlewares: RequestHandler[] = [
|
||||
async (req, res) => {
|
||||
const server = Number(req.params.serverId)
|
||||
const player = Number(req.params.playerId)
|
||||
await processPlayerWeapons(server, player)
|
||||
//await processPlayerWeapons(server, player)
|
||||
const data = await getPlayerWeapons(server, player)
|
||||
res.status(200).send(data)
|
||||
}
|
||||
@@ -51,7 +51,7 @@ export async function getPlayerWeapons(server: number, player: number) {
|
||||
return data
|
||||
}
|
||||
|
||||
async function processPlayerWeapons(server: number, player: number) {
|
||||
export async function processPlayerWeapons(server: number, player: number) {
|
||||
let last_entry =
|
||||
Number(
|
||||
await cache.HGET(
|
||||
@@ -0,0 +1,17 @@
|
||||
import { RequestHandler } from 'express'
|
||||
import { param } from 'express-validator'
|
||||
import { validateErrors } from '../../common'
|
||||
import db from '../../db/db'
|
||||
|
||||
const middlewares: RequestHandler[] = [
|
||||
async (req, res) => {
|
||||
const data = await db.selectFrom('server').selectAll().execute()
|
||||
res.status(200).send(
|
||||
data.map((e) => {
|
||||
return { name: e.name, id: e.id, description: e.description }
|
||||
})
|
||||
)
|
||||
}
|
||||
]
|
||||
|
||||
export default middlewares
|
||||
@@ -1,9 +1,9 @@
|
||||
import { RequestHandler } from 'express'
|
||||
import { param } from 'express-validator'
|
||||
import { validateErrors } from '../common'
|
||||
import cache from '../cache/redis'
|
||||
import { validateErrors } from '../../common'
|
||||
import cache from '../../cache/redis'
|
||||
import { sql } from 'kysely'
|
||||
import db from '../db/db'
|
||||
import db from '../../db/db'
|
||||
|
||||
const { count, max } = db.fn
|
||||
|
||||
@@ -12,7 +12,7 @@ const middlewares: RequestHandler[] = [
|
||||
validateErrors,
|
||||
async (req, res) => {
|
||||
const server = Number(req.params.serverId)
|
||||
await processServerPlayers(server)
|
||||
//await processServerPlayers(server)
|
||||
let data = await getServerPlayers(server)
|
||||
res.status(200).send(data)
|
||||
}
|
||||
@@ -40,7 +40,7 @@ async function getServerPlayers(server: number) {
|
||||
return data
|
||||
}
|
||||
|
||||
async function processServerPlayers(server: number) {
|
||||
export async function processServerPlayers(server: number) {
|
||||
let last_entry =
|
||||
Number(await cache.GET(`servers:${server}:players:last_entry`)) || 0
|
||||
const newData = await db
|
||||
@@ -1,9 +1,9 @@
|
||||
import { RequestHandler } from 'express'
|
||||
import { param } from 'express-validator'
|
||||
import { validateErrors } from '../common'
|
||||
import cache from '../cache/redis'
|
||||
import { validateErrors } from '../../common'
|
||||
import cache from '../../cache/redis'
|
||||
import { sql } from 'kysely'
|
||||
import db from '../db/db'
|
||||
import db from '../../db/db'
|
||||
|
||||
const { count, max, avg } = db.fn
|
||||
|
||||
@@ -12,7 +12,7 @@ const middlewares: RequestHandler[] = [
|
||||
validateErrors,
|
||||
async (req, res) => {
|
||||
const server = Number(req.params.serverId)
|
||||
await processServerWeapons(server)
|
||||
//await processServerWeapons(server)
|
||||
const data = await getServerWeapons(server)
|
||||
res.status(200).send(data)
|
||||
}
|
||||
@@ -43,7 +43,7 @@ export async function getServerWeapons(server: number) {
|
||||
return data
|
||||
}
|
||||
|
||||
async function processServerWeapons(server: number) {
|
||||
export async function processServerWeapons(server: number) {
|
||||
let last_entry =
|
||||
Number(await cache.HGET(`servers:${server}:weapons`, 'last_entry')) || 0
|
||||
const newData = await db
|
||||
Reference in New Issue
Block a user