wip
This commit is contained in:
		
							parent
							
								
									06347cd71e
								
							
						
					
					
						commit
						7403f38fb4
					
				
					 9 changed files with 50 additions and 27 deletions
				
			
		| 
						 | 
				
			
			@ -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);
 | 
			
		||||
 | 
			
		||||
	/*
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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);
 | 
			
		||||
	}
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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}`);
 | 
			
		||||
	}
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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 });
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue