diff options
| author | MeiMei <30769358+mei23@users.noreply.github.com> | 2019-03-09 08:57:55 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2019-03-09 08:57:55 +0900 |
| commit | c3344fbd68440d31d9e93fc260980558d6aed00a (patch) | |
| tree | 443465f4dc1bbf8bce47aa793a0ee053f366ae8f /src/queue/processors | |
| parent | Increase job attempts limit a little (diff) | |
| download | sharkey-c3344fbd68440d31d9e93fc260980558d6aed00a.tar.gz sharkey-c3344fbd68440d31d9e93fc260980558d6aed00a.tar.bz2 sharkey-c3344fbd68440d31d9e93fc260980558d6aed00a.zip | |
To retry AP deliver queue (#4457)
Diffstat (limited to 'src/queue/processors')
| -rw-r--r-- | src/queue/processors/deliver.ts | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/queue/processors/deliver.ts b/src/queue/processors/deliver.ts index b561f33181..4cb1cfc6bb 100644 --- a/src/queue/processors/deliver.ts +++ b/src/queue/processors/deliver.ts @@ -7,7 +7,7 @@ import instanceChart from '../../services/chart/instance'; let latest: string = null; -export default async (job: Bull.Job): Promise<void> => { +export default async (job: Bull.Job) => { const { host } = new URL(job.data.to); try { @@ -29,6 +29,8 @@ export default async (job: Bull.Job): Promise<void> => { instanceChart.requestSent(i.host, true); }); + + return 'Success'; } catch (res) { // Update stats registerOrFetchInstanceDoc(host).then(i => { @@ -46,15 +48,19 @@ export default async (job: Bull.Job): Promise<void> => { if (res != null && res.hasOwnProperty('statusCode')) { queueLogger.warn(`deliver failed: ${res.statusCode} ${res.statusMessage} to=${job.data.to}`); + // 4xx if (res.statusCode >= 400 && res.statusCode < 500) { // HTTPステータスコード4xxはクライアントエラーであり、それはつまり // 何回再送しても成功することはないということなのでエラーにはしないでおく - return; + return `${res.statusCode} ${res.statusMessage}`; } - return res.statusMessage; + // 5xx etc. + throw `${res.statusCode} ${res.statusMessage}`; } else { + // DNS error, socket error, timeout ... queueLogger.warn(`deliver failed: ${res} to=${job.data.to}`); + throw res; } } }; |