Browse Source

Merge 02eb054466 into f31fac76f9

pull/6784/merge
Thomas Kaul 3 days ago
committed by GitHub
parent
commit
7c46364c67
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 42
      apps/api/src/services/queues/statistics-gathering/statistics-gathering.processor.ts
  2. 2
      apps/api/src/services/queues/statistics-gathering/statistics-gathering.service.ts
  3. 4
      libs/common/src/lib/config.ts

42
apps/api/src/services/queues/statistics-gathering/statistics-gathering.processor.ts

@ -3,12 +3,14 @@ import { PropertyService } from '@ghostfolio/api/services/property/property.serv
import {
GATHER_STATISTICS_DOCKER_HUB_PULLS_PROCESS_JOB_NAME,
GATHER_STATISTICS_GITHUB_CONTRIBUTORS_PROCESS_JOB_NAME,
GATHER_STATISTICS_GITHUB_FORKS_PROCESS_JOB_NAME,
GATHER_STATISTICS_GITHUB_STARGAZERS_PROCESS_JOB_NAME,
GATHER_STATISTICS_UPTIME_PROCESS_JOB_NAME,
HEADER_KEY_TOKEN,
PROPERTY_BETTER_UPTIME_MONITOR_ID,
PROPERTY_DOCKER_HUB_PULLS,
PROPERTY_GITHUB_CONTRIBUTORS,
PROPERTY_GITHUB_FORKS,
PROPERTY_GITHUB_STARGAZERS,
PROPERTY_UPTIME,
STATISTICS_GATHERING_QUEUE
@ -71,6 +73,26 @@ export class StatisticsGatheringProcessor {
);
}
@Process(GATHER_STATISTICS_GITHUB_FORKS_PROCESS_JOB_NAME)
public async gatherGitHubForksStatistics() {
Logger.log(
'GitHub forks statistics gathering has been started',
'StatisticsGatheringProcessor'
);
const gitHubForks = await this.countGitHubForks();
await this.propertyService.put({
key: PROPERTY_GITHUB_FORKS,
value: String(gitHubForks)
});
Logger.log(
'GitHub forks statistics gathering has been completed',
'StatisticsGatheringProcessor'
);
}
@Process(GATHER_STATISTICS_GITHUB_STARGAZERS_PROCESS_JOB_NAME)
public async gatherGitHubStargazersStatistics() {
Logger.log(
@ -159,6 +181,26 @@ export class StatisticsGatheringProcessor {
}
}
private async countGitHubForks(): Promise<number> {
try {
const { forks_count } = (await fetch(
'https://api.github.com/repos/ghostfolio/ghostfolio',
{
headers: { 'User-Agent': 'request' },
signal: AbortSignal.timeout(
this.configurationService.get('REQUEST_TIMEOUT')
)
}
).then((res) => res.json())) as { forks_count: number };
return forks_count;
} catch (error) {
Logger.error(error, 'StatisticsGatheringProcessor - GitHub');
throw error;
}
}
private async countGitHubStargazers(): Promise<number> {
try {
const { stargazers_count } = (await fetch(

2
apps/api/src/services/queues/statistics-gathering/statistics-gathering.service.ts

@ -1,6 +1,7 @@
import {
GATHER_STATISTICS_DOCKER_HUB_PULLS_PROCESS_JOB_NAME,
GATHER_STATISTICS_GITHUB_CONTRIBUTORS_PROCESS_JOB_NAME,
GATHER_STATISTICS_GITHUB_FORKS_PROCESS_JOB_NAME,
GATHER_STATISTICS_GITHUB_STARGAZERS_PROCESS_JOB_NAME,
GATHER_STATISTICS_PROCESS_JOB_OPTIONS,
GATHER_STATISTICS_UPTIME_PROCESS_JOB_NAME,
@ -23,6 +24,7 @@ export class StatisticsGatheringService {
[
GATHER_STATISTICS_DOCKER_HUB_PULLS_PROCESS_JOB_NAME,
GATHER_STATISTICS_GITHUB_CONTRIBUTORS_PROCESS_JOB_NAME,
GATHER_STATISTICS_GITHUB_FORKS_PROCESS_JOB_NAME,
GATHER_STATISTICS_GITHUB_STARGAZERS_PROCESS_JOB_NAME,
GATHER_STATISTICS_UPTIME_PROCESS_JOB_NAME
].map((jobName) => {

4
libs/common/src/lib/config.ts

@ -200,6 +200,9 @@ export const GATHER_STATISTICS_DOCKER_HUB_PULLS_PROCESS_JOB_NAME =
export const GATHER_STATISTICS_GITHUB_CONTRIBUTORS_PROCESS_JOB_NAME =
'GATHER_STATISTICS_GITHUB_CONTRIBUTORS';
export const GATHER_STATISTICS_GITHUB_FORKS_PROCESS_JOB_NAME =
'GATHER_STATISTICS_GITHUB_FORKS';
export const GATHER_STATISTICS_GITHUB_STARGAZERS_PROCESS_JOB_NAME =
'GATHER_STATISTICS_GITHUB_STARGAZERS';
@ -234,6 +237,7 @@ export const PROPERTY_BENCHMARKS = 'BENCHMARKS';
export const PROPERTY_BETTER_UPTIME_MONITOR_ID = 'BETTER_UPTIME_MONITOR_ID';
export const PROPERTY_DOCKER_HUB_PULLS = 'DOCKER_HUB_PULLS';
export const PROPERTY_GITHUB_CONTRIBUTORS = 'GITHUB_CONTRIBUTORS';
export const PROPERTY_GITHUB_FORKS = 'GITHUB_FORKS';
export const PROPERTY_GITHUB_STARGAZERS = 'GITHUB_STARGAZERS';
export const PROPERTY_COUNTRIES_OF_SUBSCRIBERS = 'COUNTRIES_OF_SUBSCRIBERS';
export const PROPERTY_COUPONS = 'COUPONS';

Loading…
Cancel
Save