diff options
| author | Hazelnoot <acomputerdog@gmail.com> | 2025-05-22 12:27:54 -0400 |
|---|---|---|
| committer | Hazelnoot <acomputerdog@gmail.com> | 2025-06-06 22:20:17 -0400 |
| commit | 2cba0ada3cdf6b7ee37fa5c0b54134160be657a9 (patch) | |
| tree | 38f6b59f7c60eda90677bc178974f71c877afe0d /packages/backend/src/queue/processors/DeliverProcessorService.ts | |
| parent | render error cause in render-inline-error.ts (diff) | |
| download | sharkey-2cba0ada3cdf6b7ee37fa5c0b54134160be657a9.tar.gz sharkey-2cba0ada3cdf6b7ee37fa5c0b54134160be657a9.tar.bz2 sharkey-2cba0ada3cdf6b7ee37fa5c0b54134160be657a9.zip | |
more use of identifiable errors, improvements to inner error rendering, and more heuristics for is-retryable-error
Diffstat (limited to 'packages/backend/src/queue/processors/DeliverProcessorService.ts')
| -rw-r--r-- | packages/backend/src/queue/processors/DeliverProcessorService.ts | 23 |
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; |