summaryrefslogtreecommitdiff
path: root/src/queue
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2019-04-14 02:19:59 +0900
committersyuilo <syuilotan@yahoo.co.jp>2019-04-14 02:19:59 +0900
commit9c3613e96db8026ba998795739a80a935692cd89 (patch)
treeba5206c9329515619e784327b23a0486e640b00c /src/queue
parentUpdate meid.ts (diff)
downloadsharkey-9c3613e96db8026ba998795739a80a935692cd89.tar.gz
sharkey-9c3613e96db8026ba998795739a80a935692cd89.tar.bz2
sharkey-9c3613e96db8026ba998795739a80a935692cd89.zip
Improve error handling
Diffstat (limited to 'src/queue')
-rw-r--r--src/queue/index.ts16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/queue/index.ts b/src/queue/index.ts
index 1ab59fd18f..dbd95a11bd 100644
--- a/src/queue/index.ts
+++ b/src/queue/index.ts
@@ -23,6 +23,14 @@ function initializeQueue(name: string) {
});
}
+function renderError(e: Error): any {
+ return {
+ stack: e.stack,
+ message: e.message,
+ name: e.name
+ };
+}
+
export const deliverQueue = initializeQueue('deliver');
export const inboxQueue = initializeQueue('inbox');
export const dbQueue = initializeQueue('db');
@@ -34,16 +42,16 @@ deliverQueue
.on('waiting', (jobId) => deliverLogger.debug(`waiting id=${jobId}`))
.on('active', (job) => deliverLogger.debug(`active id=${job.id} to=${job.data.to}`))
.on('completed', (job, result) => deliverLogger.debug(`completed(${result}) id=${job.id} to=${job.data.to}`))
- .on('failed', (job, err) => deliverLogger.warn(`failed(${err}) id=${job.id} to=${job.data.to}`))
- .on('error', (error) => deliverLogger.error(`error ${error}`))
+ .on('failed', (job, err) => deliverLogger.warn(`failed(${err}) id=${job.id} to=${job.data.to}`, renderError(err)))
+ .on('error', (error) => deliverLogger.error(`error ${error}`, renderError(error)))
.on('stalled', (job) => deliverLogger.warn(`stalled id=${job.id} to=${job.data.to}`));
inboxQueue
.on('waiting', (jobId) => inboxLogger.debug(`waiting id=${jobId}`))
.on('active', (job) => inboxLogger.debug(`active id=${job.id}`))
.on('completed', (job, result) => inboxLogger.debug(`completed(${result}) id=${job.id}`))
- .on('failed', (job, err) => inboxLogger.warn(`failed(${err}) id=${job.id} activity=${job.data.activity ? job.data.activity.id : 'none'}`))
- .on('error', (error) => inboxLogger.error(`error ${error}`))
+ .on('failed', (job, err) => inboxLogger.warn(`failed(${err}) id=${job.id} activity=${job.data.activity ? job.data.activity.id : 'none'}`, renderError(err)))
+ .on('error', (error) => inboxLogger.error(`error ${error}`, renderError(error)))
.on('stalled', (job) => inboxLogger.warn(`stalled id=${job.id} activity=${job.data.activity ? job.data.activity.id : 'none'}`));
export function deliver(user: ILocalUser, content: any, to: any) {