修复 shell 变量初始化检查,更新 sentry 版本

This commit is contained in:
whyour
2024-08-18 14:19:45 +08:00
parent a743aa8115
commit af5de8372c
14 changed files with 799 additions and 144 deletions
+1 -2
View File
@@ -1,3 +1,4 @@
import './loaders/sentry'
import 'reflect-metadata'; // We need this in order to use @Decorators
import config from './config';
import express from 'express';
@@ -10,8 +11,6 @@ async function startServer() {
await require('./loaders/initFile').default();
await require('./loaders/sentry').default({ expressApp: app });
await require('./loaders/app').default({ expressApp: app });
const server = app
+1 -1
View File
@@ -461,7 +461,7 @@ export async function parseVersion(path: string): Promise<IVersion> {
return load(await fs.readFile(path, 'utf8')) as IVersion;
}
export async function parseContentVersion(content: string): Promise<IVersion> {
export function parseContentVersion(content: string): IVersion {
return load(content) as IVersion;
}
+2 -2
View File
@@ -133,6 +133,8 @@ export default ({ app }: { app: Application }) => {
app.use(errors());
Sentry.setupExpressErrorHandler(app);
app.use(
(
err: Error & { status: number },
@@ -178,8 +180,6 @@ export default ({ app }: { app: Application }) => {
res: Response,
next: NextFunction,
) => {
Sentry.captureException(err);
res.status(err.status || 500);
res.json({
code: err.status || 500,
+22 -26
View File
@@ -1,32 +1,28 @@
import { Application } from 'express';
import * as Sentry from '@sentry/node';
import { nodeProfilingIntegration } from '@sentry/profiling-node';
import Logger from './logger';
import config from '../config';
import fs from 'fs';
import { parseVersion } from '../config/util';
import config from '../config';
import { parseContentVersion } from '../config/util';
export default async ({ expressApp }: { expressApp: Application }) => {
const { version } = await parseVersion(config.versionFile);
let version = '1.0.0';
try {
const content = fs.readFileSync(config.versionFile, 'utf-8');
({ version } = parseContentVersion(content));
} catch (error) {}
Sentry.init({
ignoreErrors: [
/SequelizeUniqueConstraintError/i,
/Validation error/i,
/UnauthorizedError/i,
/celebrate request validation failed/i,
],
dsn: 'https://8b5c84cfef3e22541bc84de0ed00497b@o1098464.ingest.sentry.io/6122819',
integrations: [
new Sentry.Integrations.Http({ tracing: true }),
new Sentry.Integrations.Express({ app: expressApp }),
],
tracesSampleRate: 0.8,
release: version,
});
Sentry.init({
ignoreErrors: [
/SequelizeUniqueConstraintError/i,
/Validation error/i,
/UnauthorizedError/i,
/celebrate request validation failed/i,
],
dsn: 'https://8b5c84cfef3e22541bc84de0ed00497b@o1098464.ingest.sentry.io/6122819',
integrations: [nodeProfilingIntegration()],
tracesSampleRate: 0.5,
release: version,
});
expressApp.use(Sentry.Handlers.requestHandler());
expressApp.use(Sentry.Handlers.tracingHandler());
Logger.info('✌️ Sentry loaded');
console.log('✌️ Sentry loaded');
};
Logger.info('✌️ Sentry loaded');
console.log('✌️ Sentry loaded');
-3
View File
@@ -21,7 +21,6 @@ export default async ({ server }: { server: Server }) => {
if (data) {
const { token = '', tokens = {} } = safeJSONParse(data);
if (headerToken === token || tokens[platform] === headerToken) {
conn.write(JSON.stringify({ type: 'ping', message: 'hanhh' }));
sockService.addClient(conn);
conn.on('data', (message) => {
@@ -33,8 +32,6 @@ export default async ({ server }: { server: Server }) => {
});
return;
} else {
conn.write(JSON.stringify({ type: 'ping', message: 'whyour' }));
}
}
-1
View File
@@ -22,7 +22,6 @@ app.get('/api/health', (req, res) => {
app
.listen(config.publicPort, '0.0.0.0', async () => {
await require('./loaders/sentry').default({ expressApp: app });
await require('./loaders/db').default();
Logger.debug(`✌️ 公共服务启动成功!`);
+1 -1
View File
@@ -266,7 +266,7 @@ export default class SystemService {
timeout: 30000,
},
);
lastVersionContent = await parseContentVersion(result.body);
lastVersionContent = parseContentVersion(result.body);
} catch (error) {}
if (!lastVersionContent) {