calling lpop multiple times = pipeline of multiple lpop?

The problem with redis.eval* is that it's blocking , using large count with eval blocks other redis clients
so it makes sense to use it for medium sized batch counts like 100

If you just use a pipline and get much less items in redis list queue then you waste both redis and logstash resources for no reason.

So both pipline and eval have drawbacks, thus I find having option to use both or just one of those is most flexible.
Say I want to fetch 1000 items in one batch so i set batch_count=100 and pipline_count=10
this makes best compromise imho, and that's that I use currently.

I think if we document the reasoning for both settings, it will avoid confusion/complexity.