feat: improve federation chart
This commit is contained in:
19
packages/backend/migration/1644331238153-chart-v13.js
Normal file
19
packages/backend/migration/1644331238153-chart-v13.js
Normal file
@ -0,0 +1,19 @@
|
||||
const { MigrationInterface, QueryRunner } = require("typeorm");
|
||||
|
||||
module.exports = class chartV131644331238153 {
|
||||
name = 'chartV131644331238153'
|
||||
|
||||
async up(queryRunner) {
|
||||
await queryRunner.query(`ALTER TABLE "__chart__federation" ADD "unique_temp___stalled" character varying array NOT NULL DEFAULT '{}'`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__federation" ADD "___stalled" smallint NOT NULL DEFAULT '0'`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart_day__federation" ADD "unique_temp___stalled" character varying array NOT NULL DEFAULT '{}'`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart_day__federation" ADD "___stalled" smallint NOT NULL DEFAULT '0'`);
|
||||
}
|
||||
|
||||
async down(queryRunner) {
|
||||
await queryRunner.query(`ALTER TABLE "__chart_day__federation" DROP COLUMN "___stalled"`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart_day__federation" DROP COLUMN "unique_temp___stalled"`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__federation" DROP COLUMN "___stalled"`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__federation" DROP COLUMN "unique_temp___stalled"`);
|
||||
}
|
||||
}
|
@ -62,7 +62,7 @@ export default async (job: Bull.Job<DeliverJobData>) => {
|
||||
|
||||
instanceChart.requestSent(i.host, true);
|
||||
apRequestChart.deliverSucc();
|
||||
federationChart.deliverd(i.host);
|
||||
federationChart.deliverd(i.host, true);
|
||||
});
|
||||
|
||||
return 'Success';
|
||||
@ -77,6 +77,7 @@ export default async (job: Bull.Job<DeliverJobData>) => {
|
||||
|
||||
instanceChart.requestSent(i.host, false);
|
||||
apRequestChart.deliverFail();
|
||||
federationChart.deliverd(i.host, false);
|
||||
});
|
||||
|
||||
if (res instanceof StatusError) {
|
||||
|
@ -8,6 +8,7 @@ export const schema = {
|
||||
'instance.dec': { range: 'small' },
|
||||
'deliveredInstances': { uniqueIncrement: true, range: 'small' },
|
||||
'inboxInstances': { uniqueIncrement: true, range: 'small' },
|
||||
'stalled': { uniqueIncrement: true, range: 'small' },
|
||||
} as const;
|
||||
|
||||
export const entity = Chart.schemaToEntity(name, schema);
|
||||
|
@ -33,9 +33,11 @@ export default class FederationChart extends Chart<typeof schema> {
|
||||
}
|
||||
|
||||
@autobind
|
||||
public async deliverd(host: string): Promise<void> {
|
||||
await this.commit({
|
||||
public async deliverd(host: string, succeeded: boolean): Promise<void> {
|
||||
await this.commit(succeeded ? {
|
||||
'deliveredInstances': [host],
|
||||
} : {
|
||||
'stalled': [host],
|
||||
});
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user