This commit is contained in:
syuilo
2018-04-05 18:43:06 +09:00
parent 06347cd71e
commit 7403f38fb4
9 changed files with 50 additions and 27 deletions

View File

@ -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);
/*

View File

@ -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);
}
};

View File

@ -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}`);
}
};

View File

@ -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 });
};