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…
	
	Add table
		Add a link
		
	
		Reference in a new issue