ftp的open命令打不开 未知主机_好用的parallel命令

本文介绍了如何使用parallel命令并行执行任务,以提高处理数据的效率。通过模拟接口和实际例子展示了如何使用while循环与parallel进行对比,强调了parallel的并发执行优势。还提到了--tag选项用于追踪执行结果,--joblog与--resume-failed选项处理失败数据,以及--semaphore选项解决并发冲突。此外,文章还讨论了parallel与mysql、csv数据、tmux的结合使用场景。
摘要由CSDN通过智能技术生成

e2e447cc06faf061e7dfebe3f2068481.png

原创:打码日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处。

简介

有时,我们需要处理一批数据,使用while循环是个不错的想法,但while循环中的命令是一个一个执行的,如果要批量处理的数据很多,执行时间就会很长,而parallel可以让命令并行执行,从而缩短命令执行时间。
下面,我们先用ncat来模拟一个处理数据的接口。

模拟接口
ncat -lk 8088 -c 'sleep 1;printf "HTTP/1.1 200 OK\r\nContent-Type: plain/text\r\nContent-Length: 3\r\n\r\nok\n"'

此接口直接睡眠1秒,然后返回一个ok,表示数据处理成功。

调用接口
curl -X POST http://localhost:8088/user/add -d '{"user_id": 1, "user_name":"u1"}'
测试数据

假设有10条数据,在data.txt中,如下:

1 u1
2 u2
3 u3
...
使用while循环处理
$ time while read -r -a line; do
      curl -X POST http://localhost:8088/user/add -d '{"user_id": '${line[0]}', "user_name":"'${line[1]}'"}'
  done ok
ok
ok
ok
ok
ok
ok
ok
ok
ok

real    0m10.276s
user    0m0.094s
sys     0m0.096s

使用while循环处理,其中time命令用来计时,real表示while命令的执行时间,可以看到,处理完10条数据花了约10秒,接下来我们使用parallel并发执行。

使用parallel并发执行
$ time cat data.txt | parallel -j10 -C '\s+' curl -s -X POST http://localhost:8088/user/add -d \'{\"user_id
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值