mirror of
https://github.com/DIYgod/RSSHub.git
synced 2025-12-02 18:18:06 +08:00
35 lines
1.1 KiB
JavaScript
35 lines
1.1 KiB
JavaScript
const app = require('./app');
|
|
const config = require('./config');
|
|
const fs = require('fs');
|
|
const logger = require('./utils/logger');
|
|
|
|
const cluster = require('cluster');
|
|
const numCPUs = require('os').cpus().length;
|
|
|
|
if (config.enableCluster && cluster.isMaster && process.env.NODE_ENV !== 'test' && process.env.NODE_ENV !== 'dev') {
|
|
for (let i = 0; i < numCPUs; i++) {
|
|
cluster.fork();
|
|
}
|
|
} else {
|
|
let server;
|
|
if (config.connect.socket) {
|
|
if (fs.existsSync(config.connect.socket)) {
|
|
fs.unlinkSync(config.connect.socket);
|
|
}
|
|
server = app.listen(config.connect.socket, parseInt(config.listenInaddrAny) ? null : '127.0.0.1');
|
|
logger.info('Listening Unix Socket ' + config.connect.socket);
|
|
process.on('SIGINT', () => {
|
|
fs.unlinkSync(config.connect.socket);
|
|
process.exit();
|
|
});
|
|
}
|
|
if (config.connect.port) {
|
|
server = app.listen(config.connect.port, parseInt(config.listenInaddrAny) ? null : '127.0.0.1');
|
|
logger.info('Listening Port ' + config.connect.port);
|
|
}
|
|
|
|
logger.info('🎉 RSSHub start! Cheers!');
|
|
|
|
module.exports = server;
|
|
}
|