Skip to content
View output.txt
lua debugger> eval return {1,2,3}
<retval> {1; 2; 3}
lua debugger> eval return {x=5,y=10,1,2,3}
<retval> {1=1; 2=2; 3=3; "y"=10; "x"=5}
View gist:e003f656aa0c57d450af

<antirez> Hello Lua hackers. My question: I'm using the Lua C API, and i'm inside a Lua line hook. Now from there I can call lua_[p]call() without issues, however it creates a new callframe, so I'm no longer able to access the local vars in the context of the function where the hook was called. Is there a workaround?

View gist:85783d7ed171ec87c932
$ cat /tmp/script.lua :luarepl*: ??'get','foo');
redis-cli --slave (in a different terminal)
redis-cli --eval /tmp/script.lua
View rooms.rb
require 'rubygems'
require 'redis'
r =
item_id = 0
r.pipelined {
5000000.times {
room = sprintf("%.4d",rand(1000))
price = sprintf("%.2f",(rand(10000)/100.0))
price = "0"+price if price.length < 5
View rediscli.diff
diff --git a/src/redis-cli.c b/src/redis-cli.c
index 88f39a6..7524712 100644
--- a/src/redis-cli.c
+++ b/src/redis-cli.c
@@ -1444,6 +1444,7 @@ static void pipeMode(void) {
last_read_time = time(NULL);
+ printf("."); fflush(stdout);
} while(nread > 0);
View gist:60114626268a3929529a
epoll_wait(3, {{EPOLLIN, {u32=7, u64=7}}, {EPOLLIN, {u32=8, u64=8}}, {EPOLLIN, {u32=9, u64=9}}, {EPOLLIN, {u32=10, u64=10}}, {EPOLLIN, {u32=11, u64=11}}, {EPOLLIN, {u32=12, u64=12}}, {EPOLLIN, {u32=13, u64=13}}, {EPOLLIN, {u32=14, u64=14}}, {EPOLLIN, {u32=15, u64=15}}, {EPOLLIN, {u32=16, u64=16}}, {EPOLLIN, {u32=17, u64=17}}, {EPOLLIN, {u32=18, u64=18}}, {EPOLLIN, {u32=19, u64=19}}, {EPOLLIN, {u32=20, u64=20}}, {EPOLLIN, {u32=21, u64=21}}, {EPOLLIN, {u32=22, u64=22}}, {EPOLLIN, {u32=23, u64=23}}, {EPOLLIN, {u32=24, u64=24}}, {EPOLLIN, {u32=25, u64=25}}, {EPOLLIN, {u32=26, u64=26}}, {EPOLLIN, {u32=27, u64=27}}, {EPOLLIN, {u32=28, u64=28}}, {EPOLLIN, {u32=29, u64=29}}, {EPOLLIN, {u32=30, u64=30}}, {EPOLLIN, {u32=31, u64=31}}, {EPOLLIN, {u32=32, u64=32}}, {EPOLLIN, {u32=33, u64=33}}, {EPOLLIN, {u32=34, u64=34}}, {EPOLLIN, {u32=35, u64=35}}, {EPOLLIN, {u32=36, u64=36}}, {EPOLLIN, {u32=37, u64=37}}, {EPOLLIN, {u32=38, u64=38}}, {EPOLLIN, {u32=39, u64=39}}, {EPOLLIN, {u32=40, u64=40}}, {EPOLLIN, {u32=41, u64=41}},
View gist:7c7d39cbec69cea1e56a
WARN jepsen.core - Process 251 indeterminate
java.lang.IllegalArgumentException: Key must be integer
at clojure.lang.APersistentVector.assoc(
at clojure.lang.APersistentVector.assoc(
at clojure.lang.RT.assoc(
at clojure.core$assoc.invoke(core.clj:187)
at jepsen.disque$dequeue_BANG_.invoke(disque.clj:200)
at jepsen.disque.Client.invoke_BANG_(disque.clj:225)
at jepsen.core$worker$fn__3132$fn__3133.invoke(core.clj:133)
at jepsen.core$worker$fn__3132.invoke(core.clj:131)
View gist:fc58370111490f8d168f
Trying ::1...
Connected to localhost.
Escape character is '^]'.
-ERR Protocol error: expected '$', got '3'
Connection closed by foreign host.
View gist:9bde5f5dcee13e95c3c7

Job IDs

Disque jobs are uniquely identified by an ID like the following:


Job IDs always start with "DI" and end with "SQ" and are always composed of exactly 48 characters.

View gist:af0bf0cc40d86b405b26
ddd874d serializeJob(), sds concat logic fixed.
8220a01 NEEDJOBS fixes.
0b05ae6 Put the clusterNode name as first field.
69922f2 Federation: WIP, a few fixes.
a096b52 Federation: clusterSendYourJobs() WIP.
b9ba68c Federation: some API changes needed for YOURJOBS + more.
256fee3 Initially set queue atime to current unix time.
f359e2f Debugging printf() removed from needJobsForQueue().
6b1a575 Federation: more fixes to NEEDJOBS. Still WIP.
58e130f Federation: a few fixes to NEEDJOBS related functions.
Something went wrong with that request. Please try again.