summaryrefslogtreecommitdiff
path: root/src/queue
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-04-05 18:43:06 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-04-05 18:43:06 +0900
commit7403f38fb43b0ad747236061a591cbf94e198ba6 (patch)
treebcfb900e3b9b19fb5ce7928a5f075b5d16b02e1e /src/queue
parentwip (diff)
downloadsharkey-7403f38fb43b0ad747236061a591cbf94e198ba6.tar.gz
sharkey-7403f38fb43b0ad747236061a591cbf94e198ba6.tar.bz2
sharkey-7403f38fb43b0ad747236061a591cbf94e198ba6.zip
wip
Diffstat (limited to 'src/queue')
-rw-r--r--src/queue/index.ts8
-rw-r--r--src/queue/processors/http/deliver.ts9
-rw-r--r--src/queue/processors/http/index.ts16
-rw-r--r--src/queue/processors/http/report-github-failure.ts6
4 files changed, 30 insertions, 9 deletions
diff --git a/src/queue/index.ts b/src/queue/index.ts
index c8c436b18c..86600dc265 100644
--- a/src/queue/index.ts
+++ b/src/queue/index.ts
@@ -1,8 +1,12 @@
import { createQueue } from 'kue';
+import * as debug from 'debug';
+
import config from '../config';
import db from './processors/db';
import http from './processors/http';
+const log = debug('misskey:queue');
+
const queue = createQueue({
redis: {
port: config.redis.port,
@@ -12,6 +16,8 @@ const queue = createQueue({
});
export function createHttp(data) {
+ log(`HTTP job created: ${JSON.stringify(data)}`);
+
return queue
.create('http', data)
.attempts(16)
@@ -22,7 +28,7 @@ export function createDb(data) {
return queue.create('db', data);
}
-export function process() {
+export default function() {
queue.process('db', db);
/*
diff --git a/src/queue/processors/http/deliver.ts b/src/queue/processors/http/deliver.ts
index 1700063a5d..da7e8bc368 100644
--- a/src/queue/processors/http/deliver.ts
+++ b/src/queue/processors/http/deliver.ts
@@ -3,5 +3,12 @@ import * as kue from 'kue';
import request from '../../../remote/request';
export default async (job: kue.Job, done): Promise<void> => {
- await request(job.data.user, job.data.to, job.data.content);
+ try {
+ await request(job.data.user, job.data.to, job.data.content);
+ done();
+ } catch (e) {
+ console.warn(`deliver failed: ${e}`);
+
+ done(e);
+ }
};
diff --git a/src/queue/processors/http/index.ts b/src/queue/processors/http/index.ts
index 06c6b1d1aa..3d7d941b1a 100644
--- a/src/queue/processors/http/index.ts
+++ b/src/queue/processors/http/index.ts
@@ -3,9 +3,17 @@ import processInbox from './process-inbox';
import reportGitHubFailure from './report-github-failure';
const handlers = {
- deliver,
- processInbox,
- reportGitHubFailure,
+ deliver,
+ processInbox,
+ reportGitHubFailure
};
-export default (job, done) => handlers[job.data.type](job).then(() => done(), done);
+export default (job, done) => {
+ const handler = handlers[job.data.type];
+
+ if (handler) {
+ handler(job).then(() => done(), done);
+ } else {
+ console.warn(`Unknown job: ${job.data.type}`);
+ }
+};
diff --git a/src/queue/processors/http/report-github-failure.ts b/src/queue/processors/http/report-github-failure.ts
index 4f6f5ccee5..e747d062d3 100644
--- a/src/queue/processors/http/report-github-failure.ts
+++ b/src/queue/processors/http/report-github-failure.ts
@@ -1,6 +1,6 @@
import * as request from 'request-promise-native';
-import User from '../../models/user';
-const createPost = require('../../server/api/endpoints/posts/create');
+import User from '../../../models/user';
+import createPost from '../../../api/post/create';
export default async ({ data }) => {
const asyncBot = User.findOne({ _id: data.userId });
@@ -20,5 +20,5 @@ export default async ({ data }) => {
`**⚠️BUILD STILL FAILED⚠️**: ?[${data.message}](${data.htmlUrl})` :
`**🚨BUILD FAILED🚨**: →→→?[${data.message}](${data.htmlUrl})←←←`;
- createPost({ text }, await asyncBot);
+ createPost(await asyncBot, { text });
};