Search code examples
redisrabbitmqcelerynode-redisnode-celery

node-celery redis backend unable to call duplicate()


I'm using node-celery (v0.2.8) with a redis backend. When I attempt to call celery.createClient(), I get this result:

self.redis.duplicate is not a function

In celery.js line 137 there's a call to redis.createClient(), then it attempts to call duplicate() on the returned object. But the object does not include a "duplicate" property.

What's really odd to me is that the redis module does not seem to be listed as a dependency for node-celery, and I don't have it installed locally. So it seems like the code should throw an exception long before it reaches this point.

I don't see any relevant issues in the node-celery repo so I'm at a loss to explain this.


Solution

  • I had the same error with an out of date version of the redis module. Install version 2.4.0 or later locally and you should be good to go.