convert all remaining backend code to TimeService

This commit is contained in:
Hazelnoot 2025-10-01 20:26:18 -04:00
parent 9c96dca5a6
commit 3a92471b68
11 changed files with 74 additions and 46 deletions

View file

@ -11,6 +11,7 @@ import { DI } from '@/di-symbols.js';
import type Logger from '@/logger.js';
import { bindThis } from '@/decorators.js';
import { CheckModeratorsActivityProcessorService } from '@/queue/processors/CheckModeratorsActivityProcessorService.js';
import { TimeService } from '@/core/TimeService.js';
import { renderFullError } from '@/misc/render-full-error.js';
import { renderInlineError } from '@/misc/render-inline-error.js';
import { UserWebhookDeliverProcessorService } from './processors/UserWebhookDeliverProcessorService.js';
@ -61,10 +62,10 @@ function httpRelatedBackoff(attemptsMade: number) {
return backoff;
}
function getJobInfo(job: Bull.Job | undefined, increment = false): string {
function _getJobInfo(now: number, job: Bull.Job | undefined, increment = false): string {
if (job == null) return '-';
const age = Date.now() - job.timestamp;
const age = now - job.timestamp;
const formated = age > 60000 ? `${Math.floor(age / 1000 / 60)}m`
: age > 10000 ? `${Math.floor(age / 1000)}s`
@ -134,9 +135,15 @@ export class QueueProcessorService implements OnApplicationShutdown {
private checkModeratorsActivityProcessorService: CheckModeratorsActivityProcessorService,
private cleanProcessorService: CleanProcessorService,
private scheduleNotePostProcessorService: ScheduleNotePostProcessorService,
private readonly timeService: TimeService,
) {
this.logger = this.queueLoggerService.logger;
// This is just to avoid modifying all the existing code.
const getJobInfo = (job: Bull.Job | undefined, increment = false) => {
return _getJobInfo(this.timeService.now, job, increment);
};
//#region system
{
const processer = (job: Bull.Job) => {
@ -559,7 +566,7 @@ export class QueueProcessorService implements OnApplicationShutdown {
// Render job
if (job) {
parts.push('job [');
parts.push(getJobInfo(job));
parts.push(_getJobInfo(this.timeService.now, job));
parts.push('] failed: ');
} else {
parts.push('job failed: ');