Finished exporter
This commit is contained in:
		
							
								
								
									
										13
									
								
								src/main.ts
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								src/main.ts
									
									
									
									
									
								
							@@ -1,7 +1,8 @@
 | 
			
		||||
import compression from 'compression';
 | 
			
		||||
import cors from 'cors';
 | 
			
		||||
import express from 'express';
 | 
			
		||||
import http from 'node:http';
 | 
			
		||||
import * as process from 'node:process';
 | 
			
		||||
import process from 'node:process';
 | 
			
		||||
import {environment} from './environment';
 | 
			
		||||
import {errorHandler, errorMiddleware} from './error.middleware';
 | 
			
		||||
import {loggerMiddleware} from './logger.middleware';
 | 
			
		||||
@@ -11,6 +12,7 @@ if(!environment.tickers.length) throw new Error('Please provide a CSV list of ti
 | 
			
		||||
 | 
			
		||||
const app = express();
 | 
			
		||||
const httpServer: http.Server = http.createServer(app);
 | 
			
		||||
app.use(cors({origin: '*'}))
 | 
			
		||||
app.use(compression());
 | 
			
		||||
app.use(loggerMiddleware);
 | 
			
		||||
 | 
			
		||||
@@ -21,7 +23,7 @@ let shuttingDown = false;
 | 
			
		||||
		if(shuttingDown) return; // Already shutting down
 | 
			
		||||
		shuttingDown = true;
 | 
			
		||||
		console.warn(`${signal} Received, shutting down...`);
 | 
			
		||||
		httpServer.close(() => setTimeout(() => process.exit(128 + value), 1000));
 | 
			
		||||
		httpServer.close(() => process.exit(128 + value));
 | 
			
		||||
	});
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
@@ -30,11 +32,8 @@ app.get('/', errorHandler(async (req, res) => {
 | 
			
		||||
		fetch(`https://finnhub.io/api/v1/quote?symbol=${ticker}&token=${environment.token}`)
 | 
			
		||||
			.then(resp => resp.json())));
 | 
			
		||||
 | 
			
		||||
// 	const metrics = results.map(r => `# HELP stock_price_${result.symbol} Stock price for ${result.symbol}
 | 
			
		||||
// # TYPE stock_price_${result.symbol} gauge
 | 
			
		||||
// stock_price_${result.symbol} ${result.c}`).join('\n');
 | 
			
		||||
	const metrics = JSON.stringify(results);
 | 
			
		||||
 | 
			
		||||
	let metrics = '# HELP stock_price Current stock price\n# TYPE stock_price gauge\n';
 | 
			
		||||
	metrics += results.map((r, i) => `stock_price{ticker="${environment.tickers[i]}"} ${r.c}`).join('\n');
 | 
			
		||||
	res.contentType('text/plain').send(metrics);
 | 
			
		||||
}));
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user