Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions src/lib/queues/game-metrics/flush-metrics-queue-handler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,8 @@ export async function postFlushCheckMemberships(playerIds: string[]) {
const em = orm.em.fork() as EntityManager
try {
const players = await em.repo(Player).find({ id: { $in: playerIds } })
for (const player of players) {
await player.checkGroupMemberships(em.fork())
}
const promises = players.map((player) => player.checkGroupMemberships(em))
await Promise.all(promises)
} finally {
em.clear()
}
Expand Down
10 changes: 6 additions & 4 deletions src/services/api/event-api.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,14 @@ import Redis from 'ioredis'
import { FlushEventsQueueHandler } from '../../lib/queues/game-metrics/flush-events-queue-handler'
import PlayerAlias from '../../entities/player-alias'

export default class EventAPIService extends APIService {
private queueHandler: FlushEventsQueueHandler
let queueHandler: FlushEventsQueueHandler

export default class EventAPIService extends APIService {
constructor() {
super()
this.queueHandler = new FlushEventsQueueHandler()
if (!queueHandler) {
queueHandler = new FlushEventsQueueHandler()
}
}

@Route({
Expand Down Expand Up @@ -137,7 +139,7 @@ export default class EventAPIService extends APIService {
}
}
const eventsArray = Array.from(eventsMap.values())
await Promise.all(eventsArray.map((event) => this.queueHandler.add(event)))
await Promise.all(eventsArray.map((event) => queueHandler.add(event)))

// flush player meta props set by event.setProps()
await em.flush()
Expand Down
10 changes: 6 additions & 4 deletions src/services/api/game-stat-api.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,14 @@ import { pageValidation } from '../../lib/pagination/pageValidation'
import { DEFAULT_PAGE_SIZE } from '../../lib/pagination/itemsPerPage'
import { withResponseCache } from '../../lib/perf/responseCache'

export default class GameStatAPIService extends APIService {
private queueHandler: FlushStatSnapshotsQueueHandler
let queueHandler: FlushStatSnapshotsQueueHandler

export default class GameStatAPIService extends APIService {
constructor() {
super()
this.queueHandler = new FlushStatSnapshotsQueueHandler()
if (!queueHandler) {
queueHandler = new FlushStatSnapshotsQueueHandler()
}
}

@Route({
Expand Down Expand Up @@ -224,7 +226,7 @@ export default class GameStatAPIService extends APIService {
if (continuityDate) {
snapshot.createdAt = continuityDate
}
await this.queueHandler.add(snapshot)
await queueHandler.add(snapshot)
}

return {
Expand Down
Loading