summaryrefslogtreecommitdiff
path: root/packages/backend/src/queue/processors/DeliverProcessorService.ts
diff options
context:
space:
mode:
authorHazelnoot <acomputerdog@gmail.com>2025-05-22 12:27:54 -0400
committerHazelnoot <acomputerdog@gmail.com>2025-06-06 22:20:17 -0400
commit2cba0ada3cdf6b7ee37fa5c0b54134160be657a9 (patch)
tree38f6b59f7c60eda90677bc178974f71c877afe0d /packages/backend/src/queue/processors/DeliverProcessorService.ts
parentrender error cause in render-inline-error.ts (diff)
downloadsharkey-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.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;