From 9835945ee1088a2c89414e841e2048ed7f493ab6 Mon Sep 17 00:00:00 2001 From: syuilo Date: Wed, 6 Feb 2019 15:01:43 +0900 Subject: Improve queue option --- src/queue/index.ts | 40 ++++++++++++++++++++++++++++------------ 1 file changed, 28 insertions(+), 12 deletions(-) (limited to 'src/queue') diff --git a/src/queue/index.ts b/src/queue/index.ts index 54c0c13ae4..8105999b60 100644 --- a/src/queue/index.ts +++ b/src/queue/index.ts @@ -1,6 +1,7 @@ import * as Queue from 'bee-queue'; -import config from '../config'; +import * as httpSignature from 'http-signature'; +import config from '../config'; import { ILocalUser } from '../models/user'; import { program } from '../argv'; import handler from './processors'; @@ -31,10 +32,19 @@ function initializeQueue() { } } -export function createHttpJob(data: any) { - if (queueAvailable) { +export function deliver(user: ILocalUser, content: any, to: any) { + if (content == null) return; + + const data = { + type: 'deliver', + user, + content, + to + }; + + if (queueAvailable && !program.disableApQueue) { return queue.createJob(data) - .retries(3) + .retries(8) .backoff('exponential', 1000) .save(); } else { @@ -42,15 +52,21 @@ export function createHttpJob(data: any) { } } -export function deliver(user: ILocalUser, content: any, to: any) { - if (content == null) return; +export function processInbox(activity: any, signature: httpSignature.IParsedSignature) { + const data = { + type: 'processInbox', + activity: activity, + signature + }; - createHttpJob({ - type: 'deliver', - user, - content, - to - }); + if (queueAvailable && !program.disableApQueue) { + return queue.createJob(data) + .retries(3) + .backoff('exponential', 500) + .save(); + } else { + return handler({ data }, () => {}); + } } export function createExportNotesJob(user: ILocalUser) { -- cgit v1.2.3-freya