最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

ReplyError:ERR未知命令'evalsha'(Node.js,bull)

IT培训 admin 8浏览 0评论

ReplyError:ERR未知命令'evalsha'(Node.js,bull)

我正在Windows上使用Redis与Bull包一起工作,我的服务器已启动并正在运行,但是当我尝试访问该作业时,它给我一个错误,到目前为止我的代码。

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,但根据doc:

EVALSHA sha1 numkeys key [key ...] arg [arg ...]
Available since 2.6.0.

所以,这就是抛出此错误的原因。

现在,基本上,如果您找不到Windows的Redis二进制文件,则可以从here下载3.2.1。>

ReplyError:ERR未知命令'evalsha'(Node.js,bull)

我正在Windows上使用Redis与Bull包一起工作,我的服务器已启动并正在运行,但是当我尝试访问该作业时,它给我一个错误,到目前为止我的代码。

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,但根据doc:

EVALSHA sha1 numkeys key [key ...] arg [arg ...]
Available since 2.6.0.

所以,这就是抛出此错误的原因。

现在,基本上,如果您找不到Windows的Redis二进制文件,则可以从here下载3.2.1。>

发布评论

评论列表 (0)

  1. 暂无评论