ReplyError:ERR未知命令';evalsha';(Node.js,bull)
我尝试在windows上使用Redis的bull软件包,我的服务器已经启动并运行,但当我尝试访问作业时,它会给我一个错误, 我的代码到目前为止ReplyError:ERR未知命令';evalsha';(Node.js,bull),node.js,redis,promise,Node.js,Redis,Promise,我尝试在windows上使用Redis的bull软件包,我的服务器已经启动并运行,但当我尝试访问作业时,它会给我一个错误, 我的代码到目前为止 const queue = require('bull'); const jobs = new queue('jobs') jobs.process((job, done) => { try { console.log(job) } catch (error) { console.log(err
const queue = require('bull');
const jobs = new queue('jobs')
jobs.process((job, done) => {
try {
console.log(job)
} catch (error) {
console.log(error)
}
})
app.post('/upload', (req, res) => {
let dat = req.query;
jobs.add(dat).then(() => {
console.log('done')
}).catch(e => console.log(e))
res.send('job done')
})
以下是错误:
{ name: 'evalsha',
args:
[ '0a9a51ee96320953ec7bde8e63f3f060b9dac00c',
'6',
'bull:jobs:wait',
'bull:jobs:paused',
'bull:jobs:meta-paused',
'bull:jobs:id',
'bull:jobs:delayed',
'bull:jobs:priority',
'bull:jobs:',
'',
'__default__',
'{"data":"muny"}',
'{"attempts":1,"delay":0,"timestamp":1568792004594}',
'1568792004594',
'0',
'0',
'0',
'LPUSH',
'4fc02f94-d198-4353-b1b3-8da40399a9c5' ] } }
猜猜为什么会这样?
而且,即使我这样做了,它也会抛出未经处理的承诺拒绝,这种行为是否仅适用于windows?正如我所看到的,您正在使用的是
redis 2.4.6
,但根据:
所以,这就是这个错误被抛出的原因
现在,如果你找不到适用于windows的redis二进制文件,你可以从下载3.2.1,问题不在于Bull,而在于你的redis版本。 将Redis升级到最新的[稳定]版本有助于解决此问题 如果您在windows系统上,并且需要安装最新版本的Redis。 目前,最好的是在帖子中强调:
aizen,你用的是哪个版本的redis?啊,我看你也是一个文化人,版本是3.11.0你确定你用的是3.11吗?原因稳定的是redis 5,不稳定的是redis 2.9.x,prod验证版是4(2年前发布)。你能再检查一遍redis服务器的版本吗。我想再确认一下。它是在2.6.x之后引入的,请确保您有正确的版本。我建议升级redis服务器,以检查问题是否持续存在是的,我认为问题在于
redis服务器
,它是windows的最新版本2.4.6,您可以在此处检查-。我想可能是这样的,谢谢你的帮助:)
EVALSHA sha1 numkeys key [key ...] arg [arg ...]
Available since 2.6.0.