summaryrefslogtreecommitdiff
path: root/packages/backend/src
diff options
context:
space:
mode:
authorBalazs Nadasdi <efertone@pm.me>2023-06-22 08:56:40 +0200
committerGitHub <noreply@github.com>2023-06-22 15:56:40 +0900
commite2261b63e9053fb5116dd0ef393f464bf16da190 (patch)
tree34bb482c12d8dfd4b0cf3cd98cc1ff1bc47a33f1 /packages/backend/src
parentfix(client): サーバーメトリクスが90度傾いている (#11012) (diff)
downloadsharkey-e2261b63e9053fb5116dd0ef393f464bf16da190.tar.gz
sharkey-e2261b63e9053fb5116dd0ef393f464bf16da190.tar.bz2
sharkey-e2261b63e9053fb5116dd0ef393f464bf16da190.zip
fix: clear queue endpoint error with redis script (#11037)
Error message: ``` ReplyError: ERR value is not an integer or out of range script: 720d973b3877f92b4fb3285ced83c97cdd204979, on @user_script:209. ``` The whole error can be tracked back to one of the arguments, which is `Infinity` in the codebase, but it has to be a number. The documentation in bullmq says `0` is unlimited[^1], and bullmq tries to parse the argument with `tonumber` which returns with `-9223372036854775808` if the argument is `"Infinity"` which is out of bound. ``` 127.0.0.1:6379> eval 'return tonumber(ARGV[3])' '2' 'slippy.xyz:queue:inbox:inbox:delayed' 'slippy.xyz:queue:inbox:inbox:events' 'slippy.xyz:queue:inbox:inbox:' '1687183763944' Infinity 'delayed' (integer) -9223372036854775808 127.0.0.1:6379> ``` [^1]: https://github.com/taskforcesh/bullmq/blob/master/src/commands/cleanJobsInSet-2.lua#L10 Signed-off-by: Efertone <efertone@pm.me>
Diffstat (limited to 'packages/backend/src')
-rw-r--r--packages/backend/src/core/QueueService.ts4
1 files changed, 2 insertions, 2 deletions
diff --git a/packages/backend/src/core/QueueService.ts b/packages/backend/src/core/QueueService.ts
index 2ae8a2b754..5b7359074e 100644
--- a/packages/backend/src/core/QueueService.ts
+++ b/packages/backend/src/core/QueueService.ts
@@ -400,11 +400,11 @@ export class QueueService {
this.deliverQueue.once('cleaned', (jobs, status) => {
//deliverLogger.succ(`Cleaned ${jobs.length} ${status} jobs`);
});
- this.deliverQueue.clean(0, Infinity, 'delayed');
+ this.deliverQueue.clean(0, 0, 'delayed');
this.inboxQueue.once('cleaned', (jobs, status) => {
//inboxLogger.succ(`Cleaned ${jobs.length} ${status} jobs`);
});
- this.inboxQueue.clean(0, Infinity, 'delayed');
+ this.inboxQueue.clean(0, 0, 'delayed');
}
}