Browse Source

Expose PROCESSOR_PORTFOLIO_SNAPSHOT_COMPUTATION_REMOVE_ON_FAIL environment variable

pull/7221/head
Thomas Kaul 2 months ago
parent
commit
26d6c69721
  1. 3
      apps/api/src/services/configuration/configuration.service.ts
  2. 1
      apps/api/src/services/interfaces/environment.interface.ts
  3. 9
      apps/api/src/services/queues/portfolio-snapshot/portfolio-snapshot.service.ts

3
apps/api/src/services/configuration/configuration.service.ts

@ -96,6 +96,9 @@ export class ConfigurationService {
PROCESSOR_PORTFOLIO_SNAPSHOT_COMPUTATION_CONCURRENCY: num({ PROCESSOR_PORTFOLIO_SNAPSHOT_COMPUTATION_CONCURRENCY: num({
default: DEFAULT_PROCESSOR_PORTFOLIO_SNAPSHOT_COMPUTATION_CONCURRENCY default: DEFAULT_PROCESSOR_PORTFOLIO_SNAPSHOT_COMPUTATION_CONCURRENCY
}), }),
PROCESSOR_PORTFOLIO_SNAPSHOT_COMPUTATION_REMOVE_ON_FAIL: bool({
default: true
}),
PROCESSOR_PORTFOLIO_SNAPSHOT_COMPUTATION_TIMEOUT: num({ PROCESSOR_PORTFOLIO_SNAPSHOT_COMPUTATION_TIMEOUT: num({
default: DEFAULT_PROCESSOR_PORTFOLIO_SNAPSHOT_COMPUTATION_TIMEOUT default: DEFAULT_PROCESSOR_PORTFOLIO_SNAPSHOT_COMPUTATION_TIMEOUT
}), }),

1
apps/api/src/services/interfaces/environment.interface.ts

@ -47,6 +47,7 @@ export interface Environment extends CleanedEnvAccessors {
PROCESSOR_GATHER_HISTORICAL_MARKET_DATA_CONCURRENCY: number; PROCESSOR_GATHER_HISTORICAL_MARKET_DATA_CONCURRENCY: number;
PROCESSOR_GATHER_STATISTICS_CONCURRENCY: number; PROCESSOR_GATHER_STATISTICS_CONCURRENCY: number;
PROCESSOR_PORTFOLIO_SNAPSHOT_COMPUTATION_CONCURRENCY: number; PROCESSOR_PORTFOLIO_SNAPSHOT_COMPUTATION_CONCURRENCY: number;
PROCESSOR_PORTFOLIO_SNAPSHOT_COMPUTATION_REMOVE_ON_FAIL: boolean;
PROCESSOR_PORTFOLIO_SNAPSHOT_COMPUTATION_TIMEOUT: number; PROCESSOR_PORTFOLIO_SNAPSHOT_COMPUTATION_TIMEOUT: number;
REDIS_DB: number; REDIS_DB: number;
REDIS_HOST: string; REDIS_HOST: string;

9
apps/api/src/services/queues/portfolio-snapshot/portfolio-snapshot.service.ts

@ -1,3 +1,4 @@
import { ConfigurationService } from '@ghostfolio/api/services/configuration/configuration.service';
import { PORTFOLIO_SNAPSHOT_COMPUTATION_QUEUE } from '@ghostfolio/common/config'; import { PORTFOLIO_SNAPSHOT_COMPUTATION_QUEUE } from '@ghostfolio/common/config';
import { InjectQueue } from '@nestjs/bull'; import { InjectQueue } from '@nestjs/bull';
@ -9,6 +10,7 @@ import { PortfolioSnapshotQueueJob } from './interfaces/portfolio-snapshot-queue
@Injectable() @Injectable()
export class PortfolioSnapshotService { export class PortfolioSnapshotService {
public constructor( public constructor(
private readonly configurationService: ConfigurationService,
@InjectQueue(PORTFOLIO_SNAPSHOT_COMPUTATION_QUEUE) @InjectQueue(PORTFOLIO_SNAPSHOT_COMPUTATION_QUEUE)
private readonly portfolioSnapshotQueue: Queue private readonly portfolioSnapshotQueue: Queue
) {} ) {}
@ -22,7 +24,12 @@ export class PortfolioSnapshotService {
name: string; name: string;
opts?: JobOptions; opts?: JobOptions;
}) { }) {
return this.portfolioSnapshotQueue.add(name, data, opts); return this.portfolioSnapshotQueue.add(name, data, {
...opts,
removeOnFail: this.configurationService.get(
'PROCESSOR_PORTFOLIO_SNAPSHOT_COMPUTATION_REMOVE_ON_FAIL'
)
});
} }
public async getJob(jobId: string) { public async getJob(jobId: string) {

Loading…
Cancel
Save