mirror of
				https://codeberg.org/yeentown/barkey.git
				synced 2025-11-03 23:14:13 +00:00 
			
		
		
		
	
							parent
							
								
									4982ea8f14
								
							
						
					
					
						commit
						d3b3426ebe
					
				
					 2 changed files with 35 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -100,6 +100,9 @@ async function workerMain() {
 | 
			
		|||
	// start server
 | 
			
		||||
	await require('./server').default();
 | 
			
		||||
 | 
			
		||||
	// start processor
 | 
			
		||||
	require('./queue').default();
 | 
			
		||||
 | 
			
		||||
	if (cluster.isWorker) {
 | 
			
		||||
		// Send a 'ready' message to parent process
 | 
			
		||||
		process.send('ready');
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,9 +1,34 @@
 | 
			
		|||
import * as Queue from 'bee-queue';
 | 
			
		||||
import config from '../config';
 | 
			
		||||
import http from './processors/http';
 | 
			
		||||
import { ILocalUser } from '../models/user';
 | 
			
		||||
import Logger from '../misc/logger';
 | 
			
		||||
 | 
			
		||||
const enableQueue = config.redis != null;
 | 
			
		||||
 | 
			
		||||
const queue = new Queue('misskey', {
 | 
			
		||||
	redis: {
 | 
			
		||||
		port: config.redis.port,
 | 
			
		||||
		host: config.redis.host,
 | 
			
		||||
		password: config.redis.pass
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	removeOnSuccess: true,
 | 
			
		||||
	removeOnFailure: true,
 | 
			
		||||
	getEvents: false,
 | 
			
		||||
	sendEvents: false,
 | 
			
		||||
	storeJobs: false
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
export function createHttpJob(data: any) {
 | 
			
		||||
	return http({ data }, () => {});
 | 
			
		||||
	if (enableQueue) {
 | 
			
		||||
		return queue.createJob(data)
 | 
			
		||||
			.retries(4)
 | 
			
		||||
			.backoff('exponential', 16384) // 16s
 | 
			
		||||
			.save();
 | 
			
		||||
	} else {
 | 
			
		||||
		return http({ data }, () => {});
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export function deliver(user: ILocalUser, content: any, to: any) {
 | 
			
		||||
| 
						 | 
				
			
			@ -18,3 +43,9 @@ export function deliver(user: ILocalUser, content: any, to: any) {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
export const queueLogger = new Logger('queue');
 | 
			
		||||
 | 
			
		||||
export default function() {
 | 
			
		||||
	if (enableQueue) {
 | 
			
		||||
		queue.process(128, http);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue