1#!/bin/sh 2 3keys="${@:-eventdb:events}" 4 5entries_per_call=300 6begin_index=0 7end_index=$(($begin_index+$entries_per_call-1)) 8comma="" 9 10# process_step return values 11FLAG_DONE=0 12FLAG_COMMA=1 13FLAG_NOTHING=2 14 15process_step() { 16 redis-cli -s /var/run/appflow/redis.sock --eval /usr/bin/filter_events.lua eventdb:events , $begin_index $end_index open close milestone oversub | \ 17 { 18 local setcomma=$FLAG_NOTHING 19 while read line; do 20 [ -z "$line" ] && continue 21 [ "$line" = "done" ] && return $FLAG_DONE 22 if [ $setcomma -eq $FLAG_NOTHING ]; then 23 echo $comma 24 setcomma=$FLAG_COMMA 25 else 26 echo , 27 fi 28 echo $line 29 done 30 return $setcomma 31 } 32} 33 34echo "{\"events\": [" 35 36while true; do 37 process_step && break 38 [ $? -eq $FLAG_COMMA ] && comma="," 39 begin_index=$((end_index+1)) 40 end_index=$(($begin_index+$entries_per_call-1)) 41done 42 43echo "]}" 44