Browse Source

Various improvements

pull/3725/head
Thomas Kaul 12 months ago
parent
commit
54915bfad4
  1. 4
      apps/api/src/app/admin/queue/queue.service.ts
  2. 2
      apps/api/src/app/redis-cache/redis-cache.service.mock.ts
  3. 8
      apps/api/src/services/portfolio-snapshot/portfolio-snapshot.module.ts
  4. 7
      apps/api/src/services/portfolio-snapshot/portfolio-snapshot.processor.ts

4
apps/api/src/app/admin/queue/queue.service.ts

@ -63,10 +63,8 @@ export class QueueService {
this.portfolioSnapshotQueue.getJobs(status) this.portfolioSnapshotQueue.getJobs(status)
]); ]);
const allJobs = [...dataGatheringJobs, ...portfolioSnapshotJobs];
const jobsWithState = await Promise.all( const jobsWithState = await Promise.all(
allJobs [...dataGatheringJobs, ...portfolioSnapshotJobs]
.filter((job) => { .filter((job) => {
return job; return job;
}) })

2
apps/api/src/app/redis-cache/redis-cache.service.mock.ts

@ -18,7 +18,7 @@ export const RedisCacheServiceMock = {
}): string => { }): string => {
const filtersHash = filters?.length; const filtersHash = filters?.length;
return `portfolio-snapshot-${userId}-${filtersHash}`; return `portfolio-snapshot-${userId}${filtersHash > 0 ? `-${filtersHash}` : ''}`;
}, },
set: (key: string, value: string, ttl?: Milliseconds): Promise<string> => { set: (key: string, value: string, ttl?: Milliseconds): Promise<string> => {
RedisCacheServiceMock.cache.set(key, value); RedisCacheServiceMock.cache.set(key, value);

8
apps/api/src/services/portfolio-snapshot/portfolio-snapshot.module.ts

@ -7,9 +7,6 @@ import { DataProviderModule } from '@ghostfolio/api/services/data-provider/data-
import { ExchangeRateDataModule } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.module'; import { ExchangeRateDataModule } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.module';
import { MarketDataModule } from '@ghostfolio/api/services/market-data/market-data.module'; import { MarketDataModule } from '@ghostfolio/api/services/market-data/market-data.module';
import { PortfolioSnapshotService } from '@ghostfolio/api/services/portfolio-snapshot/portfolio-snapshot.service'; import { PortfolioSnapshotService } from '@ghostfolio/api/services/portfolio-snapshot/portfolio-snapshot.service';
import { PrismaModule } from '@ghostfolio/api/services/prisma/prisma.module';
import { PropertyModule } from '@ghostfolio/api/services/property/property.module';
import { SymbolProfileModule } from '@ghostfolio/api/services/symbol-profile/symbol-profile.module';
import { PORTFOLIO_SNAPSHOT_QUEUE } from '@ghostfolio/common/config'; import { PORTFOLIO_SNAPSHOT_QUEUE } from '@ghostfolio/common/config';
import { BullModule } from '@nestjs/bull'; import { BullModule } from '@nestjs/bull';
@ -27,10 +24,7 @@ import { PortfolioSnapshotProcessor } from './portfolio-snapshot.processor';
ExchangeRateDataModule, ExchangeRateDataModule,
MarketDataModule, MarketDataModule,
OrderModule, OrderModule,
PrismaModule, RedisCacheModule
PropertyModule,
RedisCacheModule,
SymbolProfileModule
], ],
providers: [ providers: [
CurrentRateService, CurrentRateService,

7
apps/api/src/services/portfolio-snapshot/portfolio-snapshot.processor.ts

@ -34,6 +34,8 @@ export class PortfolioSnapshotProcessor {
job: Job<IPortfolioSnapshotQueueJob> job: Job<IPortfolioSnapshotQueueJob>
) { ) {
try { try {
const startTime = performance.now();
Logger.log( Logger.log(
`Portfolio snapshot calculation of user ${job.data.userId} has been started`, `Portfolio snapshot calculation of user ${job.data.userId} has been started`,
`PortfolioSnapshotProcessor (${PORTFOLIO_SNAPSHOT_PROCESS_JOB_NAME})` `PortfolioSnapshotProcessor (${PORTFOLIO_SNAPSHOT_PROCESS_JOB_NAME})`
@ -57,7 +59,10 @@ export class PortfolioSnapshotProcessor {
const snapshot = await portfolioCalculator.computeSnapshot(); const snapshot = await portfolioCalculator.computeSnapshot();
Logger.log( Logger.log(
`Portfolio snapshot calculation of user ${job.data.userId} has been completed`, `Portfolio snapshot calculation of user ${job.data.userId} has been completed in ${(
(performance.now() - startTime) /
1000
).toFixed(3)} seconds`,
`PortfolioSnapshotProcessor (${PORTFOLIO_SNAPSHOT_PROCESS_JOB_NAME})` `PortfolioSnapshotProcessor (${PORTFOLIO_SNAPSHOT_PROCESS_JOB_NAME})`
); );

Loading…
Cancel
Save