summaryrefslogtreecommitdiff
path: root/src/queue/index.ts
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2019-02-06 15:01:43 +0900
committersyuilo <syuilotan@yahoo.co.jp>2019-02-06 15:01:43 +0900
commit9835945ee1088a2c89414e841e2048ed7f493ab6 (patch)
tree86940b1c2dbd5c46b56d544ed610e7f8ea6c0d89 /src/queue/index.ts
parentUpdate queue setting (diff)
downloadmisskey-9835945ee1088a2c89414e841e2048ed7f493ab6.tar.gz
misskey-9835945ee1088a2c89414e841e2048ed7f493ab6.tar.bz2
misskey-9835945ee1088a2c89414e841e2048ed7f493ab6.zip
Improve queue option
Diffstat (limited to 'src/queue/index.ts')
-rw-r--r--src/queue/index.ts40
1 files changed, 28 insertions, 12 deletions
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) {