Skip to content

Commit 5503aa9

Browse files
committed
Fix segment too large to send issue
1 parent b388d2a commit 5503aa9

File tree

3 files changed

+39
-37
lines changed

3 files changed

+39
-37
lines changed

src/config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -260,6 +260,6 @@ export default {
260260
* @requires SERVICES_TRACE_TYPE=AWS_XRAY
261261
*/
262262
plugins: process.env.SERVICES_TRACE_PLUGINS,
263-
}
263+
},
264264
},
265265
}

src/logger/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import winston, { format } from 'winston';
2-
import services from '../services'
2+
import services from '../services';
33
import config from '../config';
44

55
/**

src/worker.ts

Lines changed: 37 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -8,36 +8,45 @@ import repositories from './repositories';
88
const app = Consumer.create({
99
queueUrl: config.services.queue.url,
1010
handleMessage: async (message) => {
11-
logger.debug('Received message from queue!', { ...message });
11+
const namespace: any = services.Trace.getNamespace();
12+
const segment: any = services.Trace.createSegment('upload-service-worker');
1213

13-
const body = JSON.parse(message.Body);
14+
await namespace.runPromise(async () => {
15+
services.Trace.setSegment(segment);
1416

15-
if ('traceId' in body) {
16-
namespace.set('traceId', body.traceId);
17-
} else {
18-
logger.warn('Trace ID is not present in message body!');
19-
}
17+
logger.debug('Received message from queue!', { ...message });
2018

21-
if ('fileId' in body) {
22-
try {
23-
const file = await repositories.File.get(body.fileId, null);
24-
const values = await services.Job.process(body.mimetype, file) as Record<string, string | number | boolean>;
25-
await repositories.File.update({ ...values, cacheable: !body.mimetype.startsWith('video') }, { id: file.id });
26-
} catch (err) {
27-
logger.error('Could not process file!', { error: err.message, stack: err.stack });
28-
}
29-
}
19+
const body = JSON.parse(message.Body);
3020

31-
if ('detail' in body && 'jobId' in body.detail) {
32-
if (body.detail.status === 'COMPLETE') {
33-
const updatedFile = await video.AWSVideo.complete(body) as Record<string, string | number | boolean>;
34-
await repositories.File.update({ ...updatedFile, cacheable: true }, { id: updatedFile['id'] as string });
21+
if ('traceId' in body) {
22+
namespace.set('traceId', body.traceId);
23+
} else {
24+
logger.warn('Trace ID is not present in message body!');
3525
}
36-
37-
if (body.detail.status === 'ERROR') {
38-
logger.error('Media convert job ended with error!', body);
26+
27+
if ('fileId' in body) {
28+
try {
29+
const file = await repositories.File.get(body.fileId, null);
30+
const values = await services.Job.process(body.mimetype, file) as Record<string, string | number | boolean>;
31+
await repositories.File.update({ ...values, cacheable: !body.mimetype.startsWith('video') }, { id: file.id });
32+
} catch (err) {
33+
logger.error('Could not process file!', { error: err.message, stack: err.stack });
34+
}
35+
}
36+
37+
if ('detail' in body && 'jobId' in body.detail) {
38+
if (body.detail.status === 'COMPLETE') {
39+
const updatedFile = await video.AWSVideo.complete(body) as Record<string, string | number | boolean>;
40+
await repositories.File.update({ ...updatedFile, cacheable: true }, { id: updatedFile['id'] as string });
41+
}
42+
43+
if (body.detail.status === 'ERROR') {
44+
logger.error('Media convert job ended with error!', body);
45+
}
3946
}
40-
}
47+
48+
segment.close();
49+
});
4150
},
4251
sqs: services.AWS.sqs,
4352
});
@@ -52,21 +61,14 @@ app.on('error', (err) => {
5261

5362
app.on('processing_error', (err) => {
5463
logger.error('Error while processing message from queue!', { message: err.message, stack: err.stack });
64+
65+
services.Trace.closeSegment();
5566
});
5667

5768
app.on('timeout_error', (err) => {
5869
logger.error('Timeout error!', { message: err.message, stack: err.stack });
5970
});
6071

61-
const namespace: any = services.Trace.getNamespace();
62-
const segment: any = services.Trace.createSegment('upload-service-worker');
72+
logger.info('Upload worker is running');
6373

64-
namespace.run(() => {
65-
services.Trace.setSegment(segment);
66-
67-
logger.info('Upload worker is running');
68-
69-
app.start();
70-
71-
segment.close();
72-
});
74+
app.start();

0 commit comments

Comments
 (0)