基于Redis 的任务队列Bull -- (五)lua脚本的使用

bull 使用 lua 脚本执行各种任务,ioredis的defineCommand方法将lua脚本定义成redis client的方法

Redis 保证脚本的原子执行。执行脚本时,所有服务器活动在其整个运行期间都会被阻止。

这些语义意味着脚本的所有效果要么尚未发生,要么已经发生。

可以直接通过 client 来调用脚本

client.addJob(keys);
queue.client.moveToActive(keys.concat(args)).then(raw2jobData);
job.queue.client.moveToFinished(args)
queue.client.moveToDelayed(args)

命名

所有的 lua 脚本都放置在 lib/commands 目录下

脚本文件名称格式为{name}-{key count}.lua,name是调用脚本的方法名称,key count是脚本中key的数量

注册

延迟创建 redis client 时,会调用 commands 方法在 client

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

afan_coding

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值