parent
33b22a323c
commit
c5cfbd99d0
2 changed files with 20 additions and 8 deletions
|
@ -63,6 +63,7 @@ You should also include the user name that made the change.
|
||||||
- Server: improve note scoring for featured notes @CyberRex0
|
- Server: improve note scoring for featured notes @CyberRex0
|
||||||
- Server: アンケート選択肢の文字数制限を緩和 @syuilo
|
- Server: アンケート選択肢の文字数制限を緩和 @syuilo
|
||||||
- Server: improve stats api performance @syuilo
|
- Server: improve stats api performance @syuilo
|
||||||
|
- Server: improve nodeinfo performance @syuilo
|
||||||
- Server: delete outdated notifications regularly to improve db performance @syuilo
|
- Server: delete outdated notifications regularly to improve db performance @syuilo
|
||||||
- Server: delete outdated hard-mutes regularly to improve db performance @syuilo
|
- Server: delete outdated hard-mutes regularly to improve db performance @syuilo
|
||||||
- Server: delete outdated notes of antenna regularly to improve db performance @syuilo
|
- Server: delete outdated notes of antenna regularly to improve db performance @syuilo
|
||||||
|
|
|
@ -8,6 +8,8 @@ import { MAX_NOTE_TEXT_LENGTH } from '@/const.js';
|
||||||
import { Cache } from '@/misc/cache.js';
|
import { Cache } from '@/misc/cache.js';
|
||||||
import { UserEntityService } from '@/core/entities/UserEntityService.js';
|
import { UserEntityService } from '@/core/entities/UserEntityService.js';
|
||||||
import { bindThis } from '@/decorators.js';
|
import { bindThis } from '@/decorators.js';
|
||||||
|
import NotesChart from '@/core/chart/charts/notes.js';
|
||||||
|
import UsersChart from '@/core/chart/charts/users.js';
|
||||||
import type { FastifyInstance, FastifyPluginOptions } from 'fastify';
|
import type { FastifyInstance, FastifyPluginOptions } from 'fastify';
|
||||||
|
|
||||||
const nodeinfo2_1path = '/nodeinfo/2.1';
|
const nodeinfo2_1path = '/nodeinfo/2.1';
|
||||||
|
@ -27,6 +29,8 @@ export class NodeinfoServerService {
|
||||||
|
|
||||||
private userEntityService: UserEntityService,
|
private userEntityService: UserEntityService,
|
||||||
private metaService: MetaService,
|
private metaService: MetaService,
|
||||||
|
private notesChart: NotesChart,
|
||||||
|
private usersChart: UsersChart,
|
||||||
) {
|
) {
|
||||||
//this.createServer = this.createServer.bind(this);
|
//this.createServer = this.createServer.bind(this);
|
||||||
}
|
}
|
||||||
|
@ -46,20 +50,27 @@ export class NodeinfoServerService {
|
||||||
public createServer(fastify: FastifyInstance, options: FastifyPluginOptions, done: (err?: Error) => void) {
|
public createServer(fastify: FastifyInstance, options: FastifyPluginOptions, done: (err?: Error) => void) {
|
||||||
const nodeinfo2 = async () => {
|
const nodeinfo2 = async () => {
|
||||||
const now = Date.now();
|
const now = Date.now();
|
||||||
|
|
||||||
|
const notesChart = await this.notesChart.getChart('hour', 1, null);
|
||||||
|
const localPosts = notesChart.local.total[0];
|
||||||
|
|
||||||
|
const usersChart = await this.usersChart.getChart('hour', 1, null);
|
||||||
|
const total = usersChart.local.total[0];
|
||||||
|
|
||||||
const [
|
const [
|
||||||
meta,
|
meta,
|
||||||
total,
|
//activeHalfyear,
|
||||||
activeHalfyear,
|
//activeMonth,
|
||||||
activeMonth,
|
|
||||||
localPosts,
|
|
||||||
] = await Promise.all([
|
] = await Promise.all([
|
||||||
this.metaService.fetch(true),
|
this.metaService.fetch(true),
|
||||||
this.usersRepository.count({ where: { host: IsNull() } }),
|
// 重い
|
||||||
this.usersRepository.count({ where: { host: IsNull(), lastActiveDate: MoreThan(new Date(now - 15552000000)) } }),
|
//this.usersRepository.count({ where: { host: IsNull(), lastActiveDate: MoreThan(new Date(now - 15552000000)) } }),
|
||||||
this.usersRepository.count({ where: { host: IsNull(), lastActiveDate: MoreThan(new Date(now - 2592000000)) } }),
|
//this.usersRepository.count({ where: { host: IsNull(), lastActiveDate: MoreThan(new Date(now - 2592000000)) } }),
|
||||||
this.notesRepository.count({ where: { userHost: IsNull() } }),
|
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
const activeHalfyear = null;
|
||||||
|
const activeMonth = null;
|
||||||
|
|
||||||
const proxyAccount = meta.proxyAccountId ? await this.userEntityService.pack(meta.proxyAccountId).catch(() => null) : null;
|
const proxyAccount = meta.proxyAccountId ? await this.userEntityService.pack(meta.proxyAccountId).catch(() => null) : null;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
|
Loading…
Reference in a new issue