summaryrefslogtreecommitdiff
path: root/packages/backend/src/queue/processors/DeliverProcessorService.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/backend/src/queue/processors/DeliverProcessorService.ts')
-rw-r--r--packages/backend/src/queue/processors/DeliverProcessorService.ts23
1 files changed, 9 insertions, 14 deletions
diff --git a/packages/backend/src/queue/processors/DeliverProcessorService.ts b/packages/backend/src/queue/processors/DeliverProcessorService.ts
index 5a16496011..fc4c8bb814 100644
--- a/packages/backend/src/queue/processors/DeliverProcessorService.ts
+++ b/packages/backend/src/queue/processors/DeliverProcessorService.ts
@@ -133,23 +133,18 @@ export class DeliverProcessorService {
}
});
- if (res instanceof StatusError) {
+ if (res instanceof StatusError && !res.isRetryable) {
// 4xx
- if (!res.isRetryable) {
- // 相手が閉鎖していることを明示しているため、配送停止する
- if (job.data.isSharedInbox && res.statusCode === 410) {
- this.federatedInstanceService.fetchOrRegister(host).then(i => {
- this.federatedInstanceService.update(i.id, {
- suspensionState: 'goneSuspended',
- });
+ // 相手が閉鎖していることを明示しているため、配送停止する
+ if (job.data.isSharedInbox && res.statusCode === 410) {
+ this.federatedInstanceService.fetchOrRegister(host).then(i => {
+ this.federatedInstanceService.update(i.id, {
+ suspensionState: 'goneSuspended',
});
- throw new Bull.UnrecoverableError(`${host} is gone`);
- }
- throw new Bull.UnrecoverableError(`${res.statusCode} ${res.statusMessage}`);
+ });
+ throw new Bull.UnrecoverableError(`${host} is gone`);
}
-
- // 5xx etc.
- throw new Error(`${res.statusCode} ${res.statusMessage}`);
+ throw new Bull.UnrecoverableError(`${res.statusCode} ${res.statusMessage}`);
} else {
// DNS error, socket error, timeout ...
throw res;