Skip to content

Commit 0ab9b17

Browse files
authored
fix: s3 connect error log (labring#362)
1 parent 88bbf0f commit 0ab9b17

File tree

2 files changed

+31
-29
lines changed

2 files changed

+31
-29
lines changed

lib/s3/index.ts

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -90,40 +90,40 @@ const createS3Service = async (bucket: string, isPublic: boolean) => {
9090
}
9191
};
9292

93-
try {
94-
await client.ensureBucket();
95-
if (isPublic) await ensurePublicPolicy(client);
96-
} catch (error) {
97-
logger.info(`Failed to ensure bucket "${bucket}" exists:`, { error });
98-
}
93+
await client.ensureBucket();
94+
if (isPublic) await ensurePublicPolicy(client);
9995

100-
try {
101-
await externalClient?.ensureBucket();
102-
if (isPublic && externalClient) await ensurePublicPolicy(externalClient);
103-
} catch (error) {
104-
logger.info(`Failed to ensure bucket "${bucket}" exists:`, { error });
105-
}
96+
await externalClient?.ensureBucket();
97+
if (isPublic && externalClient) await ensurePublicPolicy(externalClient);
10698

10799
return new S3Service(client, externalClient);
108100
};
109101

110-
export const publicS3Server = await (async () => {
111-
if (!global._publicS3Server) {
112-
const { publicBucket } = getConfig();
113-
global._publicS3Server = await createS3Service(publicBucket, true);
114-
}
115-
return global._publicS3Server;
116-
})();
117-
118-
export const privateS3Server = await (async () => {
119-
if (!global._privateS3Server) {
120-
const { privateBucket } = getConfig();
121-
global._privateS3Server = await createS3Service(privateBucket, false);
122-
}
123-
return global._privateS3Server;
124-
})();
125-
126102
declare global {
127103
var _publicS3Server: S3Service;
128104
var _privateS3Server: S3Service;
129105
}
106+
107+
export const initS3Service = async () => {
108+
const logger = getLogger(infra.storage);
109+
logger.info('Initializing S3 service...');
110+
const { publicBucket, privateBucket } = getConfig();
111+
112+
try {
113+
if (!globalThis._publicS3Server) {
114+
logger.debug('Initializing public S3 service...');
115+
globalThis._publicS3Server = await createS3Service(publicBucket, true);
116+
}
117+
118+
if (!globalThis._privateS3Server) {
119+
logger.debug('Initializing private S3 service...');
120+
globalThis._privateS3Server = await createS3Service(privateBucket, false);
121+
}
122+
} catch (e) {
123+
logger.error('Failed to initialize S3 service:', { error: e });
124+
throw new Error('Failed to initialize S3 service');
125+
}
126+
};
127+
128+
export const publicS3Server = globalThis._publicS3Server;
129+
export const privateS3Server = globalThis._privateS3Server;

runtime/index.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { getCachedData, refreshVersionKey } from '@/cache';
22
import { SystemCacheKeyEnum } from '@/cache/type';
3-
import { connectionMongo, connectMongo, MONGO_URL } from '@/mongo';
3+
import { connectionMongo, connectMongo, delay, MONGO_URL } from '@/mongo';
44
import { ensureDir, refreshDir } from '@/utils/fs';
55
import { configureLogger, getLogger, root, destroyLogger } from '@/logger';
66
import { env } from '@/env';
@@ -10,6 +10,7 @@ import { tempDir, tempToolsDir } from '@tool/constants';
1010
import { initWorkflowTemplates } from '@workflow/init';
1111
import { serve, type ServerType } from '@hono/node-server';
1212
import { app } from './app';
13+
import { initS3Service } from '@/s3';
1314

1415
const logger = getLogger(root);
1516

@@ -24,6 +25,7 @@ async function prepare() {
2425
await configureLogger(); // setup logger
2526

2627
await connectMongo(connectionMongo, MONGO_URL); // connect to MongoDB
28+
await initS3Service();
2729

2830
await refreshDir(tempDir); // cleanup 'tmp' directory
2931
await ensureDir(tempToolsDir); // ensure temp tools directory

0 commit comments

Comments
 (0)