【发布时间】:2019-02-28 21:28:46
【问题描述】:
我正在使用 gnu 并行命令来监控几个 redis 端点,然后在新端点上执行所有命令。 当前命令如下所示:
parallel --ungroup redis-cli -h {} monitor :::: old-server-list | cut -d "]" -f 2 | parallel --ungroup -k ./writter.sh {}
和writer.sh
parallel redis-cli -h {} $1 ::: redis-host-1 redis-host-2
但是我在旧端点和新端点上执行的命令所需的时间不一致,导致与新 redis 的连接一直在关闭和打开。是否可以同时将参数从标准输入和文件传递给并行命令?将“new-server-list”中的每条记录与相同的标准输入结合起来以避免调用脚本?
类似:
parallel ... | cut ... | parallel redis-cli -h {<line from new-server-list>} {<stdin from pipe>}
应该被执行为:
redis-cli -h redis-host-1 stdin_output1
redis-cli -h redis-host-2 stdin_output1
redis-cli -h redis-host-1 stdin_output2
redis-cli -h redis-host-2 stdin_output2
【问题讨论】:
标签: bash redis parallel-processing gnu