Rate-limit для командной строки.
На каждую строчку stdin утилита запускает команду указанную в command-line аргументах. Команды запускаются не чаще, чем указано в аргументе "rate". Утилита умеет запускать несколько команд параллельно. В каждый момент времени должно быть запущено не более, чем указано в аргументе "inflight", команд.
Usage: ratelimit --rate --inflight
<command...> --rate: максимальное кол-во запусков команды в секунду --inflight: максимальное кол-во параллельно запущенных команд <command...>: команда для запуска, {} в команде заменяется на строчку из stdin.
Например (в bash): $ for i in {1..60} ; do echo $i ; done | ./ratelimit --rate 1 --inflight 15 echo {} Эта команда должна отработать за ~4с.
$ (echo 1 ; sleep 3 ; echo 2 ; echo 3) | ./ratelimit --rate 1 --inflight 2 echo {} Эта команда должна отработать за ~4с.