diff options
| author | CyberRex <hspwinx86@gmail.com> | 2023-03-13 09:46:53 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-03-13 09:46:53 +0900 |
| commit | b18df999cdc1204a7c861a0d039d27ed73bb71d6 (patch) | |
| tree | 30d422daeb4bfad19bba5e33ae96ac2365411eb0 /packages/backend/src/queue | |
| parent | fix(frontend/XHome): fall back to user.uri if user.url does not exist (#10313) (diff) | |
| download | sharkey-b18df999cdc1204a7c861a0d039d27ed73bb71d6.tar.gz sharkey-b18df999cdc1204a7c861a0d039d27ed73bb71d6.tar.bz2 sharkey-b18df999cdc1204a7c861a0d039d27ed73bb71d6.zip | |
enhance(backend): 配送先が410 Goneで応答してきた場合配送停止するように (#10298)
* enhance(backend): 配送先が410 Goneで応答してきた場合配送停止するように
* Update CHANGELOG.md
Diffstat (limited to 'packages/backend/src/queue')
| -rw-r--r-- | packages/backend/src/queue/processors/DeliverProcessorService.ts | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/packages/backend/src/queue/processors/DeliverProcessorService.ts b/packages/backend/src/queue/processors/DeliverProcessorService.ts index 2a053a12e0..065501fe21 100644 --- a/packages/backend/src/queue/processors/DeliverProcessorService.ts +++ b/packages/backend/src/queue/processors/DeliverProcessorService.ts @@ -115,6 +115,18 @@ export class DeliverProcessorService { if (res instanceof StatusError) { // 4xx if (res.isClientError) { + // 相手が閉鎖していることを明示しているため、配送停止する + if (res.statusCode === 410) { + this.federatedInstanceService.fetch(host).then(i => { + this.instancesRepository.update(i.id, { + isSuspended: true, + }); + this.federatedInstanceService.updateCachePartial(host, { + isSuspended: true, + }); + }); + return `${host} is gone`; + } // HTTPステータスコード4xxはクライアントエラーであり、それはつまり // 何回再送しても成功することはないということなのでエラーにはしないでおく return `${res.statusCode} ${res.statusMessage}`; |